-
New
refresh
task and planTask executes a terraform refresh to enable updating the state without running an apply, which could potentially destroy resources.
-
New
refresh_state
option added to apply planWill run the
terrafrom::refresh
task after doing an apply. This allows for situations where resources were modified during the apply and not written to state so a refresh is required to capture them.
- Puppet 8 Support / Drop Puppet 4 & 5
-
Add PDK as a gem dependency
PDK is now a gem dependency for the module release pipeline
- Bump maximum Puppet version to include 7.x (#22)
-
Set
resolve_reference
task to private (#14)The
resolve_reference
task has been set toprivate
so it no longer appears in UI lists.
-
Inventory plugin raised an exception when no statefile was found (#16)
The
resolve_reference
task would error when no statefile was found. It now returns an empty inventory instead.
-
Added
initialize
taskThere has been a simple
initialize
task added to the module that can be used to ensure Terraform project directories are initialized with required modules and providers installed so your code runs without manually runningterraform init
before executing a plan.
-
Added
target_mapping
parameter inresolve_reference
task (#1405)The
resolve_reference
task has a newtarget_mapping
parameter that accepts a hash of target attributes and the resource values to populate them with. -
Added
state
parameter in theresolve_reference
task (#1405)The
statefile
parameter for theresolve_reference
task has been replaced with astate
parameter to maintain consistency among the other tasks and plans in the module.
-
Raise error when remote state cannot be loaded (#1436)
When attempting to load remote state from a non-existent state file,
terraform
would return anil
value which would be loaded into the inventory and cause Bolt to error. Theterraform
plugin now checks whether the attempt to load remote state returned any data and errors if it did not.
-
Expand
dir
path relative to Boltdir (#1162)The
dir
option will now be expanded relative to the active Boltdir the user is running bolt with, instead of the current working directory they ran Bolt from. This is part of standardizing all configurable paths in Bolt to be relative to the Boltdir.
This is the initial release.