- StackSet name:
demo-stack-set - Stack instances deployed to:
eu-west-1andus-east-1 - A single CloudFormation template that creates an S3 bucket; its name is derived from pseudoparameters so each instance gets a unique bucket name

- StackSet = master template + deployment settings
- Stack instance = per-region / per-account stack created from that template
- The template uses CloudFormation pseudoparameters
AWS::RegionandAWS::AccountIdvia!Sub. - Pseudoparameters are resolved at deployment time for each target account/region, producing unique bucket names per stack instance.
AWS::Region and AWS::AccountId. You can confirm those buckets in the S3 console.

| Resource Type | Purpose in this demo | Example / Notes |
|---|---|---|
| StackSet | Central template & deployment configuration | demo-stack-set deployed to multiple regions |
| Stack instance | Per-region/per-account CloudFormation stack | One in eu-west-1, one in us-east-1 |
| S3 bucket | Resource created by the template | stackset-bucket-${AWS::Region}-${AWS::AccountId} (resolved per instance) |
- Open the CloudFormation console and inspect the StackSet’s “Stack instances” to see per-region/account status and Stack IDs.
- In each target region, open the S3 console to confirm the bucket names and creation dates.
- Review the StackSet template to see where pseudoparameters are used (for example, in
BucketName).
Pseudoparameters such as AWS::Region and AWS::AccountId are resolved at deployment time for each target account/region. That’s why names generated with !Sub are unique per stack instance.