From ad7341aa61f4cf29976148775f68815d317ff5b8 Mon Sep 17 00:00:00 2001 From: Sean Carolan <scarolan@gmail.com> Date: Tue, 23 Dec 2014 11:07:18 -0600 Subject: [PATCH] Added private_ip_address support. --- README.md | 6 ++++++ lib/kitchen/driver/ec2.rb | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/README.md b/README.md index b61d5cf6..3e94d359 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,12 @@ The EC2 [subnet][subnet_docs] to use. The default is unset, or `nil`. +### <a name="config-private-ip-address"></a> private\_ip\_address + +The primary private IP address of your instance. + +If you don't set this it will default to whatever DHCP address EC2 hands out. + ### <a name="config-tags"></a> tags The Hash of EC tag name/value pairs which will be applied to the instance. diff --git a/lib/kitchen/driver/ec2.rb b/lib/kitchen/driver/ec2.rb index 98d2a49c..c8707308 100644 --- a/lib/kitchen/driver/ec2.rb +++ b/lib/kitchen/driver/ec2.rb @@ -37,6 +37,7 @@ class Ec2 < Kitchen::Driver::SSHBase default_config :security_group_ids, ['default'] default_config :tags, { 'created-by' => 'test-kitchen' } default_config :user_data, nil + default_config :private_ip_address, nil default_config :iam_profile_name, nil default_config :price, nil default_config :aws_access_key_id do |driver| @@ -155,6 +156,7 @@ def create_server :flavor_id => config[:flavor_id], :ebs_optimized => config[:ebs_optimized], :image_id => config[:image_id], + :private_ip_address => config[:private_ip_address], :key_name => config[:aws_ssh_key_id], :subnet_id => config[:subnet_id], :iam_instance_profile_name => config[:iam_profile_name], @@ -182,6 +184,7 @@ def request_spot :flavor_id => config[:flavor_id], :ebs_optimized => config[:ebs_optimized], :image_id => config[:image_id], + :private_ip_address => config[:private_ip_address], :key_name => config[:aws_ssh_key_id], :subnet_id => config[:subnet_id], :iam_instance_profile_name => config[:iam_profile_name], @@ -201,6 +204,7 @@ def debug_server_config debug("ec2:flavor_id '#{config[:flavor_id]}'") debug("ec2:ebs_optimized '#{config[:ebs_optimized]}'") debug("ec2:image_id '#{config[:image_id]}'") + debug("ec2:private_ip_address '#{config[:private_ip_address]}'") debug("ec2:security_group_ids '#{config[:security_group_ids]}'") debug("ec2:tags '#{config[:tags]}'") debug("ec2:key_name '#{config[:aws_ssh_key_id]}'")