func resourceDHCPOptionsStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc { return func() (interface{}, string, error) { DescribeDhcpOpts := &ec2.DescribeDhcpOptionsInput{ DhcpOptionsIds: []*string{ aws.String(id), }, } resp, err := conn.DescribeDhcpOptions(DescribeDhcpOpts) if err != nil { if ec2err, ok := err.(awserr.Error); ok && ec2err.Code() == "InvalidDhcpOptionsID.NotFound" { resp = nil } else { log.Printf("Error on DHCPOptionsStateRefresh: %s", err) return nil, "", err } } if resp == nil { // Sometimes AWS just has consistency issues and doesn't see // our instance yet. Return an empty state. return nil, "", nil } dos := resp.DhcpOptions[0] return dos, "created", nil } }