使用剧本的YAML语法错误(Ansible)

时间:2019-04-01 14:42:29

标签: linux centos ansible yaml

我使用ansible-module-vcloud,我想通过Ansible创建VM。例如,我想创建最简单的剧本。

我有此代码:

---

- name: vCloudDirectorAnsible
  hosts: localhost
  environment:
    env_user: admin
    env_password: admin
    env_host: vcloud.vmware.ru
    env_org: test
    env_api_version: 30.0
    env_verify_ssl_certs: false

- name: create catalog
  vcd_catalog:
        catalog_name: "test"
        catalog_description: "test_Descr"
        state: "present"

但是我得到了错误:

ERROR! 'vcd_catalog' is not a valid attribute for a Play

The error appears to have been in '/root/ansible-module-vcloud-director/main.yml': line 14, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: create catalog
  ^ here

如果我删除此部分:

- name: create catalog
  vcd_catalog:
        catalog_name: "test"
        catalog_description: "test_Descr"
        state: "present"

我的剧本将运行并成功完成。

该如何解决?

1 个答案:

答案 0 :(得分:0)

您错过了任务关键字。

---

- name: vCloudDirectorAnsible
  hosts: localhost
  environment:
    env_user: admin
    env_password: admin
    env_host: vcloud.vmware.ru
    env_org: test
    env_api_version: 30.0
    env_verify_ssl_certs: false
  tasks:
    - name: create catalog
      vcd_catalog:
        catalog_name: "test"
        catalog_description: "test_Descr"
        state: "present"