AWS Error Message (de)Codex (version 5, created 2026-03-08 00:06:23.513)
- when running cloudformation-deploy
An error occurred (ValidationError) when calling the CreateChangeSet operation: [/Parameters/NotificationBucket] 'null' values are not allowed in templates
means you have not indented your yaml correctly. Copy/paste is the devil with whitespace sensitive formats.
- an S3/Bucket resource ID exists, but not in your UI
Bucket names are globally unique (because they are accessed via a url through through a globally unique domain).
Avoid using Property/BucketName (or Property/FooName) in cloudformation, the system will assign a unique name if one is not specified.
FooBucket:
Type: AWS::S3::Bucket
Properties:
# nope...
# BucketName: !Ref FooBucketName
...snip...
- Unable to validate the following destination configurations
Why would you use an explicit bucket name? To break a circular dependency.
This arises when two or more resources depend on each other. Typically this is a notification configuration on an S3 bucket. The lambda has an Invoke permission, which requires the bucket ARN, and the bucket has a Notification configuration which requires the Lambda ARN. Its circular, so you can not use DependsOn.
Construct a bucket with an explicit name, use that name in the Permission. Creating a resource name with a semi-random suffix is possible (see stackoverflow)) but this does not solve the dependency problem.
date | md5sum | cut -c1-6 | (
read; aws cloudformation deploy --template-file e01.yaml --stack-name test --parameter-overrides BucketName=test-$REPLY --capabilities CAPABILITY_IAM
)