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

type FlexibleServer_STATUS struct {
	// Id: Fully qualified resource ID for the resource. E.g.
	// "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	Id *string `json:"id,omitempty"`

	// Identity: User assigned managed identities assigned to the flexible server.
	Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"`

	// Location: The geo-location where the resource lives
	Location *string `json:"location,omitempty"`

	// Name: The name of the resource
	Name *string `json:"name,omitempty"`

	// Properties: Properties of a flexible server.
	Properties *ServerProperties_STATUS `json:"properties,omitempty"`

	// Sku: Compute tier and size of a flexible server.
	Sku *Sku_STATUS `json:"sku,omitempty"`

	// SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData_STATUS `json:"systemData,omitempty"`

	// Tags: Resource tags.
	Tags map[string]string `json:"tags,omitempty"`

	// Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string `json:"type,omitempty"`
}

// Properties of a flexible server.
type ServerProperties_STATUS struct {
	// AdministratorLogin: Name of the login designated as the first password based administrator assigned to your instance of
	// PostgreSQL. Must be specified the first time that you enable password based authentication on a server. Once set to a
	// given value, it cannot be changed for the rest of the life of a server. If you disable password based authentication on
	// a server which had it enabled, this password based role isn't deleted.
	AdministratorLogin *string `json:"administratorLogin,omitempty"`

	// AuthConfig: Authentication configuration properties of a flexible server.
	AuthConfig *AuthConfig_STATUS `json:"authConfig,omitempty"`

	// AvailabilityZone: Availability zone of a flexible server.
	AvailabilityZone *string `json:"availabilityZone,omitempty"`

	// Backup: Backup properties of a flexible server.
	Backup *Backup_STATUS `json:"backup,omitempty"`

	// CreateMode: Creation mode of a new flexible server.
	CreateMode *ServerProperties_CreateMode_STATUS `json:"createMode,omitempty"`

	// DataEncryption: Data encryption properties of a flexible server.
	DataEncryption *DataEncryption_STATUS `json:"dataEncryption,omitempty"`

	// FullyQualifiedDomainName: Fully qualified domain name of a flexible server.
	FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"`

	// HighAvailability: High availability properties of a flexible server.
	HighAvailability *HighAvailability_STATUS `json:"highAvailability,omitempty"`

	// MaintenanceWindow: Maintenance window properties of a flexible server.
	MaintenanceWindow *MaintenanceWindow_STATUS `json:"maintenanceWindow,omitempty"`

	// MinorVersion: Minor version of PostgreSQL database engine.
	MinorVersion *string `json:"minorVersion,omitempty"`

	// Network: Network properties of a flexible server. Only required if you want your server to be integrated into a virtual
	// network provided by customer.
	Network *Network_STATUS `json:"network,omitempty"`

	// PointInTimeUTC: Creation time (in ISO8601 format) of the backup which you want to restore in the new flexible server.
	// It's required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', or 'ReviveDropped'.
	PointInTimeUTC *string `json:"pointInTimeUTC,omitempty"`

	// PrivateEndpointConnections: List of private endpoint connections associated with the specified flexible server.
	PrivateEndpointConnections []PrivateEndpointConnection_STATUS `json:"privateEndpointConnections,omitempty"`

	// Replica: Read replica properties of a flexible server. Required only in case that you want to promote a server.
	Replica *Replica_STATUS `json:"replica,omitempty"`

	// ReplicaCapacity: Maximum number of read replicas allowed for a flexible server.
	ReplicaCapacity *int `json:"replicaCapacity,omitempty"`

	// ReplicationRole: Role of the server in a replication set.
	ReplicationRole *ReplicationRole_STATUS `json:"replicationRole,omitempty"`

	// SourceServerResourceId: Identifier of the flexible server to be used as the source of the new flexible server. Required
	// when 'createMode' is 'PointInTimeRestore', 'GeoRestore', 'Replica', or 'ReviveDropped'. This property is returned only
	// when the target flexible server is a read replica.
	SourceServerResourceId *string `json:"sourceServerResourceId,omitempty"`

	// State: Possible states of a flexible server.
	State *ServerProperties_State_STATUS `json:"state,omitempty"`

	// Storage: Storage properties of a flexible server.
	Storage *Storage_STATUS `json:"storage,omitempty"`

	// Version: Major version of PostgreSQL database engine.
	Version *ServerVersion_STATUS `json:"version,omitempty"`
}

