@@ -81,59 +81,61 @@ resource "aws_cloudfront_distribution" "this" {
8181 for_each = var. origin
8282
8383 content {
84- domain_name = origin. value . domain_name
85- origin_id = lookup (origin. value , " origin_id" , origin. key )
86- origin_path = lookup (origin. value , " origin_path" , " " )
87- connection_attempts = lookup (origin. value , " connection_attempts" , null )
88- connection_timeout = lookup (origin. value , " connection_timeout" , null )
89- origin_access_control_id = lookup (origin. value , " origin_access_control_id" , lookup (lookup (aws_cloudfront_origin_access_control. this , lookup (origin. value , " origin_access_control" , " " ), {}), " id" , null ))
90-
91- dynamic "s3_origin_config" {
92- for_each = length (keys (lookup (origin. value , " s3_origin_config" , {}))) == 0 ? [] : [lookup (origin. value , " s3_origin_config" , {})]
93-
94- content {
95- origin_access_identity = lookup (s3_origin_config. value , " cloudfront_access_identity_path" , lookup (lookup (aws_cloudfront_origin_access_identity. this , lookup (s3_origin_config. value , " origin_access_identity" , " " ), {}), " cloudfront_access_identity_path" , null ))
96- }
97- }
84+ connection_attempts = origin. value . connection_attempts
85+ connection_timeout = origin. value . connection_timeout
9886
9987 dynamic "custom_origin_config" {
100- for_each = length ( lookup ( origin. value , " custom_origin_config" , " " )) == 0 ? [] : [ lookup ( origin. value , " custom_origin_config" , " " ) ]
88+ for_each = origin. value . custom_origin_config != null ? [origin . value . custom_origin_config ] : [ ]
10189
10290 content {
10391 http_port = custom_origin_config. value . http_port
10492 https_port = custom_origin_config. value . https_port
10593 origin_protocol_policy = custom_origin_config. value . origin_protocol_policy
10694 origin_ssl_protocols = custom_origin_config. value . origin_ssl_protocols
107- origin_keepalive_timeout = lookup ( custom_origin_config. value , " origin_keepalive_timeout" , null )
108- origin_read_timeout = lookup ( custom_origin_config. value , " origin_read_timeout" , null )
95+ origin_keepalive_timeout = custom_origin_config. value . origin_keepalive_timeout
96+ origin_read_timeout = custom_origin_config. value . origin_read_timeout
10997 }
11098 }
11199
100+ domain_name = origin. value . domain_name
101+
112102 dynamic "custom_header" {
113- for_each = lookup ( origin. value , " custom_header" , [])
103+ for_each = origin. value . custom_header
114104
115105 content {
116106 name = custom_header. value . name
117107 value = custom_header. value . value
118108 }
119109 }
120110
111+ origin_access_control_id = origin. value . origin_access_control_id
112+ origin_id = coalesce (origin. value . origin_id , origin. key )
113+ origin_path = origin. value . origin_path
114+
121115 dynamic "origin_shield" {
122- for_each = length ( keys ( lookup ( origin. value , " origin_shield" , {}))) == 0 ? [] : [ lookup ( origin. value , " origin_shield" , {}) ]
116+ for_each = origin. value . origin_shield != null ? [origin . value . origin_shield ] : [ ]
123117
124118 content {
125119 enabled = origin_shield. value . enabled
126120 origin_shield_region = origin_shield. value . origin_shield_region
127121 }
128122 }
129123
124+ dynamic "s3_origin_config" {
125+ for_each = origin. value . s3_origin_config != null ? [origin . value . s3_origin_config ] : []
126+
127+ content {
128+ origin_access_identity = s3_origin_config. value . origin_access_identity
129+ }
130+ }
131+
130132 dynamic "vpc_origin_config" {
131- for_each = length ( keys ( lookup ( origin. value , " vpc_origin_config" , {}))) == 0 ? [] : [ lookup ( origin. value , " vpc_origin_config" , {}) ]
133+ for_each = origin. value . vpc_origin_config != null ? [origin . value . vpc_origin_config ] : [ ]
132134
133135 content {
134- vpc_origin_id = lookup (vpc_origin_config. value , " vpc_origin_id" , lookup ( lookup ( aws_cloudfront_vpc_origin. this , lookup (vpc_origin_config . value , " vpc_origin " , " " ), {}), " id " , null ) )
135- origin_keepalive_timeout = lookup ( vpc_origin_config. value , " origin_keepalive_timeout" , null )
136- origin_read_timeout = lookup ( vpc_origin_config. value , " origin_read_timeout" , null )
136+ vpc_origin_id = coalesce (vpc_origin_config. value . vpc_origin_id , aws_cloudfront_vpc_origin. this [ origin . key ] . id )
137+ origin_keepalive_timeout = vpc_origin_config. value . origin_keepalive_timeout
138+ origin_read_timeout = vpc_origin_config. value . origin_read_timeout
137139 }
138140 }
139141 }
0 commit comments