//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"
	"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	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 *ActionGroupsInformation) DeepCopyInto(out *ActionGroupsInformation) {
	*out = *in
	if in.CustomEmailSubject != nil {
		in, out := &in.CustomEmailSubject, &out.CustomEmailSubject
		*out = new(string)
		**out = **in
	}
	if in.CustomWebhookPayload != nil {
		in, out := &in.CustomWebhookPayload, &out.CustomWebhookPayload
		*out = new(string)
		**out = **in
	}
	if in.GroupReferences != nil {
		in, out := &in.GroupReferences, &out.GroupReferences
		*out = make([]genruntime.ResourceReference, len(*in))
		copy(*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 ActionGroupsInformation.
func (in *ActionGroupsInformation) DeepCopy() *ActionGroupsInformation {
	if in == nil {
		return nil
	}
	out := new(ActionGroupsInformation)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ActionGroupsInformation_STATUS) DeepCopyInto(out *ActionGroupsInformation_STATUS) {
	*out = *in
	if in.CustomEmailSubject != nil {
		in, out := &in.CustomEmailSubject, &out.CustomEmailSubject
		*out = new(string)
		**out = **in
	}
	if in.CustomWebhookPayload != nil {
		in, out := &in.CustomWebhookPayload, &out.CustomWebhookPayload
		*out = new(string)
		**out = **in
	}
	if in.GroupIds != nil {
		in, out := &in.GroupIds, &out.GroupIds
		*out = make([]string, len(*in))
		copy(*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 ActionGroupsInformation_STATUS.
func (in *ActionGroupsInformation_STATUS) DeepCopy() *ActionGroupsInformation_STATUS {
	if in == nil {
		return nil
	}
	out := new(ActionGroupsInformation_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 *Detector) DeepCopyInto(out *Detector) {
	*out = *in
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.Parameters != nil {
		in, out := &in.Parameters, &out.Parameters
		*out = make(map[string]v1.JSON, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	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 Detector.
func (in *Detector) DeepCopy() *Detector {
	if in == nil {
		return nil
	}
	out := new(Detector)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DetectorParameterDefinition_STATUS) DeepCopyInto(out *DetectorParameterDefinition_STATUS) {
	*out = *in
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.DisplayName != nil {
		in, out := &in.DisplayName, &out.DisplayName
		*out = new(string)
		**out = **in
	}
	if in.IsMandatory != nil {
		in, out := &in.IsMandatory, &out.IsMandatory
		*out = new(bool)
		**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
		}
	}
	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 DetectorParameterDefinition_STATUS.
func (in *DetectorParameterDefinition_STATUS) DeepCopy() *DetectorParameterDefinition_STATUS {
	if in == nil {
		return nil
	}
	out := new(DetectorParameterDefinition_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 *Detector_STATUS) DeepCopyInto(out *Detector_STATUS) {
	*out = *in
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.ImagePaths != nil {
		in, out := &in.ImagePaths, &out.ImagePaths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.ParameterDefinitions != nil {
		in, out := &in.ParameterDefinitions, &out.ParameterDefinitions
		*out = make([]DetectorParameterDefinition_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Parameters != nil {
		in, out := &in.Parameters, &out.Parameters
		*out = make(map[string]v1.JSON, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	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.SupportedCadences != nil {
		in, out := &in.SupportedCadences, &out.SupportedCadences
		*out = make([]int, len(*in))
		copy(*out, *in)
	}
	if in.SupportedResourceTypes != nil {
		in, out := &in.SupportedResourceTypes, &out.SupportedResourceTypes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SmartDetectorAlertRule_STATUS) DeepCopyInto(out *SmartDetectorAlertRule_STATUS) {
	*out = *in
	if in.ActionGroups != nil {
		in, out := &in.ActionGroups, &out.ActionGroups
		*out = new(ActionGroupsInformation_STATUS)
		(*in).DeepCopyInto(*out)
	}
	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.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.Detector != nil {
		in, out := &in.Detector, &out.Detector
		*out = new(Detector_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Frequency != nil {
		in, out := &in.Frequency, &out.Frequency
		*out = new(string)
		**out = **in
	}
	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.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.Scope != nil {
		in, out := &in.Scope, &out.Scope
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Severity != nil {
		in, out := &in.Severity, &out.Severity
		*out = new(string)
		**out = **in
	}
	if in.State != nil {
		in, out := &in.State, &out.State
		*out = new(string)
		**out = **in
	}
	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.Throttling != nil {
		in, out := &in.Throttling, &out.Throttling
		*out = new(ThrottlingInformation_STATUS)
		(*in).DeepCopyInto(*out)
	}
	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 SmartDetectorAlertRule_STATUS.
func (in *SmartDetectorAlertRule_STATUS) DeepCopy() *SmartDetectorAlertRule_STATUS {
	if in == nil {
		return nil
	}
	out := new(SmartDetectorAlertRule_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 *SmartDetectorAlertRule_Spec) DeepCopyInto(out *SmartDetectorAlertRule_Spec) {
	*out = *in
	if in.ActionGroups != nil {
		in, out := &in.ActionGroups, &out.ActionGroups
		*out = new(ActionGroupsInformation)
		(*in).DeepCopyInto(*out)
	}
	if in.Description != nil {
		in, out := &in.Description, &out.Description
		*out = new(string)
		**out = **in
	}
	if in.Detector != nil {
		in, out := &in.Detector, &out.Detector
		*out = new(Detector)
		(*in).DeepCopyInto(*out)
	}
	if in.Frequency != nil {
		in, out := &in.Frequency, &out.Frequency
		*out = new(string)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.OperatorSpec != nil {
		in, out := &in.OperatorSpec, &out.OperatorSpec
		*out = new(SmartDetectorAlertRuleOperatorSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Owner != nil {
		in, out := &in.Owner, &out.Owner
		*out = new(genruntime.KnownResourceReference)
		**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.ScopeReferences != nil {
		in, out := &in.ScopeReferences, &out.ScopeReferences
		*out = make([]genruntime.ResourceReference, len(*in))
		copy(*out, *in)
	}
	if in.Severity != nil {
		in, out := &in.Severity, &out.Severity
		*out = new(string)
		**out = **in
	}
	if in.State != nil {
		in, out := &in.State, &out.State
		*out = new(string)
		**out = **in
	}
	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.Throttling != nil {
		in, out := &in.Throttling, &out.Throttling
		*out = new(ThrottlingInformation)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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