如何在ansible中运行AWS命令

时间:2019-12-16 14:42:41

标签: ansible

我正在尝试获取ansible的VPC ID,并将其传递给下一个任务,我在剧本中有以下声明:

- name: TO DISPLAY VPC ID
     command: ID=`aws ec2 describe-vpcs --filter Name=tag:Name,Values=ANSIBLE_VPC --query Vpcs[].VpcId --output text`

然后收到错误消息:

fatal: [localhost]: FAILED! => {"changed": false, "cmd": "'ID=`aws' ec2 describe-vpcs --filter Name=tag:Name,Values=ANSIBLE_VPC --query 'Vpcs[].VpcId' --output 'text`'", "msg": "[Errno 2] No such file or directory", "rc": 2}

如何运行该命令,然后将该$ ID传递到下一个将用于子网,路由器,IGW等的任务。...

1 个答案:

答案 0 :(得分:0)

ansible抱怨,因为找不到您提供的命令ID=aws ...

您应该执行的是执行aws命令并注册resutl以便进一步访问

如此

- name: TO DISPLAY VPC ID 
  command: aws ec2 describe-vpcs --filter Name=tag:Name,Values=ANSIBLE_VPC --query Vpcs[].VpcId --output text
  register: ID

从现在开始,您可以在其他脚本中使用ID变量