AWS CloudFormation applies the tags you specify to the Stack itself and (where possible) to the resources it launches. Those tags are applied to the entire stack and aren't part of the CloudFormation template. However you can create a wrapper template, having a single resource of AWS::CloudFormation::Stack
.
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "WrapperTemplate",
"Resources": {
"WrappedStackWithStackLevelTags": {
"Type" : "AWS::CloudFormation::Stack",
"Properties" : {
"Tags" : [ { "Key" : "owner:email", "Value" : "[email protected]" } ],
"TemplateURL" : "your-original-template-s3-url"
}
}
}
}
It is also possible to pass these tags directly to the API call or through the CLI.