我尝试使用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"
它的成功!!
答案 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