diff --git a/lib/fog/aws/parsers/compute/network_interface_parser.rb b/lib/fog/aws/parsers/compute/network_interface_parser.rb index 6f8f58f0b..96c89502a 100644 --- a/lib/fog/aws/parsers/compute/network_interface_parser.rb +++ b/lib/fog/aws/parsers/compute/network_interface_parser.rb @@ -11,6 +11,7 @@ module Fog @in_group_set = false @in_attachment = false @in_association = false + @in_private_ip_addresses = false end def reset @@ -32,6 +33,10 @@ module Fog when 'association' @in_association = true @association = {} + when 'privateIpAddressesSet' + @in_private_ip_addresses = true + @private_ip_addresses = [] + @private_ip_address = {} end end @@ -72,6 +77,17 @@ module Fog @nic['association'] = @association @in_association = false end + elsif @in_private_ip_addresses + case name + when 'item' + @private_ip_addresses << @private_ip_address + @private_ip_address = {} + when 'privateIpAddress', 'privateDnsName', 'primary' + @private_ip_address[name] = value + when 'privateIpAddressesSet' + @nic['privateIpAddresses'] = @private_ip_addresses + @in_private_ip_address = false + end else case name when 'networkInterfaceId', 'subnetId', 'vpcId', 'availabilityZone', 'description', 'ownerId', 'requesterId',