如何使用boto3标记现有的AWS自动缩放组



我正在尝试使用Python和Boto3标记一个现有的自动缩放组。

我可以用名称来描述ASG:

import boto3
asg_client = boto3.client("autoscaling")
asg_name = "foo-bar20220502044025104700000001"
response = asg_client.describe_auto_scaling_groups(AutoScalingGroupNames=[asg_name])

create_or_update_tags()delete_tags()方法的问题是它们似乎不接受ASG名称列表。例如,这不起作用:

asg_client.create_or_update_tags(
AutoScalingGroupNames=[asg_name],
Tags=[my_tag]
)

明确说明:

  • ASG已经存在,我不会在这里创建它
  • 我不想对ASG进行任何其他更改
  • 如果我知道ASG的名字,我只想能够标记它
  • 我需要使用Python中的boto3

与标记相关的方法似乎与所有其他ASG客户端方法不同,因为它们不接受ASG名称或名称列表作为参数。

您可以做到这一点,只需要提供不同的输入即可。可以为这些客户端方法的ResourceId提供ASG名称。

以下是create_or_update_tags调用的boto3文档。

这里有一个例子:

asg_client.create_or_update_tags(
Tags=[
{
'ResourceId': asg_name,
'ResourceType': 'auto-scaling-group',
'Key': 'myTagKey',
'Value': 'myTagValue',
'PropagateAtLaunch': True
},
]
)

最新更新