Ошибка Ansible playbook

Ошибка Ansible playbook

Привет, я только начал изучать ansible. Я пытаюсь написать playbook как:

vpc-setup.ymlкоторый в том числе

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

ошибка возникает в 1-й строке:

[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

Пожалуйста, помогите.

решение1

Ansible playbook — это один документ YAML, содержащий список игр, возможно, более одной. Поскольку это список, внешняя часть документа нуждается в нотации списка YAML, поэтому -.

- name: VPC for thing
  hosts: localhost
  gather_facts: False
  tasks:

Остальная часть пьесы следует ниже.

Больше примеров в Ansibleруководство по внедрению игровых книг. Обратите особое внимание на отступы и внешний вид, -указывающий на список YAML.


Бонусные советы:

nameКлючевое слово в пьесах документирует цель. Сохраняйте имя коротким, 50 символов или меньше.

Удалить connection: localна уровне воспроизведения. Если запустить шаблон с несколькими хостами, он будет запущен много раз, что вряд ли то, что вам нужно.Неявный локальный хостуже является локальным, или вы можете установить плагин подключения для каждого хоста или группы на уровне инвентаря.

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