Ansible 플레이북 오류

Ansible 플레이북 오류

안녕하세요 저는 이제 막 앤서블을 배우기 시작했습니다. 나는 다음과 같이 플레이북을 작성하려고 합니다.

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

첫 번째 줄에 오류가 발생합니다.

[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 플레이북은 하나 이상의 연극 목록을 포함하는 하나의 YAML 문서입니다. 목록이기 때문에 문서의 바깥 부분에는 YAML 목록 표기가 필요하므로 -.

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

나머지 연극은 다음과 같습니다.

Ansible의 더 많은 예플레이북 소개 가이드. 들여쓰기와 -YAML 목록을 나타내는 외부에 세심한 주의를 기울이세요 .


보너스 팁:

name연극의 키워드는 목적을 문서화합니다. 이름은 50자 이하로 짧게 유지하세요.

connection: local플레이 레벨에서 삭제하세요 . 여러 호스트가 포함된 패턴에 대해 실행하면 여러 번 실행되지만 원하는 결과가 나올 가능성은 거의 없습니다.암시적 로컬호스트이미 로컬이거나 인벤토리 수준에서 호스트 또는 그룹별로 연결 플러그인을 설정할 수 있습니다.

관련 정보