// Compute information of a flexible server.
type Sku_STATUS struct {
	// Name: Name by which is known a given compute size assigned to a flexible server.
	Name *string `json:"name,omitempty"`

	// Tier: Tier of the compute assigned to a flexible server.
	Tier *Sku_Tier_STATUS `json:"tier,omitempty"`
}

// Metadata pertaining to creation and last modification of the resource.
type SystemData_STATUS struct {
	// CreatedAt: The timestamp of resource creation (UTC).
	CreatedAt *string `json:"createdAt,omitempty"`

	// CreatedBy: The identity that created the resource.
	CreatedBy *string `json:"createdBy,omitempty"`

	// CreatedByType: The type of identity that created the resource.
	CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"`

	// LastModifiedAt: The timestamp of resource last modification (UTC)
	LastModifiedAt *string `json:"lastModifiedAt,omitempty"`

	// LastModifiedBy: The identity that last modified the resource.
	LastModifiedBy *string `json:"lastModifiedBy,omitempty"`

	// LastModifiedByType: The type of identity that last modified the resource.
	LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"`
}

// Identities associated with a flexible server.
type UserAssignedIdentity_STATUS struct {
	// PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.
	PrincipalId *string `json:"principalId,omitempty"`

	// TenantId: Identifier of the tenant of a flexible server.
	TenantId *string `json:"tenantId,omitempty"`

	// Type: Types of identities associated with a flexible server.
	Type *UserAssignedIdentity_Type_STATUS `json:"type,omitempty"`

	// UserAssignedIdentities: Map of user assigned managed identities.
	UserAssignedIdentities map[string]UserIdentity_STATUS `json:"userAssignedIdentities,omitempty"`
}

// Authentication configuration properties of a flexible server.
type AuthConfig_STATUS struct {
	// ActiveDirectoryAuth: Indicates if the server supports Microsoft Entra authentication.
	ActiveDirectoryAuth *AuthConfig_ActiveDirectoryAuth_STATUS `json:"activeDirectoryAuth,omitempty"`

	// PasswordAuth: Indicates if the server supports password based authentication.
	PasswordAuth *AuthConfig_PasswordAuth_STATUS `json:"passwordAuth,omitempty"`

	// TenantId: Identifier of the tenant of the delegated resource.
	TenantId *string `json:"tenantId,omitempty"`
}

// Backup properties of a flexible server.
type Backup_STATUS struct {
	// BackupRetentionDays: Backup retention days for the flexible server.
	BackupRetentionDays *int `json:"backupRetentionDays,omitempty"`

	// EarliestRestoreDate: Earliest restore point time (ISO8601 format) for a flexible server.
	EarliestRestoreDate *string `json:"earliestRestoreDate,omitempty"`

	// GeoRedundantBackup: Indicates if the server is configured to create geographically redundant backups.
	GeoRedundantBackup *Backup_GeoRedundantBackup_STATUS `json:"geoRedundantBackup,omitempty"`
}

// Data encryption properties of a flexible server.
type DataEncryption_STATUS struct {
	// GeoBackupEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer
	// managed key, to encrypt the geographically redundant storage associated to the server when it is configured to support
	// geographically redundant backups.
	GeoBackupEncryptionKeyStatus *DataEncryption_GeoBackupEncryptionKeyStatus_STATUS `json:"geoBackupEncryptionKeyStatus,omitempty"`

	// GeoBackupKeyURI: Identifier of the user assigned managed identity used to access the key in Azure Key Vault for data
	// encryption of the geographically redundant storage associated to a flexible server that is configured to support
	// geographically redundant backups.
	GeoBackupKeyURI *string `json:"geoBackupKeyURI,omitempty"`

	// GeoBackupUserAssignedIdentityId: Identifier of the user assigned managed identity used to access the key in Azure Key
	// Vault for data encryption of the geographically redundant storage associated to a flexible server that is configured to
	// support geographically redundant backups.
	GeoBackupUserAssignedIdentityId *string `json:"geoBackupUserAssignedIdentityId,omitempty"`

	// PrimaryEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer
	// managed key, to encrypt the primary storage associated to the server.
	PrimaryEncryptionKeyStatus *DataEncryption_PrimaryEncryptionKeyStatus_STATUS `json:"primaryEncryptionKeyStatus,omitempty"`

	// PrimaryKeyURI: URI of the key in Azure Key Vault used for data encryption of the primary storage associated to a
	// flexible server.
	PrimaryKeyURI *string `json:"primaryKeyURI,omitempty"`

	// PrimaryUserAssignedIdentityId: Identifier of the user assigned managed identity used to access the key in Azure Key
	// Vault for data encryption of the primary storage associated to a flexible server.
	PrimaryUserAssignedIdentityId *string `json:"primaryUserAssignedIdentityId,omitempty"`

	// Type: Data encryption type used by a flexible server.
	Type *DataEncryption_Type_STATUS `json:"type,omitempty"`
}

