//go:build !ignore_autogenerated

/*
Copyright (c) Microsoft Corporation.
Licensed under the MIT license.
*/

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

package compat

import (
	"github.com/Azure/azure-service-operator/v2/pkg/genruntime"
)

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackendPool) DeepCopyInto(out *BackendPool) {
	*out = *in
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]BackendPoolItem, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackendPoolItem) DeepCopyInto(out *BackendPoolItem) {
	*out = *in
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Reference != nil {
		in, out := &in.Reference, &out.Reference
		*out = new(genruntime.ResourceReference)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackendPoolItem_STATUS) DeepCopyInto(out *BackendPoolItem_STATUS) {
	*out = *in
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackendPool_STATUS) DeepCopyInto(out *BackendPool_STATUS) {
	*out = *in
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]BackendPoolItem_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CircuitBreakerFailureCondition) DeepCopyInto(out *CircuitBreakerFailureCondition) {
	*out = *in
	if in.Count != nil {
		in, out := &in.Count, &out.Count
		*out = new(int)
		**out = **in
	}
	if in.ErrorReasons != nil {
		in, out := &in.ErrorReasons, &out.ErrorReasons
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Interval != nil {
		in, out := &in.Interval, &out.Interval
		*out = new(string)
		**out = **in
	}
	if in.Percentage != nil {
		in, out := &in.Percentage, &out.Percentage
		*out = new(int)
		**out = **in
	}
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.StatusCodeRanges != nil {
		in, out := &in.StatusCodeRanges, &out.StatusCodeRanges
		*out = make([]FailureStatusCodeRange, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CircuitBreakerFailureCondition_STATUS) DeepCopyInto(out *CircuitBreakerFailureCondition_STATUS) {
	*out = *in
	if in.Count != nil {
		in, out := &in.Count, &out.Count
		*out = new(int)
		**out = **in
	}
	if in.ErrorReasons != nil {
		in, out := &in.ErrorReasons, &out.ErrorReasons
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Interval != nil {
		in, out := &in.Interval, &out.Interval
		*out = new(string)
		**out = **in
	}
	if in.Percentage != nil {
		in, out := &in.Percentage, &out.Percentage
		*out = new(int)
		**out = **in
	}
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.StatusCodeRanges != nil {
		in, out := &in.StatusCodeRanges, &out.StatusCodeRanges
		*out = make([]FailureStatusCodeRange_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CircuitBreakerRule) DeepCopyInto(out *CircuitBreakerRule) {
	*out = *in
	if in.FailureCondition != nil {
		in, out := &in.FailureCondition, &out.FailureCondition
		*out = new(CircuitBreakerFailureCondition)
		(*in).DeepCopyInto(*out)
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.TripDuration != nil {
		in, out := &in.TripDuration, &out.TripDuration
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CircuitBreakerRule_STATUS) DeepCopyInto(out *CircuitBreakerRule_STATUS) {
	*out = *in
	if in.FailureCondition != nil {
		in, out := &in.FailureCondition, &out.FailureCondition
		*out = new(CircuitBreakerFailureCondition_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.TripDuration != nil {
		in, out := &in.TripDuration, &out.TripDuration
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FailureStatusCodeRange) DeepCopyInto(out *FailureStatusCodeRange) {
	*out = *in
	if in.Max != nil {
		in, out := &in.Max, &out.Max
		*out = new(int)
		**out = **in
	}
	if in.Min != nil {
		in, out := &in.Min, &out.Min
		*out = new(int)
		**out = **in
	}
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FailureStatusCodeRange_STATUS) DeepCopyInto(out *FailureStatusCodeRange_STATUS) {
	*out = *in
	if in.Max != nil {
		in, out := &in.Max, &out.Max
		*out = new(int)
		**out = **in
	}
	if in.Min != nil {
		in, out := &in.Min, &out.Min
		*out = new(int)
		**out = **in
	}
	if in.PropertyBag != nil {
		in, out := &in.PropertyBag, &out.PropertyBag
		*out = make(genruntime.PropertyBag, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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