【问题标题】:Failed Create AMI With Ansible Playbook使用 Ansible Playbook 创建 AMI 失败
【发布时间】:2015-08-20 06:36:53
【问题描述】:

我尝试使用 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"

成功了!!

【问题讨论】:

    标签: amazon-web-services ansible


    【解决方案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
    

    【讨论】:

    • bro thx 为您的更正...我认为因为我在使用 vim 时将 tab 键用于缩进空格,所以它现在运行良好
    猜你喜欢
    • 1970-01-01
    • 2017-09-29
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多