// Returns a single group by its ID func resource_aws_autoscaling_group_retrieve(id string, autoscalingconn *autoscaling.AutoScaling) (*autoscaling.AutoScalingGroup, error) { describeOpts := autoscaling.DescribeAutoScalingGroups{ Names: []string{id}, } log.Printf("[DEBUG] AutoScaling Group describe configuration: %#v", describeOpts) describeGroups, err := autoscalingconn.DescribeAutoScalingGroups(&describeOpts) if err != nil { return nil, fmt.Errorf("Error retrieving AutoScaling groups: %s", err) } // Verify AWS returned our sg if len(describeGroups.AutoScalingGroups) != 1 || describeGroups.AutoScalingGroups[0].Name != id { if err != nil { return nil, fmt.Errorf("Unable to find AutoScaling group: %#v", describeGroups.AutoScalingGroups) } } g := describeGroups.AutoScalingGroups[0] return &g, nil }