//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Code generated by deepcopy-gen. DO NOT EDIT.

package v1

import (
	configv1 "github.com/openshift/api/config/v1"
	agent "github.com/openshift/hive/apis/hive/v1/agent"
	aws "github.com/openshift/hive/apis/hive/v1/aws"
	azure "github.com/openshift/hive/apis/hive/v1/azure"
	baremetal "github.com/openshift/hive/apis/hive/v1/baremetal"
	gcp "github.com/openshift/hive/apis/hive/v1/gcp"
	ibmcloud "github.com/openshift/hive/apis/hive/v1/ibmcloud"
	openstack "github.com/openshift/hive/apis/hive/v1/openstack"
	ovirt "github.com/openshift/hive/apis/hive/v1/ovirt"
	vsphere "github.com/openshift/hive/apis/hive/v1/vsphere"
	corev1 "k8s.io/api/core/v1"
	rbacv1 "k8s.io/api/rbac/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSAssociatedVPC) DeepCopyInto(out *AWSAssociatedVPC) {
	*out = *in
	out.AWSPrivateLinkVPC = in.AWSPrivateLinkVPC
	if in.CredentialsSecretRef != nil {
		in, out := &in.CredentialsSecretRef, &out.CredentialsSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSAssociatedVPC.
func (in *AWSAssociatedVPC) DeepCopy() *AWSAssociatedVPC {
	if in == nil {
		return nil
	}
	out := new(AWSAssociatedVPC)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSClusterDeprovision) DeepCopyInto(out *AWSClusterDeprovision) {
	*out = *in
	if in.CredentialsSecretRef != nil {
		in, out := &in.CredentialsSecretRef, &out.CredentialsSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.CredentialsAssumeRole != nil {
		in, out := &in.CredentialsAssumeRole, &out.CredentialsAssumeRole
		*out = new(aws.AssumeRole)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSClusterDeprovision.
func (in *AWSClusterDeprovision) DeepCopy() *AWSClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(AWSClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSDNSZoneSpec) DeepCopyInto(out *AWSDNSZoneSpec) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	if in.CredentialsAssumeRole != nil {
		in, out := &in.CredentialsAssumeRole, &out.CredentialsAssumeRole
		*out = new(aws.AssumeRole)
		**out = **in
	}
	if in.AdditionalTags != nil {
		in, out := &in.AdditionalTags, &out.AdditionalTags
		*out = make([]AWSResourceTag, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSDNSZoneSpec.
func (in *AWSDNSZoneSpec) DeepCopy() *AWSDNSZoneSpec {
	if in == nil {
		return nil
	}
	out := new(AWSDNSZoneSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSDNSZoneStatus) DeepCopyInto(out *AWSDNSZoneStatus) {
	*out = *in
	if in.ZoneID != nil {
		in, out := &in.ZoneID, &out.ZoneID
		*out = new(string)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSDNSZoneStatus.
func (in *AWSDNSZoneStatus) DeepCopy() *AWSDNSZoneStatus {
	if in == nil {
		return nil
	}
	out := new(AWSDNSZoneStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSPrivateLinkConfig) DeepCopyInto(out *AWSPrivateLinkConfig) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	if in.EndpointVPCInventory != nil {
		in, out := &in.EndpointVPCInventory, &out.EndpointVPCInventory
		*out = make([]AWSPrivateLinkInventory, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.AssociatedVPCs != nil {
		in, out := &in.AssociatedVPCs, &out.AssociatedVPCs
		*out = make([]AWSAssociatedVPC, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkConfig.
func (in *AWSPrivateLinkConfig) DeepCopy() *AWSPrivateLinkConfig {
	if in == nil {
		return nil
	}
	out := new(AWSPrivateLinkConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSPrivateLinkInventory) DeepCopyInto(out *AWSPrivateLinkInventory) {
	*out = *in
	out.AWSPrivateLinkVPC = in.AWSPrivateLinkVPC
	if in.Subnets != nil {
		in, out := &in.Subnets, &out.Subnets
		*out = make([]AWSPrivateLinkSubnet, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkInventory.
func (in *AWSPrivateLinkInventory) DeepCopy() *AWSPrivateLinkInventory {
	if in == nil {
		return nil
	}
	out := new(AWSPrivateLinkInventory)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSPrivateLinkSubnet) DeepCopyInto(out *AWSPrivateLinkSubnet) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkSubnet.
func (in *AWSPrivateLinkSubnet) DeepCopy() *AWSPrivateLinkSubnet {
	if in == nil {
		return nil
	}
	out := new(AWSPrivateLinkSubnet)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSPrivateLinkVPC) DeepCopyInto(out *AWSPrivateLinkVPC) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkVPC.
func (in *AWSPrivateLinkVPC) DeepCopy() *AWSPrivateLinkVPC {
	if in == nil {
		return nil
	}
	out := new(AWSPrivateLinkVPC)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSResourceTag) DeepCopyInto(out *AWSResourceTag) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSResourceTag.
func (in *AWSResourceTag) DeepCopy() *AWSResourceTag {
	if in == nil {
		return nil
	}
	out := new(AWSResourceTag)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSServiceProviderCredentials) DeepCopyInto(out *AWSServiceProviderCredentials) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSServiceProviderCredentials.
func (in *AWSServiceProviderCredentials) DeepCopy() *AWSServiceProviderCredentials {
	if in == nil {
		return nil
	}
	out := new(AWSServiceProviderCredentials)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArgoCDConfig) DeepCopyInto(out *ArgoCDConfig) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDConfig.
func (in *ArgoCDConfig) DeepCopy() *ArgoCDConfig {
	if in == nil {
		return nil
	}
	out := new(ArgoCDConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureClusterDeprovision) DeepCopyInto(out *AzureClusterDeprovision) {
	*out = *in
	if in.CredentialsSecretRef != nil {
		in, out := &in.CredentialsSecretRef, &out.CredentialsSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.CloudName != nil {
		in, out := &in.CloudName, &out.CloudName
		*out = new(azure.CloudEnvironment)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureClusterDeprovision.
func (in *AzureClusterDeprovision) DeepCopy() *AzureClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(AzureClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureDNSZoneSpec) DeepCopyInto(out *AzureDNSZoneSpec) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureDNSZoneSpec.
func (in *AzureDNSZoneSpec) DeepCopy() *AzureDNSZoneSpec {
	if in == nil {
		return nil
	}
	out := new(AzureDNSZoneSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureDNSZoneStatus) DeepCopyInto(out *AzureDNSZoneStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureDNSZoneStatus.
func (in *AzureDNSZoneStatus) DeepCopy() *AzureDNSZoneStatus {
	if in == nil {
		return nil
	}
	out := new(AzureDNSZoneStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackupConfig) DeepCopyInto(out *BackupConfig) {
	*out = *in
	out.Velero = in.Velero
	if in.MinBackupPeriodSeconds != nil {
		in, out := &in.MinBackupPeriodSeconds, &out.MinBackupPeriodSeconds
		*out = new(int)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupConfig.
func (in *BackupConfig) DeepCopy() *BackupConfig {
	if in == nil {
		return nil
	}
	out := new(BackupConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackupReference) DeepCopyInto(out *BackupReference) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupReference.
func (in *BackupReference) DeepCopy() *BackupReference {
	if in == nil {
		return nil
	}
	out := new(BackupReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CertificateBundleSpec) DeepCopyInto(out *CertificateBundleSpec) {
	*out = *in
	out.CertificateSecretRef = in.CertificateSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateBundleSpec.
func (in *CertificateBundleSpec) DeepCopy() *CertificateBundleSpec {
	if in == nil {
		return nil
	}
	out := new(CertificateBundleSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CertificateBundleStatus) DeepCopyInto(out *CertificateBundleStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateBundleStatus.
func (in *CertificateBundleStatus) DeepCopy() *CertificateBundleStatus {
	if in == nil {
		return nil
	}
	out := new(CertificateBundleStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Checkpoint) DeepCopyInto(out *Checkpoint) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Checkpoint.
func (in *Checkpoint) DeepCopy() *Checkpoint {
	if in == nil {
		return nil
	}
	out := new(Checkpoint)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Checkpoint) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CheckpointList) DeepCopyInto(out *CheckpointList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Checkpoint, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckpointList.
func (in *CheckpointList) DeepCopy() *CheckpointList {
	if in == nil {
		return nil
	}
	out := new(CheckpointList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *CheckpointList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CheckpointSpec) DeepCopyInto(out *CheckpointSpec) {
	*out = *in
	in.LastBackupTime.DeepCopyInto(&out.LastBackupTime)
	out.LastBackupRef = in.LastBackupRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckpointSpec.
func (in *CheckpointSpec) DeepCopy() *CheckpointSpec {
	if in == nil {
		return nil
	}
	out := new(CheckpointSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CheckpointStatus) DeepCopyInto(out *CheckpointStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckpointStatus.
func (in *CheckpointStatus) DeepCopy() *CheckpointStatus {
	if in == nil {
		return nil
	}
	out := new(CheckpointStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterClaim) DeepCopyInto(out *ClusterClaim) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaim.
func (in *ClusterClaim) DeepCopy() *ClusterClaim {
	if in == nil {
		return nil
	}
	out := new(ClusterClaim)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterClaim) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterClaimCondition) DeepCopyInto(out *ClusterClaimCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimCondition.
func (in *ClusterClaimCondition) DeepCopy() *ClusterClaimCondition {
	if in == nil {
		return nil
	}
	out := new(ClusterClaimCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterClaimList) DeepCopyInto(out *ClusterClaimList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterClaim, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimList.
func (in *ClusterClaimList) DeepCopy() *ClusterClaimList {
	if in == nil {
		return nil
	}
	out := new(ClusterClaimList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterClaimList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterClaimSpec) DeepCopyInto(out *ClusterClaimSpec) {
	*out = *in
	if in.Subjects != nil {
		in, out := &in.Subjects, &out.Subjects
		*out = make([]rbacv1.Subject, len(*in))
		copy(*out, *in)
	}
	if in.Lifetime != nil {
		in, out := &in.Lifetime, &out.Lifetime
		*out = new(metav1.Duration)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimSpec.
func (in *ClusterClaimSpec) DeepCopy() *ClusterClaimSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterClaimSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterClaimStatus) DeepCopyInto(out *ClusterClaimStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClusterClaimCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Lifetime != nil {
		in, out := &in.Lifetime, &out.Lifetime
		*out = new(metav1.Duration)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimStatus.
func (in *ClusterClaimStatus) DeepCopy() *ClusterClaimStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterClaimStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeployment) DeepCopyInto(out *ClusterDeployment) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeployment.
func (in *ClusterDeployment) DeepCopy() *ClusterDeployment {
	if in == nil {
		return nil
	}
	out := new(ClusterDeployment)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterDeployment) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeploymentCondition) DeepCopyInto(out *ClusterDeploymentCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentCondition.
func (in *ClusterDeploymentCondition) DeepCopy() *ClusterDeploymentCondition {
	if in == nil {
		return nil
	}
	out := new(ClusterDeploymentCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeploymentList) DeepCopyInto(out *ClusterDeploymentList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterDeployment, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentList.
func (in *ClusterDeploymentList) DeepCopy() *ClusterDeploymentList {
	if in == nil {
		return nil
	}
	out := new(ClusterDeploymentList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterDeploymentList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeploymentSpec) DeepCopyInto(out *ClusterDeploymentSpec) {
	*out = *in
	in.Platform.DeepCopyInto(&out.Platform)
	if in.PullSecretRef != nil {
		in, out := &in.PullSecretRef, &out.PullSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	in.ControlPlaneConfig.DeepCopyInto(&out.ControlPlaneConfig)
	if in.Ingress != nil {
		in, out := &in.Ingress, &out.Ingress
		*out = make([]ClusterIngress, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.CertificateBundles != nil {
		in, out := &in.CertificateBundles, &out.CertificateBundles
		*out = make([]CertificateBundleSpec, len(*in))
		copy(*out, *in)
	}
	if in.ClusterMetadata != nil {
		in, out := &in.ClusterMetadata, &out.ClusterMetadata
		*out = new(ClusterMetadata)
		(*in).DeepCopyInto(*out)
	}
	if in.Provisioning != nil {
		in, out := &in.Provisioning, &out.Provisioning
		*out = new(Provisioning)
		(*in).DeepCopyInto(*out)
	}
	if in.ClusterInstallRef != nil {
		in, out := &in.ClusterInstallRef, &out.ClusterInstallRef
		*out = new(ClusterInstallLocalReference)
		**out = **in
	}
	if in.ClusterPoolRef != nil {
		in, out := &in.ClusterPoolRef, &out.ClusterPoolRef
		*out = new(ClusterPoolReference)
		(*in).DeepCopyInto(*out)
	}
	if in.HibernateAfter != nil {
		in, out := &in.HibernateAfter, &out.HibernateAfter
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.InstallAttemptsLimit != nil {
		in, out := &in.InstallAttemptsLimit, &out.InstallAttemptsLimit
		*out = new(int32)
		**out = **in
	}
	if in.BoundServiceAccountSignkingKeySecretRef != nil {
		in, out := &in.BoundServiceAccountSignkingKeySecretRef, &out.BoundServiceAccountSignkingKeySecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentSpec.
func (in *ClusterDeploymentSpec) DeepCopy() *ClusterDeploymentSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterDeploymentSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeploymentStatus) DeepCopyInto(out *ClusterDeploymentStatus) {
	*out = *in
	if in.InstallerImage != nil {
		in, out := &in.InstallerImage, &out.InstallerImage
		*out = new(string)
		**out = **in
	}
	if in.InstallVersion != nil {
		in, out := &in.InstallVersion, &out.InstallVersion
		*out = new(string)
		**out = **in
	}
	if in.CLIImage != nil {
		in, out := &in.CLIImage, &out.CLIImage
		*out = new(string)
		**out = **in
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClusterDeploymentCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.CertificateBundles != nil {
		in, out := &in.CertificateBundles, &out.CertificateBundles
		*out = make([]CertificateBundleStatus, len(*in))
		copy(*out, *in)
	}
	if in.InstallStartedTimestamp != nil {
		in, out := &in.InstallStartedTimestamp, &out.InstallStartedTimestamp
		*out = (*in).DeepCopy()
	}
	if in.InstalledTimestamp != nil {
		in, out := &in.InstalledTimestamp, &out.InstalledTimestamp
		*out = (*in).DeepCopy()
	}
	if in.ProvisionRef != nil {
		in, out := &in.ProvisionRef, &out.ProvisionRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.Platform != nil {
		in, out := &in.Platform, &out.Platform
		*out = new(PlatformStatus)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentStatus.
func (in *ClusterDeploymentStatus) DeepCopy() *ClusterDeploymentStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterDeploymentStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeprovision) DeepCopyInto(out *ClusterDeprovision) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovision.
func (in *ClusterDeprovision) DeepCopy() *ClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(ClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterDeprovision) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeprovisionCondition) DeepCopyInto(out *ClusterDeprovisionCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovisionCondition.
func (in *ClusterDeprovisionCondition) DeepCopy() *ClusterDeprovisionCondition {
	if in == nil {
		return nil
	}
	out := new(ClusterDeprovisionCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeprovisionList) DeepCopyInto(out *ClusterDeprovisionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterDeprovision, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovisionList.
func (in *ClusterDeprovisionList) DeepCopy() *ClusterDeprovisionList {
	if in == nil {
		return nil
	}
	out := new(ClusterDeprovisionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterDeprovisionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeprovisionPlatform) DeepCopyInto(out *ClusterDeprovisionPlatform) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(AWSClusterDeprovision)
		(*in).DeepCopyInto(*out)
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(AzureClusterDeprovision)
		(*in).DeepCopyInto(*out)
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(GCPClusterDeprovision)
		(*in).DeepCopyInto(*out)
	}
	if in.OpenStack != nil {
		in, out := &in.OpenStack, &out.OpenStack
		*out = new(OpenStackClusterDeprovision)
		(*in).DeepCopyInto(*out)
	}
	if in.VSphere != nil {
		in, out := &in.VSphere, &out.VSphere
		*out = new(VSphereClusterDeprovision)
		**out = **in
	}
	if in.Ovirt != nil {
		in, out := &in.Ovirt, &out.Ovirt
		*out = new(OvirtClusterDeprovision)
		**out = **in
	}
	if in.IBMCloud != nil {
		in, out := &in.IBMCloud, &out.IBMCloud
		*out = new(IBMClusterDeprovision)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovisionPlatform.
func (in *ClusterDeprovisionPlatform) DeepCopy() *ClusterDeprovisionPlatform {
	if in == nil {
		return nil
	}
	out := new(ClusterDeprovisionPlatform)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeprovisionSpec) DeepCopyInto(out *ClusterDeprovisionSpec) {
	*out = *in
	in.Platform.DeepCopyInto(&out.Platform)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovisionSpec.
func (in *ClusterDeprovisionSpec) DeepCopy() *ClusterDeprovisionSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterDeprovisionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDeprovisionStatus) DeepCopyInto(out *ClusterDeprovisionStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClusterDeprovisionCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovisionStatus.
func (in *ClusterDeprovisionStatus) DeepCopy() *ClusterDeprovisionStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterDeprovisionStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterImageSet) DeepCopyInto(out *ClusterImageSet) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageSet.
func (in *ClusterImageSet) DeepCopy() *ClusterImageSet {
	if in == nil {
		return nil
	}
	out := new(ClusterImageSet)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterImageSet) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterImageSetList) DeepCopyInto(out *ClusterImageSetList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterImageSet, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageSetList.
func (in *ClusterImageSetList) DeepCopy() *ClusterImageSetList {
	if in == nil {
		return nil
	}
	out := new(ClusterImageSetList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterImageSetList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterImageSetReference) DeepCopyInto(out *ClusterImageSetReference) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageSetReference.
func (in *ClusterImageSetReference) DeepCopy() *ClusterImageSetReference {
	if in == nil {
		return nil
	}
	out := new(ClusterImageSetReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterImageSetSpec) DeepCopyInto(out *ClusterImageSetSpec) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageSetSpec.
func (in *ClusterImageSetSpec) DeepCopy() *ClusterImageSetSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterImageSetSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterImageSetStatus) DeepCopyInto(out *ClusterImageSetStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageSetStatus.
func (in *ClusterImageSetStatus) DeepCopy() *ClusterImageSetStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterImageSetStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterIngress) DeepCopyInto(out *ClusterIngress) {
	*out = *in
	if in.NamespaceSelector != nil {
		in, out := &in.NamespaceSelector, &out.NamespaceSelector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.RouteSelector != nil {
		in, out := &in.RouteSelector, &out.RouteSelector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIngress.
func (in *ClusterIngress) DeepCopy() *ClusterIngress {
	if in == nil {
		return nil
	}
	out := new(ClusterIngress)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterInstallCondition) DeepCopyInto(out *ClusterInstallCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInstallCondition.
func (in *ClusterInstallCondition) DeepCopy() *ClusterInstallCondition {
	if in == nil {
		return nil
	}
	out := new(ClusterInstallCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterInstallLocalReference) DeepCopyInto(out *ClusterInstallLocalReference) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInstallLocalReference.
func (in *ClusterInstallLocalReference) DeepCopy() *ClusterInstallLocalReference {
	if in == nil {
		return nil
	}
	out := new(ClusterInstallLocalReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterMetadata) DeepCopyInto(out *ClusterMetadata) {
	*out = *in
	out.AdminKubeconfigSecretRef = in.AdminKubeconfigSecretRef
	if in.AdminPasswordSecretRef != nil {
		in, out := &in.AdminPasswordSecretRef, &out.AdminPasswordSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterMetadata.
func (in *ClusterMetadata) DeepCopy() *ClusterMetadata {
	if in == nil {
		return nil
	}
	out := new(ClusterMetadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterOperatorState) DeepCopyInto(out *ClusterOperatorState) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]configv1.ClusterOperatorStatusCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOperatorState.
func (in *ClusterOperatorState) DeepCopy() *ClusterOperatorState {
	if in == nil {
		return nil
	}
	out := new(ClusterOperatorState)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPool) DeepCopyInto(out *ClusterPool) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPool.
func (in *ClusterPool) DeepCopy() *ClusterPool {
	if in == nil {
		return nil
	}
	out := new(ClusterPool)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterPool) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPoolClaimLifetime) DeepCopyInto(out *ClusterPoolClaimLifetime) {
	*out = *in
	if in.Default != nil {
		in, out := &in.Default, &out.Default
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.Maximum != nil {
		in, out := &in.Maximum, &out.Maximum
		*out = new(metav1.Duration)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolClaimLifetime.
func (in *ClusterPoolClaimLifetime) DeepCopy() *ClusterPoolClaimLifetime {
	if in == nil {
		return nil
	}
	out := new(ClusterPoolClaimLifetime)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPoolCondition) DeepCopyInto(out *ClusterPoolCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolCondition.
func (in *ClusterPoolCondition) DeepCopy() *ClusterPoolCondition {
	if in == nil {
		return nil
	}
	out := new(ClusterPoolCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPoolList) DeepCopyInto(out *ClusterPoolList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterPool, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolList.
func (in *ClusterPoolList) DeepCopy() *ClusterPoolList {
	if in == nil {
		return nil
	}
	out := new(ClusterPoolList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterPoolList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPoolReference) DeepCopyInto(out *ClusterPoolReference) {
	*out = *in
	if in.ClaimedTimestamp != nil {
		in, out := &in.ClaimedTimestamp, &out.ClaimedTimestamp
		*out = (*in).DeepCopy()
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolReference.
func (in *ClusterPoolReference) DeepCopy() *ClusterPoolReference {
	if in == nil {
		return nil
	}
	out := new(ClusterPoolReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPoolSpec) DeepCopyInto(out *ClusterPoolSpec) {
	*out = *in
	in.Platform.DeepCopyInto(&out.Platform)
	if in.PullSecretRef != nil {
		in, out := &in.PullSecretRef, &out.PullSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.MaxSize != nil {
		in, out := &in.MaxSize, &out.MaxSize
		*out = new(int32)
		**out = **in
	}
	if in.MaxConcurrent != nil {
		in, out := &in.MaxConcurrent, &out.MaxConcurrent
		*out = new(int32)
		**out = **in
	}
	out.ImageSetRef = in.ImageSetRef
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.InstallConfigSecretTemplateRef != nil {
		in, out := &in.InstallConfigSecretTemplateRef, &out.InstallConfigSecretTemplateRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.HibernateAfter != nil {
		in, out := &in.HibernateAfter, &out.HibernateAfter
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.InstallAttemptsLimit != nil {
		in, out := &in.InstallAttemptsLimit, &out.InstallAttemptsLimit
		*out = new(int32)
		**out = **in
	}
	if in.ClaimLifetime != nil {
		in, out := &in.ClaimLifetime, &out.ClaimLifetime
		*out = new(ClusterPoolClaimLifetime)
		(*in).DeepCopyInto(*out)
	}
	if in.HibernationConfig != nil {
		in, out := &in.HibernationConfig, &out.HibernationConfig
		*out = new(HibernationConfig)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolSpec.
func (in *ClusterPoolSpec) DeepCopy() *ClusterPoolSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterPoolSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPoolStatus) DeepCopyInto(out *ClusterPoolStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClusterPoolCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolStatus.
func (in *ClusterPoolStatus) DeepCopy() *ClusterPoolStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterPoolStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterProvision) DeepCopyInto(out *ClusterProvision) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvision.
func (in *ClusterProvision) DeepCopy() *ClusterProvision {
	if in == nil {
		return nil
	}
	out := new(ClusterProvision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterProvision) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterProvisionCondition) DeepCopyInto(out *ClusterProvisionCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionCondition.
func (in *ClusterProvisionCondition) DeepCopy() *ClusterProvisionCondition {
	if in == nil {
		return nil
	}
	out := new(ClusterProvisionCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterProvisionList) DeepCopyInto(out *ClusterProvisionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterProvision, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionList.
func (in *ClusterProvisionList) DeepCopy() *ClusterProvisionList {
	if in == nil {
		return nil
	}
	out := new(ClusterProvisionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterProvisionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterProvisionSpec) DeepCopyInto(out *ClusterProvisionSpec) {
	*out = *in
	out.ClusterDeploymentRef = in.ClusterDeploymentRef
	in.PodSpec.DeepCopyInto(&out.PodSpec)
	if in.ClusterID != nil {
		in, out := &in.ClusterID, &out.ClusterID
		*out = new(string)
		**out = **in
	}
	if in.InfraID != nil {
		in, out := &in.InfraID, &out.InfraID
		*out = new(string)
		**out = **in
	}
	if in.InstallLog != nil {
		in, out := &in.InstallLog, &out.InstallLog
		*out = new(string)
		**out = **in
	}
	if in.Metadata != nil {
		in, out := &in.Metadata, &out.Metadata
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.AdminKubeconfigSecretRef != nil {
		in, out := &in.AdminKubeconfigSecretRef, &out.AdminKubeconfigSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.AdminPasswordSecretRef != nil {
		in, out := &in.AdminPasswordSecretRef, &out.AdminPasswordSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.PrevClusterID != nil {
		in, out := &in.PrevClusterID, &out.PrevClusterID
		*out = new(string)
		**out = **in
	}
	if in.PrevInfraID != nil {
		in, out := &in.PrevInfraID, &out.PrevInfraID
		*out = new(string)
		**out = **in
	}
	if in.PrevProvisionName != nil {
		in, out := &in.PrevProvisionName, &out.PrevProvisionName
		*out = new(string)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionSpec.
func (in *ClusterProvisionSpec) DeepCopy() *ClusterProvisionSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterProvisionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterProvisionStatus) DeepCopyInto(out *ClusterProvisionStatus) {
	*out = *in
	if in.JobRef != nil {
		in, out := &in.JobRef, &out.JobRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClusterProvisionCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionStatus.
func (in *ClusterProvisionStatus) DeepCopy() *ClusterProvisionStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterProvisionStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterRelocate) DeepCopyInto(out *ClusterRelocate) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocate.
func (in *ClusterRelocate) DeepCopy() *ClusterRelocate {
	if in == nil {
		return nil
	}
	out := new(ClusterRelocate)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterRelocate) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterRelocateList) DeepCopyInto(out *ClusterRelocateList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterRelocate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocateList.
func (in *ClusterRelocateList) DeepCopy() *ClusterRelocateList {
	if in == nil {
		return nil
	}
	out := new(ClusterRelocateList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterRelocateList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterRelocateSpec) DeepCopyInto(out *ClusterRelocateSpec) {
	*out = *in
	out.KubeconfigSecretRef = in.KubeconfigSecretRef
	in.ClusterDeploymentSelector.DeepCopyInto(&out.ClusterDeploymentSelector)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocateSpec.
func (in *ClusterRelocateSpec) DeepCopy() *ClusterRelocateSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterRelocateSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterRelocateStatus) DeepCopyInto(out *ClusterRelocateStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocateStatus.
func (in *ClusterRelocateStatus) DeepCopy() *ClusterRelocateStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterRelocateStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterState) DeepCopyInto(out *ClusterState) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterState.
func (in *ClusterState) DeepCopy() *ClusterState {
	if in == nil {
		return nil
	}
	out := new(ClusterState)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterState) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterStateList) DeepCopyInto(out *ClusterStateList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterState, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStateList.
func (in *ClusterStateList) DeepCopy() *ClusterStateList {
	if in == nil {
		return nil
	}
	out := new(ClusterStateList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterStateList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterStateSpec) DeepCopyInto(out *ClusterStateSpec) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStateSpec.
func (in *ClusterStateSpec) DeepCopy() *ClusterStateSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterStateSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterStateStatus) DeepCopyInto(out *ClusterStateStatus) {
	*out = *in
	if in.LastUpdated != nil {
		in, out := &in.LastUpdated, &out.LastUpdated
		*out = (*in).DeepCopy()
	}
	if in.ClusterOperators != nil {
		in, out := &in.ClusterOperators, &out.ClusterOperators
		*out = make([]ClusterOperatorState, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStateStatus.
func (in *ClusterStateStatus) DeepCopy() *ClusterStateStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterStateStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ControlPlaneAdditionalCertificate) DeepCopyInto(out *ControlPlaneAdditionalCertificate) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneAdditionalCertificate.
func (in *ControlPlaneAdditionalCertificate) DeepCopy() *ControlPlaneAdditionalCertificate {
	if in == nil {
		return nil
	}
	out := new(ControlPlaneAdditionalCertificate)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ControlPlaneConfigSpec) DeepCopyInto(out *ControlPlaneConfigSpec) {
	*out = *in
	in.ServingCertificates.DeepCopyInto(&out.ServingCertificates)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneConfigSpec.
func (in *ControlPlaneConfigSpec) DeepCopy() *ControlPlaneConfigSpec {
	if in == nil {
		return nil
	}
	out := new(ControlPlaneConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ControlPlaneServingCertificateSpec) DeepCopyInto(out *ControlPlaneServingCertificateSpec) {
	*out = *in
	if in.Additional != nil {
		in, out := &in.Additional, &out.Additional
		*out = make([]ControlPlaneAdditionalCertificate, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneServingCertificateSpec.
func (in *ControlPlaneServingCertificateSpec) DeepCopy() *ControlPlaneServingCertificateSpec {
	if in == nil {
		return nil
	}
	out := new(ControlPlaneServingCertificateSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig) {
	*out = *in
	if in.ConcurrentReconciles != nil {
		in, out := &in.ConcurrentReconciles, &out.ConcurrentReconciles
		*out = new(int32)
		**out = **in
	}
	if in.ClientQPS != nil {
		in, out := &in.ClientQPS, &out.ClientQPS
		*out = new(int32)
		**out = **in
	}
	if in.ClientBurst != nil {
		in, out := &in.ClientBurst, &out.ClientBurst
		*out = new(int32)
		**out = **in
	}
	if in.QueueQPS != nil {
		in, out := &in.QueueQPS, &out.QueueQPS
		*out = new(int32)
		**out = **in
	}
	if in.QueueBurst != nil {
		in, out := &in.QueueBurst, &out.QueueBurst
		*out = new(int32)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig.
func (in *ControllerConfig) DeepCopy() *ControllerConfig {
	if in == nil {
		return nil
	}
	out := new(ControllerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in ControllerNames) DeepCopyInto(out *ControllerNames) {
	{
		in := &in
		*out = make(ControllerNames, len(*in))
		copy(*out, *in)
		return
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerNames.
func (in ControllerNames) DeepCopy() ControllerNames {
	if in == nil {
		return nil
	}
	out := new(ControllerNames)
	in.DeepCopyInto(out)
	return *out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ControllersConfig) DeepCopyInto(out *ControllersConfig) {
	*out = *in
	if in.Default != nil {
		in, out := &in.Default, &out.Default
		*out = new(ControllerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Controllers != nil {
		in, out := &in.Controllers, &out.Controllers
		*out = make([]SpecificControllerConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllersConfig.
func (in *ControllersConfig) DeepCopy() *ControllersConfig {
	if in == nil {
		return nil
	}
	out := new(ControllersConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSZone) DeepCopyInto(out *DNSZone) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZone.
func (in *DNSZone) DeepCopy() *DNSZone {
	if in == nil {
		return nil
	}
	out := new(DNSZone)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSZone) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSZoneCondition) DeepCopyInto(out *DNSZoneCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZoneCondition.
func (in *DNSZoneCondition) DeepCopy() *DNSZoneCondition {
	if in == nil {
		return nil
	}
	out := new(DNSZoneCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSZoneList) DeepCopyInto(out *DNSZoneList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]DNSZone, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZoneList.
func (in *DNSZoneList) DeepCopy() *DNSZoneList {
	if in == nil {
		return nil
	}
	out := new(DNSZoneList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSZoneList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSZoneSpec) DeepCopyInto(out *DNSZoneSpec) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(AWSDNSZoneSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(GCPDNSZoneSpec)
		**out = **in
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(AzureDNSZoneSpec)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZoneSpec.
func (in *DNSZoneSpec) DeepCopy() *DNSZoneSpec {
	if in == nil {
		return nil
	}
	out := new(DNSZoneSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSZoneStatus) DeepCopyInto(out *DNSZoneStatus) {
	*out = *in
	if in.LastSyncTimestamp != nil {
		in, out := &in.LastSyncTimestamp, &out.LastSyncTimestamp
		*out = (*in).DeepCopy()
	}
	if in.NameServers != nil {
		in, out := &in.NameServers, &out.NameServers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(AWSDNSZoneStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(GCPDNSZoneStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(AzureDNSZoneStatus)
		**out = **in
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]DNSZoneCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZoneStatus.
func (in *DNSZoneStatus) DeepCopy() *DNSZoneStatus {
	if in == nil {
		return nil
	}
	out := new(DNSZoneStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FailedProvisionAWSConfig) DeepCopyInto(out *FailedProvisionAWSConfig) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailedProvisionAWSConfig.
func (in *FailedProvisionAWSConfig) DeepCopy() *FailedProvisionAWSConfig {
	if in == nil {
		return nil
	}
	out := new(FailedProvisionAWSConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FailedProvisionConfig) DeepCopyInto(out *FailedProvisionConfig) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(FailedProvisionAWSConfig)
		**out = **in
	}
	if in.RetryReasons != nil {
		in, out := &in.RetryReasons, &out.RetryReasons
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailedProvisionConfig.
func (in *FailedProvisionConfig) DeepCopy() *FailedProvisionConfig {
	if in == nil {
		return nil
	}
	out := new(FailedProvisionConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FeatureGateSelection) DeepCopyInto(out *FeatureGateSelection) {
	*out = *in
	if in.Custom != nil {
		in, out := &in.Custom, &out.Custom
		*out = new(FeatureGatesEnabled)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateSelection.
func (in *FeatureGateSelection) DeepCopy() *FeatureGateSelection {
	if in == nil {
		return nil
	}
	out := new(FeatureGateSelection)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FeatureGatesEnabled) DeepCopyInto(out *FeatureGatesEnabled) {
	*out = *in
	if in.Enabled != nil {
		in, out := &in.Enabled, &out.Enabled
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGatesEnabled.
func (in *FeatureGatesEnabled) DeepCopy() *FeatureGatesEnabled {
	if in == nil {
		return nil
	}
	out := new(FeatureGatesEnabled)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GCPClusterDeprovision) DeepCopyInto(out *GCPClusterDeprovision) {
	*out = *in
	if in.CredentialsSecretRef != nil {
		in, out := &in.CredentialsSecretRef, &out.CredentialsSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterDeprovision.
func (in *GCPClusterDeprovision) DeepCopy() *GCPClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(GCPClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GCPDNSZoneSpec) DeepCopyInto(out *GCPDNSZoneSpec) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPDNSZoneSpec.
func (in *GCPDNSZoneSpec) DeepCopy() *GCPDNSZoneSpec {
	if in == nil {
		return nil
	}
	out := new(GCPDNSZoneSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GCPDNSZoneStatus) DeepCopyInto(out *GCPDNSZoneStatus) {
	*out = *in
	if in.ZoneName != nil {
		in, out := &in.ZoneName, &out.ZoneName
		*out = new(string)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPDNSZoneStatus.
func (in *GCPDNSZoneStatus) DeepCopy() *GCPDNSZoneStatus {
	if in == nil {
		return nil
	}
	out := new(GCPDNSZoneStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HibernationConfig) DeepCopyInto(out *HibernationConfig) {
	*out = *in
	out.ResumeTimeout = in.ResumeTimeout
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationConfig.
func (in *HibernationConfig) DeepCopy() *HibernationConfig {
	if in == nil {
		return nil
	}
	out := new(HibernationConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HiveConfig) DeepCopyInto(out *HiveConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfig.
func (in *HiveConfig) DeepCopy() *HiveConfig {
	if in == nil {
		return nil
	}
	out := new(HiveConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *HiveConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HiveConfigCondition) DeepCopyInto(out *HiveConfigCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfigCondition.
func (in *HiveConfigCondition) DeepCopy() *HiveConfigCondition {
	if in == nil {
		return nil
	}
	out := new(HiveConfigCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HiveConfigList) DeepCopyInto(out *HiveConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]HiveConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfigList.
func (in *HiveConfigList) DeepCopy() *HiveConfigList {
	if in == nil {
		return nil
	}
	out := new(HiveConfigList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *HiveConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HiveConfigSpec) DeepCopyInto(out *HiveConfigSpec) {
	*out = *in
	if in.ManagedDomains != nil {
		in, out := &in.ManagedDomains, &out.ManagedDomains
		*out = make([]ManageDNSConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.AdditionalCertificateAuthoritiesSecretRef != nil {
		in, out := &in.AdditionalCertificateAuthoritiesSecretRef, &out.AdditionalCertificateAuthoritiesSecretRef
		*out = make([]corev1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	if in.GlobalPullSecretRef != nil {
		in, out := &in.GlobalPullSecretRef, &out.GlobalPullSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	in.Backup.DeepCopyInto(&out.Backup)
	in.FailedProvisionConfig.DeepCopyInto(&out.FailedProvisionConfig)
	in.ServiceProviderCredentialsConfig.DeepCopyInto(&out.ServiceProviderCredentialsConfig)
	if in.MaintenanceMode != nil {
		in, out := &in.MaintenanceMode, &out.MaintenanceMode
		*out = new(bool)
		**out = **in
	}
	if in.DeprovisionsDisabled != nil {
		in, out := &in.DeprovisionsDisabled, &out.DeprovisionsDisabled
		*out = new(bool)
		**out = **in
	}
	if in.DisabledControllers != nil {
		in, out := &in.DisabledControllers, &out.DisabledControllers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ControllersConfig != nil {
		in, out := &in.ControllersConfig, &out.ControllersConfig
		*out = new(ControllersConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.AWSPrivateLink != nil {
		in, out := &in.AWSPrivateLink, &out.AWSPrivateLink
		*out = new(AWSPrivateLinkConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ReleaseImageVerificationConfigMapRef != nil {
		in, out := &in.ReleaseImageVerificationConfigMapRef, &out.ReleaseImageVerificationConfigMapRef
		*out = new(ReleaseImageVerificationConfigMapReference)
		**out = **in
	}
	out.ArgoCD = in.ArgoCD
	if in.FeatureGates != nil {
		in, out := &in.FeatureGates, &out.FeatureGates
		*out = new(FeatureGateSelection)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfigSpec.
func (in *HiveConfigSpec) DeepCopy() *HiveConfigSpec {
	if in == nil {
		return nil
	}
	out := new(HiveConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HiveConfigStatus) DeepCopyInto(out *HiveConfigStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]HiveConfigCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfigStatus.
func (in *HiveConfigStatus) DeepCopy() *HiveConfigStatus {
	if in == nil {
		return nil
	}
	out := new(HiveConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IBMClusterDeprovision) DeepCopyInto(out *IBMClusterDeprovision) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMClusterDeprovision.
func (in *IBMClusterDeprovision) DeepCopy() *IBMClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(IBMClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IdentityProviderStatus) DeepCopyInto(out *IdentityProviderStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProviderStatus.
func (in *IdentityProviderStatus) DeepCopy() *IdentityProviderStatus {
	if in == nil {
		return nil
	}
	out := new(IdentityProviderStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubeconfigSecretReference) DeepCopyInto(out *KubeconfigSecretReference) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeconfigSecretReference.
func (in *KubeconfigSecretReference) DeepCopy() *KubeconfigSecretReference {
	if in == nil {
		return nil
	}
	out := new(KubeconfigSecretReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePool) DeepCopyInto(out *MachinePool) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePool.
func (in *MachinePool) DeepCopy() *MachinePool {
	if in == nil {
		return nil
	}
	out := new(MachinePool)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MachinePool) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolAutoscaling) DeepCopyInto(out *MachinePoolAutoscaling) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolAutoscaling.
func (in *MachinePoolAutoscaling) DeepCopy() *MachinePoolAutoscaling {
	if in == nil {
		return nil
	}
	out := new(MachinePoolAutoscaling)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolCondition) DeepCopyInto(out *MachinePoolCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolCondition.
func (in *MachinePoolCondition) DeepCopy() *MachinePoolCondition {
	if in == nil {
		return nil
	}
	out := new(MachinePoolCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolList) DeepCopyInto(out *MachinePoolList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MachinePool, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolList.
func (in *MachinePoolList) DeepCopy() *MachinePoolList {
	if in == nil {
		return nil
	}
	out := new(MachinePoolList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MachinePoolList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolNameLease) DeepCopyInto(out *MachinePoolNameLease) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolNameLease.
func (in *MachinePoolNameLease) DeepCopy() *MachinePoolNameLease {
	if in == nil {
		return nil
	}
	out := new(MachinePoolNameLease)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MachinePoolNameLease) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolNameLeaseList) DeepCopyInto(out *MachinePoolNameLeaseList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MachinePoolNameLease, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolNameLeaseList.
func (in *MachinePoolNameLeaseList) DeepCopy() *MachinePoolNameLeaseList {
	if in == nil {
		return nil
	}
	out := new(MachinePoolNameLeaseList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MachinePoolNameLeaseList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolNameLeaseSpec) DeepCopyInto(out *MachinePoolNameLeaseSpec) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolNameLeaseSpec.
func (in *MachinePoolNameLeaseSpec) DeepCopy() *MachinePoolNameLeaseSpec {
	if in == nil {
		return nil
	}
	out := new(MachinePoolNameLeaseSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolNameLeaseStatus) DeepCopyInto(out *MachinePoolNameLeaseStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolNameLeaseStatus.
func (in *MachinePoolNameLeaseStatus) DeepCopy() *MachinePoolNameLeaseStatus {
	if in == nil {
		return nil
	}
	out := new(MachinePoolNameLeaseStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolPlatform) DeepCopyInto(out *MachinePoolPlatform) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(aws.MachinePoolPlatform)
		(*in).DeepCopyInto(*out)
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(azure.MachinePool)
		(*in).DeepCopyInto(*out)
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(gcp.MachinePool)
		(*in).DeepCopyInto(*out)
	}
	if in.OpenStack != nil {
		in, out := &in.OpenStack, &out.OpenStack
		*out = new(openstack.MachinePool)
		(*in).DeepCopyInto(*out)
	}
	if in.VSphere != nil {
		in, out := &in.VSphere, &out.VSphere
		*out = new(vsphere.MachinePool)
		**out = **in
	}
	if in.Ovirt != nil {
		in, out := &in.Ovirt, &out.Ovirt
		*out = new(ovirt.MachinePool)
		(*in).DeepCopyInto(*out)
	}
	if in.IBMCloud != nil {
		in, out := &in.IBMCloud, &out.IBMCloud
		*out = new(ibmcloud.MachinePool)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolPlatform.
func (in *MachinePoolPlatform) DeepCopy() *MachinePoolPlatform {
	if in == nil {
		return nil
	}
	out := new(MachinePoolPlatform)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolSpec) DeepCopyInto(out *MachinePoolSpec) {
	*out = *in
	out.ClusterDeploymentRef = in.ClusterDeploymentRef
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int64)
		**out = **in
	}
	if in.Autoscaling != nil {
		in, out := &in.Autoscaling, &out.Autoscaling
		*out = new(MachinePoolAutoscaling)
		**out = **in
	}
	in.Platform.DeepCopyInto(&out.Platform)
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Taints != nil {
		in, out := &in.Taints, &out.Taints
		*out = make([]corev1.Taint, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolSpec.
func (in *MachinePoolSpec) DeepCopy() *MachinePoolSpec {
	if in == nil {
		return nil
	}
	out := new(MachinePoolSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachinePoolStatus) DeepCopyInto(out *MachinePoolStatus) {
	*out = *in
	if in.MachineSets != nil {
		in, out := &in.MachineSets, &out.MachineSets
		*out = make([]MachineSetStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]MachinePoolCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolStatus.
func (in *MachinePoolStatus) DeepCopy() *MachinePoolStatus {
	if in == nil {
		return nil
	}
	out := new(MachinePoolStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MachineSetStatus) DeepCopyInto(out *MachineSetStatus) {
	*out = *in
	if in.ErrorReason != nil {
		in, out := &in.ErrorReason, &out.ErrorReason
		*out = new(string)
		**out = **in
	}
	if in.ErrorMessage != nil {
		in, out := &in.ErrorMessage, &out.ErrorMessage
		*out = new(string)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSetStatus.
func (in *MachineSetStatus) DeepCopy() *MachineSetStatus {
	if in == nil {
		return nil
	}
	out := new(MachineSetStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManageDNSAWSConfig) DeepCopyInto(out *ManageDNSAWSConfig) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageDNSAWSConfig.
func (in *ManageDNSAWSConfig) DeepCopy() *ManageDNSAWSConfig {
	if in == nil {
		return nil
	}
	out := new(ManageDNSAWSConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManageDNSAzureConfig) DeepCopyInto(out *ManageDNSAzureConfig) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageDNSAzureConfig.
func (in *ManageDNSAzureConfig) DeepCopy() *ManageDNSAzureConfig {
	if in == nil {
		return nil
	}
	out := new(ManageDNSAzureConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManageDNSConfig) DeepCopyInto(out *ManageDNSConfig) {
	*out = *in
	if in.Domains != nil {
		in, out := &in.Domains, &out.Domains
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(ManageDNSAWSConfig)
		**out = **in
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(ManageDNSGCPConfig)
		**out = **in
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(ManageDNSAzureConfig)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageDNSConfig.
func (in *ManageDNSConfig) DeepCopy() *ManageDNSConfig {
	if in == nil {
		return nil
	}
	out := new(ManageDNSConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManageDNSGCPConfig) DeepCopyInto(out *ManageDNSGCPConfig) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageDNSGCPConfig.
func (in *ManageDNSGCPConfig) DeepCopy() *ManageDNSGCPConfig {
	if in == nil {
		return nil
	}
	out := new(ManageDNSGCPConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpenStackClusterDeprovision) DeepCopyInto(out *OpenStackClusterDeprovision) {
	*out = *in
	if in.CredentialsSecretRef != nil {
		in, out := &in.CredentialsSecretRef, &out.CredentialsSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.CertificatesSecretRef != nil {
		in, out := &in.CertificatesSecretRef, &out.CertificatesSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackClusterDeprovision.
func (in *OpenStackClusterDeprovision) DeepCopy() *OpenStackClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(OpenStackClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OvirtClusterDeprovision) DeepCopyInto(out *OvirtClusterDeprovision) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	out.CertificatesSecretRef = in.CertificatesSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OvirtClusterDeprovision.
func (in *OvirtClusterDeprovision) DeepCopy() *OvirtClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(OvirtClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Platform) DeepCopyInto(out *Platform) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(aws.Platform)
		(*in).DeepCopyInto(*out)
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(azure.Platform)
		**out = **in
	}
	if in.BareMetal != nil {
		in, out := &in.BareMetal, &out.BareMetal
		*out = new(baremetal.Platform)
		**out = **in
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(gcp.Platform)
		**out = **in
	}
	if in.OpenStack != nil {
		in, out := &in.OpenStack, &out.OpenStack
		*out = new(openstack.Platform)
		(*in).DeepCopyInto(*out)
	}
	if in.VSphere != nil {
		in, out := &in.VSphere, &out.VSphere
		*out = new(vsphere.Platform)
		**out = **in
	}
	if in.Ovirt != nil {
		in, out := &in.Ovirt, &out.Ovirt
		*out = new(ovirt.Platform)
		**out = **in
	}
	if in.AgentBareMetal != nil {
		in, out := &in.AgentBareMetal, &out.AgentBareMetal
		*out = new(agent.BareMetalPlatform)
		(*in).DeepCopyInto(*out)
	}
	if in.IBMCloud != nil {
		in, out := &in.IBMCloud, &out.IBMCloud
		*out = new(ibmcloud.Platform)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Platform.
func (in *Platform) DeepCopy() *Platform {
	if in == nil {
		return nil
	}
	out := new(Platform)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PlatformStatus) DeepCopyInto(out *PlatformStatus) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(aws.PlatformStatus)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformStatus.
func (in *PlatformStatus) DeepCopy() *PlatformStatus {
	if in == nil {
		return nil
	}
	out := new(PlatformStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Provisioning) DeepCopyInto(out *Provisioning) {
	*out = *in
	if in.InstallConfigSecretRef != nil {
		in, out := &in.InstallConfigSecretRef, &out.InstallConfigSecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.ImageSetRef != nil {
		in, out := &in.ImageSetRef, &out.ImageSetRef
		*out = new(ClusterImageSetReference)
		**out = **in
	}
	if in.ManifestsConfigMapRef != nil {
		in, out := &in.ManifestsConfigMapRef, &out.ManifestsConfigMapRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.SSHPrivateKeySecretRef != nil {
		in, out := &in.SSHPrivateKeySecretRef, &out.SSHPrivateKeySecretRef
		*out = new(corev1.LocalObjectReference)
		**out = **in
	}
	if in.SSHKnownHosts != nil {
		in, out := &in.SSHKnownHosts, &out.SSHKnownHosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.InstallerEnv != nil {
		in, out := &in.InstallerEnv, &out.InstallerEnv
		*out = make([]corev1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provisioning.
func (in *Provisioning) DeepCopy() *Provisioning {
	if in == nil {
		return nil
	}
	out := new(Provisioning)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReleaseImageVerificationConfigMapReference) DeepCopyInto(out *ReleaseImageVerificationConfigMapReference) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseImageVerificationConfigMapReference.
func (in *ReleaseImageVerificationConfigMapReference) DeepCopy() *ReleaseImageVerificationConfigMapReference {
	if in == nil {
		return nil
	}
	out := new(ReleaseImageVerificationConfigMapReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecretMapping) DeepCopyInto(out *SecretMapping) {
	*out = *in
	out.SourceRef = in.SourceRef
	out.TargetRef = in.TargetRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretMapping.
func (in *SecretMapping) DeepCopy() *SecretMapping {
	if in == nil {
		return nil
	}
	out := new(SecretMapping)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecretReference) DeepCopyInto(out *SecretReference) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (in *SecretReference) DeepCopy() *SecretReference {
	if in == nil {
		return nil
	}
	out := new(SecretReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelectorSyncIdentityProvider) DeepCopyInto(out *SelectorSyncIdentityProvider) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncIdentityProvider.
func (in *SelectorSyncIdentityProvider) DeepCopy() *SelectorSyncIdentityProvider {
	if in == nil {
		return nil
	}
	out := new(SelectorSyncIdentityProvider)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SelectorSyncIdentityProvider) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelectorSyncIdentityProviderList) DeepCopyInto(out *SelectorSyncIdentityProviderList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]SelectorSyncIdentityProvider, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncIdentityProviderList.
func (in *SelectorSyncIdentityProviderList) DeepCopy() *SelectorSyncIdentityProviderList {
	if in == nil {
		return nil
	}
	out := new(SelectorSyncIdentityProviderList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SelectorSyncIdentityProviderList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelectorSyncIdentityProviderSpec) DeepCopyInto(out *SelectorSyncIdentityProviderSpec) {
	*out = *in
	in.SyncIdentityProviderCommonSpec.DeepCopyInto(&out.SyncIdentityProviderCommonSpec)
	in.ClusterDeploymentSelector.DeepCopyInto(&out.ClusterDeploymentSelector)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncIdentityProviderSpec.
func (in *SelectorSyncIdentityProviderSpec) DeepCopy() *SelectorSyncIdentityProviderSpec {
	if in == nil {
		return nil
	}
	out := new(SelectorSyncIdentityProviderSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelectorSyncSet) DeepCopyInto(out *SelectorSyncSet) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncSet.
func (in *SelectorSyncSet) DeepCopy() *SelectorSyncSet {
	if in == nil {
		return nil
	}
	out := new(SelectorSyncSet)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SelectorSyncSet) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelectorSyncSetList) DeepCopyInto(out *SelectorSyncSetList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]SelectorSyncSet, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncSetList.
func (in *SelectorSyncSetList) DeepCopy() *SelectorSyncSetList {
	if in == nil {
		return nil
	}
	out := new(SelectorSyncSetList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SelectorSyncSetList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelectorSyncSetSpec) DeepCopyInto(out *SelectorSyncSetSpec) {
	*out = *in
	in.SyncSetCommonSpec.DeepCopyInto(&out.SyncSetCommonSpec)
	in.ClusterDeploymentSelector.DeepCopyInto(&out.ClusterDeploymentSelector)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncSetSpec.
func (in *SelectorSyncSetSpec) DeepCopy() *SelectorSyncSetSpec {
	if in == nil {
		return nil
	}
	out := new(SelectorSyncSetSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelectorSyncSetStatus) DeepCopyInto(out *SelectorSyncSetStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncSetStatus.
func (in *SelectorSyncSetStatus) DeepCopy() *SelectorSyncSetStatus {
	if in == nil {
		return nil
	}
	out := new(SelectorSyncSetStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceProviderCredentials) DeepCopyInto(out *ServiceProviderCredentials) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(AWSServiceProviderCredentials)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderCredentials.
func (in *ServiceProviderCredentials) DeepCopy() *ServiceProviderCredentials {
	if in == nil {
		return nil
	}
	out := new(ServiceProviderCredentials)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SpecificControllerConfig) DeepCopyInto(out *SpecificControllerConfig) {
	*out = *in
	in.Config.DeepCopyInto(&out.Config)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecificControllerConfig.
func (in *SpecificControllerConfig) DeepCopy() *SpecificControllerConfig {
	if in == nil {
		return nil
	}
	out := new(SpecificControllerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncCondition) DeepCopyInto(out *SyncCondition) {
	*out = *in
	in.LastProbeTime.DeepCopyInto(&out.LastProbeTime)
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncCondition.
func (in *SyncCondition) DeepCopy() *SyncCondition {
	if in == nil {
		return nil
	}
	out := new(SyncCondition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncIdentityProvider) DeepCopyInto(out *SyncIdentityProvider) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncIdentityProvider.
func (in *SyncIdentityProvider) DeepCopy() *SyncIdentityProvider {
	if in == nil {
		return nil
	}
	out := new(SyncIdentityProvider)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SyncIdentityProvider) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncIdentityProviderCommonSpec) DeepCopyInto(out *SyncIdentityProviderCommonSpec) {
	*out = *in
	if in.IdentityProviders != nil {
		in, out := &in.IdentityProviders, &out.IdentityProviders
		*out = make([]configv1.IdentityProvider, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncIdentityProviderCommonSpec.
func (in *SyncIdentityProviderCommonSpec) DeepCopy() *SyncIdentityProviderCommonSpec {
	if in == nil {
		return nil
	}
	out := new(SyncIdentityProviderCommonSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncIdentityProviderList) DeepCopyInto(out *SyncIdentityProviderList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]SyncIdentityProvider, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncIdentityProviderList.
func (in *SyncIdentityProviderList) DeepCopy() *SyncIdentityProviderList {
	if in == nil {
		return nil
	}
	out := new(SyncIdentityProviderList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SyncIdentityProviderList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncIdentityProviderSpec) DeepCopyInto(out *SyncIdentityProviderSpec) {
	*out = *in
	in.SyncIdentityProviderCommonSpec.DeepCopyInto(&out.SyncIdentityProviderCommonSpec)
	if in.ClusterDeploymentRefs != nil {
		in, out := &in.ClusterDeploymentRefs, &out.ClusterDeploymentRefs
		*out = make([]corev1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncIdentityProviderSpec.
func (in *SyncIdentityProviderSpec) DeepCopy() *SyncIdentityProviderSpec {
	if in == nil {
		return nil
	}
	out := new(SyncIdentityProviderSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncObjectPatch) DeepCopyInto(out *SyncObjectPatch) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncObjectPatch.
func (in *SyncObjectPatch) DeepCopy() *SyncObjectPatch {
	if in == nil {
		return nil
	}
	out := new(SyncObjectPatch)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncSet) DeepCopyInto(out *SyncSet) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSet.
func (in *SyncSet) DeepCopy() *SyncSet {
	if in == nil {
		return nil
	}
	out := new(SyncSet)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SyncSet) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncSetCommonSpec) DeepCopyInto(out *SyncSetCommonSpec) {
	*out = *in
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = make([]runtime.RawExtension, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Patches != nil {
		in, out := &in.Patches, &out.Patches
		*out = make([]SyncObjectPatch, len(*in))
		copy(*out, *in)
	}
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make([]SecretMapping, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSetCommonSpec.
func (in *SyncSetCommonSpec) DeepCopy() *SyncSetCommonSpec {
	if in == nil {
		return nil
	}
	out := new(SyncSetCommonSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncSetList) DeepCopyInto(out *SyncSetList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]SyncSet, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSetList.
func (in *SyncSetList) DeepCopy() *SyncSetList {
	if in == nil {
		return nil
	}
	out := new(SyncSetList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *SyncSetList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncSetObjectStatus) DeepCopyInto(out *SyncSetObjectStatus) {
	*out = *in
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = make([]SyncStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Patches != nil {
		in, out := &in.Patches, &out.Patches
		*out = make([]SyncStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make([]SyncStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]SyncCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSetObjectStatus.
func (in *SyncSetObjectStatus) DeepCopy() *SyncSetObjectStatus {
	if in == nil {
		return nil
	}
	out := new(SyncSetObjectStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncSetSpec) DeepCopyInto(out *SyncSetSpec) {
	*out = *in
	in.SyncSetCommonSpec.DeepCopyInto(&out.SyncSetCommonSpec)
	if in.ClusterDeploymentRefs != nil {
		in, out := &in.ClusterDeploymentRefs, &out.ClusterDeploymentRefs
		*out = make([]corev1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSetSpec.
func (in *SyncSetSpec) DeepCopy() *SyncSetSpec {
	if in == nil {
		return nil
	}
	out := new(SyncSetSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncSetStatus) DeepCopyInto(out *SyncSetStatus) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSetStatus.
func (in *SyncSetStatus) DeepCopy() *SyncSetStatus {
	if in == nil {
		return nil
	}
	out := new(SyncSetStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncStatus) DeepCopyInto(out *SyncStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]SyncCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncStatus.
func (in *SyncStatus) DeepCopy() *SyncStatus {
	if in == nil {
		return nil
	}
	out := new(SyncStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VSphereClusterDeprovision) DeepCopyInto(out *VSphereClusterDeprovision) {
	*out = *in
	out.CredentialsSecretRef = in.CredentialsSecretRef
	out.CertificatesSecretRef = in.CertificatesSecretRef
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterDeprovision.
func (in *VSphereClusterDeprovision) DeepCopy() *VSphereClusterDeprovision {
	if in == nil {
		return nil
	}
	out := new(VSphereClusterDeprovision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VeleroBackupConfig) DeepCopyInto(out *VeleroBackupConfig) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VeleroBackupConfig.
func (in *VeleroBackupConfig) DeepCopy() *VeleroBackupConfig {
	if in == nil {
		return nil
	}
	out := new(VeleroBackupConfig)
	in.DeepCopyInto(out)
	return out
}