// High availability properties of a flexible server.
type HighAvailability_STATUS struct {
	// Mode: High availability mode for a flexible server.
	Mode *HighAvailability_Mode_STATUS `json:"mode,omitempty"`

	// StandbyAvailabilityZone: Availability zone associated to the standby server created when high availability is set to
	// SameZone or ZoneRedundant.
	StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"`

	// State: Possible states of the standby server created when high availability is set to SameZone or ZoneRedundant.
	State *HighAvailability_State_STATUS `json:"state,omitempty"`
}

// Maintenance window properties of a flexible server.
type MaintenanceWindow_STATUS struct {
	// CustomWindow: Indicates whether custom window is enabled or disabled.
	CustomWindow *string `json:"customWindow,omitempty"`

	// DayOfWeek: Day of the week to be used for maintenance window.
	DayOfWeek *int `json:"dayOfWeek,omitempty"`

	// StartHour: Start hour to be used for maintenance window.
	StartHour *int `json:"startHour,omitempty"`

	// StartMinute: Start minute to be used for maintenance window.
	StartMinute *int `json:"startMinute,omitempty"`
}

// Network properties of a flexible server.
type Network_STATUS struct {
	// DelegatedSubnetResourceId: Resource identifier of the delegated subnet. Required during creation of a new server, in
	// case you want the server to be integrated into your own virtual network. For an update operation, you only have to
	// provide this property if you want to change the value assigned for the private DNS zone.
	DelegatedSubnetResourceId *string `json:"delegatedSubnetResourceId,omitempty"`

	// PrivateDnsZoneArmResourceId: Identifier of the private DNS zone. Required during creation of a new server, in case you
	// want the server to be integrated into your own virtual network. For an update operation, you only have to provide this
	// property if you want to change the value assigned for the private DNS zone.
	PrivateDnsZoneArmResourceId *string `json:"privateDnsZoneArmResourceId,omitempty"`

	// PublicNetworkAccess: Indicates if public network access is enabled or not.
	PublicNetworkAccess *Network_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"`
}

// The private endpoint connection resource.
type PrivateEndpointConnection_STATUS struct {
	// Id: Fully qualified resource ID for the resource. E.g.
	// "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	Id *string `json:"id,omitempty"`
}

// Replica properties of a flexible server.
type Replica_STATUS struct {
	// Capacity: Maximum number of read replicas allowed for a flexible server.
	Capacity *int `json:"capacity,omitempty"`

	// PromoteMode: Type of operation to apply on the read replica. This property is write only. Standalone means that the read
	// replica will be promoted to a standalone server, and will become a completely independent entity from the replication
	// set. Switchover means that the read replica will roles with the primary server.
	PromoteMode *Replica_PromoteMode_STATUS `json:"promoteMode,omitempty"`

	// PromoteOption: Data synchronization option to use when processing the operation specified in the promoteMode property
	// This property is write only. Planned means that the operation will wait for data in the read replica to be fully
	// synchronized with its source server before it initiates the operation. Forced means that the operation will not wait for
	// data in the read replica to be synchronized with its source server before it initiates the operation.
	PromoteOption *Replica_PromoteOption_STATUS `json:"promoteOption,omitempty"`

	// ReplicationState: Indicates the replication state of a read replica. This property is returned only when the target
	// flexible server is a read replica. Possible  values are Active, Broken, Catchup, Provisioning, Reconfiguring, and
	// Updating
	ReplicationState *Replica_ReplicationState_STATUS `json:"replicationState,omitempty"`

	// Role: Role of the server in a replication set.
	Role *ReplicationRole_STATUS `json:"role,omitempty"`
}

// Role of the flexible server in a replication set.
type ReplicationRole_STATUS string

const (
	ReplicationRole_STATUS_AsyncReplica    = ReplicationRole_STATUS("AsyncReplica")
	ReplicationRole_STATUS_GeoAsyncReplica = ReplicationRole_STATUS("GeoAsyncReplica")
	ReplicationRole_STATUS_None            = ReplicationRole_STATUS("None")
	ReplicationRole_STATUS_Primary         = ReplicationRole_STATUS("Primary")
)

