in pkg/controller/direct/networkmanagement/connectivitytest_controller.go [276:353]
func (a *connectivityTestAdapter) normalizeReferenceFields(ctx context.Context) error {
obj := a.desired
if obj.Spec.Source != nil {
if obj.Spec.Source.ComputeInstanceRef != nil {
if _, err := obj.Spec.Source.ComputeInstanceRef.NormalizedExternal(ctx, a.reader, obj.GetNamespace()); err != nil {
return err
}
}
if obj.Spec.Source.ComputeNetworkRef != nil {
if err := obj.Spec.Source.ComputeNetworkRef.Normalize(ctx, a.reader, obj); err != nil {
return err
}
}
if obj.Spec.Source.ContainerClusterRef != nil {
if _, err := obj.Spec.Source.ContainerClusterRef.NormalizedExternal(ctx, a.reader, obj.GetNamespace()); err != nil {
return err
}
}
if obj.Spec.Source.SQLInstanceRef != nil {
instance, err := refs.ResolveSQLInstanceRef(ctx, a.reader, obj, obj.Spec.Source.SQLInstanceRef)
if err != nil {
return err
}
obj.Spec.Source.SQLInstanceRef.External = instance.String()
}
if obj.Spec.Source.ProjectRef != nil {
projectRef, err := refs.ResolveProject(ctx, a.reader, obj.GetNamespace(), obj.Spec.Source.ProjectRef)
if err != nil {
return err
}
obj.Spec.Source.ProjectRef.External = projectRef.ProjectID
}
if obj.Spec.Source.CloudRunRevision != nil && obj.Spec.Source.CloudRunRevision.RunRevisionRef != nil {
if _, err := obj.Spec.Source.CloudRunRevision.RunRevisionRef.NormalizedExternal(ctx, a.reader, obj.GetNamespace()); err != nil {
return err
}
}
}
if obj.Spec.Destination != nil {
if obj.Spec.Destination.ComputeInstanceRef != nil {
if _, err := obj.Spec.Destination.ComputeInstanceRef.NormalizedExternal(ctx, a.reader, obj.GetNamespace()); err != nil {
return err
}
}
if obj.Spec.Destination.ComputeNetworkRef != nil {
if err := obj.Spec.Destination.ComputeNetworkRef.Normalize(ctx, a.reader, obj); err != nil {
return err
}
}
if obj.Spec.Destination.ContainerClusterRef != nil {
if _, err := obj.Spec.Destination.ContainerClusterRef.NormalizedExternal(ctx, a.reader, obj.GetNamespace()); err != nil {
return err
}
}
if obj.Spec.Destination.SQLInstanceRef != nil {
instance, err := refs.ResolveSQLInstanceRef(ctx, a.reader, obj, obj.Spec.Destination.SQLInstanceRef)
if err != nil {
return err
}
obj.Spec.Destination.SQLInstanceRef.External = instance.String()
}
if obj.Spec.Destination.ProjectRef != nil {
projectRef, err := refs.ResolveProject(ctx, a.reader, obj.GetNamespace(), obj.Spec.Destination.ProjectRef)
if err != nil {
return err
}
obj.Spec.Destination.ProjectRef.External = projectRef.ProjectID
}
if obj.Spec.Destination.CloudRunRevision != nil && obj.Spec.Destination.CloudRunRevision.RunRevisionRef != nil {
if _, err := obj.Spec.Destination.CloudRunRevision.RunRevisionRef.NormalizedExternal(ctx, a.reader, obj.GetNamespace()); err != nil {
return err
}
}
}
return nil
}