mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[cloud] filter by vpc and subnet if provided before terminating instances (#27394)
This commit is contained in:
parent
edf31f56af
commit
c02deef454
1 changed files with 14 additions and 5 deletions
|
@ -636,10 +636,10 @@ except ImportError:
|
|||
HAS_BOTO = False
|
||||
|
||||
|
||||
def find_running_instances_by_count_tag(module, ec2, count_tag, zone=None):
|
||||
def find_running_instances_by_count_tag(module, ec2, vpc, count_tag, zone=None):
|
||||
|
||||
# get reservations for instances that match tag(s) and are running
|
||||
reservations = get_reservations(module, ec2, tags=count_tag, state="running", zone=zone)
|
||||
reservations = get_reservations(module, ec2, vpc, tags=count_tag, state="running", zone=zone)
|
||||
|
||||
instances = []
|
||||
for res in reservations:
|
||||
|
@ -660,11 +660,20 @@ def _set_none_to_blank(dictionary):
|
|||
return result
|
||||
|
||||
|
||||
def get_reservations(module, ec2, tags=None, state=None, zone=None):
|
||||
|
||||
def get_reservations(module, ec2, vpc, tags=None, state=None, zone=None):
|
||||
# TODO: filters do not work with tags that have underscores
|
||||
filters = dict()
|
||||
|
||||
vpc_subnet_id = module.params.get('vpc_subnet_id')
|
||||
vpc_id = None
|
||||
if vpc_subnet_id:
|
||||
filters.update({"subnet-id": vpc_subnet_id})
|
||||
if vpc:
|
||||
vpc_id = vpc.get_all_subnets(subnet_ids=[vpc_subnet_id])[0].vpc_id
|
||||
|
||||
if vpc_id:
|
||||
filters.update({"vpc-id": vpc_id})
|
||||
|
||||
if tags is not None:
|
||||
|
||||
if isinstance(tags, str):
|
||||
|
@ -933,7 +942,7 @@ def enforce_count(module, ec2, vpc):
|
|||
if exact_count and count_tag is None:
|
||||
module.fail_json(msg="you must use the 'count_tag' option with exact_count")
|
||||
|
||||
reservations, instances = find_running_instances_by_count_tag(module, ec2, count_tag, zone)
|
||||
reservations, instances = find_running_instances_by_count_tag(module, ec2, vpc, count_tag, zone)
|
||||
|
||||
changed = None
|
||||
checkmode = False
|
||||
|
|
Loading…
Reference in a new issue