diff --git a/local-app/tf-directory-setup/remote_state.backend.tf.j2 b/local-app/tf-directory-setup/remote_state.backend.tf.j2 index 566b1945..099fca93 100644 --- a/local-app/tf-directory-setup/remote_state.backend.tf.j2 +++ b/local-app/tf-directory-setup/remote_state.backend.tf.j2 @@ -1,14 +1,21 @@ -# version: 1.0.0 +# version: 1.1.0 #--- # {{ data.account_alias }}: {{ data.directory }} #--- +{% set s3key = [ data.account_alias,data.directory,"terraform.tfstate"] | join("/") %} + terraform { backend "s3" { profile = "{{ data.profile }}" bucket = "{{ data.bucket }}" - key = "{{ data.account_alias }}/{{ data.directory }}/terraform.tfstate" + key = "{{ s3key }}" region = "{{ data.bucket_region }}" - dynamodb_table = "tf_remote_state" +{% if data.use_lockfile is defined and not data.use_lockfile %} + dynamodb_table = "{{ data.table_name | default('tf_remote_state') }}" +{% endif %} +{% if data.use_lockfile is defined %} + use_lockfile = {{ data.use_lockfile | default('false') | lower }} +{% endif %} } } diff --git a/local-app/tf-directory-setup/remote_state.data.tf.j2 b/local-app/tf-directory-setup/remote_state.data.tf.j2 index edf5337e..57cefb34 100644 --- a/local-app/tf-directory-setup/remote_state.data.tf.j2 +++ b/local-app/tf-directory-setup/remote_state.data.tf.j2 @@ -1,15 +1,4 @@ -# version: 1.0.0 - -## #--- -## # {{ data.account_alias }}: {{ data.directory }} -## # local backend (bootstrapping) -## #--- -## data "terraform_remote_state" "{{ data.directory_replaced }}" { -## backend = "local" -## config = { -## path = "../{{ data.directory }}/terraform.tfstate" -## } -## } +# version: 1.1.0 #--- # {{ data.account_alias }}: {{ data.directory }} @@ -20,7 +9,7 @@ data "terraform_remote_state" "{{ data.directory_replaced }}" { config = { profile = var.profile bucket = var.tfstate_bucket - key = "${var.tfstate_key_prefix}/{{ data.directory }}/${var.tfstate_key_suffix}" + key = join("/",compact([var.tfstate_key_prefix,{{ data.directory }},var.tfstate_key_suffix])) region = var.tfstate_region dynamodb_table = var.tfstate_table } diff --git a/local-app/tf-directory-setup/remote_state.data.tf.s3.j2 b/local-app/tf-directory-setup/remote_state.data.tf.s3.j2 index fb1a9101..57cefb34 100644 --- a/local-app/tf-directory-setup/remote_state.data.tf.s3.j2 +++ b/local-app/tf-directory-setup/remote_state.data.tf.s3.j2 @@ -1,4 +1,4 @@ -# version: 1.0.0 +# version: 1.1.0 #--- # {{ data.account_alias }}: {{ data.directory }} @@ -9,7 +9,7 @@ data "terraform_remote_state" "{{ data.directory_replaced }}" { config = { profile = var.profile bucket = var.tfstate_bucket - key = "${var.tfstate_key_prefix}/{{ data.directory }}/${var.tfstate_key_suffix}" + key = join("/",compact([var.tfstate_key_prefix,{{ data.directory }},var.tfstate_key_suffix])) region = var.tfstate_region dynamodb_table = var.tfstate_table }