如果存在Eg的相关标签,我想运行AWS CLI命令来启动实例;MigratedBy";。如果Tag不存在,则根本不应该启动实例
我试着在命令下运行,但不起作用
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输出