// Mapping from string to ReplicationRole_STATUS
var replicationRole_STATUS_Values = map[string]ReplicationRole_STATUS{
	"asyncreplica":    ReplicationRole_STATUS_AsyncReplica,
	"geoasyncreplica": ReplicationRole_STATUS_GeoAsyncReplica,
	"none":            ReplicationRole_STATUS_None,
	"primary":         ReplicationRole_STATUS_Primary,
}

type ServerProperties_CreateMode_STATUS string

const (
	ServerProperties_CreateMode_STATUS_Create             = ServerProperties_CreateMode_STATUS("Create")
	ServerProperties_CreateMode_STATUS_Default            = ServerProperties_CreateMode_STATUS("Default")
	ServerProperties_CreateMode_STATUS_GeoRestore         = ServerProperties_CreateMode_STATUS("GeoRestore")
	ServerProperties_CreateMode_STATUS_PointInTimeRestore = ServerProperties_CreateMode_STATUS("PointInTimeRestore")
	ServerProperties_CreateMode_STATUS_Replica            = ServerProperties_CreateMode_STATUS("Replica")
	ServerProperties_CreateMode_STATUS_ReviveDropped      = ServerProperties_CreateMode_STATUS("ReviveDropped")
	ServerProperties_CreateMode_STATUS_Update             = ServerProperties_CreateMode_STATUS("Update")
)

// Mapping from string to ServerProperties_CreateMode_STATUS
var serverProperties_CreateMode_STATUS_Values = map[string]ServerProperties_CreateMode_STATUS{
	"create":             ServerProperties_CreateMode_STATUS_Create,
	"default":            ServerProperties_CreateMode_STATUS_Default,
	"georestore":         ServerProperties_CreateMode_STATUS_GeoRestore,
	"pointintimerestore": ServerProperties_CreateMode_STATUS_PointInTimeRestore,
	"replica":            ServerProperties_CreateMode_STATUS_Replica,
	"revivedropped":      ServerProperties_CreateMode_STATUS_ReviveDropped,
	"update":             ServerProperties_CreateMode_STATUS_Update,
}

type ServerProperties_State_STATUS string

const (
	ServerProperties_State_STATUS_Disabled = ServerProperties_State_STATUS("Disabled")
	ServerProperties_State_STATUS_Dropping = ServerProperties_State_STATUS("Dropping")
	ServerProperties_State_STATUS_Ready    = ServerProperties_State_STATUS("Ready")
	ServerProperties_State_STATUS_Starting = ServerProperties_State_STATUS("Starting")
	ServerProperties_State_STATUS_Stopped  = ServerProperties_State_STATUS("Stopped")
	ServerProperties_State_STATUS_Stopping = ServerProperties_State_STATUS("Stopping")
	ServerProperties_State_STATUS_Updating = ServerProperties_State_STATUS("Updating")
)

// Mapping from string to ServerProperties_State_STATUS
var serverProperties_State_STATUS_Values = map[string]ServerProperties_State_STATUS{
	"disabled": ServerProperties_State_STATUS_Disabled,
	"dropping": ServerProperties_State_STATUS_Dropping,
	"ready":    ServerProperties_State_STATUS_Ready,
	"starting": ServerProperties_State_STATUS_Starting,
	"stopped":  ServerProperties_State_STATUS_Stopped,
	"stopping": ServerProperties_State_STATUS_Stopping,
	"updating": ServerProperties_State_STATUS_Updating,
}

// Major version of PostgreSQL database engine.
type ServerVersion_STATUS string

const (
	ServerVersion_STATUS_11 = ServerVersion_STATUS("11")
	ServerVersion_STATUS_12 = ServerVersion_STATUS("12")
	ServerVersion_STATUS_13 = ServerVersion_STATUS("13")
	ServerVersion_STATUS_14 = ServerVersion_STATUS("14")
	ServerVersion_STATUS_15 = ServerVersion_STATUS("15")
	ServerVersion_STATUS_16 = ServerVersion_STATUS("16")
)

// Mapping from string to ServerVersion_STATUS
var serverVersion_STATUS_Values = map[string]ServerVersion_STATUS{
	"11": ServerVersion_STATUS_11,
	"12": ServerVersion_STATUS_12,
	"13": ServerVersion_STATUS_13,
	"14": ServerVersion_STATUS_14,
	"15": ServerVersion_STATUS_15,
	"16": ServerVersion_STATUS_16,
}

type Sku_Tier_STATUS string

