|
|
|
@ -814,13 +814,21 @@ def create_instances(module, ec2, override_count=None):
|
|
|
|
|
msg="assign_public_ip only available with vpc_subnet_id")
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
interface = boto.ec2.networkinterface.NetworkInterfaceSpecification(
|
|
|
|
|
subnet_id=vpc_subnet_id,
|
|
|
|
|
groups=group_id,
|
|
|
|
|
associate_public_ip_address=assign_public_ip)
|
|
|
|
|
interfaces = boto.ec2.networkinterface.NetworkInterfaceCollection(interface)
|
|
|
|
|
params['network_interfaces'] = interfaces
|
|
|
|
|
|
|
|
|
|
if private_ip:
|
|
|
|
|
interface = boto.ec2.networkinterface.NetworkInterfaceSpecification(
|
|
|
|
|
subnet_id=vpc_subnet_id,
|
|
|
|
|
private_ip_address=private_ip,
|
|
|
|
|
groups=group_id,
|
|
|
|
|
associate_public_ip_address=assign_public_ip)
|
|
|
|
|
interfaces = boto.ec2.networkinterface.NetworkInterfaceCollection(interface)
|
|
|
|
|
params['network_interfaces'] = interfaces
|
|
|
|
|
else:
|
|
|
|
|
interface = boto.ec2.networkinterface.NetworkInterfaceSpecification(
|
|
|
|
|
subnet_id=vpc_subnet_id,
|
|
|
|
|
groups=group_id,
|
|
|
|
|
associate_public_ip_address=assign_public_ip)
|
|
|
|
|
interfaces = boto.ec2.networkinterface.NetworkInterfaceCollection(interface)
|
|
|
|
|
params['network_interfaces'] = interfaces
|
|
|
|
|
else:
|
|
|
|
|
params['subnet_id'] = vpc_subnet_id
|
|
|
|
|
if vpc_subnet_id:
|
|
|
|
@ -842,13 +850,22 @@ def create_instances(module, ec2, override_count=None):
|
|
|
|
|
|
|
|
|
|
# check to see if we're using spot pricing first before starting instances
|
|
|
|
|
if not spot_price:
|
|
|
|
|
params.update(dict(
|
|
|
|
|
min_count = count_remaining,
|
|
|
|
|
max_count = count_remaining,
|
|
|
|
|
client_token = id,
|
|
|
|
|
placement_group = placement_group,
|
|
|
|
|
private_ip_address = private_ip,
|
|
|
|
|
))
|
|
|
|
|
if assign_public_ip and private_ip:
|
|
|
|
|
params.update(dict(
|
|
|
|
|
min_count = count_remaining,
|
|
|
|
|
max_count = count_remaining,
|
|
|
|
|
client_token = id,
|
|
|
|
|
placement_group = placement_group,
|
|
|
|
|
))
|
|
|
|
|
else:
|
|
|
|
|
params.update(dict(
|
|
|
|
|
min_count = count_remaining,
|
|
|
|
|
max_count = count_remaining,
|
|
|
|
|
client_token = id,
|
|
|
|
|
placement_group = placement_group,
|
|
|
|
|
private_ip_address = private_ip,
|
|
|
|
|
))
|
|
|
|
|
|
|
|
|
|
res = ec2.run_instances(**params)
|
|
|
|
|
instids = [ i.id for i in res.instances ]
|
|
|
|
|
while True:
|
|
|
|
|