Files
product-demos/cloud/delete_vpc.yml
2025-06-25 13:45:23 -04:00

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
...