in chalice/deploy/planner.py [0:0]
def _plan_s3bucketnotification(self, resource):
# type: (models.S3BucketNotification) -> Sequence[InstructionMsg]
function_arn = Variable(
'%s_lambda_arn' % resource.lambda_function.resource_name
)
return self._arn_parse_instructions(function_arn) + [
models.APICall(
method_name='add_permission_for_s3_event',
params={'bucket': resource.bucket,
'function_arn': function_arn,
'account_id': Variable('account_id')},
),
(models.APICall(
method_name='connect_s3_bucket_to_lambda',
params={'bucket': resource.bucket,
'function_arn': function_arn,
'prefix': resource.prefix,
'suffix': resource.suffix,
'events': resource.events}
), 'Configuring S3 events in bucket %s to function %s\n'
% (resource.bucket, resource.lambda_function.function_name)
),
models.RecordResourceValue(
resource_type='s3_event',
resource_name=resource.resource_name,
name='bucket',
value=resource.bucket,
),
models.RecordResourceVariable(
resource_type='s3_event',
resource_name=resource.resource_name,
name='lambda_arn',
variable_name=function_arn.name,
),
]