Skip to content

Latest commit

 

History

History
156 lines (102 loc) · 6.97 KB

CHANGELOG.md

File metadata and controls

156 lines (102 loc) · 6.97 KB

Changelog

Unreleased

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 indicate 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 - 2024/01/31

  • Added testing for Terraform 1.7+
  • FIX : If var.profile and var.assume_role_arn are used, then continuing to use var.profile invalidates the assumed role. The aws_cli_runner.sh now no longer uses var.profile when a role has been successfully assumed. Thank you, Garrett Blinkhorn.

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 - 2023/12/22

  • Set the minimum version of Terraform to v1.6.0 as that is the lowest version to support data.lifecycle block.

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 the checks[*].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 variable alternative_path has been added. If set, this path will contain the following files:

    1. jq_data.json - The data managed by jq to get the Terraform variables accessible to AWS CLI.
    2. jq_error.log - Any errors generated by jq whilst attempting to parse the supplied JSON.
    3. aws_sts.json - The data returned by AWS when assuming a role.
    4. aws_sts_error.log - The full debug and any errors when assuming a role.
    5. aws_call.json - The data returned by AWS when running AWS CLI for the required call.
    6. aws_call_error.log - The full debug and any errors when running AWS CLI for the required call.
    7. 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 - 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 - 2023/07/20

  • Introduce support for var.external_id. Thank you, Joshua Rosen.

v5.0.4 - 2022/11/28

  • Allow var.role_session_name to be optional. Thank you, Byron Kim.

v5.0.3 - 2022/05/31

v5.0.2 - 2022/05/26

  • Fix for when this module is used in an iteration.

v5.0.1 - 2022/05/24

  • Explicitly specify output type as json for assume role call. Thank you, Niranjan Rajendran.

v5.0.0 - 2022/01/27

  • Fixed incompatibilities with Terraform 1.1.0.

v4.1.0 - 2021/10/05

  • Validate role_session_name so that the maximum length is 64 characters and that it must match a specific regex.

v4.0.0 - 2021/05/18

  • Set minimum terraform version to 0.15.0.

No release required - 2021/03/30

  • Updated tests to use an AWS request that does not require credentials, allowing the full terraform plan and apply process to be run and tested with the module.

v3.1.1 - 2021/03/25

  • Re-releasing as accidentally released v3.0.0 as v3.1.0.

v3.1.0 - 2021/03/25

  • Add an optional debug_log_filename variable. If supplied, a log file will be produced in the supplied location. This option enables the --debug option of the AWS CLI. Use this in safe environments as potentially sensitive content may be logged.
  • Added adaptive retry mode to help alleviate throttling issues.

v3.0.0 - 2020/12/03

  • Set minimum terraform version to 0.14.0.
  • Introduced .terraform.lock.hcl for versioning of dependencies.

v2.0.1 - 2020/09/17

  • Add depends_on to enforce the order in which the resources get instantiated / evaluated.

v2.0.0 - 2020/09/17

  • Set minimum terraform version to 0.13.0
  • Added variable validation to optional assume_role_arn to match syntax described in IAM Identifiers.

v1.3.0 - 2020/08/03

  • Set minimum version of random provider to 2.3.0

v1.2.2 - 2020/05/11

v1.2.1 - 2020/05/11

  • Updated README.md to reflect digiticketsgroup/terraforming image that includes all the required resources for using this module.

v1.2.0 - 2020/05/11

  • Drop down to using sh rather than bash so this module can operate with Hashicorp Terraform Docker image.

v1.1.0 - 2020/05/07

  • Updated examples in README.md with registry path as displayed by registry.
  • Updated assume_role_arn to reflect that it is optional.

v1.0.0 - 2020/05/07

Initial release