# - name: Remove subscriptions
|
# hosts: "{{ ('tag_Project_' ~ env_type ~ '_' ~ guid) | replace('-', '_') }}"
|
# connection: local
|
# gather_facts: False
|
# become: no
|
# vars_files:
|
# - "./env_vars.yml"
|
# - "./env_secret_vars.yml"
|
#
|
# tasks:
|
# - name: Force unregister before register
|
# redhat_subscription:
|
# state: absent
|
# register: task_result
|
# until: task_result | succeeded
|
# retries: 10
|
# delay: 5
|
|
- name: Delete Infrastructure
|
hosts: localhost
|
connection: local
|
gather_facts: False
|
become: no
|
vars_files:
|
- "./env_vars.yml"
|
- "./env_secret_vars.yml"
|
|
tasks:
|
# - name: get internal dns zone id if not provided
|
# environment:
|
# AWS_ACCESS_KEY_ID: "{{aws_access_key_id}}"
|
# AWS_SECRET_ACCESS_KEY: "{{aws_secret_access_key}}"
|
# AWS_DEFAULT_REGION: "{{aws_region}}"
|
# shell: "aws route53 list-hosted-zones-by-name --region={{aws_region}} --dns-name={{guid}}.internal. --output text --query='HostedZones[*].Id' | awk -F'/' '{print $3}'"
|
# register: internal_zone_id_register
|
# - debug:
|
# var: internal_zone_id_register
|
# - name: Store internal route53 ID
|
# set_fact:
|
# internal_zone_id: "{{ internal_zone_id_register.stdout }}"
|
# when: 'internal_zone_id_register is defined'
|
# - name: delete internal dns names
|
# environment:
|
# AWS_ACCESS_KEY_ID: "{{aws_access_key_id}}"
|
# AWS_SECRET_ACCESS_KEY: "{{aws_secret_access_key}}"
|
# AWS_DEFAULT_REGION: "{{aws_region}}"
|
# shell: "aws route53 change-resource-record-sets --hosted-zone-id {{internal_zone_id}} --change-batch file://{{ ANSIBLE_REPO_PATH }}/workdir/internal_dns-{{ env_type }}-{{ guid }}_DELETE.json --region={{aws_region}}"
|
# ignore_errors: true
|
# tags:
|
# - internal_dns_delete
|
# when: internal_zone_id is defined
|
|
|
|
- name: Delete S3 bucket
|
environment:
|
AWS_ACCESS_KEY_ID: "{{aws_access_key_id}}"
|
AWS_SECRET_ACCESS_KEY: "{{aws_secret_access_key}}"
|
AWS_DEFAULT_REGION: "{{aws_region}}"
|
s3_bucket:
|
|
name: "{{ env_type }}-{{ guid }}"
|
state: absent
|
force: yes
|
region: "{{ aws_region }}"
|
tags:
|
- remove_s3
|
register: s3_result
|
until: s3_result|succeeded
|
retries: 5
|
delay: 60
|
ignore_errors: yes
|
|
- name: report s3 error
|
fail:
|
msg: "FAIL {{ project_tag }} delete s3"
|
when: not s3_result|succeeded
|
|
- name: Destroy cloudformation template
|
cloudformation:
|
stack_name: "{{project_tag}}"
|
state: "absent"
|
region: "{{aws_region}}"
|
disable_rollback: false
|
tags:
|
Stack: "project {{env_type}}-{{ guid }}"
|
tags: [ destroying, destroy_cf_deployment ]
|
register: cloudformation_result
|
until: cloudformation_result|succeeded
|
retries: 5
|
delay: 60
|
ignore_errors: yes
|
|
- name: report Cloudformation error
|
fail:
|
msg: "FAIL {{ project_tag }} Destroy Cloudformation"
|
when: not cloudformation_result|succeeded
|
tags: [ destroying, destroy_cf_deployment ]
|
## we need to add something to delete the env specific key.
|