Commit 88b30a74 by evanccopengeo

fixing bug where if both private_ip and assign_public_p are set ansible fails out

parent f547733b
...@@ -814,13 +814,21 @@ def create_instances(module, ec2, override_count=None): ...@@ -814,13 +814,21 @@ def create_instances(module, ec2, override_count=None):
msg="assign_public_ip only available with vpc_subnet_id") msg="assign_public_ip only available with vpc_subnet_id")
else: else:
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( interface = boto.ec2.networkinterface.NetworkInterfaceSpecification(
subnet_id=vpc_subnet_id, subnet_id=vpc_subnet_id,
groups=group_id, groups=group_id,
associate_public_ip_address=assign_public_ip) associate_public_ip_address=assign_public_ip)
interfaces = boto.ec2.networkinterface.NetworkInterfaceCollection(interface) interfaces = boto.ec2.networkinterface.NetworkInterfaceCollection(interface)
params['network_interfaces'] = interfaces params['network_interfaces'] = interfaces
else: else:
params['subnet_id'] = vpc_subnet_id params['subnet_id'] = vpc_subnet_id
if vpc_subnet_id: if vpc_subnet_id:
...@@ -842,6 +850,14 @@ def create_instances(module, ec2, override_count=None): ...@@ -842,6 +850,14 @@ def create_instances(module, ec2, override_count=None):
# check to see if we're using spot pricing first before starting instances # check to see if we're using spot pricing first before starting instances
if not spot_price: if not spot_price:
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( params.update(dict(
min_count = count_remaining, min_count = count_remaining,
max_count = count_remaining, max_count = count_remaining,
...@@ -849,6 +865,7 @@ def create_instances(module, ec2, override_count=None): ...@@ -849,6 +865,7 @@ def create_instances(module, ec2, override_count=None):
placement_group = placement_group, placement_group = placement_group,
private_ip_address = private_ip, private_ip_address = private_ip,
)) ))
res = ec2.run_instances(**params) res = ec2.run_instances(**params)
instids = [ i.id for i in res.instances ] instids = [ i.id for i in res.instances ]
while True: while True:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment