attempt to set availability_zones to all if neither availability_zones or vpc_identifier are set
This commit is contained in:
parent
5a39672efa
commit
4596521147
1 changed files with 12 additions and 4 deletions
|
@ -39,8 +39,8 @@ options:
|
|||
required: false
|
||||
availability_zones:
|
||||
description:
|
||||
- List of availability zone names in which to create the group.
|
||||
required: true
|
||||
- List of availability zone names in which to create the group. Required if vpc_zone_identifier is not set.
|
||||
required: false
|
||||
launch_config_name:
|
||||
description:
|
||||
- Name of the Launch configuration to use for the group. See the ec2_lc module for managing these.
|
||||
|
@ -102,7 +102,7 @@ def enforce_required_arguments(module):
|
|||
they cannot be mandatory arguments for the module, so we enforce
|
||||
them here '''
|
||||
missing_args = []
|
||||
for arg in ('min_size', 'max_size', 'launch_config_name', 'availability_zones'):
|
||||
for arg in ('min_size', 'max_size', 'launch_config_name'):
|
||||
if module.params[arg] is None:
|
||||
missing_args.append(arg)
|
||||
if missing_args:
|
||||
|
@ -122,9 +122,17 @@ def create_autoscaling_group(connection, module):
|
|||
vpc_zone_identifier = module.params.get('vpc_zone_identifier')
|
||||
|
||||
launch_configs = connection.get_all_launch_configurations(names=[launch_config_name])
|
||||
|
||||
|
||||
as_groups = connection.get_all_groups(names=[group_name])
|
||||
|
||||
if not vpc_zone_identifier and not availability_zones:
|
||||
region, ec2_url, aws_connect_params = get_aws_connection_info(module)
|
||||
try:
|
||||
ec2_connection = connect_to_aws(boto.ec2, region, **aws_connect_params)
|
||||
except boto.exception.NoAuthHandlerFound, e:
|
||||
module.fail_json(msg=str(e))
|
||||
module.params['availability_zones'] = [zone.name for zone in ec2_connection.get_all_zones()]
|
||||
|
||||
if not as_groups:
|
||||
ag = AutoScalingGroup(
|
||||
group_name=group_name,
|
||||
|
|
Loading…
Reference in a new issue