diff --git a/lib/fog/aws.rb b/lib/fog/aws.rb index daf8509e2..5ed2c283b 100644 --- a/lib/fog/aws.rb +++ b/lib/fog/aws.rb @@ -186,6 +186,10 @@ module Fog ip.join('.') end + def self.private_ip_address + ip_address.gsub(/^\d{1,3}\./,"10.") + end + def self.kernel_id "aki-#{Fog::Mock.random_hex(8)}" end diff --git a/lib/fog/aws/requests/compute/describe_instances.rb b/lib/fog/aws/requests/compute/describe_instances.rb index 652066d7b..e47a3f1d0 100644 --- a/lib/fog/aws/requests/compute/describe_instances.rb +++ b/lib/fog/aws/requests/compute/describe_instances.rb @@ -179,7 +179,7 @@ module Fog instance['ipAddress'] = Fog::AWS::Mock.ip_address instance['originalIpAddress'] = instance['ipAddress'] instance['dnsName'] = Fog::AWS::Mock.dns_name_for(instance['ipAddress']) - instance['privateIpAddress'] = Fog::AWS::Mock.ip_address + instance['privateIpAddress'] = Fog::AWS::Mock.private_ip_address instance['privateDnsName'] = Fog::AWS::Mock.private_dns_name_for(instance['privateIpAddress']) instance['instanceState'] = { 'code' => 16, 'name' => 'running' } end diff --git a/lib/fog/aws/requests/compute/start_instances.rb b/lib/fog/aws/requests/compute/start_instances.rb index 102f6ea3d..d7765687c 100644 --- a/lib/fog/aws/requests/compute/start_instances.rb +++ b/lib/fog/aws/requests/compute/start_instances.rb @@ -34,6 +34,7 @@ module Fog instance_set = self.data[:instances].values instance_set = apply_tag_filters(instance_set, {'instance_id' => instance_ids}, 'instanceId') + instance_set = instance_set.find_all {|x| instance_ids.include?(x["instanceId"]) } if instance_set.empty? raise Fog::Compute::AWS::NotFound.new("The instance ID '#{instance_ids.first}' does not exist") diff --git a/lib/fog/aws/requests/compute/stop_instances.rb b/lib/fog/aws/requests/compute/stop_instances.rb index a7b719799..3a54dad07 100644 --- a/lib/fog/aws/requests/compute/stop_instances.rb +++ b/lib/fog/aws/requests/compute/stop_instances.rb @@ -35,6 +35,7 @@ module Fog instance_set = self.data[:instances].values instance_set = apply_tag_filters(instance_set, {'instance_id' => instance_ids}, 'instanceId') + instance_set = instance_set.find_all {|x| instance_ids.include?(x["instanceId"]) } if instance_set.empty? raise Fog::Compute::AWS::NotFound.new("The instance ID '#{instance_ids.first}' does not exist")