From 90f39aea588963678d355c4081d972113afba498 Mon Sep 17 00:00:00 2001 From: Mandar Kulkarni Date: Fri, 1 Apr 2022 14:55:47 -0700 Subject: [PATCH] Add check_mode support to ec2_asg (#1033) Add check_mode support to ec2_asg SUMMARY Added check_mode support to ec2_asg. CI failure could be resolved by #1036 ISSUE TYPE Feature Pull Request COMPONENT NAME ec2_asg Reviewed-by: Markus Bergholz Reviewed-by: Jill R --- ec2_asg.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ec2_asg.py b/ec2_asg.py index fa91232cbe6..f95fb329ce5 100644 --- a/ec2_asg.py +++ b/ec2_asg.py @@ -1138,6 +1138,9 @@ def create_autoscaling_group(connection): ResourceType='auto-scaling-group', ResourceId=group_name)) if not as_groups: + if module.check_mode: + module.exit_json(changed=True, msg="Would have created AutoScalingGroup if not in check_mode.") + if not vpc_zone_identifier and not availability_zones: availability_zones = module.params['availability_zones'] = [zone['ZoneName'] for zone in ec2_connection.describe_availability_zones()['AvailabilityZones']] @@ -1206,6 +1209,9 @@ def create_autoscaling_group(connection): except (botocore.exceptions.ClientError, botocore.exceptions.BotoCoreError) as e: module.fail_json_aws(e, msg="Failed to create Autoscaling Group.") else: + if module.check_mode: + module.exit_json(changed=True, msg="Would have modified AutoScalingGroup if required if not in check_mode.") + as_group = as_groups[0] initial_asg_properties = get_properties(as_group) changed = False @@ -1401,6 +1407,8 @@ def delete_autoscaling_group(connection): del_notification_config(connection, group_name, notification_topic) groups = describe_autoscaling_groups(connection, group_name) if groups: + if module.check_mode: + module.exit_json(changed=True, msg="Would have deleted AutoScalingGroup if not in check_mode.") wait_timeout = time.time() + wait_timeout if not wait_for_instances: delete_asg(connection, group_name, force_delete=True) @@ -1456,6 +1464,7 @@ def replace(connection): min_size = module.params.get('min_size') desired_capacity = module.params.get('desired_capacity') launch_config_name = module.params.get('launch_config_name') + # Required to maintain the default value being set to 'true' if launch_config_name: lc_check = module.params.get('lc_check') @@ -1891,6 +1900,7 @@ def main(): global module module = AnsibleAWSModule( argument_spec=argument_spec, + supports_check_mode=True, mutually_exclusive=[ ['replace_all_instances', 'replace_instances'], ['replace_all_instances', 'detach_instances'],