func (in *KMSKeyRingSpec) DeepCopy() *KMSKeyRingSpec {
	if in == nil {
		return nil
	}
	out := new(KMSKeyRingSpec)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSKeyRingSpec.
package v1beta1
import (
	v1alpha1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *CryptokeyVersionTemplate) DeepCopyInto(out *CryptokeyVersionTemplate) {
	*out = *in
	if in.ProtectionLevel != nil {
		in, out := &in.ProtectionLevel, &out.ProtectionLevel
		*out = new(string)
		**out = **in
	}
	return
}
func (in *CryptokeyVersionTemplate) DeepCopy() *CryptokeyVersionTemplate {
	if in == nil {
		return nil
	}
	out := new(CryptokeyVersionTemplate)
	in.DeepCopyInto(out)
	return out
}
func (in *KMSCryptoKey) DeepCopyInto(out *KMSCryptoKey) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *KMSCryptoKey) DeepCopy() *KMSCryptoKey {
	if in == nil {
		return nil
	}
	out := new(KMSCryptoKey)
	in.DeepCopyInto(out)
	return out
}
func (in *KMSCryptoKey) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *KMSCryptoKeyList) DeepCopyInto(out *KMSCryptoKeyList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]KMSCryptoKey, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *KMSCryptoKeyList) DeepCopy() *KMSCryptoKeyList {
	if in == nil {
		return nil
	}
	out := new(KMSCryptoKeyList)
	in.DeepCopyInto(out)
	return out
}
func (in *KMSCryptoKeyList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *KMSCryptoKeySpec) DeepCopyInto(out *KMSCryptoKeySpec) {
	*out = *in
	if in.DestroyScheduledDuration != nil {
		in, out := &in.DestroyScheduledDuration, &out.DestroyScheduledDuration
		*out = new(string)
		**out = **in
	}
	if in.ImportOnly != nil {
		in, out := &in.ImportOnly, &out.ImportOnly
		*out = new(bool)
		**out = **in
	}
	out.KeyRingRef = in.KeyRingRef
	if in.Purpose != nil {
		in, out := &in.Purpose, &out.Purpose
		*out = new(string)
		**out = **in
	}
	if in.ResourceID != nil {
		in, out := &in.ResourceID, &out.ResourceID
		*out = new(string)
		**out = **in
	}
	if in.RotationPeriod != nil {
		in, out := &in.RotationPeriod, &out.RotationPeriod
		*out = new(string)
		**out = **in
	}
	if in.SkipInitialVersionCreation != nil {
		in, out := &in.SkipInitialVersionCreation, &out.SkipInitialVersionCreation
		*out = new(bool)
		**out = **in
	}
	if in.VersionTemplate != nil {
		in, out := &in.VersionTemplate, &out.VersionTemplate
		*out = new(CryptokeyVersionTemplate)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *KMSCryptoKeySpec) DeepCopy() *KMSCryptoKeySpec {
	if in == nil {
		return nil
	}
	out := new(KMSCryptoKeySpec)
	in.DeepCopyInto(out)
	return out
}
func (in *KMSCryptoKeyStatus) DeepCopyInto(out *KMSCryptoKeyStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1alpha1.Condition, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *KMSCryptoKeyStatus) DeepCopy() *KMSCryptoKeyStatus {
	if in == nil {
		return nil
	}
	out := new(KMSCryptoKeyStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *KMSKeyRing) DeepCopyInto(out *KMSKeyRing) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *KMSKeyRing) DeepCopy() *KMSKeyRing {
	if in == nil {
		return nil
	}
	out := new(KMSKeyRing)
	in.DeepCopyInto(out)
	return out
}
func (in *KMSKeyRing) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *KMSKeyRingList) DeepCopyInto(out *KMSKeyRingList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]KMSKeyRing, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *KMSKeyRingList) DeepCopy() *KMSKeyRingList {
	if in == nil {
		return nil
	}
	out := new(KMSKeyRingList)
	in.DeepCopyInto(out)
	return out
}
func (in *KMSKeyRingList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *KMSKeyRingSpec) DeepCopyInto(out *KMSKeyRingSpec) {
	*out = *in
	if in.ResourceID != nil {
		in, out := &in.ResourceID, &out.ResourceID
		*out = new(string)
		**out = **in
	}
	return
}