Amazon S3 Bucket NotificationConfiguration
Describes the notification configuration for an AWS::S3::Bucket resource.
Note
If you create the target resource and related permissions in the same template, you might have a circular dependency.
For example, you might use the AWS::Lambda::Permission resource to grant the S3 bucket to invoke a Lambda function. However, AWS CloudFormation can't create the S3 bucket until the bucket has permission to invoke the function (AWS CloudFormation checks if the S3 bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.
To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.
Syntax
JSON
{ "LambdaConfigurations" : [Lambda Configuration, ...], "QueueConfigurations" : [Queue Configuration, ...], "TopicConfigurations" : [Topic Configuration, ...] }
YAML
LambdaConfigurations: -Lambda ConfigurationQueueConfigurations: -Queue ConfigurationTopicConfigurations: -Topic Configuration
Properties
LambdaConfigurations-
The AWS Lambda functions to invoke and the events for which to invoke the functions.
Required: No
Type: LambdaConfiguration
QueueConfigurations-
The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.
Required: No
Type: QueueConfiguration
TopicConfigurations-
The topic to which notifications are sent and the events for which notification are generated.
Required: No
Type: TopicConfiguration
