创建了一个带子网的vpc。删除该子网中的实例。因此,子网和vpc不包含任何其他实例(依赖项)。
此外,可以从控制台删除vpc。但是当通过ec2_vpc模块尝试时,会给出错误声明"依赖关系存在于此vpc下,因此无法删除"。但它可以看到从控制台删除。
因此认为此vpc下的子网可能是依赖项。 ansible文档为子网提供了模块,但是在使用它时,模块不存在表明"非法参数"
显示无法通过olle
给出的片段删除的路由表的图像答案 0 :(得分:1)
我正在使用此代码创建一个带有ansible的VPC
- name: create a VPC
local_action:
module: ec2_vpc
state: present
cidr_block: 10.0.0.0/16
resource_tags: "{}"
subnets:
- cidr: 10.0.0.0/16
internet_gateway: True
route_tables:
- subnets:
- 10.0.0.0/16
routes:
- dest: 0.0.0.0/0
gw: igw
region: '{{ region }}'
wait: yes
register: vpc
以及以下两个删除它的命令。
第一个命令删除子网,IGW和路由表。
- name: remove subnets and route tables from VPC
local_action:
module: ec2_vpc
vpc_id: "{{ vpc.vpc_id }}"
region: "{{ region }}"
state: present
resource_tags: "{}"
subnets: []
internet_gateway: False
route_tables: []
wait: yes
然后我可以删除实际的VPC
- name: delete VPC
local_action:
module: ec2_vpc
vpc_id: "{{ vpc.vpc_id }}"
region: "{{ region }}"
state: absent
resource_tags: "{}"
wait: yes
希望这会对你有所帮助。
答案 1 :(得分:1)
Ansible为VPC提供了ec2_vpc_net模块,您可以创建或删除VPC。 例如:
- name: DELETE THE VPC
ec2_vpc_net:
name: vpc_name
cidr_block: "{{ build_env.vpc_net_cidr }}".
region: "{{ build_env.region }}"
profile: "{{ build_env.profile }}"
state: absent
purge_cidrs: yes
register: vpc_delete
希望这会有所帮助