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"
}
}