//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Copyright (c) 2016-2021 Tigera, Inc. 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.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License 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 deepcopy-gen. DO NOT EDIT.

package model

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AllocationAttribute) DeepCopyInto(out *AllocationAttribute) {
	*out = *in
	if in.HandleID != nil {
		in, out := &in.HandleID, &out.HandleID
		*out = new(string)
		**out = **in
	}
	if in.ActiveOwnerAttrs != nil {
		in, out := &in.ActiveOwnerAttrs, &out.ActiveOwnerAttrs
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.AlternateOwnerAttrs != nil {
		in, out := &in.AlternateOwnerAttrs, &out.AlternateOwnerAttrs
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ReleasedAt != nil {
		in, out := &in.ReleasedAt, &out.ReleasedAt
		*out = (*in).DeepCopy()
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AllocationBlock) DeepCopyInto(out *AllocationBlock) {
	*out = *in
	in.CIDR.DeepCopyInto(&out.CIDR)
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(string)
		**out = **in
	}
	if in.AffinityClaimTime != nil {
		in, out := &in.AffinityClaimTime, &out.AffinityClaimTime
		*out = (*in).DeepCopy()
	}
	if in.Allocations != nil {
		in, out := &in.Allocations, &out.Allocations
		*out = make([]*int, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(int)
				**out = **in
			}
		}
	}
	if in.Unallocated != nil {
		in, out := &in.Unallocated, &out.Unallocated
		*out = make([]int, len(*in))
		copy(*out, *in)
	}
	if in.Attributes != nil {
		in, out := &in.Attributes, &out.Attributes
		*out = make([]AllocationAttribute, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SequenceNumberForAllocation != nil {
		in, out := &in.SequenceNumberForAllocation, &out.SequenceNumberForAllocation
		*out = make(map[string]uint64, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.HostAffinity != nil {
		in, out := &in.HostAffinity, &out.HostAffinity
		*out = new(string)
		**out = **in
	}
	return
}

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