func()

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
}