diff --git a/library/ec2 b/library/ec2 index a2b7661f34..7b9827df47 100644 --- a/library/ec2 +++ b/library/ec2 @@ -135,6 +135,14 @@ options: required: false default: null aliases: [] + private_ip: + version_added: "?.?" + description: + - the private ip address to assign the instance (from the vpc subnet) + required: false + defualt: null + aliases: [] + examples: - code: 'local_action: ec2 keypair=mykey instance_type=c1.medium image=emi-40603AD1 wait=yes group=webserver count=3' description: "Basic provisioning example" @@ -176,6 +184,7 @@ def main(): user_data = dict(), instance_tags = dict(), vpc_subnet_id = dict(), + private_ip = dict(), ) ) @@ -197,6 +206,7 @@ def main(): user_data = module.params.get('user_data') instance_tags = module.params.get('instance_tags') vpc_subnet_id = module.params.get('vpc_subnet_id') + private_ip = module.params.get('private_ip') # allow eucarc environment variables to be used if ansible vars aren't set if not ec2_url and 'EC2_URL' in os.environ: @@ -254,6 +264,7 @@ def main(): kernel_id = kernel, ramdisk_id = ramdisk, subnet_id = vpc_subnet_id, + private_ip_address = private_ip, user_data = user_data) except boto.exception.BotoServerError, e: module.fail_json(msg = "%s: %s" % (e.error_code, e.error_message))