Hi all
I'm trying to make some kind of automation to create an AMI out of an EC2 
instance. So I have this chunk that creates the instance:

- name: Launch an Ubuntu 14.04 EC2 instance
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
  - name: Find the latest Ubuntu AMI
    ec2_ami_search: distro=ubuntu release=trusty region=ap-southeast-1 
store=ebs-ssd virt=hvm
    register: ubuntu_image
  - name: Start the new EC2 instance
    ec2:
      image: "{{ ubuntu_image.ami }}"
      region: ap-southeast-1
      zone: ap-southeast-1b
      instance_type: t2.small
      vpc_subnet_id: xxxxxxxxxxxxxxxx
      group_id: ['sg-xxxxxxxx', 'sg-xxxxxxx']
      key_name: random_key
      wait: yes
      wait_timeout: 500
    register: ec2
  - name: Add the new instance to host group
    add_host: hostname={{ item.private_ip }} groupname=launched
    with_items: ec2.instances
  - name: Wait for SSH to come up on the new instance
    wait_for: host={{ item.private_ip }} port=22 delay=60 timeout=320 
state=started
    with_items: ec2.instances

Then I try to use the instance and generate an AMI out of that:

- name: Create an AMI from the provisioned instance
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
  - ec2_ami: region=ap-southeast-1 instance_id={{ item.id }} wait=no 
name=basebox-2000000
    with_items:
      - ec2.instances

- name: Delete the instance now that the AMI is created
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
  - ec2:
      region: ap-southeast-1
      instance_ids: "{{ item.id }}"
      state: 'absent'
    with_items:
      - ec2.instances

But I get errors like this:


TASK: [ec2_ami region=ap-southeast-1 instance_id={{ item.id }} wait=no 
name=basebox-2000000] ***
fatal: [localhost] => One or more undefined variables: 'str object' has no 
attribute 'id'

I guess I'm missing something with iterating over a hash but can't figure 
what. Any ideas?

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/cc359c02-afd3-4c71-931d-7c5db8fde6a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to