fog/fog — pull request #912 by aia (2012-05-18 04:43:19+00:00)
Title: Adding network interface information and security group ids

Updating describe_instances call.

Amazon API return the following:

```xml

i-XXXXX
ami-XXXXX

16
running

key
0

c1.medium
2012-05-06T19:32:29.000Z

us-west-2a

default

aki-XXXXXX

disabled

subnet-XXXXXX
vpc-XXXXX
111.111.111.111
222.222.222.222
false

sg-XXXXXXX
prd-vpn

x86_64
ebs
/dev/sda1

/dev/sda1

vol-XXXXXXX
attached
2012-05-06T19:33:01.000Z
true

paravirtual

Name
vpc-vpn2

xen

eni-XXXXXX
subnet-XXXXXX
vpc-XXXXXX
Primary network interface
XXXXXXXXXX
in-use
111.111.111.111
false

sg-XXXXXXXX
prd-vpn

eni-attach-XXXXXX
0
attached
2012-05-06T19:32:29.000Z
false

222.222.222.222
XXXXXXXX

```

This pull request adds parsing of the networkInterfaceSet tag and elements.
This pull request also moves security GroupIds into an array.

On a practical side, knife ec2 output before the patch:

```

knife ec2 server list
Instance ID Public IP Private IP Flavor Image SSH Key Security Groups State
i-XXXXXXXX 111.111.111.111 111.111.111.111 m1.large ami-XXXXXXXX sg-XXXXXXXX, web running
i-XXXXXXXX 111.111.111.111 111.111.111.111 m1.large ami-XXXXXXXX sg-XXXXXXXX, web running
i-XXXXXXXX 111.111.111.111 111.111.111.111 c1.medium ami-XXXXXXXX artem running
t1.micro [{}]
i-XXXXXXXX 111.111.111.111 c1.medium ami-XXXXXXXX artem running
t1.micro [{}]
i-XXXXXXXX 111.111.111.111 c1.medium ami-XXXXXXXX artem running
t1.micro [{}]
i-XXXXXXXX 111.111.111.111 111.111.111.111 c1.medium ami-XXXXXXXX artem running
t1.micro [{}]

```

Notice the empty "t1.micro [{}]" instance objects created because of parsing failures for VPC instances.

The pull request addresses this issue.