const (
	Sku_Tier_STATUS_Burstable       = Sku_Tier_STATUS("Burstable")
	Sku_Tier_STATUS_GeneralPurpose  = Sku_Tier_STATUS("GeneralPurpose")
	Sku_Tier_STATUS_MemoryOptimized = Sku_Tier_STATUS("MemoryOptimized")
)

// Mapping from string to Sku_Tier_STATUS
var sku_Tier_STATUS_Values = map[string]Sku_Tier_STATUS{
	"burstable":       Sku_Tier_STATUS_Burstable,
	"generalpurpose":  Sku_Tier_STATUS_GeneralPurpose,
	"memoryoptimized": Sku_Tier_STATUS_MemoryOptimized,
}

// Storage properties of a flexible server.
type Storage_STATUS struct {
	// AutoGrow: Flag to enable or disable the automatic growth of storage size of a flexible server when available space is
	// nearing zero and conditions allow for automatically growing storage size.
	AutoGrow *Storage_AutoGrow_STATUS `json:"autoGrow,omitempty"`

	// Iops: Maximum IOPS supported for storage. Required when type of storage is PremiumV2_LRS.
	Iops *int `json:"iops,omitempty"`

	// StorageSizeGB: Size of storage assigned to a flexible server.
	StorageSizeGB *int `json:"storageSizeGB,omitempty"`

	// Throughput: Maximum throughput supported for storage. Required when type of storage is PremiumV2_LRS.
	Throughput *int `json:"throughput,omitempty"`

	// Tier: Storage tier of a flexible server.
	Tier *Storage_Tier_STATUS `json:"tier,omitempty"`

	// Type: Type of storage assigned to a flexible server. Allowed values are Premium_LRS or PremiumV2_LRS. If not specified,
	// it defaults to Premium_LRS.
	Type *Storage_Type_STATUS `json:"type,omitempty"`
}

type SystemData_CreatedByType_STATUS string

const (
	SystemData_CreatedByType_STATUS_Application     = SystemData_CreatedByType_STATUS("Application")
	SystemData_CreatedByType_STATUS_Key             = SystemData_CreatedByType_STATUS("Key")
	SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity")
	SystemData_CreatedByType_STATUS_User            = SystemData_CreatedByType_STATUS("User")
)

// Mapping from string to SystemData_CreatedByType_STATUS
var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{
	"application":     SystemData_CreatedByType_STATUS_Application,
	"key":             SystemData_CreatedByType_STATUS_Key,
	"managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity,
	"user":            SystemData_CreatedByType_STATUS_User,
}

type SystemData_LastModifiedByType_STATUS string

const (
	SystemData_LastModifiedByType_STATUS_Application     = SystemData_LastModifiedByType_STATUS("Application")
	SystemData_LastModifiedByType_STATUS_Key             = SystemData_LastModifiedByType_STATUS("Key")
	SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity")
	SystemData_LastModifiedByType_STATUS_User            = SystemData_LastModifiedByType_STATUS("User")
)

// Mapping from string to SystemData_LastModifiedByType_STATUS
var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{
	"application":     SystemData_LastModifiedByType_STATUS_Application,
	"key":             SystemData_LastModifiedByType_STATUS_Key,
	"managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity,
	"user":            SystemData_LastModifiedByType_STATUS_User,
}

type UserAssignedIdentity_Type_STATUS string

const (
	UserAssignedIdentity_Type_STATUS_None                       = UserAssignedIdentity_Type_STATUS("None")
	UserAssignedIdentity_Type_STATUS_SystemAssigned             = UserAssignedIdentity_Type_STATUS("SystemAssigned")
	UserAssignedIdentity_Type_STATUS_SystemAssignedUserAssigned = UserAssignedIdentity_Type_STATUS("SystemAssigned,UserAssigned")
	UserAssignedIdentity_Type_STATUS_UserAssigned               = UserAssignedIdentity_Type_STATUS("UserAssigned")
)

// Mapping from string to UserAssignedIdentity_Type_STATUS
var userAssignedIdentity_Type_STATUS_Values = map[string]UserAssignedIdentity_Type_STATUS{
	"none":                        UserAssignedIdentity_Type_STATUS_None,
	"systemassigned":              UserAssignedIdentity_Type_STATUS_SystemAssigned,
	"systemassigned,userassigned": UserAssignedIdentity_Type_STATUS_SystemAssignedUserAssigned,
	"userassigned":                UserAssignedIdentity_Type_STATUS_UserAssigned,
}

