使用Ansible Playbook创建AMI失败

时间:2015-08-20 06:36:54

标签: amazon-web-services ansible

我尝试使用ansible-playbook创建AMI,我已经导出aws密钥&访问路径和ansible版本是2.0.0。

- hosts: localhost
    tasks:
    - name: create ami
      ec2_ami:
        region: "ap-southeast-1"
        instance_id: "i-c2xxxx"
        name: "jmicro"
        wait: yes
      register: ami

但是当我运行命令:ansible-playbook create_ami.yml时,我收到此错误:

ERROR: Syntax Error while loading YAML script, create_ami.yml

Note: The error may actually appear before this position: line 5, column 1

    ec2_ami:
        region: "ap-southeast-1"

我的yaml脚本有问题吗?但是当我跑步时:

# ansible localhost -m ec2_ami -a "instance_id=i-c2xxxx region=ap-southeast-1 wait=yes name=jmicro"

它的成功!!

1 个答案:

答案 0 :(得分:1)

tasks前面有一些奇怪的字符。不知道那是什么,但是当我复制你的代码块并将其粘贴到我的编辑器中,然后尝试用 Backspace 删除空格时,它实际上删除了右侧的字符。光标。

YAML仅允许用空格来缩进行。我认为这是问题所在。 tasks需要与hosts处于同一级别。除此之外,你的定义对我来说还不错。

- hosts: localhost
  tasks:
    - name: create ami
      ec2_ami:
        region: "ap-southeast-1"
        instance_id: "i-c2xxxx"
        name: "jmicro"
        wait: yes
      register: ami