func ForKind()

in pkg/applyconfiguration/utils.go [39:109]


func ForKind(kind schema.GroupVersionKind) interface{} {
	switch kind {
	// Group=extensions.istio.io, Version=v1alpha1
	case v1alpha1.SchemeGroupVersion.WithKind("WasmPlugin"):
		return &extensionsv1alpha1.WasmPluginApplyConfiguration{}

		// Group=istio.alibabacloud.com, Version=v1beta1
	case v1beta1.SchemeGroupVersion.WithKind("TrafficLabel"):
		return &istiov1beta1.TrafficLabelApplyConfiguration{}

		// Group=meta.k8s.io, Version=v1
	case v1.SchemeGroupVersion.WithKind("ManagedFieldsEntry"):
		return &metav1.ManagedFieldsEntryApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("ObjectMeta"):
		return &metav1.ObjectMetaApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("OwnerReference"):
		return &metav1.OwnerReferenceApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("TypeMeta"):
		return &metav1.TypeMetaApplyConfiguration{}

		// Group=networking.istio.io, Version=v1alpha3
	case v1alpha3.SchemeGroupVersion.WithKind("DestinationRule"):
		return &networkingv1alpha3.DestinationRuleApplyConfiguration{}
	case v1alpha3.SchemeGroupVersion.WithKind("EnvoyFilter"):
		return &networkingv1alpha3.EnvoyFilterApplyConfiguration{}
	case v1alpha3.SchemeGroupVersion.WithKind("Gateway"):
		return &networkingv1alpha3.GatewayApplyConfiguration{}
	case v1alpha3.SchemeGroupVersion.WithKind("ServiceEntry"):
		return &networkingv1alpha3.ServiceEntryApplyConfiguration{}
	case v1alpha3.SchemeGroupVersion.WithKind("Sidecar"):
		return &networkingv1alpha3.SidecarApplyConfiguration{}
	case v1alpha3.SchemeGroupVersion.WithKind("VirtualService"):
		return &networkingv1alpha3.VirtualServiceApplyConfiguration{}
	case v1alpha3.SchemeGroupVersion.WithKind("WorkloadEntry"):
		return &networkingv1alpha3.WorkloadEntryApplyConfiguration{}
	case v1alpha3.SchemeGroupVersion.WithKind("WorkloadGroup"):
		return &networkingv1alpha3.WorkloadGroupApplyConfiguration{}

		// Group=networking.istio.io, Version=v1beta1
	case networkingv1beta1.SchemeGroupVersion.WithKind("DestinationRule"):
		return &applyconfigurationnetworkingv1beta1.DestinationRuleApplyConfiguration{}
	case networkingv1beta1.SchemeGroupVersion.WithKind("Gateway"):
		return &applyconfigurationnetworkingv1beta1.GatewayApplyConfiguration{}
	case networkingv1beta1.SchemeGroupVersion.WithKind("ProxyConfig"):
		return &applyconfigurationnetworkingv1beta1.ProxyConfigApplyConfiguration{}
	case networkingv1beta1.SchemeGroupVersion.WithKind("ServiceEntry"):
		return &applyconfigurationnetworkingv1beta1.ServiceEntryApplyConfiguration{}
	case networkingv1beta1.SchemeGroupVersion.WithKind("Sidecar"):
		return &applyconfigurationnetworkingv1beta1.SidecarApplyConfiguration{}
	case networkingv1beta1.SchemeGroupVersion.WithKind("VirtualService"):
		return &applyconfigurationnetworkingv1beta1.VirtualServiceApplyConfiguration{}
	case networkingv1beta1.SchemeGroupVersion.WithKind("WorkloadEntry"):
		return &applyconfigurationnetworkingv1beta1.WorkloadEntryApplyConfiguration{}
	case networkingv1beta1.SchemeGroupVersion.WithKind("WorkloadGroup"):
		return &applyconfigurationnetworkingv1beta1.WorkloadGroupApplyConfiguration{}

		// Group=security.istio.io, Version=v1beta1
	case securityv1beta1.SchemeGroupVersion.WithKind("AuthorizationPolicy"):
		return &applyconfigurationsecurityv1beta1.AuthorizationPolicyApplyConfiguration{}
	case securityv1beta1.SchemeGroupVersion.WithKind("PeerAuthentication"):
		return &applyconfigurationsecurityv1beta1.PeerAuthenticationApplyConfiguration{}
	case securityv1beta1.SchemeGroupVersion.WithKind("RequestAuthentication"):
		return &applyconfigurationsecurityv1beta1.RequestAuthenticationApplyConfiguration{}

		// Group=telemetry.istio.io, Version=v1alpha1
	case telemetryv1alpha1.SchemeGroupVersion.WithKind("Telemetry"):
		return &applyconfigurationtelemetryv1alpha1.TelemetryApplyConfiguration{}

	}
	return nil
}