我使用python模块troposphere在我的云形成模板中生成标记。当前脚本生成:
"Tags": [{"Key":"Name", "Value":"MyTagName"},
{"Key":"Version", "Value":"123456"}]但我需要
"Tags":[{"Key":"Name", "Value":"MyTagName", "PropagateAtLaunch":"true"},
{"Key":"Version", "Value":"123456", "PropagateAtLaunch":"true"}]应用脚本的部分是:
asg = autoscaling.AutoScalingGroup("MyASG")
asg.Tags = Tags(Name = "MyTagName", Version = "123456")
t.add_resource(asg)发布于 2014-12-28 22:29:33
--更新
这个特性已经添加到主分支中,我只留下前面的答案供参考,以防您无法访问最新版本的对流层(即,如果您没有克隆存储库)。您仍然可以在代码中使用简短的函数(第三个选项),尽管如此,它还是会工作的。
“标记”帮助类(来自对流层模块)不能生成ASG标记列表(key / value / propagate),只能生成基本标记列表(例如,key/ value -用于EC2 )。您可以使用troposphere.autoscaling.Tags类作为替代,它模仿最新的类,并添加了"propagate“属性。
你可以这样使用它:
asg.Tags = autoscaling.Tags(Name = 'MyTagName', Version = '123456')所有标记都将PropagateAtLaunch属性设置为“true”。如果您想要一个不同的PropagateAtLaunch属性,只需这样编写:
asg.Tags = autoscaling.Tags(Name = 'MyTagName', Version = '123456',
NonPropagatedTag=('fail',False))NonPropagatedTag标记不会被传播(惊喜!)并且有一个‘失败’的价值。
先前的答复:
您不能使用“标记”助手类(来自对流层模块)来生成ASG标记列表(key/value/繁殖),只能使用基本标记列表(key/value)。快速查看源代码将向您展示原因(.py)
它给你留下了三个选择:
现在,您可以这样使用它:
asg.Tags = TagsASG(Name = 'MyTagName', Version = '123456')所有标记都将PropagateAtLaunch属性设置为“true”。如果您想要一个不同的PropagateAtLaunch属性,只需这样编写:
asg.Tags = TagsASG(Name = 'MyTagName', Version = '123456',
NonPropagatedTag=('fail',False))NonPropagatedTag标记不会被传播(惊喜!)并且有一个‘失败’的价值。
https://stackoverflow.com/questions/27660840
复制相似问题