我必须查询我的AWS账户以查找带有特定标签的最新创建的卷,并且应将其附加到正在运行的EC2实例。如何使用aws cli和powershell实现此目的?
我正在使用下面的powershell脚本和aws cli来实现此目的,但是我无法使用aws cli命令替换变量$ volumeid来找到确切的查询来获取最新的卷ID。 任何帮助将不胜感激。
$volumeid = "aws ec2 describe-volumes --region us-east-1 --filters Name=tag:Application_Name,Values=APPone Name=tag:Name,Values=APP_test --query "Volumes[*].{ID:VolumeId}"
$instanceId = (New-Object System.Net.WebClient).DownloadString("http://169.254.169.254/latest/meta-data/instance-id")
Add-EC2Volume -VolumeId $volumeid -InstanceId $instanceId -Device xvdf -Region us-east-1
答案 0 :(得分:0)
您可以使用以下查询通过特定标签获取最新的卷ID:
aws ec2 describe-volumes --query Volumes[*].[VolumeId] --filters Name=tag-value,Values=testvolume --output text
上面的查询首先描述所有卷的卷描述。
然后,“-query”仅返回存在的所有卷的卷ID。
稍后,它会根据您指定的标签过滤出卷ID。
“-输出文本”将转换为文本格式的输出,您可以将其存储在变量中。
有关更多详细信息,请参阅describe-volumes
这应该有帮助。