ansible для создания vpc с запросом хостов

ansible для создания vpc с запросом хостов

Я новичок в 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 ?

Насколько я понимаю, hosts: localhost должен заменить использование -i, и поскольку я пытаюсь создать VPC, я не хочу подключаться по ssh к машинам, чтобы создать его.

Спасибо

решение1

Вам нужно указать на файл inventory (даже пустой), потому что playbook говорит только о том, к каким хостам применяется play, но не предоставляет средства для определения такого списка, inventory это делает. К счастью, 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

Связанный контент