可以创buildvpc请求主机

我很聪明,从阅读的东西,我在做什么应该工作。 我有以下文件称为aws.yml

 --- - hosts: localhost connection: local gather_facts: no vars: aws_region: us-east-1 tasks: - name: Main VPC ec2_vpc: state: present cidr_block: 10.5.0.0/16 resource_tags: {"environment": "prod"} region: "{{ aws_region }}" dns_hostnames: no dns_support: yes instance_tenancy: default internet_gateway: yes subnets: - cidr: 10.5.151.96/27 az: "{{ aws_region }}a" resource_tags: {"Name": "private"} - cidr: 10.5.151.128/27 az: "{{ aws_region }}b" resource_tags: {"Name": "private"} - cidr: 10.5.151.160/27 az: "{{ aws_region }}c" resource_tags: {"Name": "private"} 

当我运行剧本时,我会得到以下结果

 $ ansible-playbook aws.yml ERROR: Unable to find an inventory file, specify one with -i ? 

从我的理解是主机:本地主机应该代替使用-i,因为我想在这里创build一个VPC,我不想ssh到机器来build立它。

谢谢

你需要指向一个库存文件(甚至是一个空的文件),因为剧本只能说明这个剧本适用于哪个主机,但是没有提供定义这个列表的方法。 幸运的是, localhost默认是可用的:

 $ cat playbook.yml --- - hosts: localhost connection: local gather_facts: no tasks: - shell: echo foo $ ansible-playbook -i /dev/null playbook.yml [WARNING]: provided hosts list is empty, only localhost is available PLAY [localhost] ************************************************************** TASK: [shell echo foo] ******************************************************** changed: [localhost] PLAY RECAP ******************************************************************** localhost : ok=1 changed=1 unreachable=0 failed=0