package kusto

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

// AzureScaleType enumerates the values for azure scale type.
type AzureScaleType string

const (
	// Automatic ...
	Automatic AzureScaleType = "automatic"
	// Manual ...
	Manual AzureScaleType = "manual"
	// None ...
	None AzureScaleType = "none"
)

// PossibleAzureScaleTypeValues returns an array of possible values for the AzureScaleType const type.
func PossibleAzureScaleTypeValues() []AzureScaleType {
	return []AzureScaleType{Automatic, Manual, None}
}

// AzureSkuName enumerates the values for azure sku name.
type AzureSkuName string

const (
	// DevNoSLAStandardD11V2 ...
	DevNoSLAStandardD11V2 AzureSkuName = "Dev(No SLA)_Standard_D11_v2"
	// StandardD11V2 ...
	StandardD11V2 AzureSkuName = "Standard_D11_v2"
	// StandardD12V2 ...
	StandardD12V2 AzureSkuName = "Standard_D12_v2"
	// StandardD13V2 ...
	StandardD13V2 AzureSkuName = "Standard_D13_v2"
	// StandardD14V2 ...
	StandardD14V2 AzureSkuName = "Standard_D14_v2"
	// StandardDS13V21TBPS ...
	StandardDS13V21TBPS AzureSkuName = "Standard_DS13_v2+1TB_PS"
	// StandardDS13V22TBPS ...
	StandardDS13V22TBPS AzureSkuName = "Standard_DS13_v2+2TB_PS"
	// StandardDS14V23TBPS ...
	StandardDS14V23TBPS AzureSkuName = "Standard_DS14_v2+3TB_PS"
	// StandardDS14V24TBPS ...
	StandardDS14V24TBPS AzureSkuName = "Standard_DS14_v2+4TB_PS"
	// StandardL16s ...
	StandardL16s AzureSkuName = "Standard_L16s"
	// StandardL4s ...
	StandardL4s AzureSkuName = "Standard_L4s"
	// StandardL8s ...
	StandardL8s AzureSkuName = "Standard_L8s"
)

// PossibleAzureSkuNameValues returns an array of possible values for the AzureSkuName const type.
func PossibleAzureSkuNameValues() []AzureSkuName {
	return []AzureSkuName{DevNoSLAStandardD11V2, StandardD11V2, StandardD12V2, StandardD13V2, StandardD14V2, StandardDS13V21TBPS, StandardDS13V22TBPS, StandardDS14V23TBPS, StandardDS14V24TBPS, StandardL16s, StandardL4s, StandardL8s}
}

// AzureSkuTier enumerates the values for azure sku tier.
type AzureSkuTier string

const (
	// Basic ...
	Basic AzureSkuTier = "Basic"
	// Standard ...
	Standard AzureSkuTier = "Standard"
)

// PossibleAzureSkuTierValues returns an array of possible values for the AzureSkuTier const type.
func PossibleAzureSkuTierValues() []AzureSkuTier {
	return []AzureSkuTier{Basic, Standard}
}

// DatabasePrincipalRole enumerates the values for database principal role.
type DatabasePrincipalRole string

const (
	// Admin ...
	Admin DatabasePrincipalRole = "Admin"
	// Ingestor ...
	Ingestor DatabasePrincipalRole = "Ingestor"
	// Monitor ...
	Monitor DatabasePrincipalRole = "Monitor"
	// UnrestrictedViewers ...
	UnrestrictedViewers DatabasePrincipalRole = "UnrestrictedViewers"
	// User ...
	User DatabasePrincipalRole = "User"
	// Viewer ...
	Viewer DatabasePrincipalRole = "Viewer"
)

// PossibleDatabasePrincipalRoleValues returns an array of possible values for the DatabasePrincipalRole const type.
func PossibleDatabasePrincipalRoleValues() []DatabasePrincipalRole {
	return []DatabasePrincipalRole{Admin, Ingestor, Monitor, UnrestrictedViewers, User, Viewer}
}

// DatabasePrincipalType enumerates the values for database principal type.
type DatabasePrincipalType string

