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 [email protected].
To post to this group, send email to [email protected].
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.