Handled case when instanceId is absent in network interfaces

This commit is contained in:
Thibault Vigouroux 2016-05-24 15:52:38 +02:00
parent a764238d7d
commit efdee645bf
2 changed files with 20 additions and 1 deletions

View File

@ -719,7 +719,9 @@ func expandPrivateIPAddresses(ips []interface{}) []*ec2.PrivateIpAddressSpecific
//Flattens network interface attachment into a map[string]interface
func flattenAttachment(a *ec2.NetworkInterfaceAttachment) map[string]interface{} {
att := make(map[string]interface{})
att["instance"] = *a.InstanceId
if a.InstanceId != nil {
att["instance"] = *a.InstanceId
}
att["device_index"] = *a.DeviceIndex
att["attachment_id"] = *a.AttachmentId
return att

View File

@ -756,6 +756,23 @@ func TestFlattenAttachment(t *testing.T) {
}
}
func TestFlattenAttachmentWhenNoInstanceId(t *testing.T) {
expanded := &ec2.NetworkInterfaceAttachment{
DeviceIndex: aws.Int64(int64(1)),
AttachmentId: aws.String("at-002"),
}
result := flattenAttachment(expanded)
if result == nil {
t.Fatal("expected result to have value, but got nil")
}
if result["instance"] != nil {
t.Fatalf("expected instance to be nil, but got %s", result["instance"])
}
}
func TestflattenStepAdjustments(t *testing.T) {
expanded := []*autoscaling.StepAdjustment{
&autoscaling.StepAdjustment{