func (in *CORS) DeepCopy() *CORS {
	if in == nil {
		return nil
	}
	out := new(CORS)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CORS.
package v1alpha3
import (
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *ACLRule) DeepCopyInto(out *ACLRule) {
	*out = *in
	if in.ProjectTeam != nil {
		in, out := &in.ProjectTeam, &out.ProjectTeam
		*out = new(ProjectTeam)
		**out = **in
	}
}
func (in *ACLRule) DeepCopy() *ACLRule {
	if in == nil {
		return nil
	}
	out := new(ACLRule)
	in.DeepCopyInto(out)
	return out
}
func (in *Bucket) DeepCopyInto(out *Bucket) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *Bucket) DeepCopy() *Bucket {
	if in == nil {
		return nil
	}
	out := new(Bucket)
	in.DeepCopyInto(out)
	return out
}
func (in *Bucket) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *BucketEncryption) DeepCopyInto(out *BucketEncryption) {
	*out = *in
}
func (in *BucketEncryption) DeepCopy() *BucketEncryption {
	if in == nil {
		return nil
	}
	out := new(BucketEncryption)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketList) DeepCopyInto(out *BucketList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Bucket, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *BucketList) DeepCopy() *BucketList {
	if in == nil {
		return nil
	}
	out := new(BucketList)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *BucketLogging) DeepCopyInto(out *BucketLogging) {
	*out = *in
}
func (in *BucketLogging) DeepCopy() *BucketLogging {
	if in == nil {
		return nil
	}
	out := new(BucketLogging)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketOutputAttrs) DeepCopyInto(out *BucketOutputAttrs) {
	*out = *in
	if in.BucketPolicyOnly != nil {
		in, out := &in.BucketPolicyOnly, &out.BucketPolicyOnly
		*out = new(BucketPolicyOnly)
		(*in).DeepCopyInto(*out)
	}
	if in.Created != nil {
		in, out := &in.Created, &out.Created
		*out = (*in).DeepCopy()
	}
	if in.RetentionPolicy != nil {
		in, out := &in.RetentionPolicy, &out.RetentionPolicy
		*out = new(RetentionPolicyStatus)
		(*in).DeepCopyInto(*out)
	}
}
func (in *BucketOutputAttrs) DeepCopy() *BucketOutputAttrs {
	if in == nil {
		return nil
	}
	out := new(BucketOutputAttrs)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketParameters) DeepCopyInto(out *BucketParameters) {
	*out = *in
	in.BucketSpecAttrs.DeepCopyInto(&out.BucketSpecAttrs)
}
func (in *BucketParameters) DeepCopy() *BucketParameters {
	if in == nil {
		return nil
	}
	out := new(BucketParameters)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketPolicyOnly) DeepCopyInto(out *BucketPolicyOnly) {
	*out = *in
	in.LockedTime.DeepCopyInto(&out.LockedTime)
}
func (in *BucketPolicyOnly) DeepCopy() *BucketPolicyOnly {
	if in == nil {
		return nil
	}
	out := new(BucketPolicyOnly)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketSpec) DeepCopyInto(out *BucketSpec) {
	*out = *in
	in.ResourceSpec.DeepCopyInto(&out.ResourceSpec)
	in.BucketParameters.DeepCopyInto(&out.BucketParameters)
}
func (in *BucketSpec) DeepCopy() *BucketSpec {
	if in == nil {
		return nil
	}
	out := new(BucketSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketSpecAttrs) DeepCopyInto(out *BucketSpecAttrs) {
	*out = *in
	in.BucketUpdatableAttrs.DeepCopyInto(&out.BucketUpdatableAttrs)
	if in.ACL != nil {
		in, out := &in.ACL, &out.ACL
		*out = make([]ACLRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.DefaultObjectACL != nil {
		in, out := &in.DefaultObjectACL, &out.DefaultObjectACL
		*out = make([]ACLRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *BucketSpecAttrs) DeepCopy() *BucketSpecAttrs {
	if in == nil {
		return nil
	}
	out := new(BucketSpecAttrs)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketStatus) DeepCopyInto(out *BucketStatus) {
	*out = *in
	in.ResourceStatus.DeepCopyInto(&out.ResourceStatus)
	in.BucketOutputAttrs.DeepCopyInto(&out.BucketOutputAttrs)
}
func (in *BucketStatus) DeepCopy() *BucketStatus {
	if in == nil {
		return nil
	}
	out := new(BucketStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketUpdatableAttrs) DeepCopyInto(out *BucketUpdatableAttrs) {
	*out = *in
	if in.BucketPolicyOnly != nil {
		in, out := &in.BucketPolicyOnly, &out.BucketPolicyOnly
		*out = new(BucketPolicyOnly)
		(*in).DeepCopyInto(*out)
	}
	if in.CORS != nil {
		in, out := &in.CORS, &out.CORS
		*out = make([]CORS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(BucketEncryption)
		**out = **in
	}
	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
		}
	}
	in.Lifecycle.DeepCopyInto(&out.Lifecycle)
	if in.Logging != nil {
		in, out := &in.Logging, &out.Logging
		*out = new(BucketLogging)
		**out = **in
	}
	if in.RetentionPolicy != nil {
		in, out := &in.RetentionPolicy, &out.RetentionPolicy
		*out = new(RetentionPolicy)
		**out = **in
	}
	if in.Website != nil {
		in, out := &in.Website, &out.Website
		*out = new(BucketWebsite)
		**out = **in
	}
}
func (in *BucketUpdatableAttrs) DeepCopy() *BucketUpdatableAttrs {
	if in == nil {
		return nil
	}
	out := new(BucketUpdatableAttrs)
	in.DeepCopyInto(out)
	return out
}
func (in *BucketWebsite) DeepCopyInto(out *BucketWebsite) {
	*out = *in
}
func (in *BucketWebsite) DeepCopy() *BucketWebsite {
	if in == nil {
		return nil
	}
	out := new(BucketWebsite)
	in.DeepCopyInto(out)
	return out
}
func (in *CORS) DeepCopyInto(out *CORS) {
	*out = *in
	out.MaxAge = in.MaxAge
	if in.Methods != nil {
		in, out := &in.Methods, &out.Methods
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Origins != nil {
		in, out := &in.Origins, &out.Origins
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ResponseHeaders != nil {
		in, out := &in.ResponseHeaders, &out.ResponseHeaders
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}