package kusto

// Copyright (c) Microsoft and contributors.  All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
// 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"
	// 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, TXT}
}

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

const (
	// KindDataConnection ...
	KindDataConnection Kind = "DataConnection"
	// KindEventGrid ...
	KindEventGrid Kind = "EventGrid"
	// KindEventHub ...
	KindEventHub Kind = "EventHub"
)

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

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

const (
	// Creating ...
	Creating ProvisioningState = "Creating"
	// Deleting ...
	Deleting ProvisioningState = "Deleting"
	// Failed ...
	Failed ProvisioningState = "Failed"
	// 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, 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}
}
