Skip to content

v1.8.0 [remote-state] Improve backend compatibility

Latest
Compare
Choose a tag to compare
@cloudposse-releaser cloudposse-releaser released this 13 Oct 01:25
· 1 commit to refs/heads/main since this release
00ea92d

Among other things detailed below, this release enables users to fix deprecation warnings like:

│ Warning: Deprecated Parameters
│ 
│   with module.account_map.data.terraform_remote_state.data_source[0],
│   on .terraform/modules/account_map/modules/remote-state/data-source.tf line 88, in data "terraform_remote_state" "data_source":
│   88: data "terraform_remote_state" "data_source" {
│ 
│ The following parameters have been deprecated. Replace them as follows:
│   * role_arn -> assume_role.role_arn

(cf. #93 and #96)

If you are receiving deprecation warnings from remote-state, they can now be resolved by updating your backend/remote_state_backend configuration to match the version of Terraform or Tofu you are using. For example, change

terraform:
  backend:
    s3:
      bucket: my-tfstate-bucket
      dynamodb_table: my-tfstate-lock-table
      role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-role
  remote_state_backend:
    s3:
      role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-read-only-role

to

terraform:
  backend:
    s3:
      bucket: my-tfstate-bucket
      dynamodb_table: my-tfstate-lock-table
      assume_role:
        role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-role
  remote_state_backend:
    s3:
      assume_role:
        role_arn: arn:aws:iam::123456789012:role/my-tfstate-access-read-only-role

🚀 Enhancements

[remote-state] Improve backend compatibility @Nuru (#105) ## what
  • Improve remote-state backend compatibility

Rather than trying to parse the backend configuration, as a general rule we now just pass it through to the data source. This provides future-proof compatibility with all backends supported by Terraform and OpenTofu.

why

  • This prevents the need for updates like #99 to provide configuration for future S3 backends, while eliminating compatibility issues like #102.
  • This also eliminates deprecation warnings caused by forcing configuration to look a certain way.
  • Now, users can manage their own remote state configuration to match their toolset.

references