Hola, acabo de empezar a aprender ansible. Estoy intentando escribir un libro de jugadas como:
vpc-setup.ymlque incluye
hosts: localhost
connection: local
gather_facts: False
tasks:
- name: Import VPC Variables
include_vars: vars/vpc_setup.md
- name: Create vprofile VPC
ec2_vpc_net:
name: "{{vpc_name}}"
cidr_block: "{{vpcCidr}}"
region: "{{region}}"
dns_hostnames: yes
tenancy: default
state: "{{state}}"
register: vpcout
el error viene en la primera línea:
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match
'all'
ERROR! A playbook must be a list of plays, got a <class 'ansible.parsing.yaml.objects.AnsibleMapping'> instead
The error appears to be in '/home/ubuntu/ansible-aws-vpc/vpc-setup.yml': line 1, column 1, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
hosts: localhost
^ here
Por favor ayuda
Respuesta1
Un libro de jugadas de Ansible es un documento YAML que contiene una lista de jugadas, posiblemente más de una. Debido a que es una lista, la parte exterior del documento necesita notación de lista YAML, por lo que -
.
- name: VPC for thing
hosts: localhost
gather_facts: False
tasks:
El resto de la obra sigue.
Más ejemplos en Ansibleguía que presenta los libros de jugadas. Preste mucha atención a la sangría y al exterior -
que indica una lista YAML.
Consejos adicionales:
name
La palabra clave en las obras documenta un propósito. Mantenga el nombre breve, de 50 caracteres o menos.
Eliminar connection: local
en el nivel de juego. Si se ejecuta según un patrón con varios hosts, se ejecutará muchas veces, lo cual es poco probable que sea lo que usted desea.Host local implícitoya es local, o puede configurar el complemento de conexión por host o grupo en el nivel de inventario.