Unable to resolve Syntax errors in ansible playbook

I have been trying to deploy my playbook but not sure what the error is . My playbook looks something like this :

- 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

I am getting error continuously this:

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.

Can some one please help me, why I am getting such error . I am using ansible version 2.3 on ubuntu machine

Upvotes: 0

Views: 2977

Answers (1)

helloV
helloV

Reputation: 52433

Your indentation was off in the first play. In the second play, register is not a parameter to ec2 module.

- 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

Upvotes: 1

Related Questions