Ansible zum Erstellen eines VPC, der nach Hosts fragt

Ansible zum Erstellen eines VPC, der nach Hosts fragt

Ich bin ziemlich neu bei Ansible und nach dem, was ich tue, sollte das, was ich tue, funktionieren. Ich habe die folgende Datei namensaws.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"}

Wenn ich ansible-playbook darüber laufen lasse, bekomme ich folgendes

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

Meines Wissens nach soll hosts: localhost die Stelle von -i einnehmen und da ich hier versuche, ein VPC zu erstellen, möchte ich zum Erstellen keine SSH-Verbindung zu den Maschinen herstellen.

Danke

Antwort1

Sie müssen auf eine Inventardatei verweisen (auch wenn sie leer ist), da das Playbook nur angibt, für welche Hosts das Spiel gilt, aber keine Möglichkeit bietet, eine solche Liste zu definieren. Das Inventar tut dies. Glücklicherweise localhostist standardmäßig Folgendes verfügbar:

$ 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

verwandte Informationen