const (
	// DatabasePrincipalTypeApp ...
	DatabasePrincipalTypeApp DatabasePrincipalType = "App"
	// DatabasePrincipalTypeGroup ...
	DatabasePrincipalTypeGroup DatabasePrincipalType = "Group"
	// DatabasePrincipalTypeUser ...
	DatabasePrincipalTypeUser DatabasePrincipalType = "User"
)

// PossibleDatabasePrincipalTypeValues returns an array of possible values for the DatabasePrincipalType const type.
func PossibleDatabasePrincipalTypeValues() []DatabasePrincipalType {
	return []DatabasePrincipalType{DatabasePrincipalTypeApp, DatabasePrincipalTypeGroup, DatabasePrincipalTypeUser}
}

// DataFormat enumerates the values for data format.
type DataFormat string

const (
	// AVRO ...
	AVRO DataFormat = "AVRO"
	// CSV ...
	CSV DataFormat = "CSV"
	// JSON ...
	JSON DataFormat = "JSON"
	// MULTIJSON ...
	MULTIJSON DataFormat = "MULTIJSON"
	// PSV ...
	PSV DataFormat = "PSV"
	// RAW ...
	RAW DataFormat = "RAW"
	// SCSV ...
	SCSV DataFormat = "SCSV"
	// SINGLEJSON ...
	SINGLEJSON DataFormat = "SINGLEJSON"
	// SOHSV ...
	SOHSV DataFormat = "SOHSV"
	// TSV ...
	TSV DataFormat = "TSV"
	// TSVE ...
	TSVE DataFormat = "TSVE"
	// TXT ...
	TXT DataFormat = "TXT"
)

// PossibleDataFormatValues returns an array of possible values for the DataFormat const type.
func PossibleDataFormatValues() []DataFormat {
	return []DataFormat{AVRO, CSV, JSON, MULTIJSON, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSV, TSVE, TXT}
}

// DefaultPrincipalsModificationKind enumerates the values for default principals modification kind.
type DefaultPrincipalsModificationKind string

const (
	// DefaultPrincipalsModificationKindNone ...
	DefaultPrincipalsModificationKindNone DefaultPrincipalsModificationKind = "None"
	// DefaultPrincipalsModificationKindReplace ...
	DefaultPrincipalsModificationKindReplace DefaultPrincipalsModificationKind = "Replace"
	// DefaultPrincipalsModificationKindUnion ...
	DefaultPrincipalsModificationKindUnion DefaultPrincipalsModificationKind = "Union"
)

// PossibleDefaultPrincipalsModificationKindValues returns an array of possible values for the DefaultPrincipalsModificationKind const type.
func PossibleDefaultPrincipalsModificationKindValues() []DefaultPrincipalsModificationKind {
	return []DefaultPrincipalsModificationKind{DefaultPrincipalsModificationKindNone, DefaultPrincipalsModificationKindReplace, DefaultPrincipalsModificationKindUnion}
}

// IdentityType enumerates the values for identity type.
type IdentityType string

const (
	// IdentityTypeNone ...
	IdentityTypeNone IdentityType = "None"
	// IdentityTypeSystemAssigned ...
	IdentityTypeSystemAssigned IdentityType = "SystemAssigned"
)

// PossibleIdentityTypeValues returns an array of possible values for the IdentityType const type.
func PossibleIdentityTypeValues() []IdentityType {
	return []IdentityType{IdentityTypeNone, IdentityTypeSystemAssigned}
}

// Kind enumerates the values for kind.
type Kind string

const (
	// KindDatabase ...
	KindDatabase Kind = "Database"
	// KindReadOnlyFollowing ...
	KindReadOnlyFollowing Kind = "ReadOnlyFollowing"
	// KindReadWrite ...
	KindReadWrite Kind = "ReadWrite"
)

// PossibleKindValues returns an array of possible values for the Kind const type.
func PossibleKindValues() []Kind {
	return []Kind{KindDatabase, KindReadOnlyFollowing, KindReadWrite}
}

// KindBasicDataConnection enumerates the values for kind basic data connection.
type KindBasicDataConnection string

