如果存在标签,如何启动 AWS 实例
How to Start AWS instance if it has Tag exists
我想 运行 AWS CLI 命令启动实例,如果它有相关标签存在,例如“MigratedBy”。如果 Tag 不存在,它根本不应该启动实例
我尝试了 运行ning 下面的命令,但没有成功
aws ec2 start-instances --instance-ids `aws ec2 describe-instances --filters "Name=tag:MigratedBy,Values=my-super-tag" --query 'Reservations[].Instances[].InstanceId' --outpu t text`
似乎此命令会 运行 所有带有标签“MigratedBy”的实例,但在我的情况下这是错误的。如果标签存在,我只想启动特定实例,否则不存在
如果您只想根据标签的存在进行过滤,您可以将其包含在查询中,然后通过管道仅显示 InstanceId:
aws ec2 describe-instances --query 'Reservations[].Instances[].[Tags[?Key=='MigratedBy'],InstanceId] | [*][1]' --output text
最后,要启动这些实例,整个命令将是:
aws ec2 start-instances --instance-ids `aws ec2 describe-instances --query 'Reservations[].Instances[].[Tags[?Key=='MigratedBy'],InstanceId] | [*][1]' --output text`
参考:
我想 运行 AWS CLI 命令启动实例,如果它有相关标签存在,例如“MigratedBy”。如果 Tag 不存在,它根本不应该启动实例
我尝试了 运行ning 下面的命令,但没有成功
aws ec2 start-instances --instance-ids `aws ec2 describe-instances --filters "Name=tag:MigratedBy,Values=my-super-tag" --query 'Reservations[].Instances[].InstanceId' --outpu t text`
似乎此命令会 运行 所有带有标签“MigratedBy”的实例,但在我的情况下这是错误的。如果标签存在,我只想启动特定实例,否则不存在
如果您只想根据标签的存在进行过滤,您可以将其包含在查询中,然后通过管道仅显示 InstanceId:
aws ec2 describe-instances --query 'Reservations[].Instances[].[Tags[?Key=='MigratedBy'],InstanceId] | [*][1]' --output text
最后,要启动这些实例,整个命令将是:
aws ec2 start-instances --instance-ids `aws ec2 describe-instances --query 'Reservations[].Instances[].[Tags[?Key=='MigratedBy'],InstanceId] | [*][1]' --output text`
参考: