TerraHub Hooks

In order to provide you the best experience we have implemented hooks functionality for following actions:

  • terraform init

  • terraform workspace

  • terraform plan

  • terraform apply

  • terraform destroy

All the hooks should return a Promise and look like:

  • before hook:

/**
* @param {Object} moduleConfig
* @returns {Promise}
*/
function hook(moduleConfig) {
return Promise.resolve();
}
module.exports = hook;
  • after hook:

/**
* @param {Object} moduleConfig
* @param {Buffer} cmdResult
* @returns {Promise}
*/
function hook(moduleConfig, cmdResult) {
return Promise.resolve();
}
module.exports = hook;

Configuration example for plan (.terrahub.json):

"hook": {
"plan": {
"before": "./hook/plan/before.js",
"after": "./hook/plan/after.js"
}
}