// User assigned managed identity associated with a flexible server.
type UserIdentity_STATUS struct {
	// ClientId: Identifier of the client of the service principal associated to the user assigned managed identity.
	ClientId *string `json:"clientId,omitempty"`

	// PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.
	PrincipalId *string `json:"principalId,omitempty"`
}

type AuthConfig_ActiveDirectoryAuth_STATUS string

const (
	AuthConfig_ActiveDirectoryAuth_STATUS_Disabled = AuthConfig_ActiveDirectoryAuth_STATUS("Disabled")
	AuthConfig_ActiveDirectoryAuth_STATUS_Enabled  = AuthConfig_ActiveDirectoryAuth_STATUS("Enabled")
)

// Mapping from string to AuthConfig_ActiveDirectoryAuth_STATUS
var authConfig_ActiveDirectoryAuth_STATUS_Values = map[string]AuthConfig_ActiveDirectoryAuth_STATUS{
	"disabled": AuthConfig_ActiveDirectoryAuth_STATUS_Disabled,
	"enabled":  AuthConfig_ActiveDirectoryAuth_STATUS_Enabled,
}

type AuthConfig_PasswordAuth_STATUS string

const (
	AuthConfig_PasswordAuth_STATUS_Disabled = AuthConfig_PasswordAuth_STATUS("Disabled")
	AuthConfig_PasswordAuth_STATUS_Enabled  = AuthConfig_PasswordAuth_STATUS("Enabled")
)

// Mapping from string to AuthConfig_PasswordAuth_STATUS
var authConfig_PasswordAuth_STATUS_Values = map[string]AuthConfig_PasswordAuth_STATUS{
	"disabled": AuthConfig_PasswordAuth_STATUS_Disabled,
	"enabled":  AuthConfig_PasswordAuth_STATUS_Enabled,
}

type Backup_GeoRedundantBackup_STATUS string

const (
	Backup_GeoRedundantBackup_STATUS_Disabled = Backup_GeoRedundantBackup_STATUS("Disabled")
	Backup_GeoRedundantBackup_STATUS_Enabled  = Backup_GeoRedundantBackup_STATUS("Enabled")
)

// Mapping from string to Backup_GeoRedundantBackup_STATUS
var backup_GeoRedundantBackup_STATUS_Values = map[string]Backup_GeoRedundantBackup_STATUS{
	"disabled": Backup_GeoRedundantBackup_STATUS_Disabled,
	"enabled":  Backup_GeoRedundantBackup_STATUS_Enabled,
}

type DataEncryption_GeoBackupEncryptionKeyStatus_STATUS string

const (
	DataEncryption_GeoBackupEncryptionKeyStatus_STATUS_Invalid = DataEncryption_GeoBackupEncryptionKeyStatus_STATUS("Invalid")
	DataEncryption_GeoBackupEncryptionKeyStatus_STATUS_Valid   = DataEncryption_GeoBackupEncryptionKeyStatus_STATUS("Valid")
)

// Mapping from string to DataEncryption_GeoBackupEncryptionKeyStatus_STATUS
var dataEncryption_GeoBackupEncryptionKeyStatus_STATUS_Values = map[string]DataEncryption_GeoBackupEncryptionKeyStatus_STATUS{
	"invalid": DataEncryption_GeoBackupEncryptionKeyStatus_STATUS_Invalid,
	"valid":   DataEncryption_GeoBackupEncryptionKeyStatus_STATUS_Valid,
}

type DataEncryption_PrimaryEncryptionKeyStatus_STATUS string

const (
	DataEncryption_PrimaryEncryptionKeyStatus_STATUS_Invalid = DataEncryption_PrimaryEncryptionKeyStatus_STATUS("Invalid")
	DataEncryption_PrimaryEncryptionKeyStatus_STATUS_Valid   = DataEncryption_PrimaryEncryptionKeyStatus_STATUS("Valid")
)

// Mapping from string to DataEncryption_PrimaryEncryptionKeyStatus_STATUS
var dataEncryption_PrimaryEncryptionKeyStatus_STATUS_Values = map[string]DataEncryption_PrimaryEncryptionKeyStatus_STATUS{
	"invalid": DataEncryption_PrimaryEncryptionKeyStatus_STATUS_Invalid,
	"valid":   DataEncryption_PrimaryEncryptionKeyStatus_STATUS_Valid,
}

type DataEncryption_Type_STATUS string

const (
	DataEncryption_Type_STATUS_AzureKeyVault = DataEncryption_Type_STATUS("AzureKeyVault")
	DataEncryption_Type_STATUS_SystemManaged = DataEncryption_Type_STATUS("SystemManaged")
)