const (
	// KindDataConnection ...
	KindDataConnection KindBasicDataConnection = "DataConnection"
	// KindEventGrid ...
	KindEventGrid KindBasicDataConnection = "EventGrid"
	// KindEventHub ...
	KindEventHub KindBasicDataConnection = "EventHub"
	// KindIotHub ...
	KindIotHub KindBasicDataConnection = "IotHub"
)

// PossibleKindBasicDataConnectionValues returns an array of possible values for the KindBasicDataConnection const type.
func PossibleKindBasicDataConnectionValues() []KindBasicDataConnection {
	return []KindBasicDataConnection{KindDataConnection, KindEventGrid, KindEventHub, KindIotHub}
}

// PrincipalsModificationKind enumerates the values for principals modification kind.
type PrincipalsModificationKind string

const (
	// PrincipalsModificationKindNone ...
	PrincipalsModificationKindNone PrincipalsModificationKind = "None"
	// PrincipalsModificationKindReplace ...
	PrincipalsModificationKindReplace PrincipalsModificationKind = "Replace"
	// PrincipalsModificationKindUnion ...
	PrincipalsModificationKindUnion PrincipalsModificationKind = "Union"
)

// PossiblePrincipalsModificationKindValues returns an array of possible values for the PrincipalsModificationKind const type.
func PossiblePrincipalsModificationKindValues() []PrincipalsModificationKind {
	return []PrincipalsModificationKind{PrincipalsModificationKindNone, PrincipalsModificationKindReplace, PrincipalsModificationKindUnion}
}

// ProvisioningState enumerates the values for provisioning state.
type ProvisioningState string

const (
	// Creating ...
	Creating ProvisioningState = "Creating"
	// Deleting ...
	Deleting ProvisioningState = "Deleting"
	// Failed ...
	Failed ProvisioningState = "Failed"
	// Moving ...
	Moving ProvisioningState = "Moving"
	// Running ...
	Running ProvisioningState = "Running"
	// Succeeded ...
	Succeeded ProvisioningState = "Succeeded"
)

// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type.
func PossibleProvisioningStateValues() []ProvisioningState {
	return []ProvisioningState{Creating, Deleting, Failed, Moving, Running, Succeeded}
}

// Reason enumerates the values for reason.
type Reason string

const (
	// AlreadyExists ...
	AlreadyExists Reason = "AlreadyExists"
	// Invalid ...
	Invalid Reason = "Invalid"
)

// PossibleReasonValues returns an array of possible values for the Reason const type.
func PossibleReasonValues() []Reason {
	return []Reason{AlreadyExists, Invalid}
}

// State enumerates the values for state.
type State string

const (
	// StateCreating ...
	StateCreating State = "Creating"
	// StateDeleted ...
	StateDeleted State = "Deleted"
	// StateDeleting ...
	StateDeleting State = "Deleting"
	// StateRunning ...
	StateRunning State = "Running"
	// StateStarting ...
	StateStarting State = "Starting"
	// StateStopped ...
	StateStopped State = "Stopped"
	// StateStopping ...
	StateStopping State = "Stopping"
	// StateUnavailable ...
	StateUnavailable State = "Unavailable"
	// StateUpdating ...
	StateUpdating State = "Updating"
)

// PossibleStateValues returns an array of possible values for the State const type.
func PossibleStateValues() []State {
	return []State{StateCreating, StateDeleted, StateDeleting, StateRunning, StateStarting, StateStopped, StateStopping, StateUnavailable, StateUpdating}
}

// Type enumerates the values for type.
type Type string

const (
	// MicrosoftKustoclustersattachedDatabaseConfigurations ...
	MicrosoftKustoclustersattachedDatabaseConfigurations Type = "Microsoft.Kusto/clusters/attachedDatabaseConfigurations"
	// MicrosoftKustoclustersdatabases ...
	MicrosoftKustoclustersdatabases Type = "Microsoft.Kusto/clusters/databases"
)

// PossibleTypeValues returns an array of possible values for the Type const type.
func PossibleTypeValues() []Type {
	return []Type{MicrosoftKustoclustersattachedDatabaseConfigurations, MicrosoftKustoclustersdatabases}
}
