Added launch group support for ec2 module

This commit is contained in:
Kai Webber 2015-10-06 20:26:10 +03:00 committed by Matt Clay
parent 89eec3e4cf
commit 4a8bd74f52

View file

@ -244,6 +244,13 @@ options:
required: false required: false
default: null default: null
aliases: ['network_interface'] aliases: ['network_interface']
spot_launch_group:
version_added: "2.0"
description:
- Launch group for spot request, see U(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-spot-instances-work.html#spot-launch-group)
required: false
default: null
aliases: []
author: author:
- "Tim Gerla (@tgerla)" - "Tim Gerla (@tgerla)"
@ -355,6 +362,7 @@ EXAMPLES = '''
wait: yes wait: yes
vpc_subnet_id: subnet-29e63245 vpc_subnet_id: subnet-29e63245
assign_public_ip: yes assign_public_ip: yes
spot_launch_group: report_generators
# Examples using pre-existing network interfaces # Examples using pre-existing network interfaces
- ec2: - ec2:
@ -857,6 +865,7 @@ def create_instances(module, ec2, vpc, override_count=None):
source_dest_check = module.boolean(module.params.get('source_dest_check')) source_dest_check = module.boolean(module.params.get('source_dest_check'))
termination_protection = module.boolean(module.params.get('termination_protection')) termination_protection = module.boolean(module.params.get('termination_protection'))
network_interfaces = module.params.get('network_interfaces') network_interfaces = module.params.get('network_interfaces')
spot_launch_group = module.params.get('spot_launch_group')
# group_id and group_name are exclusive of each other # group_id and group_name are exclusive of each other
if group_id and group_name: if group_id and group_name:
@ -1039,6 +1048,9 @@ def create_instances(module, ec2, vpc, override_count=None):
module.fail_json( module.fail_json(
msg="placement_group parameter requires Boto version 2.3.0 or higher.") msg="placement_group parameter requires Boto version 2.3.0 or higher.")
if spot_launch_group and isinstance(spot_launch_group, basestring):
params['launch_group'] = spot_launch_group
params.update(dict( params.update(dict(
count = count_remaining, count = count_remaining,
type = spot_type, type = spot_type,
@ -1307,6 +1319,7 @@ def main():
instance_type = dict(aliases=['type']), instance_type = dict(aliases=['type']),
spot_price = dict(), spot_price = dict(),
spot_type = dict(default='one-time', choices=["one-time", "persistent"]), spot_type = dict(default='one-time', choices=["one-time", "persistent"]),
spot_launch_group = dict(),
image = dict(), image = dict(),
kernel = dict(), kernel = dict(),
count = dict(type='int', default='1'), count = dict(type='int', default='1'),