我对 ansible 还是很陌生,从阅读内容来看,我正在做的事情应该可以工作。我有以下文件称为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 时,我得到以下信息
$ ansible-playbook aws.yml
ERROR: Unable to find an inventory file, specify one with -i ?
据我了解是主机: localhost 应该代替使用 -i 并且由于我试图在这里创建一个 VPC,所以我不想通过 ssh 进入机器来构建它。
谢谢
您需要指向一个清单文件(即使是一个空文件),因为剧本只说明该剧本适用于哪些主机,但没有提供定义此类列表的方法,清单确实如此。幸运的
localhost
是,默认情况下可用: