84 lines
2.4 KiB
YAML
84 lines
2.4 KiB
YAML
---
|
|
- name: Delete cloud stack VPC
|
|
hosts: localhost
|
|
gather_facts: false
|
|
|
|
vars:
|
|
aws_vpc_name: aws-test-vpc
|
|
aws_sg_name: aws-test-sg
|
|
aws_subnet_name: aws-test-subnet
|
|
aws_subnet_cidr: 10.0.1.0/24
|
|
aws_rt_name: aws-test-rt
|
|
aws_purpose_tag: ansible_demo
|
|
|
|
tasks:
|
|
- name: Verify the VPC name
|
|
ansible.builtin.assert:
|
|
that:
|
|
- aws_vpc_name == "aws-test-vpc"
|
|
fail_msg: 'Only the VPC "aws-test-vpc" can be deleted with this playbook'
|
|
|
|
- name: Retrieve VPC info
|
|
amazon.aws.ec2_vpc_net_info:
|
|
region: "{{ create_vm_aws_region }}"
|
|
filters:
|
|
"tag:Name": "{{ aws_vpc_name }}"
|
|
"tag:purpose": "{{ aws_purpose_tag }}"
|
|
register: _vpc
|
|
|
|
- name: Retrieve internet gateway info
|
|
amazon.aws.ec2_vpc_igw_info:
|
|
region: "{{ create_vm_aws_region }}"
|
|
filters:
|
|
"tag:Name": "{{ aws_vpc_name }}"
|
|
"tag:purpose": "{{ aws_purpose_tag }}"
|
|
register: _igw
|
|
|
|
- name: Retrieve route table info
|
|
amazon.aws.ec2_vpc_route_table_info:
|
|
region: "{{ create_vm_aws_region }}"
|
|
filters:
|
|
"tag:Name": "{{ aws_rt_name }}"
|
|
"tag:purpose": "{{ aws_purpose_tag }}"
|
|
register: _rt
|
|
|
|
- name: Delete demo security group
|
|
amazon.aws.ec2_security_group:
|
|
name: "{{ aws_sg_name }}"
|
|
region: "{{ create_vm_aws_region }}"
|
|
vpc_id: "{{ _vpc.vpcs.0.id }}"
|
|
state: absent
|
|
when: _vpc.vpcs
|
|
|
|
- name: Delete subnet in the VPC
|
|
amazon.aws.ec2_vpc_subnet:
|
|
vpc_id: "{{ _vpc.vpcs.0.id }}"
|
|
cidr: "{{ aws_subnet_cidr }}"
|
|
region: "{{ create_vm_aws_region }}"
|
|
state: absent
|
|
when: _vpc.vpcs
|
|
|
|
- name: Delete the subnet route table
|
|
amazon.aws.ec2_vpc_route_table:
|
|
route_table_id: "{{ _rt.route_tables.0.route_table_id }}"
|
|
region: "{{ create_vm_aws_region }}"
|
|
lookup: id
|
|
state: absent
|
|
when: _rt.route_tables
|
|
|
|
- name: Delete internet gateway
|
|
amazon.aws.ec2_vpc_igw:
|
|
internet_gateway_id: "{{ _igw.internet_gateways.0.internet_gateway_id }}"
|
|
region: "{{ create_vm_aws_region }}"
|
|
state: absent
|
|
when: _igw.internet_gateways
|
|
|
|
- name: Delete VPC
|
|
amazon.aws.ec2_vpc_net:
|
|
vpc_id: "{{ _vpc.vpcs.0.id }}"
|
|
region: "{{ create_vm_aws_region }}"
|
|
state: absent
|
|
when: _vpc.vpcs
|
|
|
|
...
|