func resourceAwsDbEventSubscriptionRetrieve( name string, rdsconn *rds.RDS) (*rds.EventSubscription, error) { request := &rds.DescribeEventSubscriptionsInput{ SubscriptionName: aws.String(name), } describeResp, err := rdsconn.DescribeEventSubscriptions(request) if err != nil { if rdserr, ok := err.(awserr.Error); ok && rdserr.Code() == "SubscriptionNotFound" { log.Printf("[WARN] No RDS Event Subscription by name (%s) found", name) return nil, nil } return nil, fmt.Errorf("Error reading RDS Event Subscription %s: %s", name, err) } if len(describeResp.EventSubscriptionsList) != 1 { return nil, fmt.Errorf("Unable to find RDS Event Subscription: %#v", describeResp.EventSubscriptionsList) } return describeResp.EventSubscriptionsList[0], nil }