mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-23 20:44:00 -07:00
New Module: ec2_vpc_vpn_facts (#35983)
* New module: ec2_vpc_vpn_facts * Add integration tests for ec2_vpc_vpn_facts and the IAM permissions * Add retry to VPC removal * Use unique name for VGW * Always clean up after tests and add retries
This commit is contained in:
parent
f04c876ecd
commit
b85970b2b0
4 changed files with 342 additions and 1 deletions
2
test/integration/targets/ec2_vpc_vpn_facts/aliases
Normal file
2
test/integration/targets/ec2_vpc_vpn_facts/aliases
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
cloud/aws
|
||||
posix/ci/cloud/group4/aws
|
||||
124
test/integration/targets/ec2_vpc_vpn_facts/tasks/main.yml
Normal file
124
test/integration/targets/ec2_vpc_vpn_facts/tasks/main.yml
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
---
|
||||
- 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue