working on aws again
This commit is contained in:
+72
-9
@@ -10,6 +10,7 @@
|
||||
vars:
|
||||
delete_results: {}
|
||||
vpc_cleanup_list: []
|
||||
aws_detailed_logging: true
|
||||
|
||||
tasks:
|
||||
# Confirmation prompts
|
||||
@@ -25,6 +26,12 @@
|
||||
fail_msg: "Cleanup cancelled by user"
|
||||
when: confirm_cleanup | default(true) | bool
|
||||
|
||||
# Display AWS region being used for cleanup
|
||||
- name: Display AWS region being used for cleanup
|
||||
debug:
|
||||
msg: "Cleaning up resources in region: {{ aws_region }}"
|
||||
when: aws_detailed_logging | bool
|
||||
|
||||
# Check for and load shared infrastructure file
|
||||
- name: Check for shared infrastructure state
|
||||
stat:
|
||||
@@ -101,8 +108,23 @@
|
||||
(cleanup_redirector | default(true) | bool and redirector_instances_result.changed | default(false)) or
|
||||
(cleanup_tracker | default(true) | bool and track_deployment | default(false) | bool and tracker_instances_result.changed | default(false))
|
||||
|
||||
# Key pair cleanup
|
||||
- name: Delete C2 EC2 key pair
|
||||
# List all key pairs to handle different naming patterns
|
||||
- name: List available EC2 key pairs
|
||||
amazon.aws.ec2_key_info:
|
||||
region: "{{ aws_region }}"
|
||||
register: all_key_pairs
|
||||
|
||||
# Delete C2 deployment key with deployment_id pattern
|
||||
- name: Delete C2 deployment key (deployment_id pattern)
|
||||
amazon.aws.ec2_key:
|
||||
name: "c2deploy_{{ deployment_id }}"
|
||||
region: "{{ aws_region }}"
|
||||
state: absent
|
||||
register: c2_deploy_key_result
|
||||
when: cleanup_c2 | default(true) | bool
|
||||
|
||||
# Delete C2 EC2 key pair (original pattern)
|
||||
- name: Delete C2 EC2 key pair (original pattern)
|
||||
amazon.aws.ec2_key:
|
||||
name: "{{ c2_name }}"
|
||||
region: "{{ aws_region }}"
|
||||
@@ -110,11 +132,16 @@
|
||||
register: c2_key_result
|
||||
when: cleanup_c2 | default(true) | bool
|
||||
|
||||
# Update cleaned key pairs list for C2
|
||||
- name: Update cleaned key pairs list for C2
|
||||
set_fact:
|
||||
cleaned_resources: "{{ cleaned_resources | combine({'key_pairs': cleaned_resources.key_pairs + [c2_name]}, recursive=true) }}"
|
||||
when: cleanup_c2 | default(true) | bool and c2_key_result.changed | default(false)
|
||||
cleaned_resources: "{{ cleaned_resources | combine({'key_pairs': cleaned_resources.key_pairs + [item]}, recursive=true) }}"
|
||||
with_items:
|
||||
- "c2deploy_{{ deployment_id }}"
|
||||
- "{{ c2_name }}"
|
||||
when: cleanup_c2 | default(true) | bool and (c2_key_result.changed or c2_deploy_key_result.changed)
|
||||
|
||||
# Delete redirector EC2 key pair
|
||||
- name: Delete redirector EC2 key pair
|
||||
amazon.aws.ec2_key:
|
||||
name: "{{ redirector_name }}"
|
||||
@@ -141,7 +168,7 @@
|
||||
cleaned_resources: "{{ cleaned_resources | combine({'key_pairs': cleaned_resources.key_pairs + [tracker_name | default('t-' + deployment_id)]}, recursive=true) }}"
|
||||
when: cleanup_tracker | default(true) | bool and track_deployment | default(false) | bool and tracker_key_result.changed | default(false)
|
||||
|
||||
# Security group cleanup
|
||||
# Security group cleanup
|
||||
- name: Delete C2 security group
|
||||
amazon.aws.ec2_security_group:
|
||||
name: "{{ c2_name }}-sg"
|
||||
@@ -184,7 +211,7 @@
|
||||
cleaned_resources: "{{ cleaned_resources | combine({'security_groups': cleaned_resources.security_groups + [tracker_sg_result.group_id | default('')]}, recursive=true) }}"
|
||||
when: cleanup_tracker | default(true) | bool and track_deployment | default(false) | bool and tracker_sg_result.changed | default(false) and tracker_sg_result.group_id is defined
|
||||
|
||||
# Identify VPCs to clean up
|
||||
# Identify VPCs to clean up (by tag and by name pattern)
|
||||
- name: Get VPCs by deployment tag
|
||||
amazon.aws.ec2_vpc_net_info:
|
||||
region: "{{ aws_region }}"
|
||||
@@ -198,6 +225,36 @@
|
||||
with_items: "{{ tagged_vpcs.vpcs }}"
|
||||
when: tagged_vpcs.vpcs | length > 0
|
||||
|
||||
# Find VPCs by name pattern
|
||||
- name: Find VPCs by naming pattern for C2
|
||||
amazon.aws.ec2_vpc_net_info:
|
||||
region: "{{ aws_region }}"
|
||||
filters:
|
||||
"tag:Name": "{{ c2_name }}-vpc"
|
||||
register: c2_named_vpcs
|
||||
when: cleanup_c2 | default(true) | bool
|
||||
|
||||
- name: Add C2-named VPCs to cleanup list
|
||||
set_fact:
|
||||
vpc_cleanup_list: "{{ vpc_cleanup_list + [item.vpc_id] }}"
|
||||
with_items: "{{ c2_named_vpcs.vpcs }}"
|
||||
when: cleanup_c2 | default(true) | bool and c2_named_vpcs.vpcs | length > 0
|
||||
|
||||
- name: Find VPCs by naming pattern for redirector
|
||||
amazon.aws.ec2_vpc_net_info:
|
||||
region: "{{ aws_region }}"
|
||||
filters:
|
||||
"tag:Name": "{{ redirector_name }}-vpc"
|
||||
register: redirector_named_vpcs
|
||||
when: cleanup_redirector | default(true) | bool
|
||||
|
||||
- name: Add redirector-named VPCs to cleanup list
|
||||
set_fact:
|
||||
vpc_cleanup_list: "{{ vpc_cleanup_list + [item.vpc_id] }}"
|
||||
with_items: "{{ redirector_named_vpcs.vpcs }}"
|
||||
when: cleanup_redirector | default(true) | bool and redirector_named_vpcs.vpcs | length > 0
|
||||
|
||||
# Handle shared infrastructure
|
||||
- name: Add shared VPC to cleanup if both C2 and redirector being cleaned
|
||||
set_fact:
|
||||
vpc_cleanup_list: "{{ vpc_cleanup_list + [shared_infra.vpc_id] }}"
|
||||
@@ -213,11 +270,17 @@
|
||||
vpc_cleanup_list: "{{ vpc_cleanup_list | unique }}"
|
||||
when: vpc_cleanup_list | length > 0
|
||||
|
||||
# Process each VPC - direct inline implementation instead of temporary files
|
||||
# Display VPCs to be cleaned up
|
||||
- name: Display VPCs to be cleaned
|
||||
debug:
|
||||
msg: "VPCs to be cleaned: {{ vpc_cleanup_list }}"
|
||||
when: aws_detailed_logging | bool and vpc_cleanup_list | length > 0
|
||||
|
||||
# Process each VPC
|
||||
- name: Process VPCs for cleanup
|
||||
block:
|
||||
- name: Process each VPC
|
||||
include_tasks: "../tasks/process_vpc.yml"
|
||||
include_tasks: "process_vpc.yml"
|
||||
vars:
|
||||
vpc_id: "{{ item }}"
|
||||
with_items: "{{ vpc_cleanup_list | unique }}"
|
||||
@@ -245,7 +308,7 @@
|
||||
redirector: "{{ redirector_instances_result.instance_ids | default([]) }}"
|
||||
tracker: "{{ tracker_instances_result.instance_ids | default([]) }}"
|
||||
key_pairs:
|
||||
c2: "{{ c2_key_result.key.name | default('') | ternary([c2_key_result.key.name], []) }}"
|
||||
c2: "{{ cleaned_resources.key_pairs | default([]) | select('search', 'c2deploy_' + deployment_id) | list + cleaned_resources.key_pairs | default([]) | select('search', c2_name) | list }}"
|
||||
redirector: "{{ redirector_key_result.key.name | default('') | ternary([redirector_key_result.key.name], []) }}"
|
||||
tracker: "{{ tracker_key_result.key.name | default('') | ternary([tracker_key_result.key.name], []) }}"
|
||||
security_groups:
|
||||
|
||||
Reference in New Issue
Block a user