// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

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

type ServersAdvancedThreatProtectionSetting_Spec struct {
	Name string `json:"name,omitempty"`

	// Properties: Resource properties.
	Properties *AdvancedThreatProtectionProperties `json:"properties,omitempty"`
}

var _ genruntime.ARMResourceSpec = &ServersAdvancedThreatProtectionSetting_Spec{}

// GetAPIVersion returns the ARM API version of the resource. This is always "2021-11-01"
func (setting ServersAdvancedThreatProtectionSetting_Spec) GetAPIVersion() string {
	return "2021-11-01"
}

// GetName returns the Name of the resource
func (setting *ServersAdvancedThreatProtectionSetting_Spec) GetName() string {
	return setting.Name
}

// GetType returns the ARM Type of the resource. This is always "Microsoft.Sql/servers/advancedThreatProtectionSettings"
func (setting *ServersAdvancedThreatProtectionSetting_Spec) GetType() string {
	return "Microsoft.Sql/servers/advancedThreatProtectionSettings"
}

// Properties of an Advanced Threat Protection state.
type AdvancedThreatProtectionProperties struct {
	// State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been
	// applied yet on the specific database or server.
	State *AdvancedThreatProtectionProperties_State `json:"state,omitempty"`
}

// +kubebuilder:validation:Enum={"Disabled","Enabled","New"}
type AdvancedThreatProtectionProperties_State string

const (
	AdvancedThreatProtectionProperties_State_Disabled = AdvancedThreatProtectionProperties_State("Disabled")
	AdvancedThreatProtectionProperties_State_Enabled  = AdvancedThreatProtectionProperties_State("Enabled")
	AdvancedThreatProtectionProperties_State_New      = AdvancedThreatProtectionProperties_State("New")
)

// Mapping from string to AdvancedThreatProtectionProperties_State
var advancedThreatProtectionProperties_State_Values = map[string]AdvancedThreatProtectionProperties_State{
	"disabled": AdvancedThreatProtectionProperties_State_Disabled,
	"enabled":  AdvancedThreatProtectionProperties_State_Enabled,
	"new":      AdvancedThreatProtectionProperties_State_New,
}
