Skip to content

Commit 16eb658

Browse files
hoegertnmergify[bot]
authored andcommitted
fix(s3-deployment): CallerReference has to be unique (#3880)
* fix(s3-deployment): CallerReference has to be unique * fix: tests
1 parent 09304f7 commit 16eb658

File tree

2 files changed

+3
-6
lines changed

2 files changed

+3
-6
lines changed

packages/@aws-cdk/aws-s3-deployment/lambda/src/index.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def cfn_error(message=None):
9999
s3_deploy(s3_source_zip, s3_dest)
100100

101101
if distribution_id:
102-
cloudfront_invalidate(distribution_id, distribution_paths, physical_id)
102+
cloudfront_invalidate(distribution_id, distribution_paths)
103103

104104
cfn_send(event, context, CFN_SUCCESS, physicalResourceId=physical_id)
105105
except KeyError as e:
@@ -133,15 +133,15 @@ def s3_deploy(s3_source_zip, s3_dest):
133133

134134
#---------------------------------------------------------------------------------------------------
135135
# invalidate files in the CloudFront distribution edge caches
136-
def cloudfront_invalidate(distribution_id, distribution_paths, physical_id):
136+
def cloudfront_invalidate(distribution_id, distribution_paths):
137137
invalidation_resp = cloudfront.create_invalidation(
138138
DistributionId=distribution_id,
139139
InvalidationBatch={
140140
'Paths': {
141141
'Quantity': len(distribution_paths),
142142
'Items': distribution_paths
143143
},
144-
'CallerReference': physical_id,
144+
'CallerReference': str(uuid4()),
145145
})
146146
# by default, will wait up to 10 minutes
147147
cloudfront.get_waiter('invalidation_completed').wait(

packages/@aws-cdk/aws-s3-deployment/lambda/test/test.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,6 @@ def mock_make_api_call(self, operation_name, kwarg):
143143
assert kwarg['DistributionId'] == '<cf-dist-id>'
144144
assert kwarg['InvalidationBatch']['Paths']['Quantity'] == 1
145145
assert kwarg['InvalidationBatch']['Paths']['Items'][0] == '/*'
146-
assert kwarg['InvalidationBatch']['CallerReference'] == '<physical-id>'
147146
return {'Invalidation': {'Id': '<invalidation-id>'}}
148147
if operation_name == 'GetInvalidation' and kwarg['Id'] == '<invalidation-id>':
149148
return {'Invalidation': {'Id': '<invalidation-id>', 'Status': 'Completed'}}
@@ -165,7 +164,6 @@ def mock_make_api_call(self, operation_name, kwarg):
165164
assert kwarg['DistributionId'] == '<cf-dist-id>'
166165
assert kwarg['InvalidationBatch']['Paths']['Quantity'] == 1
167166
assert kwarg['InvalidationBatch']['Paths']['Items'][0] == '/<dest-prefix>/*'
168-
assert kwarg['InvalidationBatch']['CallerReference'] == '<physical-id>'
169167
return {'Invalidation': {'Id': '<invalidation-id>'}}
170168
if operation_name == 'GetInvalidation' and kwarg['Id'] == '<invalidation-id>':
171169
return {'Invalidation': {'Id': '<invalidation-id>', 'Status': 'Completed'}}
@@ -189,7 +187,6 @@ def mock_make_api_call(self, operation_name, kwarg):
189187
assert kwarg['InvalidationBatch']['Paths']['Quantity'] == 2
190188
assert kwarg['InvalidationBatch']['Paths']['Items'][0] == '/path1/*'
191189
assert kwarg['InvalidationBatch']['Paths']['Items'][1] == '/path2/*'
192-
assert kwarg['InvalidationBatch']['CallerReference'] == '<physical-id>'
193190
return {'Invalidation': {'Id': '<invalidation-id>'}}
194191
if operation_name == 'GetInvalidation' and kwarg['Id'] == '<invalidation-id>':
195192
return {'Invalidation': {'Id': '<invalidation-id>', 'Status': 'Completed'}}

0 commit comments

Comments
 (0)