// Mapping from string to DataEncryption_Type_STATUS
var dataEncryption_Type_STATUS_Values = map[string]DataEncryption_Type_STATUS{
	"azurekeyvault": DataEncryption_Type_STATUS_AzureKeyVault,
	"systemmanaged": DataEncryption_Type_STATUS_SystemManaged,
}

type HighAvailability_Mode_STATUS string

const (
	HighAvailability_Mode_STATUS_Disabled      = HighAvailability_Mode_STATUS("Disabled")
	HighAvailability_Mode_STATUS_SameZone      = HighAvailability_Mode_STATUS("SameZone")
	HighAvailability_Mode_STATUS_ZoneRedundant = HighAvailability_Mode_STATUS("ZoneRedundant")
)

// Mapping from string to HighAvailability_Mode_STATUS
var highAvailability_Mode_STATUS_Values = map[string]HighAvailability_Mode_STATUS{
	"disabled":      HighAvailability_Mode_STATUS_Disabled,
	"samezone":      HighAvailability_Mode_STATUS_SameZone,
	"zoneredundant": HighAvailability_Mode_STATUS_ZoneRedundant,
}

type HighAvailability_State_STATUS string

const (
	HighAvailability_State_STATUS_CreatingStandby = HighAvailability_State_STATUS("CreatingStandby")
	HighAvailability_State_STATUS_FailingOver     = HighAvailability_State_STATUS("FailingOver")
	HighAvailability_State_STATUS_Healthy         = HighAvailability_State_STATUS("Healthy")
	HighAvailability_State_STATUS_NotEnabled      = HighAvailability_State_STATUS("NotEnabled")
	HighAvailability_State_STATUS_RemovingStandby = HighAvailability_State_STATUS("RemovingStandby")
	HighAvailability_State_STATUS_ReplicatingData = HighAvailability_State_STATUS("ReplicatingData")
)

// Mapping from string to HighAvailability_State_STATUS
var highAvailability_State_STATUS_Values = map[string]HighAvailability_State_STATUS{
	"creatingstandby": HighAvailability_State_STATUS_CreatingStandby,
	"failingover":     HighAvailability_State_STATUS_FailingOver,
	"healthy":         HighAvailability_State_STATUS_Healthy,
	"notenabled":      HighAvailability_State_STATUS_NotEnabled,
	"removingstandby": HighAvailability_State_STATUS_RemovingStandby,
	"replicatingdata": HighAvailability_State_STATUS_ReplicatingData,
}

type Network_PublicNetworkAccess_STATUS string

const (
	Network_PublicNetworkAccess_STATUS_Disabled = Network_PublicNetworkAccess_STATUS("Disabled")
	Network_PublicNetworkAccess_STATUS_Enabled  = Network_PublicNetworkAccess_STATUS("Enabled")
)

// Mapping from string to Network_PublicNetworkAccess_STATUS
var network_PublicNetworkAccess_STATUS_Values = map[string]Network_PublicNetworkAccess_STATUS{
	"disabled": Network_PublicNetworkAccess_STATUS_Disabled,
	"enabled":  Network_PublicNetworkAccess_STATUS_Enabled,
}

type Replica_PromoteMode_STATUS string

const (
	Replica_PromoteMode_STATUS_Standalone = Replica_PromoteMode_STATUS("standalone")
	Replica_PromoteMode_STATUS_Switchover = Replica_PromoteMode_STATUS("switchover")
)

// Mapping from string to Replica_PromoteMode_STATUS
var replica_PromoteMode_STATUS_Values = map[string]Replica_PromoteMode_STATUS{
	"standalone": Replica_PromoteMode_STATUS_Standalone,
	"switchover": Replica_PromoteMode_STATUS_Switchover,
}

type Replica_PromoteOption_STATUS string

const (
	Replica_PromoteOption_STATUS_Forced  = Replica_PromoteOption_STATUS("forced")
	Replica_PromoteOption_STATUS_Planned = Replica_PromoteOption_STATUS("planned")
)

// Mapping from string to Replica_PromoteOption_STATUS
var replica_PromoteOption_STATUS_Values = map[string]Replica_PromoteOption_STATUS{
	"forced":  Replica_PromoteOption_STATUS_Forced,
	"planned": Replica_PromoteOption_STATUS_Planned,
}

type Replica_ReplicationState_STATUS string

