func fetchRootDeviceName(ami string, conn *ec2.EC2) (aws.StringValue, error) { if ami == "" { return nil, fmt.Errorf("Cannot fetch root device name for blank AMI ID.") } log.Printf("[DEBUG] Describing AMI %q to get root block device name", ami) req := &ec2.DescribeImagesRequest{ImageIDs: []string{ami}} if res, err := conn.DescribeImages(req); err == nil { if len(res.Images) == 1 { return res.Images[0].RootDeviceName, nil } else { return nil, fmt.Errorf("Expected 1 AMI for ID: %s, got: %#v", ami, res.Images) } } else { return nil, err } }