//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 *AccessDetail) DeepCopyInto(out *AccessDetail) {
	*out = *in
	if in.LastAuthenticatedTime != nil {
		in, out := &in.LastAuthenticatedTime, &out.LastAuthenticatedTime
		*out = (*in).DeepCopy()
	}
	if in.Region != nil {
		in, out := &in.Region, &out.Region
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Group) DeepCopyInto(out *Group) {
	*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 Group.
func (in *Group) DeepCopy() *Group {
	if in == nil {
		return nil
	}
	out := new(Group)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Group) 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 *GroupDetail) DeepCopyInto(out *GroupDetail) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.GroupID != nil {
		in, out := &in.GroupID, &out.GroupID
		*out = new(string)
		**out = **in
	}
	if in.GroupName != nil {
		in, out := &in.GroupName, &out.GroupName
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GroupList) 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 *GroupSpec) DeepCopyInto(out *GroupSpec) {
	*out = *in
	if in.InlinePolicies != nil {
		in, out := &in.InlinePolicies, &out.InlinePolicies
		*out = make(map[string]*string, len(*in))
		for key, val := range *in {
			var outVal *string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = new(string)
				**out = **in
			}
			(*out)[key] = outVal
		}
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.Policies != nil {
		in, out := &in.Policies, &out.Policies
		*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.PolicyRefs != nil {
		in, out := &in.PolicyRefs, &out.PolicyRefs
		*out = make([]*corev1alpha1.AWSResourceReferenceWrapper, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(corev1alpha1.AWSResourceReferenceWrapper)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GroupStatus) DeepCopyInto(out *GroupStatus) {
	*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.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.GroupID != nil {
		in, out := &in.GroupID, &out.GroupID
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Group_SDK) DeepCopyInto(out *Group_SDK) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.GroupID != nil {
		in, out := &in.GroupID, &out.GroupID
		*out = new(string)
		**out = **in
	}
	if in.GroupName != nil {
		in, out := &in.GroupName, &out.GroupName
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group_SDK.
func (in *Group_SDK) DeepCopy() *Group_SDK {
	if in == nil {
		return nil
	}
	out := new(Group_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 *InstanceProfile) DeepCopyInto(out *InstanceProfile) {
	*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 InstanceProfile.
func (in *InstanceProfile) DeepCopy() *InstanceProfile {
	if in == nil {
		return nil
	}
	out := new(InstanceProfile)
	in.DeepCopyInto(out)
	return out
}

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *InstanceProfileList) 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 *InstanceProfileSpec) DeepCopyInto(out *InstanceProfileSpec) {
	*out = *in
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.Role != nil {
		in, out := &in.Role, &out.Role
		*out = new(string)
		**out = **in
	}
	if in.RoleRef != nil {
		in, out := &in.RoleRef, &out.RoleRef
		*out = new(corev1alpha1.AWSResourceReferenceWrapper)
		(*in).DeepCopyInto(*out)
	}
	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 InstanceProfileSpec.
func (in *InstanceProfileSpec) DeepCopy() *InstanceProfileSpec {
	if in == nil {
		return nil
	}
	out := new(InstanceProfileSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InstanceProfileStatus) DeepCopyInto(out *InstanceProfileStatus) {
	*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.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.InstanceProfileID != nil {
		in, out := &in.InstanceProfileID, &out.InstanceProfileID
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InstanceProfile_SDK) DeepCopyInto(out *InstanceProfile_SDK) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.InstanceProfileID != nil {
		in, out := &in.InstanceProfileID, &out.InstanceProfileID
		*out = new(string)
		**out = **in
	}
	if in.InstanceProfileName != nil {
		in, out := &in.InstanceProfileName, &out.InstanceProfileName
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*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 InstanceProfile_SDK.
func (in *InstanceProfile_SDK) DeepCopy() *InstanceProfile_SDK {
	if in == nil {
		return nil
	}
	out := new(InstanceProfile_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 *LoginProfile) DeepCopyInto(out *LoginProfile) {
	*out = *in
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.PasswordResetRequired != nil {
		in, out := &in.PasswordResetRequired, &out.PasswordResetRequired
		*out = new(bool)
		**out = **in
	}
	if in.UserName != nil {
		in, out := &in.UserName, &out.UserName
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedPolicyDetail) DeepCopyInto(out *ManagedPolicyDetail) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.AttachmentCount != nil {
		in, out := &in.AttachmentCount, &out.AttachmentCount
		*out = new(int64)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.DefaultVersionID != nil {
		in, out := &in.DefaultVersionID, &out.DefaultVersionID
		*out = new(string)
		**out = **in
	}
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.IsAttachable != nil {
		in, out := &in.IsAttachable, &out.IsAttachable
		*out = new(bool)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundaryUsageCount != nil {
		in, out := &in.PermissionsBoundaryUsageCount, &out.PermissionsBoundaryUsageCount
		*out = new(int64)
		**out = **in
	}
	if in.PolicyID != nil {
		in, out := &in.PolicyID, &out.PolicyID
		*out = new(string)
		**out = **in
	}
	if in.PolicyName != nil {
		in, out := &in.PolicyName, &out.PolicyName
		*out = new(string)
		**out = **in
	}
	if in.UpdateDate != nil {
		in, out := &in.UpdateDate, &out.UpdateDate
		*out = (*in).DeepCopy()
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpenIDConnectProvider) DeepCopyInto(out *OpenIDConnectProvider) {
	*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 OpenIDConnectProvider.
func (in *OpenIDConnectProvider) DeepCopy() *OpenIDConnectProvider {
	if in == nil {
		return nil
	}
	out := new(OpenIDConnectProvider)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpenIDConnectProviderSpec) DeepCopyInto(out *OpenIDConnectProviderSpec) {
	*out = *in
	if in.ClientIDs != nil {
		in, out := &in.ClientIDs, &out.ClientIDs
		*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.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)
			}
		}
	}
	if in.Thumbprints != nil {
		in, out := &in.Thumbprints, &out.Thumbprints
		*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.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PasswordPolicy) DeepCopyInto(out *PasswordPolicy) {
	*out = *in
	if in.AllowUsersToChangePassword != nil {
		in, out := &in.AllowUsersToChangePassword, &out.AllowUsersToChangePassword
		*out = new(bool)
		**out = **in
	}
	if in.ExpirePasswords != nil {
		in, out := &in.ExpirePasswords, &out.ExpirePasswords
		*out = new(bool)
		**out = **in
	}
	if in.RequireLowercaseCharacters != nil {
		in, out := &in.RequireLowercaseCharacters, &out.RequireLowercaseCharacters
		*out = new(bool)
		**out = **in
	}
	if in.RequireNumbers != nil {
		in, out := &in.RequireNumbers, &out.RequireNumbers
		*out = new(bool)
		**out = **in
	}
	if in.RequireSymbols != nil {
		in, out := &in.RequireSymbols, &out.RequireSymbols
		*out = new(bool)
		**out = **in
	}
	if in.RequireUppercaseCharacters != nil {
		in, out := &in.RequireUppercaseCharacters, &out.RequireUppercaseCharacters
		*out = new(bool)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Policy) DeepCopyInto(out *Policy) {
	*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 Policy.
func (in *Policy) DeepCopy() *Policy {
	if in == nil {
		return nil
	}
	out := new(Policy)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PolicySpec) DeepCopyInto(out *PolicySpec) {
	*out = *in
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PolicyDocument != nil {
		in, out := &in.PolicyDocument, &out.PolicyDocument
		*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 PolicySpec.
func (in *PolicySpec) DeepCopy() *PolicySpec {
	if in == nil {
		return nil
	}
	out := new(PolicySpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus) {
	*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.AttachmentCount != nil {
		in, out := &in.AttachmentCount, &out.AttachmentCount
		*out = new(int64)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.DefaultVersionID != nil {
		in, out := &in.DefaultVersionID, &out.DefaultVersionID
		*out = new(string)
		**out = **in
	}
	if in.IsAttachable != nil {
		in, out := &in.IsAttachable, &out.IsAttachable
		*out = new(bool)
		**out = **in
	}
	if in.PermissionsBoundaryUsageCount != nil {
		in, out := &in.PermissionsBoundaryUsageCount, &out.PermissionsBoundaryUsageCount
		*out = new(int64)
		**out = **in
	}
	if in.PolicyID != nil {
		in, out := &in.PolicyID, &out.PolicyID
		*out = new(string)
		**out = **in
	}
	if in.UpdateDate != nil {
		in, out := &in.UpdateDate, &out.UpdateDate
		*out = (*in).DeepCopy()
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PolicyVersion) DeepCopyInto(out *PolicyVersion) {
	*out = *in
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.Document != nil {
		in, out := &in.Document, &out.Document
		*out = new(string)
		**out = **in
	}
	if in.IsDefaultVersion != nil {
		in, out := &in.IsDefaultVersion, &out.IsDefaultVersion
		*out = new(bool)
		**out = **in
	}
	if in.VersionID != nil {
		in, out := &in.VersionID, &out.VersionID
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Policy_SDK) DeepCopyInto(out *Policy_SDK) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.AttachmentCount != nil {
		in, out := &in.AttachmentCount, &out.AttachmentCount
		*out = new(int64)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.DefaultVersionID != nil {
		in, out := &in.DefaultVersionID, &out.DefaultVersionID
		*out = new(string)
		**out = **in
	}
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.IsAttachable != nil {
		in, out := &in.IsAttachable, &out.IsAttachable
		*out = new(bool)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundaryUsageCount != nil {
		in, out := &in.PermissionsBoundaryUsageCount, &out.PermissionsBoundaryUsageCount
		*out = new(int64)
		**out = **in
	}
	if in.PolicyID != nil {
		in, out := &in.PolicyID, &out.PolicyID
		*out = new(string)
		**out = **in
	}
	if in.PolicyName != nil {
		in, out := &in.PolicyName, &out.PolicyName
		*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)
			}
		}
	}
	if in.UpdateDate != nil {
		in, out := &in.UpdateDate, &out.UpdateDate
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy_SDK.
func (in *Policy_SDK) DeepCopy() *Policy_SDK {
	if in == nil {
		return nil
	}
	out := new(Policy_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 *Role) DeepCopyInto(out *Role) {
	*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 Role.
func (in *Role) DeepCopy() *Role {
	if in == nil {
		return nil
	}
	out := new(Role)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Role) 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 *RoleDetail) DeepCopyInto(out *RoleDetail) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.AssumeRolePolicyDocument != nil {
		in, out := &in.AssumeRolePolicyDocument, &out.AssumeRolePolicyDocument
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.InstanceProfileList != nil {
		in, out := &in.InstanceProfileList, &out.InstanceProfileList
		*out = make([]*InstanceProfile_SDK, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(InstanceProfile_SDK)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundary != nil {
		in, out := &in.PermissionsBoundary, &out.PermissionsBoundary
		*out = new(AttachedPermissionsBoundary)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleID != nil {
		in, out := &in.RoleID, &out.RoleID
		*out = new(string)
		**out = **in
	}
	if in.RoleLastUsed != nil {
		in, out := &in.RoleLastUsed, &out.RoleLastUsed
		*out = new(RoleLastUsed)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleName != nil {
		in, out := &in.RoleName, &out.RoleName
		*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 RoleDetail.
func (in *RoleDetail) DeepCopy() *RoleDetail {
	if in == nil {
		return nil
	}
	out := new(RoleDetail)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RoleList) 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 *RoleSpec) DeepCopyInto(out *RoleSpec) {
	*out = *in
	if in.AssumeRolePolicyDocument != nil {
		in, out := &in.AssumeRolePolicyDocument, &out.AssumeRolePolicyDocument
		*out = new(string)
		**out = **in
	}
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.InlinePolicies != nil {
		in, out := &in.InlinePolicies, &out.InlinePolicies
		*out = make(map[string]*string, len(*in))
		for key, val := range *in {
			var outVal *string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = new(string)
				**out = **in
			}
			(*out)[key] = outVal
		}
	}
	if in.MaxSessionDuration != nil {
		in, out := &in.MaxSessionDuration, &out.MaxSessionDuration
		*out = new(int64)
		**out = **in
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundary != nil {
		in, out := &in.PermissionsBoundary, &out.PermissionsBoundary
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundaryRef != nil {
		in, out := &in.PermissionsBoundaryRef, &out.PermissionsBoundaryRef
		*out = new(corev1alpha1.AWSResourceReferenceWrapper)
		(*in).DeepCopyInto(*out)
	}
	if in.Policies != nil {
		in, out := &in.Policies, &out.Policies
		*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.PolicyRefs != nil {
		in, out := &in.PolicyRefs, &out.PolicyRefs
		*out = make([]*corev1alpha1.AWSResourceReferenceWrapper, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(corev1alpha1.AWSResourceReferenceWrapper)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	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 RoleSpec.
func (in *RoleSpec) DeepCopy() *RoleSpec {
	if in == nil {
		return nil
	}
	out := new(RoleSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RoleStatus) DeepCopyInto(out *RoleStatus) {
	*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.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.RoleID != nil {
		in, out := &in.RoleID, &out.RoleID
		*out = new(string)
		**out = **in
	}
	if in.RoleLastUsed != nil {
		in, out := &in.RoleLastUsed, &out.RoleLastUsed
		*out = new(RoleLastUsed)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Role_SDK) DeepCopyInto(out *Role_SDK) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.AssumeRolePolicyDocument != nil {
		in, out := &in.AssumeRolePolicyDocument, &out.AssumeRolePolicyDocument
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.MaxSessionDuration != nil {
		in, out := &in.MaxSessionDuration, &out.MaxSessionDuration
		*out = new(int64)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundary != nil {
		in, out := &in.PermissionsBoundary, &out.PermissionsBoundary
		*out = new(AttachedPermissionsBoundary)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleID != nil {
		in, out := &in.RoleID, &out.RoleID
		*out = new(string)
		**out = **in
	}
	if in.RoleLastUsed != nil {
		in, out := &in.RoleLastUsed, &out.RoleLastUsed
		*out = new(RoleLastUsed)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleName != nil {
		in, out := &in.RoleName, &out.RoleName
		*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 Role_SDK.
func (in *Role_SDK) DeepCopy() *Role_SDK {
	if in == nil {
		return nil
	}
	out := new(Role_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 *SAMLProviderListEntry) DeepCopyInto(out *SAMLProviderListEntry) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.ValidUntil != nil {
		in, out := &in.ValidUntil, &out.ValidUntil
		*out = (*in).DeepCopy()
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServerCertificate) DeepCopyInto(out *ServerCertificate) {
	*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 ServerCertificate.
func (in *ServerCertificate) DeepCopy() *ServerCertificate {
	if in == nil {
		return nil
	}
	out := new(ServerCertificate)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServerCertificateMetadata) DeepCopyInto(out *ServerCertificateMetadata) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.Expiration != nil {
		in, out := &in.Expiration, &out.Expiration
		*out = (*in).DeepCopy()
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.ServerCertificateID != nil {
		in, out := &in.ServerCertificateID, &out.ServerCertificateID
		*out = new(string)
		**out = **in
	}
	if in.UploadDate != nil {
		in, out := &in.UploadDate, &out.UploadDate
		*out = (*in).DeepCopy()
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceLinkedRole) DeepCopyInto(out *ServiceLinkedRole) {
	*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 ServiceLinkedRole.
func (in *ServiceLinkedRole) DeepCopy() *ServiceLinkedRole {
	if in == nil {
		return nil
	}
	out := new(ServiceLinkedRole)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceLinkedRoleStatus) DeepCopyInto(out *ServiceLinkedRoleStatus) {
	*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.AssumeRolePolicyDocument != nil {
		in, out := &in.AssumeRolePolicyDocument, &out.AssumeRolePolicyDocument
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.MaxSessionDuration != nil {
		in, out := &in.MaxSessionDuration, &out.MaxSessionDuration
		*out = new(int64)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundary != nil {
		in, out := &in.PermissionsBoundary, &out.PermissionsBoundary
		*out = new(AttachedPermissionsBoundary)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleID != nil {
		in, out := &in.RoleID, &out.RoleID
		*out = new(string)
		**out = **in
	}
	if in.RoleLastUsed != nil {
		in, out := &in.RoleLastUsed, &out.RoleLastUsed
		*out = new(RoleLastUsed)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleName != nil {
		in, out := &in.RoleName, &out.RoleName
		*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 ServiceLinkedRoleStatus.
func (in *ServiceLinkedRoleStatus) DeepCopy() *ServiceLinkedRoleStatus {
	if in == nil {
		return nil
	}
	out := new(ServiceLinkedRoleStatus)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SigningCertificate.
func (in *SigningCertificate) DeepCopy() *SigningCertificate {
	if in == nil {
		return nil
	}
	out := new(SigningCertificate)
	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 *TrackedActionLastAccessed) DeepCopyInto(out *TrackedActionLastAccessed) {
	*out = *in
	if in.ActionName != nil {
		in, out := &in.ActionName, &out.ActionName
		*out = new(string)
		**out = **in
	}
	if in.LastAccessedEntity != nil {
		in, out := &in.LastAccessedEntity, &out.LastAccessedEntity
		*out = new(string)
		**out = **in
	}
	if in.LastAccessedRegion != nil {
		in, out := &in.LastAccessedRegion, &out.LastAccessedRegion
		*out = new(string)
		**out = **in
	}
	if in.LastAccessedTime != nil {
		in, out := &in.LastAccessedTime, &out.LastAccessedTime
		*out = (*in).DeepCopy()
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *User) DeepCopyInto(out *User) {
	*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 User.
func (in *User) DeepCopy() *User {
	if in == nil {
		return nil
	}
	out := new(User)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *User) 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 *UserDetail) DeepCopyInto(out *UserDetail) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundary != nil {
		in, out := &in.PermissionsBoundary, &out.PermissionsBoundary
		*out = new(AttachedPermissionsBoundary)
		(*in).DeepCopyInto(*out)
	}
	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)
			}
		}
	}
	if in.UserID != nil {
		in, out := &in.UserID, &out.UserID
		*out = new(string)
		**out = **in
	}
	if in.UserName != nil {
		in, out := &in.UserName, &out.UserName
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *UserList) 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 *UserSpec) DeepCopyInto(out *UserSpec) {
	*out = *in
	if in.InlinePolicies != nil {
		in, out := &in.InlinePolicies, &out.InlinePolicies
		*out = make(map[string]*string, len(*in))
		for key, val := range *in {
			var outVal *string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = new(string)
				**out = **in
			}
			(*out)[key] = outVal
		}
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundary != nil {
		in, out := &in.PermissionsBoundary, &out.PermissionsBoundary
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundaryRef != nil {
		in, out := &in.PermissionsBoundaryRef, &out.PermissionsBoundaryRef
		*out = new(corev1alpha1.AWSResourceReferenceWrapper)
		(*in).DeepCopyInto(*out)
	}
	if in.Policies != nil {
		in, out := &in.Policies, &out.Policies
		*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.PolicyRefs != nil {
		in, out := &in.PolicyRefs, &out.PolicyRefs
		*out = make([]*corev1alpha1.AWSResourceReferenceWrapper, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(corev1alpha1.AWSResourceReferenceWrapper)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	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 UserSpec.
func (in *UserSpec) DeepCopy() *UserSpec {
	if in == nil {
		return nil
	}
	out := new(UserSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UserStatus) DeepCopyInto(out *UserStatus) {
	*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.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.PasswordLastUsed != nil {
		in, out := &in.PasswordLastUsed, &out.PasswordLastUsed
		*out = (*in).DeepCopy()
	}
	if in.UserID != nil {
		in, out := &in.UserID, &out.UserID
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *User_SDK) DeepCopyInto(out *User_SDK) {
	*out = *in
	if in.ARN != nil {
		in, out := &in.ARN, &out.ARN
		*out = new(string)
		**out = **in
	}
	if in.CreateDate != nil {
		in, out := &in.CreateDate, &out.CreateDate
		*out = (*in).DeepCopy()
	}
	if in.PasswordLastUsed != nil {
		in, out := &in.PasswordLastUsed, &out.PasswordLastUsed
		*out = (*in).DeepCopy()
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.PermissionsBoundary != nil {
		in, out := &in.PermissionsBoundary, &out.PermissionsBoundary
		*out = new(AttachedPermissionsBoundary)
		(*in).DeepCopyInto(*out)
	}
	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)
			}
		}
	}
	if in.UserID != nil {
		in, out := &in.UserID, &out.UserID
		*out = new(string)
		**out = **in
	}
	if in.UserName != nil {
		in, out := &in.UserName, &out.UserName
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User_SDK.
func (in *User_SDK) DeepCopy() *User_SDK {
	if in == nil {
		return nil
	}
	out := new(User_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 *VirtualMFADevice) DeepCopyInto(out *VirtualMFADevice) {
	*out = *in
	if in.EnableDate != nil {
		in, out := &in.EnableDate, &out.EnableDate
		*out = (*in).DeepCopy()
	}
	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)
			}
		}
	}
	if in.User != nil {
		in, out := &in.User, &out.User
		*out = new(User_SDK)
		(*in).DeepCopyInto(*out)
	}
}

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