AWS CloudFormation
User Guide (Version )

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

AWS::S3::Bucket NotificationConfiguration

Describes the notification configuration for an Amazon S3 bucket.


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 bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the 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.

For more information on permissions, see AWS::Lambda::Permission and Granting Permissions to Publish Event Notification Messages to a Destination.


To declare this entity in your AWS CloudFormation template, use the following syntax:



Describes the AWS Lambda functions to invoke and the events for which to invoke them.

Required: No

Type: List of LambdaConfiguration

Update requires: No interruption


The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.

Required: No

Type: List of QueueConfiguration

Update requires: No interruption


The topic to which notifications are sent and the events for which notifications are generated.

Required: No

Type: List of TopicConfiguration

Update requires: No interruption

On this page: