cba64f5869
* Fix setting the cache when refresh_cache or --flush-cache are used * Use jsonify function that handles datetime objects in jsonfile cache plugin * Don't access self._options directly * Add initial integration tests for aws_ec2 inventory plugin * Add CI alias * Fix and add a few more unit tests * Add integration tests for constructed * Fix typo * Use inventory config templates * Collect all instances that are not terminated by default * Create separate playbook for setting up the VPC, subnet, security group, and finding an image for the host Create a separate playbook for removing the resources * Allow easier grouping by region and add an example * use a unified json encode/decode that can handle unsafe and vault
62 lines
1.6 KiB
YAML
62 lines
1.6 KiB
YAML
- name: set connection information for all tasks
|
|
set_fact:
|
|
aws_connection_info: &aws_connection_info
|
|
aws_access_key: '{{ aws_access_key }}'
|
|
aws_secret_key: '{{ aws_secret_key }}'
|
|
security_token: '{{ security_token }}'
|
|
region: '{{ aws_region }}'
|
|
no_log: yes
|
|
|
|
- name: get image ID to create an instance
|
|
ec2_ami_facts:
|
|
filters:
|
|
architecture: x86_64
|
|
owner-id: '125523088429'
|
|
virtualization-type: hvm
|
|
root-device-type: ebs
|
|
name: 'Fedora-Atomic-27*'
|
|
<<: *aws_connection_info
|
|
register: fedora_images
|
|
|
|
- set_fact:
|
|
image_id: '{{ fedora_images.images.0.image_id }}'
|
|
|
|
- name: create a VPC to work in
|
|
ec2_vpc_net:
|
|
cidr_block: 10.10.0.0/24
|
|
state: present
|
|
name: '{{ resource_prefix }}_setup'
|
|
resource_tags:
|
|
Name: '{{ resource_prefix }}_setup'
|
|
<<: *aws_connection_info
|
|
register: setup_vpc
|
|
|
|
- set_fact:
|
|
vpc_id: '{{ setup_vpc.vpc.id }}'
|
|
|
|
- name: create a subnet to use for creating an ec2 instance
|
|
ec2_vpc_subnet:
|
|
az: '{{ aws_region }}a'
|
|
tags: '{{ resource_prefix }}_setup'
|
|
vpc_id: '{{ setup_vpc.vpc.id }}'
|
|
cidr: 10.10.0.0/24
|
|
state: present
|
|
resource_tags:
|
|
Name: '{{ resource_prefix }}_setup'
|
|
<<: *aws_connection_info
|
|
register: setup_subnet
|
|
|
|
- set_fact:
|
|
subnet_id: '{{ setup_subnet.subnet.id }}'
|
|
|
|
- name: create a security group to use for creating an ec2 instance
|
|
ec2_group:
|
|
name: '{{ resource_prefix }}_setup'
|
|
description: 'created by Ansible integration tests'
|
|
state: present
|
|
vpc_id: '{{ setup_vpc.vpc.id }}'
|
|
<<: *aws_connection_info
|
|
register: setup_sg
|
|
|
|
- set_fact:
|
|
sg_id: '{{ setup_sg.group_id }}'
|