//go:build !ignore_autogenerated

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

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

package storage

import (
	"github.com/Azure/azure-service-operator/v2/pkg/genruntime"
	"github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions"
	"github.com/Azure/azure-service-operator/v2/pkg/genruntime/core"
	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 *CustomRule) DeepCopyInto(out *CustomRule) {
	*out = *in
	if in.Action != nil {
		in, out := &in.Action, &out.Action
		*out = new(string)
		**out = **in
	}
	if in.EnabledState != nil {
		in, out := &in.EnabledState, &out.EnabledState
		*out = new(string)
		**out = **in
	}
	if in.MatchConditions != nil {
		in, out := &in.MatchConditions, &out.MatchConditions
		*out = make([]MatchCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Priority != nil {
		in, out := &in.Priority, &out.Priority
		*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.RateLimitDurationInMinutes != nil {
		in, out := &in.RateLimitDurationInMinutes, &out.RateLimitDurationInMinutes
		*out = new(int)
		**out = **in
	}
	if in.RateLimitThreshold != nil {
		in, out := &in.RateLimitThreshold, &out.RateLimitThreshold
		*out = new(int)
		**out = **in
	}
	if in.RuleType != nil {
		in, out := &in.RuleType, &out.RuleType
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CustomRuleList) DeepCopyInto(out *CustomRuleList) {
	*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([]CustomRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CustomRuleList_STATUS) DeepCopyInto(out *CustomRuleList_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([]CustomRule_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomRuleList_STATUS.
func (in *CustomRuleList_STATUS) DeepCopy() *CustomRuleList_STATUS {
	if in == nil {
		return nil
	}
	out := new(CustomRuleList_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 *CustomRule_STATUS) DeepCopyInto(out *CustomRule_STATUS) {
	*out = *in
	if in.Action != nil {
		in, out := &in.Action, &out.Action
		*out = new(string)
		**out = **in
	}
	if in.EnabledState != nil {
		in, out := &in.EnabledState, &out.EnabledState
		*out = new(string)
		**out = **in
	}
	if in.MatchConditions != nil {
		in, out := &in.MatchConditions, &out.MatchConditions
		*out = make([]MatchCondition_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Priority != nil {
		in, out := &in.Priority, &out.Priority
		*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.RateLimitDurationInMinutes != nil {
		in, out := &in.RateLimitDurationInMinutes, &out.RateLimitDurationInMinutes
		*out = new(int)
		**out = **in
	}
	if in.RateLimitThreshold != nil {
		in, out := &in.RateLimitThreshold, &out.RateLimitThreshold
		*out = new(int)
		**out = **in
	}
	if in.RuleType != nil {
		in, out := &in.RuleType, &out.RuleType
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomRule_STATUS.
func (in *CustomRule_STATUS) DeepCopy() *CustomRule_STATUS {
	if in == nil {
		return nil
	}
	out := new(CustomRule_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 *FrontendEndpointLink_STATUS) DeepCopyInto(out *FrontendEndpointLink_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 FrontendEndpointLink_STATUS.
func (in *FrontendEndpointLink_STATUS) DeepCopy() *FrontendEndpointLink_STATUS {
	if in == nil {
		return nil
	}
	out := new(FrontendEndpointLink_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 *ManagedRuleExclusion) DeepCopyInto(out *ManagedRuleExclusion) {
	*out = *in
	if in.MatchVariable != nil {
		in, out := &in.MatchVariable, &out.MatchVariable
		*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.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(string)
		**out = **in
	}
	if in.SelectorMatchOperator != nil {
		in, out := &in.SelectorMatchOperator, &out.SelectorMatchOperator
		*out = new(string)
		**out = **in
	}
}

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedRuleExclusion_STATUS.
func (in *ManagedRuleExclusion_STATUS) DeepCopy() *ManagedRuleExclusion_STATUS {
	if in == nil {
		return nil
	}
	out := new(ManagedRuleExclusion_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 *ManagedRuleGroupOverride) DeepCopyInto(out *ManagedRuleGroupOverride) {
	*out = *in
	if in.Exclusions != nil {
		in, out := &in.Exclusions, &out.Exclusions
		*out = make([]ManagedRuleExclusion, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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.RuleGroupName != nil {
		in, out := &in.RuleGroupName, &out.RuleGroupName
		*out = new(string)
		**out = **in
	}
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]ManagedRuleOverride, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedRuleGroupOverride_STATUS) DeepCopyInto(out *ManagedRuleGroupOverride_STATUS) {
	*out = *in
	if in.Exclusions != nil {
		in, out := &in.Exclusions, &out.Exclusions
		*out = make([]ManagedRuleExclusion_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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.RuleGroupName != nil {
		in, out := &in.RuleGroupName, &out.RuleGroupName
		*out = new(string)
		**out = **in
	}
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]ManagedRuleOverride_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedRuleGroupOverride_STATUS.
func (in *ManagedRuleGroupOverride_STATUS) DeepCopy() *ManagedRuleGroupOverride_STATUS {
	if in == nil {
		return nil
	}
	out := new(ManagedRuleGroupOverride_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 *ManagedRuleOverride) DeepCopyInto(out *ManagedRuleOverride) {
	*out = *in
	if in.Action != nil {
		in, out := &in.Action, &out.Action
		*out = new(string)
		**out = **in
	}
	if in.EnabledState != nil {
		in, out := &in.EnabledState, &out.EnabledState
		*out = new(string)
		**out = **in
	}
	if in.Exclusions != nil {
		in, out := &in.Exclusions, &out.Exclusions
		*out = make([]ManagedRuleExclusion, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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.RuleId != nil {
		in, out := &in.RuleId, &out.RuleId
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedRuleOverride_STATUS) DeepCopyInto(out *ManagedRuleOverride_STATUS) {
	*out = *in
	if in.Action != nil {
		in, out := &in.Action, &out.Action
		*out = new(string)
		**out = **in
	}
	if in.EnabledState != nil {
		in, out := &in.EnabledState, &out.EnabledState
		*out = new(string)
		**out = **in
	}
	if in.Exclusions != nil {
		in, out := &in.Exclusions, &out.Exclusions
		*out = make([]ManagedRuleExclusion_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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.RuleId != nil {
		in, out := &in.RuleId, &out.RuleId
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedRuleOverride_STATUS.
func (in *ManagedRuleOverride_STATUS) DeepCopy() *ManagedRuleOverride_STATUS {
	if in == nil {
		return nil
	}
	out := new(ManagedRuleOverride_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 *ManagedRuleSet) DeepCopyInto(out *ManagedRuleSet) {
	*out = *in
	if in.Exclusions != nil {
		in, out := &in.Exclusions, &out.Exclusions
		*out = make([]ManagedRuleExclusion, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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.RuleGroupOverrides != nil {
		in, out := &in.RuleGroupOverrides, &out.RuleGroupOverrides
		*out = make([]ManagedRuleGroupOverride, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RuleSetAction != nil {
		in, out := &in.RuleSetAction, &out.RuleSetAction
		*out = new(string)
		**out = **in
	}
	if in.RuleSetType != nil {
		in, out := &in.RuleSetType, &out.RuleSetType
		*out = new(string)
		**out = **in
	}
	if in.RuleSetVersion != nil {
		in, out := &in.RuleSetVersion, &out.RuleSetVersion
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedRuleSetList) DeepCopyInto(out *ManagedRuleSetList) {
	*out = *in
	if in.ManagedRuleSets != nil {
		in, out := &in.ManagedRuleSets, &out.ManagedRuleSets
		*out = make([]ManagedRuleSet, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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 ManagedRuleSetList.
func (in *ManagedRuleSetList) DeepCopy() *ManagedRuleSetList {
	if in == nil {
		return nil
	}
	out := new(ManagedRuleSetList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedRuleSetList_STATUS) DeepCopyInto(out *ManagedRuleSetList_STATUS) {
	*out = *in
	if in.ManagedRuleSets != nil {
		in, out := &in.ManagedRuleSets, &out.ManagedRuleSets
		*out = make([]ManagedRuleSet_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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 ManagedRuleSetList_STATUS.
func (in *ManagedRuleSetList_STATUS) DeepCopy() *ManagedRuleSetList_STATUS {
	if in == nil {
		return nil
	}
	out := new(ManagedRuleSetList_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 *ManagedRuleSet_STATUS) DeepCopyInto(out *ManagedRuleSet_STATUS) {
	*out = *in
	if in.Exclusions != nil {
		in, out := &in.Exclusions, &out.Exclusions
		*out = make([]ManagedRuleExclusion_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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.RuleGroupOverrides != nil {
		in, out := &in.RuleGroupOverrides, &out.RuleGroupOverrides
		*out = make([]ManagedRuleGroupOverride_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RuleSetAction != nil {
		in, out := &in.RuleSetAction, &out.RuleSetAction
		*out = new(string)
		**out = **in
	}
	if in.RuleSetType != nil {
		in, out := &in.RuleSetType, &out.RuleSetType
		*out = new(string)
		**out = **in
	}
	if in.RuleSetVersion != nil {
		in, out := &in.RuleSetVersion, &out.RuleSetVersion
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedRuleSet_STATUS.
func (in *ManagedRuleSet_STATUS) DeepCopy() *ManagedRuleSet_STATUS {
	if in == nil {
		return nil
	}
	out := new(ManagedRuleSet_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 *MatchCondition) DeepCopyInto(out *MatchCondition) {
	*out = *in
	if in.MatchValue != nil {
		in, out := &in.MatchValue, &out.MatchValue
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.MatchVariable != nil {
		in, out := &in.MatchVariable, &out.MatchVariable
		*out = new(string)
		**out = **in
	}
	if in.NegateCondition != nil {
		in, out := &in.NegateCondition, &out.NegateCondition
		*out = new(bool)
		**out = **in
	}
	if in.Operator != nil {
		in, out := &in.Operator, &out.Operator
		*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.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(string)
		**out = **in
	}
	if in.Transforms != nil {
		in, out := &in.Transforms, &out.Transforms
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MatchCondition_STATUS) DeepCopyInto(out *MatchCondition_STATUS) {
	*out = *in
	if in.MatchValue != nil {
		in, out := &in.MatchValue, &out.MatchValue
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.MatchVariable != nil {
		in, out := &in.MatchVariable, &out.MatchVariable
		*out = new(string)
		**out = **in
	}
	if in.NegateCondition != nil {
		in, out := &in.NegateCondition, &out.NegateCondition
		*out = new(bool)
		**out = **in
	}
	if in.Operator != nil {
		in, out := &in.Operator, &out.Operator
		*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.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(string)
		**out = **in
	}
	if in.Transforms != nil {
		in, out := &in.Transforms, &out.Transforms
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchCondition_STATUS.
func (in *MatchCondition_STATUS) DeepCopy() *MatchCondition_STATUS {
	if in == nil {
		return nil
	}
	out := new(MatchCondition_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 *PolicySettings) DeepCopyInto(out *PolicySettings) {
	*out = *in
	if in.CustomBlockResponseBody != nil {
		in, out := &in.CustomBlockResponseBody, &out.CustomBlockResponseBody
		*out = new(string)
		**out = **in
	}
	if in.CustomBlockResponseStatusCode != nil {
		in, out := &in.CustomBlockResponseStatusCode, &out.CustomBlockResponseStatusCode
		*out = new(int)
		**out = **in
	}
	if in.EnabledState != nil {
		in, out := &in.EnabledState, &out.EnabledState
		*out = new(string)
		**out = **in
	}
	if in.Mode != nil {
		in, out := &in.Mode, &out.Mode
		*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.RedirectUrl != nil {
		in, out := &in.RedirectUrl, &out.RedirectUrl
		*out = new(string)
		**out = **in
	}
	if in.RequestBodyCheck != nil {
		in, out := &in.RequestBodyCheck, &out.RequestBodyCheck
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PolicySettings_STATUS) DeepCopyInto(out *PolicySettings_STATUS) {
	*out = *in
	if in.CustomBlockResponseBody != nil {
		in, out := &in.CustomBlockResponseBody, &out.CustomBlockResponseBody
		*out = new(string)
		**out = **in
	}
	if in.CustomBlockResponseStatusCode != nil {
		in, out := &in.CustomBlockResponseStatusCode, &out.CustomBlockResponseStatusCode
		*out = new(int)
		**out = **in
	}
	if in.EnabledState != nil {
		in, out := &in.EnabledState, &out.EnabledState
		*out = new(string)
		**out = **in
	}
	if in.Mode != nil {
		in, out := &in.Mode, &out.Mode
		*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.RedirectUrl != nil {
		in, out := &in.RedirectUrl, &out.RedirectUrl
		*out = new(string)
		**out = **in
	}
	if in.RequestBodyCheck != nil {
		in, out := &in.RequestBodyCheck, &out.RequestBodyCheck
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySettings_STATUS.
func (in *PolicySettings_STATUS) DeepCopy() *PolicySettings_STATUS {
	if in == nil {
		return nil
	}
	out := new(PolicySettings_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 *RoutingRuleLink_STATUS) DeepCopyInto(out *RoutingRuleLink_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 RoutingRuleLink_STATUS.
func (in *RoutingRuleLink_STATUS) DeepCopy() *RoutingRuleLink_STATUS {
	if in == nil {
		return nil
	}
	out := new(RoutingRuleLink_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 *SecurityPolicyLink_STATUS) DeepCopyInto(out *SecurityPolicyLink_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 SecurityPolicyLink_STATUS.
func (in *SecurityPolicyLink_STATUS) DeepCopy() *SecurityPolicyLink_STATUS {
	if in == nil {
		return nil
	}
	out := new(SecurityPolicyLink_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 *Sku) DeepCopyInto(out *Sku) {
	*out = *in
	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
		}
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WebApplicationFirewallPolicy_STATUS) DeepCopyInto(out *WebApplicationFirewallPolicy_STATUS) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]conditions.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.CustomRules != nil {
		in, out := &in.CustomRules, &out.CustomRules
		*out = new(CustomRuleList_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Etag != nil {
		in, out := &in.Etag, &out.Etag
		*out = new(string)
		**out = **in
	}
	if in.FrontendEndpointLinks != nil {
		in, out := &in.FrontendEndpointLinks, &out.FrontendEndpointLinks
		*out = make([]FrontendEndpointLink_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.ManagedRules != nil {
		in, out := &in.ManagedRules, &out.ManagedRules
		*out = new(ManagedRuleSetList_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.PolicySettings != nil {
		in, out := &in.PolicySettings, &out.PolicySettings
		*out = new(PolicySettings_STATUS)
		(*in).DeepCopyInto(*out)
	}
	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.ProvisioningState != nil {
		in, out := &in.ProvisioningState, &out.ProvisioningState
		*out = new(string)
		**out = **in
	}
	if in.ResourceState != nil {
		in, out := &in.ResourceState, &out.ResourceState
		*out = new(string)
		**out = **in
	}
	if in.RoutingRuleLinks != nil {
		in, out := &in.RoutingRuleLinks, &out.RoutingRuleLinks
		*out = make([]RoutingRuleLink_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SecurityPolicyLinks != nil {
		in, out := &in.SecurityPolicyLinks, &out.SecurityPolicyLinks
		*out = make([]SecurityPolicyLink_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(Sku_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebApplicationFirewallPolicy_STATUS.
func (in *WebApplicationFirewallPolicy_STATUS) DeepCopy() *WebApplicationFirewallPolicy_STATUS {
	if in == nil {
		return nil
	}
	out := new(WebApplicationFirewallPolicy_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 *WebApplicationFirewallPolicy_Spec) DeepCopyInto(out *WebApplicationFirewallPolicy_Spec) {
	*out = *in
	if in.CustomRules != nil {
		in, out := &in.CustomRules, &out.CustomRules
		*out = new(CustomRuleList)
		(*in).DeepCopyInto(*out)
	}
	if in.Etag != nil {
		in, out := &in.Etag, &out.Etag
		*out = new(string)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.ManagedRules != nil {
		in, out := &in.ManagedRules, &out.ManagedRules
		*out = new(ManagedRuleSetList)
		(*in).DeepCopyInto(*out)
	}
	if in.OperatorSpec != nil {
		in, out := &in.OperatorSpec, &out.OperatorSpec
		*out = new(WebApplicationFirewallPolicyOperatorSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Owner != nil {
		in, out := &in.Owner, &out.Owner
		*out = new(genruntime.KnownResourceReference)
		**out = **in
	}
	if in.PolicySettings != nil {
		in, out := &in.PolicySettings, &out.PolicySettings
		*out = new(PolicySettings)
		(*in).DeepCopyInto(*out)
	}
	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.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(Sku)
		(*in).DeepCopyInto(*out)
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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