Hook Generator
To help you get started quickly, you can generate starter hook code. Here are some examples:
Cheatsheet
terraspace new hook --type project
terraspace new hook demo --type stack
# specify the kind
terraspace new hook demo --type stack --kind terraform # default to terraform
Project
$ terraspace new hook --type project
create config/hooks
create config/hooks/terraform.rb
Produces:
config/hooks/terraform.rb
before("apply",
execute: "echo 'config/hooks/terraform.rb: test project before hook for terraform apply'",
)
after("apply",
execute: "echo 'config/hooks/terraform.rb: test project after hook for terraform apply'"
)
Stack
$ terraspace new hook demo --type stack
create app/stacks/demo/config/hooks
create app/stacks/demo/config/hooks/terraform.rb
Produces:
app/stacks/demo/config/hooks/terraform.rb
before("apply",
execute: "echo 'app/stacks/demo/config/hooks/terraform.rb: test stack before hook for terraform apply'",
)
after("apply",
execute: "echo 'app/stacks/demo/config/hooks/terraform.rb: test stack after hook for terraform apply'"
)
Here’s an example specifying the kind
option.
$ terraspace new hook demo --type stack --kind terraspace
exist app/stacks/demo/config/hooks
create app/stacks/demo/config/hooks/terraspace.rb
Produces:
app/stacks/demo/config/hooks/terraspace.rb
before("build",
execute: "echo 'app/stacks/demo/config/hooks/terraspace.rb: test stack before hook for terraspace build'",
)
after("build",
execute: "echo 'app/stacks/demo/config/hooks/terraspace.rb: test stack after hook for terraspace build'"
)
Module
$ terraspace new hook example --type module
create app/modules/example/config/hooks
create app/modules/example/config/hooks/terraform.rb
Produces:
app/modules/example/config/hooks/terraform.rb
before("apply",
execute: "echo 'app/modules/example/config/hooks/terraform.rb: test module before hook for terraform apply'",
)
after("apply",
execute: "echo 'app/modules/example/config/hooks/terraform.rb: test module after hook for terraform apply'"
)