@@ -23,7 +23,7 @@ data "http" "cloudformation_template" {
2323}
2424
2525locals {
26- global_acc_cfn_params = {
26+ global_stack_params = {
2727 encryptWithCmk = var.encrypt_with_cmk,
2828 lambdaTracing = var.lambda_tracing,
2929 globalManagedPolicies = (
@@ -41,40 +41,34 @@ locals {
4141 ecrPublicPrefix = var.ecr_public_prefix
4242 }
4343
44- enriched_connectors = [
45- for connector in var . elastio_cloud_connectors :
44+ enriched_regional_configs = [
45+ for config in var . regional_configs :
4646 merge (
47- connector ,
47+ config ,
4848 {
4949 # Add the PascalCase version of the region name, because this is the
5050 # naming convention used in CFN parameters for regional settings.
5151 region_pascal = join (
5252 " " ,
53- [for word in split (" -" , connector . region ) : title (word)]
53+ [for word in split (" -" , config . region ) : title (word)]
5454 )
5555 }
5656 )
5757 ]
5858
59- regional_acc_cfn_params = merge (
59+ regional_stack_params = merge (
6060 [
61- for connector in local . enriched_connectors :
61+ for config in local . enriched_regional_configs :
6262 {
63- " s3AccessLoggingTargetBucket${connector .region_pascal}" = connector .s3_access_logging.target_bucket,
64- " s3AccessLoggingTargetPrefix${connector .region_pascal}" = connector .s3_access_logging.target_prefix,
65- " s3AccessLoggingTargetObjectKeyFormat${connector .region_pascal}" = connector .s3_access_logging.target_object_key_format,
63+ " s3AccessLoggingTargetBucket${config .region_pascal}" = config .s3_access_logging.target_bucket,
64+ " s3AccessLoggingTargetPrefix${config .region_pascal}" = config .s3_access_logging.target_prefix,
65+ " s3AccessLoggingTargetObjectKeyFormat${config .region_pascal}" = config .s3_access_logging.target_object_key_format,
6666 }
67- if connector . s3_access_logging != null
67+ if config . s3_access_logging != null
6868 ]
6969 ...
7070 )
7171
72- account_level_stack_params = {
73- for key , value in merge (local. global_acc_cfn_params , local. regional_acc_cfn_params ) :
74- key = > tostring (value)
75- if value != null
76- }
77-
7872 service_linked_roles_services = [
7973 " ecs.amazonaws.com" ,
8074 " batch.amazonaws.com" ,
@@ -106,8 +100,7 @@ resource "terraform_data" "service_linked_roles" {
106100 }
107101}
108102
109-
110- resource "aws_cloudformation_stack" "elastio_account_level_stack" {
103+ resource "aws_cloudformation_stack" "this" {
111104 depends_on = [terraform_data . service_linked_roles ]
112105
113106 name = " elastio-account-level-stack"
@@ -116,5 +109,9 @@ resource "aws_cloudformation_stack" "elastio_account_level_stack" {
116109 " elastio:resource" = " true"
117110 }
118111 capabilities = [" CAPABILITY_NAMED_IAM" ]
119- parameters = local. account_level_stack_params
112+ parameters = {
113+ for key , value in merge (local. global_stack_params , local. regional_stack_params ) :
114+ key = > tostring (value)
115+ if value != null
116+ }
120117}
0 commit comments