2017-10-13 60 views
0

我一直在尝试部署我的剧本,但不知道错误是什么。我的剧本看起来是这样的:无法解析剧本错误在剧本中

- name: trying to find sb ami 
    ec2_ami_find: 
     owner: self 
     name: SB 
    register: ami_find 

- name : use custom ami 
    ec2: 
    image: "{{ ami_find.results[0].ami_id }}" 
    instance_type: t2.small 
    key_name: mykey 
    region: us-east-1 
    wait: yes 
    register: ec2 

我收到错误持续这样的:

ERROR! Syntax Error while loading YAML. 


The error appears to have been in '/root/git-work/ansible/sparkbeyond.yml': line 16, column 3, but may 
be elsewhere in the file depending on the exact syntax problem. 

The offending line appears to be: 

    register: ami_find 

^here 
There appears to be a tab character at the start of the line. 

YAML does not use tabs for formatting. Tabs should be replaced with spaces. 

For example: 
    - name: update tooling 
     vars: 
     version: 1.2.3 
# ^--- there is a tab there. 

Should be written as: 
    - name: update tooling 
     vars: 
     version: 1.2.3 
# ^--- all spaces here. 

可以有一个人请帮帮我,为什么我收到这样的错误。我在ubuntu机器上使用的是2.3版本的可执行版本。

回答

1

您的缩进在第一个游戏中关闭。在第二次播放中,register不是ec2模块的参数。

- name: trying to find sb ami 
    ec2_ami_find: 
    owner: self 
    name: SB 
    register: ami_find 

- name: use custom ami 
    ec2: 
    image: "{{ ami_find.results[0].ami_id }}" 
    instance_type: t2.small 
    key_name: mykey 
    region: us-east-1 
    wait: yes 
    register: ec2