You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/ec2_vpc_vpn_facts/tasks/main.yml

125 lines
3.2 KiB
YAML

---
- block:
# ============================================================
- name: set up aws connection info
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: create a VPC
ec2_vpc_net:
name: "{{ resource_prefix }}-vpc"
state: present
cidr_block: "10.0.0.0/26"
<<: *aws_connection_info
tags:
Name: "{{ resource_prefix }}-vpc"
Description: "Created by ansible-test"
register: vpc_result
- name: create vpn gateway and attach it to vpc
ec2_vpc_vgw:
state: present
vpc_id: '{{ vpc_result.vpc.id }}'
name: "{{ resource_prefix }}-vgw"
<<: *aws_connection_info
register: vgw
- name: create customer gateway
ec2_customer_gateway:
bgp_asn: 12345
ip_address: 1.2.3.4
name: testcgw
<<: *aws_connection_info
register: cgw
- name: create vpn connection, with customer gateway
ec2_vpc_vpn:
customer_gateway_id: '{{ cgw.gateway.customer_gateway.customer_gateway_id }}'
vpn_gateway_id: '{{ vgw.vgw.id }}'
state: present
<<: *aws_connection_info
register: vpn
# ============================================================
- name: test success with no parameters
ec2_vpc_vpn_facts:
<<: *aws_connection_info
register: result
- name: assert success with no parameters
assert:
that:
- 'result.changed == false'
- 'result.vpn_connections != []'
- name: test success with customer gateway id as a filter
ec2_vpc_vpn_facts:
filters:
customer-gateway-id: '{{ cgw.gateway.customer_gateway.customer_gateway_id }}'
vpn-connection-id: '{{ vpn.vpn_connection_id }}'
<<: *aws_connection_info
register: result
- name: assert success with customer gateway id as filter
assert:
that:
- 'result.changed == false'
- 'result.vpn_connections != []'
# ============================================================
always:
- name: delete vpn connection
ec2_vpc_vpn:
state: absent
vpn_connection_id: '{{ vpn.vpn_connection_id }}'
<<: *aws_connection_info
register: result
retries: 10
delay: 3
until: result is not failed
ignore_errors: true
- name: delete customer gateway
ec2_customer_gateway:
state: absent
ip_address: 1.2.3.4
name: testcgw
bgp_asn: 12345
<<: *aws_connection_info
register: result
retries: 10
delay: 3
until: result is not failed
ignore_errors: true
- name: delete vpn gateway
ec2_vpc_vgw:
state: absent
vpn_gateway_id: '{{ vgw.vgw.id }}'
<<: *aws_connection_info
register: result
retries: 10
delay: 3
until: result is not failed
ignore_errors: true
- name: delete vpc
ec2_vpc_net:
name: "{{ resource_prefix }}-vpc"
state: absent
cidr_block: "10.0.0.0/26"
<<: *aws_connection_info
register: result
retries: 10
delay: 3
until: result is not failed
ignore_errors: true