I am trying to create a playbook which does the following:

   - creates an image of an AWS instance
   - copies the image to a different region
   - installs updates to the instance


I can do all of this apart from getting the AMI to copy to a different 
region. I've tried a few things but this is my current playbook (this is 
only for the AMI creation and copying, installing updates is handled 
separately). 

- hosts: webservers
  remote_user: ubuntu
  tasks:
    - name: create an ami
      ec2_ami:
        region: eu-west-2
        instance_id: i-0771a2e4289c057e9
        name: "{{ inventory_hostname }}-{{ 
ansible_date_time.iso8601_basic_short }}"
        tags:
          Name: "{{ inventory_hostname }}-{{ 
ansible_date_time.iso8601_basic_short }}"


    - name: set ID name
      set_fact:
        new_ami_name: ec2_ami.image_id


    - pause:
        seconds: 60


    - name: copy AMI to a different region
      ec2_ami_copy:
        source_region: eu-west-2
        source_image_id: "{{ new_ami_name }}"
        name: "{{ new_ami_name }}"
        region: eu-west-1

For which the creation, setting fact, and pause work, but on the last part 
I get this error output:

An exception occurred during task execution. To see the full traceback, use 
-vvv. The error was: ClientError: An error occurred (InvalidAMIID.Malformed) 
when calling the CopyImage operation: Invalid id: "ec2_ami.image_id" (expecting 
"ami-...")




I've tried a few different things I'm fairly new to Ansible, but basically 
I can't figure out how to pass the image_id of the newly created AMI to the 
next play so that it can use this as the basis of the copying.

I can see clearly that it's not registering the image_id as it's saying 
it's not in the expected "ami-" format, but I'm stuck from there.
 

-- 
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/32025477-6da6-4087-892b-44a4609dd5d4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to