1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-02 01:21:21 +03:00
awx/tools/playbooks/publish_ami.yml
2015-08-14 08:13:47 -04:00

57 lines
1.6 KiB
YAML

---
- hosts: local
vars:
src_region: 'us-east-1'
dst_regions:
- us-east-1
- us-west-1
- us-west-2
- eu-central-1
- eu-west-1
- ap-northeast-1
- ap-southeast-1
- ap-southeast-2
- sa-east-1
tasks:
- fail:
msg: 'No source AMI id defined, please provide a value for variable src_ami_id.'
when: src_ami_id is undefined
- name: Gather AMI information
ec2_ami_find:
ami_id: '{{ src_ami_id }}'
region: '{{ src_region }}'
no_result_action: fail
register: ami_info
- name: Assert that the AMI is not already public
assert:
that: 'not {{ item.is_public }}'
with_items: ami_info.results
- name: Copy AMI to desired regions
ec2_ami_copy:
source_region: '{{ src_region }}'
region: '{{ item }}'
source_image_id: '{{ ami_info.results[0].ami_id }}'
name: '{{ ami_info.results[0].name }}'
description: '{{ ami_info.results[0].description }}'
tags: '{{ ami_info.results[0].tags }}'
wait: true
with_items: dst_regions
register: ami_copy
- name: Make image publicly available
command: 'ec2-modify-image-attribute {{ item.image_id }} --launch-permission -a all'
with_items: ami_copy.results
- debug:
var: ami_copy.results
- name: Display AMI launch URL
debug:
msg: 'https://console.aws.amazon.com/ec2/home?region={{ item.item }}#launchAmi={{ item.image_id }}'
with_items: ami_copy.results
when: ami_copy is defined