diff --git a/internal/services/rdb/instance.go b/internal/services/rdb/instance.go index b23c53c22..235d64f50 100644 --- a/internal/services/rdb/instance.go +++ b/internal/services/rdb/instance.go @@ -460,10 +460,25 @@ func ResourceRdbInstanceRead(ctx context.Context, d *schema.ResourceData, m inte _ = d.Set("backup_same_region", res.BackupSameRegion) _ = d.Set("tags", types.FlattenSliceString(res.Tags)) - // Deprecated attribute, might be deleted later - if res.Endpoint != nil { //nolint:staticcheck - _ = d.Set("endpoint_ip", types.FlattenIPPtr(res.Endpoint.IP)) //nolint:staticcheck - _ = d.Set("endpoint_port", int(res.Endpoint.Port)) //nolint:staticcheck + var loadBalancerEndpoint *rdb.Endpoint + + for _, endpoint := range res.Endpoints { + if endpoint.LoadBalancer != nil { + loadBalancerEndpoint = endpoint + break + } + } + + if loadBalancerEndpoint != nil { + switch { + case loadBalancerEndpoint.IP != nil: + _ = d.Set("endpoint_ip", types.FlattenIPPtr(loadBalancerEndpoint.IP)) + case loadBalancerEndpoint.Hostname != nil: + _ = d.Set("endpoint_ip", loadBalancerEndpoint.Hostname) + default: + _ = d.Set("endpoint_ip", "") + } + _ = d.Set("endpoint_port", int(loadBalancerEndpoint.Port)) } else { _ = d.Set("endpoint_ip", "") _ = d.Set("endpoint_port", 0)