const (
	Replica_ReplicationState_STATUS_Active        = Replica_ReplicationState_STATUS("Active")
	Replica_ReplicationState_STATUS_Broken        = Replica_ReplicationState_STATUS("Broken")
	Replica_ReplicationState_STATUS_Catchup       = Replica_ReplicationState_STATUS("Catchup")
	Replica_ReplicationState_STATUS_Provisioning  = Replica_ReplicationState_STATUS("Provisioning")
	Replica_ReplicationState_STATUS_Reconfiguring = Replica_ReplicationState_STATUS("Reconfiguring")
	Replica_ReplicationState_STATUS_Updating      = Replica_ReplicationState_STATUS("Updating")
)

// Mapping from string to Replica_ReplicationState_STATUS
var replica_ReplicationState_STATUS_Values = map[string]Replica_ReplicationState_STATUS{
	"active":        Replica_ReplicationState_STATUS_Active,
	"broken":        Replica_ReplicationState_STATUS_Broken,
	"catchup":       Replica_ReplicationState_STATUS_Catchup,
	"provisioning":  Replica_ReplicationState_STATUS_Provisioning,
	"reconfiguring": Replica_ReplicationState_STATUS_Reconfiguring,
	"updating":      Replica_ReplicationState_STATUS_Updating,
}

type Storage_AutoGrow_STATUS string

const (
	Storage_AutoGrow_STATUS_Disabled = Storage_AutoGrow_STATUS("Disabled")
	Storage_AutoGrow_STATUS_Enabled  = Storage_AutoGrow_STATUS("Enabled")
)

// Mapping from string to Storage_AutoGrow_STATUS
var storage_AutoGrow_STATUS_Values = map[string]Storage_AutoGrow_STATUS{
	"disabled": Storage_AutoGrow_STATUS_Disabled,
	"enabled":  Storage_AutoGrow_STATUS_Enabled,
}

type Storage_Tier_STATUS string

const (
	Storage_Tier_STATUS_P1  = Storage_Tier_STATUS("P1")
	Storage_Tier_STATUS_P10 = Storage_Tier_STATUS("P10")
	Storage_Tier_STATUS_P15 = Storage_Tier_STATUS("P15")
	Storage_Tier_STATUS_P2  = Storage_Tier_STATUS("P2")
	Storage_Tier_STATUS_P20 = Storage_Tier_STATUS("P20")
	Storage_Tier_STATUS_P3  = Storage_Tier_STATUS("P3")
	Storage_Tier_STATUS_P30 = Storage_Tier_STATUS("P30")
	Storage_Tier_STATUS_P4  = Storage_Tier_STATUS("P4")
	Storage_Tier_STATUS_P40 = Storage_Tier_STATUS("P40")
	Storage_Tier_STATUS_P50 = Storage_Tier_STATUS("P50")
	Storage_Tier_STATUS_P6  = Storage_Tier_STATUS("P6")
	Storage_Tier_STATUS_P60 = Storage_Tier_STATUS("P60")
	Storage_Tier_STATUS_P70 = Storage_Tier_STATUS("P70")
	Storage_Tier_STATUS_P80 = Storage_Tier_STATUS("P80")
)

// Mapping from string to Storage_Tier_STATUS
var storage_Tier_STATUS_Values = map[string]Storage_Tier_STATUS{
	"p1":  Storage_Tier_STATUS_P1,
	"p10": Storage_Tier_STATUS_P10,
	"p15": Storage_Tier_STATUS_P15,
	"p2":  Storage_Tier_STATUS_P2,
	"p20": Storage_Tier_STATUS_P20,
	"p3":  Storage_Tier_STATUS_P3,
	"p30": Storage_Tier_STATUS_P30,
	"p4":  Storage_Tier_STATUS_P4,
	"p40": Storage_Tier_STATUS_P40,
	"p50": Storage_Tier_STATUS_P50,
	"p6":  Storage_Tier_STATUS_P6,
	"p60": Storage_Tier_STATUS_P60,
	"p70": Storage_Tier_STATUS_P70,
	"p80": Storage_Tier_STATUS_P80,
}

type Storage_Type_STATUS string

const (
	Storage_Type_STATUS_PremiumV2_LRS = Storage_Type_STATUS("PremiumV2_LRS")
	Storage_Type_STATUS_Premium_LRS   = Storage_Type_STATUS("Premium_LRS")
)

// Mapping from string to Storage_Type_STATUS
var storage_Type_STATUS_Values = map[string]Storage_Type_STATUS{
	"premiumv2_lrs": Storage_Type_STATUS_PremiumV2_LRS,
	"premium_lrs":   Storage_Type_STATUS_Premium_LRS,
}
