@Guy 的建议是正确的,您可以从堆栈属性访问堆栈的创建时间戳。
如果您仍需要将标签指定为参数,则可以通过以下方式进行。目前,JSON 语法支持的功能非常有限。因此,动态修改模板的可能性非常小。我看到引入此标签的唯一方法是向模板本身添加另一个参数。根据您初始化堆栈的方式,您可以编写要动态指定的参数的脚本或在 Web 控制台中提供它。
例如,如果您的模板中有这个:
"Parameters" : {
"CreationDate" : {
"Description" : "Date",
"Type" : "String",
"Default" : "2013-03-20 21:15:00",
"AllowedPattern" : "^\\d{4}(-\\d{2}){2} (\\d{2}:){2}\\d{2}$",
"ConstraintDescription" : "Date and time of creation"
}
},
您可以稍后在标签中使用 Ref 关键字来引用它,如下所示:
"Tags" : [ { "Key" : "Owner", "Value" : "my name" },
{ "Key" : "Name", "Value" : "instance name" },
{ "Key" : "DateCreated", "Value" : { "Ref" : "CreationDate" } }
],
如果您从 AWS 控制台创建堆栈,自动分配当前时间并非易事,但如果您使用 CLI 工具,您可以像这样调用 cfn-create-stack:
cfn-create-stack MyStack --template-file My.template --parameters "CreationDate=$(date +'%F %T')"
希望这可以帮助!