func (in *ServiceAccountKeyList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
package v1alpha1
import (
	"github.com/crossplane/crossplane-runtime/apis/common/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *AuditConfig) DeepCopyInto(out *AuditConfig) {
	*out = *in
	if in.AuditLogConfigs != nil {
		in, out := &in.AuditLogConfigs, &out.AuditLogConfigs
		*out = make([]*AuditLogConfig, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(AuditLogConfig)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}
func (in *AuditConfig) DeepCopy() *AuditConfig {
	if in == nil {
		return nil
	}
	out := new(AuditConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *AuditLogConfig) DeepCopyInto(out *AuditLogConfig) {
	*out = *in
	if in.ExemptedMembers != nil {
		in, out := &in.ExemptedMembers, &out.ExemptedMembers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *AuditLogConfig) DeepCopy() *AuditLogConfig {
	if in == nil {
		return nil
	}
	out := new(AuditLogConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *Binding) DeepCopyInto(out *Binding) {
	*out = *in
	if in.Condition != nil {
		in, out := &in.Condition, &out.Condition
		*out = new(Expr)
		(*in).DeepCopyInto(*out)
	}
	if in.Members != nil {
		in, out := &in.Members, &out.Members
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ServiceAccountMemberRefs != nil {
		in, out := &in.ServiceAccountMemberRefs, &out.ServiceAccountMemberRefs
		*out = make([]v1.Reference, len(*in))
		copy(*out, *in)
	}
	if in.ServiceAccountMemberSelector != nil {
		in, out := &in.ServiceAccountMemberSelector, &out.ServiceAccountMemberSelector
		*out = new(v1.Selector)
		(*in).DeepCopyInto(*out)
	}
}
func (in *Binding) DeepCopy() *Binding {
	if in == nil {
		return nil
	}
	out := new(Binding)
	in.DeepCopyInto(out)
	return out
}
func (in *Expr) DeepCopyInto(out *Expr) {
	*out = *in
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.Title != nil {
		in, out := &in.Title, &out.Title
		*out = new(string)
		**out = **in
	}
}
func (in *Expr) DeepCopy() *Expr {
	if in == nil {
		return nil
	}
	out := new(Expr)
	in.DeepCopyInto(out)
	return out
}
func (in *Policy) DeepCopyInto(out *Policy) {
	*out = *in
	if in.AuditConfigs != nil {
		in, out := &in.AuditConfigs, &out.AuditConfigs
		*out = make([]*AuditConfig, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(AuditConfig)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Bindings != nil {
		in, out := &in.Bindings, &out.Bindings
		*out = make([]*Binding, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Binding)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}
func (in *Policy) DeepCopy() *Policy {
	if in == nil {
		return nil
	}
	out := new(Policy)
	in.DeepCopyInto(out)
	return out
}
func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ServiceAccount) DeepCopy() *ServiceAccount {
	if in == nil {
		return nil
	}
	out := new(ServiceAccount)
	in.DeepCopyInto(out)
	return out
}
func (in *ServiceAccount) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ServiceAccountKey) DeepCopyInto(out *ServiceAccountKey) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ServiceAccountKey) DeepCopy() *ServiceAccountKey {
	if in == nil {
		return nil
	}
	out := new(ServiceAccountKey)
	in.DeepCopyInto(out)
	return out
}
func (in *ServiceAccountKey) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ServiceAccountKeyList) DeepCopyInto(out *ServiceAccountKeyList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ServiceAccountKey, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ServiceAccountKeyList) DeepCopy() *ServiceAccountKeyList {
	if in == nil {
		return nil
	}
	out := new(ServiceAccountKeyList)
	in.DeepCopyInto(out)
	return out
}