in custom-resource-runtime/ec2-deployer/index.py [0:0]
def handle_event(event):
# don't need to deploy if ResourceProperties haven't changed
if (event['RequestType'] == 'Update' and event['OldResourceProperties'] == event['ResourceProperties']):
print('Skipping deployment--ResourceProperties did not change.')
return
application_name = event['ResourceProperties'].get('applicationName')
deployment_group_name = event['ResourceProperties'].get('deploymentGroupName')
code_bucket_name = event['ResourceProperties'].get('codeS3BucketName')
code_object_key = event['ResourceProperties'].get('codeS3ObjectKey')
code_object_version = event['ResourceProperties'].get('codeS3ObjectVersion')
print(f'Application Name: {application_name}')
print(f'Deployment Group Name: {deployment_group_name}')
print(f'Code Bucket Name: {code_bucket_name}')
print(f'Code Object Key: {code_object_key}')
print(f'Code Object Version: {code_object_version}')
revision={
'revisionType': 'S3',
's3Location': {
'bucket': code_bucket_name,
'key': code_object_key,
'bundleType': 'zip'
}
}
if code_object_version:
revision['s3Location']['version'] = code_object_version
response = client.create_deployment(
applicationName=application_name,
deploymentGroupName=deployment_group_name,
revision=revision
)
print(f'Create Deployment Response: {response}')
returnValue = {
'PhysicalResourceId': response['deploymentId']
}
print(f'Return: {returnValue}')
return returnValue