Releases: digitickets/terraform-aws-cli
v7.0.0: Merge branch 'issue_19_json_decoding'
v7.0.0 - 2024/08/06
-
Fix a typo in the description for the
var.external_id
. -
Fix handling of invalid JSON returned from the AWS CLI. Thank you 홍수민 and horststumpf.
-
Introduced 2 new outputs:
output.result_raw = string
- This will contain the raw output from the AWS CLI call.output.result_was_decoded = bool
- This will indicated if the output from the AWS CLI call was successfully JSON decoded.
These were introduced as some of the results from the AWS CLI are not JSON decodable. For example
aws ec2 create-tags
returns nothing.
v6.1.0
v6.1.0 - 2024/01/31
- Added testing for Terraform 1.7+
- FIX : If
var.profile
andvar.assume_role_arn
are used, then continuing to usevar.profile
invalidates the
assumed role. Theaws_cli_runner.sh
now no longer usesvar.profile
when a role has been successfully assumed.
Thank you Garrett Blinkhorn.
v6.0.2 - 2024/01/31
v6.0.2 - 2024/01/31
- FIX : Typo in
aws_cli_runner.sh
when running assuming a role. Thank you Garrett Blinkhorn.
v6.0.1
v6.0.0
v6.0.0 - 2023/12/15
- Added error handling for errors generated by the AWS CLI to stop the Terraform Plan. The error is also present in the
terraform show
output in thechecks[*].instances[*].problems
node (See the expected plan errors when an AWS error is triggered). - Added a lot of Terraform variable validation to ensure the supplied parameters match the limits imposed by AWS (the minimum/maximum length, allowable characters, rules on first characters, etc.)
- Rewritten the AWS CLI Runner script to not need to deal with wrapping parameters in quotes.
- Rewritten tests, mainly to reduce the amount of effort to configure them in the future.
BACKWARDS INCOMPATIBILITY
-
The
debug_log_filename
variable has been removed. As the new code will generate more files to assist in any debugging if it becomes necessary, a new variablealternative_path
has been added. If set, this path will contain the following files:jq_data.json
- The data managed byjq
to get the Terraform variables accessible to AWS CLI.jq_error.log
- Any errors generated byjq
whilst attempting to parse the supplied JSON.aws_sts.json
- The data returned by AWS when assuming a role.aws_sts_error.log
- The full debug and any errors when assuming a role.aws_call.json
- The data returned by AWS when running AWS CLI for the required call.aws_call_error.log
- The full debug and any errors when running AWS CLI for the required call.results.json
- The results of the AWS CLI call that are fed back to Terraform.
But to reduce the amount of files left behind, as standard, all files except results.json
are deleted before Terraform is given the results.json
file to process.
If you need to have access to the other files, then setting the environment variable MODULE_TERRAFORM_AWS_CLI_RETAIN_LOGS
to true
will retain all the logs shown above.
If the alternative_path
variable is not set, then a default path will be used based upon ./temp/[hash]
. The hash is the md5 of all the values of the variables supplied to the module.
v5.2.0
v5.2.0 - 2023/07/20
- Fixed issue introduce in v5.1.0 regarding the use of
var.external_id
. - Introduces support for
var.profile
to allow you to supply your own AWS profile. Thank you coopengo-glecomte. - Introduces support for
var.region
to allow you to supply your own AWS region. - Refactored tests due to changes within Terraform.
v5.1.0
v5.1.0 - 2023/07/20
- Introduce support for
var.external_id
. Thank you Joshua Rosen
v5.0.4
Prepare v5.0.3
v5.0.3 - 2022/05/31
- Fix for when the AWS call being made has no output (which is invalid JSON). Thank you Yaron Yarimi and Pavel Kargin
v5.0.2
v5.0.2 - 2022/05/26
-
Fix for when this module is used in an iteration.
In the use case documented in the README.md, if there are multiple ASGs, and this module is then called iteratively, each iteration will now correctly have its own output.
This may also be fixing #3.
In local testing, for a new ASG being added to a pool of existing ASGs, the recorded output files are showing the correct values, with the string null being recorded for the new ASG (which is correct in this context).
Full Changelog: v5.0.1...v5.0.2