//go:build !ignore_autogenerated

// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"). You may
// not use this file except in compliance with the License. A copy of the
// License is located at
//
//     http://aws.amazon.com/apache2.0/
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.

// Code generated by ack-generate. DO NOT EDIT.

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

package v1alpha1

import (
	corev1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1"
	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 *AbortIncompleteMultipartUpload) DeepCopyInto(out *AbortIncompleteMultipartUpload) {
	*out = *in
	if in.DaysAfterInitiation != nil {
		in, out := &in.DaysAfterInitiation, &out.DaysAfterInitiation
		*out = new(int64)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalyticsAndOperator) DeepCopyInto(out *AnalyticsAndOperator) {
	*out = *in
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make([]*Tag, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Tag)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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)
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Bucket) 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 *BucketLifecycleConfiguration) DeepCopyInto(out *BucketLifecycleConfiguration) {
	*out = *in
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]*LifecycleRule, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(LifecycleRule)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *BucketList) 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 *BucketLoggingStatus) DeepCopyInto(out *BucketLoggingStatus) {
	*out = *in
	if in.LoggingEnabled != nil {
		in, out := &in.LoggingEnabled, &out.LoggingEnabled
		*out = new(LoggingEnabled)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BucketSpec) DeepCopyInto(out *BucketSpec) {
	*out = *in
	if in.ACL != nil {
		in, out := &in.ACL, &out.ACL
		*out = new(string)
		**out = **in
	}
	if in.Accelerate != nil {
		in, out := &in.Accelerate, &out.Accelerate
		*out = new(AccelerateConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.Analytics != nil {
		in, out := &in.Analytics, &out.Analytics
		*out = make([]*AnalyticsConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(AnalyticsConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.CORS != nil {
		in, out := &in.CORS, &out.CORS
		*out = new(CORSConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.CreateBucketConfiguration != nil {
		in, out := &in.CreateBucketConfiguration, &out.CreateBucketConfiguration
		*out = new(CreateBucketConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(ServerSideEncryptionConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.GrantFullControl != nil {
		in, out := &in.GrantFullControl, &out.GrantFullControl
		*out = new(string)
		**out = **in
	}
	if in.GrantRead != nil {
		in, out := &in.GrantRead, &out.GrantRead
		*out = new(string)
		**out = **in
	}
	if in.GrantReadACP != nil {
		in, out := &in.GrantReadACP, &out.GrantReadACP
		*out = new(string)
		**out = **in
	}
	if in.GrantWrite != nil {
		in, out := &in.GrantWrite, &out.GrantWrite
		*out = new(string)
		**out = **in
	}
	if in.GrantWriteACP != nil {
		in, out := &in.GrantWriteACP, &out.GrantWriteACP
		*out = new(string)
		**out = **in
	}
	if in.IntelligentTiering != nil {
		in, out := &in.IntelligentTiering, &out.IntelligentTiering
		*out = make([]*IntelligentTieringConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(IntelligentTieringConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Inventory != nil {
		in, out := &in.Inventory, &out.Inventory
		*out = make([]*InventoryConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(InventoryConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Lifecycle != nil {
		in, out := &in.Lifecycle, &out.Lifecycle
		*out = new(BucketLifecycleConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.Logging != nil {
		in, out := &in.Logging, &out.Logging
		*out = new(BucketLoggingStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = make([]*MetricsConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(MetricsConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Notification != nil {
		in, out := &in.Notification, &out.Notification
		*out = new(NotificationConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.ObjectLockEnabledForBucket != nil {
		in, out := &in.ObjectLockEnabledForBucket, &out.ObjectLockEnabledForBucket
		*out = new(bool)
		**out = **in
	}
	if in.ObjectOwnership != nil {
		in, out := &in.ObjectOwnership, &out.ObjectOwnership
		*out = new(string)
		**out = **in
	}
	if in.OwnershipControls != nil {
		in, out := &in.OwnershipControls, &out.OwnershipControls
		*out = new(OwnershipControls)
		(*in).DeepCopyInto(*out)
	}
	if in.Policy != nil {
		in, out := &in.Policy, &out.Policy
		*out = new(string)
		**out = **in
	}
	if in.PublicAccessBlock != nil {
		in, out := &in.PublicAccessBlock, &out.PublicAccessBlock
		*out = new(PublicAccessBlockConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.Replication != nil {
		in, out := &in.Replication, &out.Replication
		*out = new(ReplicationConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.RequestPayment != nil {
		in, out := &in.RequestPayment, &out.RequestPayment
		*out = new(RequestPaymentConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.Tagging != nil {
		in, out := &in.Tagging, &out.Tagging
		*out = new(Tagging)
		(*in).DeepCopyInto(*out)
	}
	if in.Versioning != nil {
		in, out := &in.Versioning, &out.Versioning
		*out = new(VersioningConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.Website != nil {
		in, out := &in.Website, &out.Website
		*out = new(WebsiteConfiguration)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BucketStatus) DeepCopyInto(out *BucketStatus) {
	*out = *in
	if in.ACKResourceMetadata != nil {
		in, out := &in.ACKResourceMetadata, &out.ACKResourceMetadata
		*out = new(corev1alpha1.ResourceMetadata)
		(*in).DeepCopyInto(*out)
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]*corev1alpha1.Condition, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(corev1alpha1.Condition)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CORSRule) DeepCopyInto(out *CORSRule) {
	*out = *in
	if in.AllowedHeaders != nil {
		in, out := &in.AllowedHeaders, &out.AllowedHeaders
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.AllowedMethods != nil {
		in, out := &in.AllowedMethods, &out.AllowedMethods
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.AllowedOrigins != nil {
		in, out := &in.AllowedOrigins, &out.AllowedOrigins
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.ExposeHeaders != nil {
		in, out := &in.ExposeHeaders, &out.ExposeHeaders
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.MaxAgeSeconds != nil {
		in, out := &in.MaxAgeSeconds, &out.MaxAgeSeconds
		*out = new(int64)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Destination) DeepCopyInto(out *Destination) {
	*out = *in
	if in.AccessControlTranslation != nil {
		in, out := &in.AccessControlTranslation, &out.AccessControlTranslation
		*out = new(AccessControlTranslation)
		(*in).DeepCopyInto(*out)
	}
	if in.Account != nil {
		in, out := &in.Account, &out.Account
		*out = new(string)
		**out = **in
	}
	if in.Bucket != nil {
		in, out := &in.Bucket, &out.Bucket
		*out = new(string)
		**out = **in
	}
	if in.EncryptionConfiguration != nil {
		in, out := &in.EncryptionConfiguration, &out.EncryptionConfiguration
		*out = new(EncryptionConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = new(Metrics)
		(*in).DeepCopyInto(*out)
	}
	if in.ReplicationTime != nil {
		in, out := &in.ReplicationTime, &out.ReplicationTime
		*out = new(ReplicationTime)
		(*in).DeepCopyInto(*out)
	}
	if in.StorageClass != nil {
		in, out := &in.StorageClass, &out.StorageClass
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Grantee) DeepCopyInto(out *Grantee) {
	*out = *in
	if in.DisplayName != nil {
		in, out := &in.DisplayName, &out.DisplayName
		*out = new(string)
		**out = **in
	}
	if in.EmailAddress != nil {
		in, out := &in.EmailAddress, &out.EmailAddress
		*out = new(string)
		**out = **in
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(string)
		**out = **in
	}
	if in.URI != nil {
		in, out := &in.URI, &out.URI
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IntelligentTieringAndOperator) DeepCopyInto(out *IntelligentTieringAndOperator) {
	*out = *in
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make([]*Tag, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Tag)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IntelligentTieringConfiguration) DeepCopyInto(out *IntelligentTieringConfiguration) {
	*out = *in
	if in.Filter != nil {
		in, out := &in.Filter, &out.Filter
		*out = new(IntelligentTieringFilter)
		(*in).DeepCopyInto(*out)
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.Status != nil {
		in, out := &in.Status, &out.Status
		*out = new(string)
		**out = **in
	}
	if in.Tierings != nil {
		in, out := &in.Tierings, &out.Tierings
		*out = make([]*Tiering, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Tiering)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InventoryConfiguration) DeepCopyInto(out *InventoryConfiguration) {
	*out = *in
	if in.Destination != nil {
		in, out := &in.Destination, &out.Destination
		*out = new(InventoryDestination)
		(*in).DeepCopyInto(*out)
	}
	if in.Filter != nil {
		in, out := &in.Filter, &out.Filter
		*out = new(InventoryFilter)
		(*in).DeepCopyInto(*out)
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.IncludedObjectVersions != nil {
		in, out := &in.IncludedObjectVersions, &out.IncludedObjectVersions
		*out = new(string)
		**out = **in
	}
	if in.IsEnabled != nil {
		in, out := &in.IsEnabled, &out.IsEnabled
		*out = new(bool)
		**out = **in
	}
	if in.OptionalFields != nil {
		in, out := &in.OptionalFields, &out.OptionalFields
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.Schedule != nil {
		in, out := &in.Schedule, &out.Schedule
		*out = new(InventorySchedule)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InventoryS3BucketDestination) DeepCopyInto(out *InventoryS3BucketDestination) {
	*out = *in
	if in.AccountID != nil {
		in, out := &in.AccountID, &out.AccountID
		*out = new(string)
		**out = **in
	}
	if in.Bucket != nil {
		in, out := &in.Bucket, &out.Bucket
		*out = new(string)
		**out = **in
	}
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(InventoryEncryption)
		(*in).DeepCopyInto(*out)
	}
	if in.Format != nil {
		in, out := &in.Format, &out.Format
		*out = new(string)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LambdaFunctionConfiguration) DeepCopyInto(out *LambdaFunctionConfiguration) {
	*out = *in
	if in.Events != nil {
		in, out := &in.Events, &out.Events
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.Filter != nil {
		in, out := &in.Filter, &out.Filter
		*out = new(NotificationConfigurationFilter)
		(*in).DeepCopyInto(*out)
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.LambdaFunctionARN != nil {
		in, out := &in.LambdaFunctionARN, &out.LambdaFunctionARN
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LifecycleExpiration) DeepCopyInto(out *LifecycleExpiration) {
	*out = *in
	if in.Date != nil {
		in, out := &in.Date, &out.Date
		*out = (*in).DeepCopy()
	}
	if in.Days != nil {
		in, out := &in.Days, &out.Days
		*out = new(int64)
		**out = **in
	}
	if in.ExpiredObjectDeleteMarker != nil {
		in, out := &in.ExpiredObjectDeleteMarker, &out.ExpiredObjectDeleteMarker
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LifecycleRule) DeepCopyInto(out *LifecycleRule) {
	*out = *in
	if in.AbortIncompleteMultipartUpload != nil {
		in, out := &in.AbortIncompleteMultipartUpload, &out.AbortIncompleteMultipartUpload
		*out = new(AbortIncompleteMultipartUpload)
		(*in).DeepCopyInto(*out)
	}
	if in.Expiration != nil {
		in, out := &in.Expiration, &out.Expiration
		*out = new(LifecycleExpiration)
		(*in).DeepCopyInto(*out)
	}
	if in.Filter != nil {
		in, out := &in.Filter, &out.Filter
		*out = new(LifecycleRuleFilter)
		(*in).DeepCopyInto(*out)
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.NoncurrentVersionExpiration != nil {
		in, out := &in.NoncurrentVersionExpiration, &out.NoncurrentVersionExpiration
		*out = new(NoncurrentVersionExpiration)
		(*in).DeepCopyInto(*out)
	}
	if in.NoncurrentVersionTransitions != nil {
		in, out := &in.NoncurrentVersionTransitions, &out.NoncurrentVersionTransitions
		*out = make([]*NoncurrentVersionTransition, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(NoncurrentVersionTransition)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Status != nil {
		in, out := &in.Status, &out.Status
		*out = new(string)
		**out = **in
	}
	if in.Transitions != nil {
		in, out := &in.Transitions, &out.Transitions
		*out = make([]*Transition, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Transition)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LifecycleRuleAndOperator) DeepCopyInto(out *LifecycleRuleAndOperator) {
	*out = *in
	if in.ObjectSizeGreaterThan != nil {
		in, out := &in.ObjectSizeGreaterThan, &out.ObjectSizeGreaterThan
		*out = new(int64)
		**out = **in
	}
	if in.ObjectSizeLessThan != nil {
		in, out := &in.ObjectSizeLessThan, &out.ObjectSizeLessThan
		*out = new(int64)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make([]*Tag, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Tag)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LifecycleRuleFilter) DeepCopyInto(out *LifecycleRuleFilter) {
	*out = *in
	if in.And != nil {
		in, out := &in.And, &out.And
		*out = new(LifecycleRuleAndOperator)
		(*in).DeepCopyInto(*out)
	}
	if in.ObjectSizeGreaterThan != nil {
		in, out := &in.ObjectSizeGreaterThan, &out.ObjectSizeGreaterThan
		*out = new(int64)
		**out = **in
	}
	if in.ObjectSizeLessThan != nil {
		in, out := &in.ObjectSizeLessThan, &out.ObjectSizeLessThan
		*out = new(int64)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Tag != nil {
		in, out := &in.Tag, &out.Tag
		*out = new(Tag)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LoggingEnabled) DeepCopyInto(out *LoggingEnabled) {
	*out = *in
	if in.TargetBucket != nil {
		in, out := &in.TargetBucket, &out.TargetBucket
		*out = new(string)
		**out = **in
	}
	if in.TargetGrants != nil {
		in, out := &in.TargetGrants, &out.TargetGrants
		*out = make([]*TargetGrant, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(TargetGrant)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.TargetPrefix != nil {
		in, out := &in.TargetPrefix, &out.TargetPrefix
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MetricsAndOperator) DeepCopyInto(out *MetricsAndOperator) {
	*out = *in
	if in.AccessPointARN != nil {
		in, out := &in.AccessPointARN, &out.AccessPointARN
		*out = new(string)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make([]*Tag, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Tag)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MetricsFilter) DeepCopyInto(out *MetricsFilter) {
	*out = *in
	if in.AccessPointARN != nil {
		in, out := &in.AccessPointARN, &out.AccessPointARN
		*out = new(string)
		**out = **in
	}
	if in.And != nil {
		in, out := &in.And, &out.And
		*out = new(MetricsAndOperator)
		(*in).DeepCopyInto(*out)
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Tag != nil {
		in, out := &in.Tag, &out.Tag
		*out = new(Tag)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NotificationConfiguration) DeepCopyInto(out *NotificationConfiguration) {
	*out = *in
	if in.LambdaFunctionConfigurations != nil {
		in, out := &in.LambdaFunctionConfigurations, &out.LambdaFunctionConfigurations
		*out = make([]*LambdaFunctionConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(LambdaFunctionConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.QueueConfigurations != nil {
		in, out := &in.QueueConfigurations, &out.QueueConfigurations
		*out = make([]*QueueConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(QueueConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.TopicConfigurations != nil {
		in, out := &in.TopicConfigurations, &out.TopicConfigurations
		*out = make([]*TopicConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(TopicConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PublicAccessBlockConfiguration) DeepCopyInto(out *PublicAccessBlockConfiguration) {
	*out = *in
	if in.BlockPublicACLs != nil {
		in, out := &in.BlockPublicACLs, &out.BlockPublicACLs
		*out = new(bool)
		**out = **in
	}
	if in.BlockPublicPolicy != nil {
		in, out := &in.BlockPublicPolicy, &out.BlockPublicPolicy
		*out = new(bool)
		**out = **in
	}
	if in.IgnorePublicACLs != nil {
		in, out := &in.IgnorePublicACLs, &out.IgnorePublicACLs
		*out = new(bool)
		**out = **in
	}
	if in.RestrictPublicBuckets != nil {
		in, out := &in.RestrictPublicBuckets, &out.RestrictPublicBuckets
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *QueueConfiguration) DeepCopyInto(out *QueueConfiguration) {
	*out = *in
	if in.Events != nil {
		in, out := &in.Events, &out.Events
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.Filter != nil {
		in, out := &in.Filter, &out.Filter
		*out = new(NotificationConfigurationFilter)
		(*in).DeepCopyInto(*out)
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.QueueARN != nil {
		in, out := &in.QueueARN, &out.QueueARN
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Redirect) DeepCopyInto(out *Redirect) {
	*out = *in
	if in.HostName != nil {
		in, out := &in.HostName, &out.HostName
		*out = new(string)
		**out = **in
	}
	if in.HTTPRedirectCode != nil {
		in, out := &in.HTTPRedirectCode, &out.HTTPRedirectCode
		*out = new(string)
		**out = **in
	}
	if in.Protocol != nil {
		in, out := &in.Protocol, &out.Protocol
		*out = new(string)
		**out = **in
	}
	if in.ReplaceKeyPrefixWith != nil {
		in, out := &in.ReplaceKeyPrefixWith, &out.ReplaceKeyPrefixWith
		*out = new(string)
		**out = **in
	}
	if in.ReplaceKeyWith != nil {
		in, out := &in.ReplaceKeyWith, &out.ReplaceKeyWith
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReplicationConfiguration) DeepCopyInto(out *ReplicationConfiguration) {
	*out = *in
	if in.Role != nil {
		in, out := &in.Role, &out.Role
		*out = new(string)
		**out = **in
	}
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]*ReplicationRule, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(ReplicationRule)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReplicationRule) DeepCopyInto(out *ReplicationRule) {
	*out = *in
	if in.DeleteMarkerReplication != nil {
		in, out := &in.DeleteMarkerReplication, &out.DeleteMarkerReplication
		*out = new(DeleteMarkerReplication)
		(*in).DeepCopyInto(*out)
	}
	if in.Destination != nil {
		in, out := &in.Destination, &out.Destination
		*out = new(Destination)
		(*in).DeepCopyInto(*out)
	}
	if in.ExistingObjectReplication != nil {
		in, out := &in.ExistingObjectReplication, &out.ExistingObjectReplication
		*out = new(ExistingObjectReplication)
		(*in).DeepCopyInto(*out)
	}
	if in.Filter != nil {
		in, out := &in.Filter, &out.Filter
		*out = new(ReplicationRuleFilter)
		(*in).DeepCopyInto(*out)
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Priority != nil {
		in, out := &in.Priority, &out.Priority
		*out = new(int64)
		**out = **in
	}
	if in.SourceSelectionCriteria != nil {
		in, out := &in.SourceSelectionCriteria, &out.SourceSelectionCriteria
		*out = new(SourceSelectionCriteria)
		(*in).DeepCopyInto(*out)
	}
	if in.Status != nil {
		in, out := &in.Status, &out.Status
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReplicationRuleAndOperator) DeepCopyInto(out *ReplicationRuleAndOperator) {
	*out = *in
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make([]*Tag, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Tag)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServerSideEncryptionRule) DeepCopyInto(out *ServerSideEncryptionRule) {
	*out = *in
	if in.ApplyServerSideEncryptionByDefault != nil {
		in, out := &in.ApplyServerSideEncryptionByDefault, &out.ApplyServerSideEncryptionByDefault
		*out = new(ServerSideEncryptionByDefault)
		(*in).DeepCopyInto(*out)
	}
	if in.BucketKeyEnabled != nil {
		in, out := &in.BucketKeyEnabled, &out.BucketKeyEnabled
		*out = new(bool)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TopicConfiguration) DeepCopyInto(out *TopicConfiguration) {
	*out = *in
	if in.Events != nil {
		in, out := &in.Events, &out.Events
		*out = make([]*string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(string)
				**out = **in
			}
		}
	}
	if in.Filter != nil {
		in, out := &in.Filter, &out.Filter
		*out = new(NotificationConfigurationFilter)
		(*in).DeepCopyInto(*out)
	}
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.TopicARN != nil {
		in, out := &in.TopicARN, &out.TopicARN
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Transition) DeepCopyInto(out *Transition) {
	*out = *in
	if in.Date != nil {
		in, out := &in.Date, &out.Date
		*out = (*in).DeepCopy()
	}
	if in.Days != nil {
		in, out := &in.Days, &out.Days
		*out = new(int64)
		**out = **in
	}
	if in.StorageClass != nil {
		in, out := &in.StorageClass, &out.StorageClass
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WebsiteConfiguration) DeepCopyInto(out *WebsiteConfiguration) {
	*out = *in
	if in.ErrorDocument != nil {
		in, out := &in.ErrorDocument, &out.ErrorDocument
		*out = new(ErrorDocument)
		(*in).DeepCopyInto(*out)
	}
	if in.IndexDocument != nil {
		in, out := &in.IndexDocument, &out.IndexDocument
		*out = new(IndexDocument)
		(*in).DeepCopyInto(*out)
	}
	if in.RedirectAllRequestsTo != nil {
		in, out := &in.RedirectAllRequestsTo, &out.RedirectAllRequestsTo
		*out = new(RedirectAllRequestsTo)
		(*in).DeepCopyInto(*out)
	}
	if in.RoutingRules != nil {
		in, out := &in.RoutingRules, &out.RoutingRules
		*out = make([]*RoutingRule, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(RoutingRule)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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