我对批处理文件非常陌生,但是我正在尝试使用一个文件来自动化一些AWS CLI实例创建。
到目前为止,我所拥有的非常简单-我的.bat
文件中有一个命令,它将运行run-instances
命令:
aws ec2 run-instances --dry-run --image-id %ami_id% --key-name %keypair% --security-group-ids %security_group% --instance-type "r3.large" --subnet-id %az1b_subnet%
该命令需要一点时间才能运行,但是最终(没有
--dry-run
)将返回有关所创建实例的json。我想搜索该json输出并将instance-id
保存到变量中,以便可以使用它用ec2 create-tags
命令标记新创建的实例。关于我该怎么做的任何想法?我的第一次尝试是将
> test.txt
添加到上述命令的末尾,然后搜索json并设置变量。但是,在CLI命令完成并返回其输出之前立即创建了test.txt
。谢谢。
最佳答案
AWS Command-Line Interface (CLI)具有--query
参数,可用于指定输出字段。与--output text
结合使用,它可以提供实例ID的列表。
这是一个脚本,假设每个run-instances
调用仅启动一个实例(否则将需要循环):
ID=`aws ec2 run-instances --image-id ami-xxxxxxxx --instance-type t1.micro --query 'Instances[0].InstanceId' --output text`
aws ec2 create-tags --resources $ID --tags Key=Name,Value=WebServer
关于batch-file - 搜索AWS CLI输出并保存到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31685966/