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

// Class representing a Kusto cluster.
type Cluster_STATUS struct {
	// Etag: A unique read-only string that changes whenever the resource is updated.
	Etag *string `json:"etag,omitempty"`

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

	// Identity: The identity of the cluster, if configured.
	Identity *Identity_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: The cluster properties.
	Properties *ClusterProperties_STATUS `json:"properties,omitempty"`

	// Sku: The SKU of the cluster.
	Sku *AzureSku_STATUS `json:"sku,omitempty"`

	// SystemData: Metadata pertaining to creation and last modification of the resource.
	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"`

	// Zones: The availability zones of the cluster.
	Zones []string `json:"zones,omitempty"`
}

// Azure SKU definition.
type AzureSku_STATUS struct {
	// Capacity: The number of instances of the cluster.
	Capacity *int `json:"capacity,omitempty"`

	// Name: SKU name.
	Name *AzureSku_Name_STATUS `json:"name,omitempty"`

	// Tier: SKU tier.
	Tier *AzureSku_Tier_STATUS `json:"tier,omitempty"`
}

// Class representing the Kusto cluster properties.
type ClusterProperties_STATUS struct {
	// AcceptedAudiences: The cluster's accepted audiences.
	AcceptedAudiences []AcceptedAudiences_STATUS `json:"acceptedAudiences,omitempty"`

	// AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.
	AllowedFqdnList []string `json:"allowedFqdnList,omitempty"`

	// AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.
	AllowedIpRangeList []string `json:"allowedIpRangeList,omitempty"`

	// DataIngestionUri: The cluster data ingestion URI.
	DataIngestionUri *string `json:"dataIngestionUri,omitempty"`

	// EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no
	// activity for many days).
	EnableAutoStop *bool `json:"enableAutoStop,omitempty"`

	// EnableDiskEncryption: A boolean value that indicates if the cluster's disks are encrypted.
	EnableDiskEncryption *bool `json:"enableDiskEncryption,omitempty"`

	// EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.
	EnableDoubleEncryption *bool `json:"enableDoubleEncryption,omitempty"`

	// EnablePurge: A boolean value that indicates if the purge operations are enabled.
	EnablePurge *bool `json:"enablePurge,omitempty"`

	// EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.
	EnableStreamingIngest *bool `json:"enableStreamingIngest,omitempty"`

	// EngineType: The engine type
	EngineType *ClusterProperties_EngineType_STATUS `json:"engineType,omitempty"`

	// KeyVaultProperties: KeyVault properties for the cluster encryption.
	KeyVaultProperties *KeyVaultProperties_STATUS `json:"keyVaultProperties,omitempty"`

	// LanguageExtensions: List of the cluster's language extensions.
	LanguageExtensions *LanguageExtensionsList_STATUS `json:"languageExtensions,omitempty"`

	// MigrationCluster: Properties of the peer cluster involved in a migration to/from this cluster.
	MigrationCluster *MigrationClusterProperties_STATUS `json:"migrationCluster,omitempty"`

	// OptimizedAutoscale: Optimized auto scale definition.
	OptimizedAutoscale *OptimizedAutoscale_STATUS `json:"optimizedAutoscale,omitempty"`

	// PrivateEndpointConnections: A list of private endpoint connections.
	PrivateEndpointConnections []PrivateEndpointConnection_STATUS `json:"privateEndpointConnections,omitempty"`

	// ProvisioningState: The provisioned state of the resource.
	ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)
	PublicIPType *ClusterProperties_PublicIPType_STATUS `json:"publicIPType,omitempty"`

	// PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint
	// connection to the cluster is allowed
	PublicNetworkAccess *ClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"`

	// RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access.  Value is optional but if passed in,
	// must be 'Enabled' or 'Disabled'
	RestrictOutboundNetworkAccess *ClusterProperties_RestrictOutboundNetworkAccess_STATUS `json:"restrictOutboundNetworkAccess,omitempty"`

	// State: The state of the resource.
	State *ClusterProperties_State_STATUS `json:"state,omitempty"`

	// StateReason: The reason for the cluster's current state.
	StateReason *string `json:"stateReason,omitempty"`

	// TrustedExternalTenants: The cluster's external tenants.
	TrustedExternalTenants []TrustedExternalTenant_STATUS `json:"trustedExternalTenants,omitempty"`

	// Uri: The cluster URI.
	Uri *string `json:"uri,omitempty"`

	// VirtualNetworkConfiguration: Virtual network definition.
	VirtualNetworkConfiguration *VirtualNetworkConfiguration_STATUS `json:"virtualNetworkConfiguration,omitempty"`
}

// Identity for the resource.
type Identity_STATUS struct {
	// PrincipalId: The principal ID of resource identity.
	PrincipalId *string `json:"principalId,omitempty"`

	// TenantId: The tenant ID of resource.
	TenantId *string `json:"tenantId,omitempty"`

	// Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created
	// identity and a set of user-assigned identities. The type 'None' will remove all identities.
	Type *Identity_Type_STATUS `json:"type,omitempty"`

	// UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key
	// references will be ARM resource ids in the form:
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
	UserAssignedIdentities map[string]Identity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,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"`
}

// Represents an accepted audience trusted by the cluster.
type AcceptedAudiences_STATUS struct {
	// Value: GUID or valid URL representing an accepted audience.
	Value *string `json:"value,omitempty"`
}

type AzureSku_Name_STATUS string

const (
	AzureSku_Name_STATUS_DevNoSLA_Standard_D11_V2 = AzureSku_Name_STATUS("Dev(No SLA)_Standard_D11_v2")
	AzureSku_Name_STATUS_DevNoSLA_Standard_E2A_V4 = AzureSku_Name_STATUS("Dev(No SLA)_Standard_E2a_v4")
	AzureSku_Name_STATUS_Standard_D11_V2          = AzureSku_Name_STATUS("Standard_D11_v2")
	AzureSku_Name_STATUS_Standard_D12_V2          = AzureSku_Name_STATUS("Standard_D12_v2")
	AzureSku_Name_STATUS_Standard_D13_V2          = AzureSku_Name_STATUS("Standard_D13_v2")
	AzureSku_Name_STATUS_Standard_D14_V2          = AzureSku_Name_STATUS("Standard_D14_v2")
	AzureSku_Name_STATUS_Standard_D16D_V5         = AzureSku_Name_STATUS("Standard_D16d_v5")
	AzureSku_Name_STATUS_Standard_D32D_V4         = AzureSku_Name_STATUS("Standard_D32d_v4")
	AzureSku_Name_STATUS_Standard_D32D_V5         = AzureSku_Name_STATUS("Standard_D32d_v5")
	AzureSku_Name_STATUS_Standard_DS13_V21TB_PS   = AzureSku_Name_STATUS("Standard_DS13_v2+1TB_PS")
	AzureSku_Name_STATUS_Standard_DS13_V22TB_PS   = AzureSku_Name_STATUS("Standard_DS13_v2+2TB_PS")
	AzureSku_Name_STATUS_Standard_DS14_V23TB_PS   = AzureSku_Name_STATUS("Standard_DS14_v2+3TB_PS")
	AzureSku_Name_STATUS_Standard_DS14_V24TB_PS   = AzureSku_Name_STATUS("Standard_DS14_v2+4TB_PS")
	AzureSku_Name_STATUS_Standard_E16A_V4         = AzureSku_Name_STATUS("Standard_E16a_v4")
	AzureSku_Name_STATUS_Standard_E16Ads_V5       = AzureSku_Name_STATUS("Standard_E16ads_v5")
	AzureSku_Name_STATUS_Standard_E16As_V43TB_PS  = AzureSku_Name_STATUS("Standard_E16as_v4+3TB_PS")
	AzureSku_Name_STATUS_Standard_E16As_V44TB_PS  = AzureSku_Name_STATUS("Standard_E16as_v4+4TB_PS")
	AzureSku_Name_STATUS_Standard_E16As_V53TB_PS  = AzureSku_Name_STATUS("Standard_E16as_v5+3TB_PS")
	AzureSku_Name_STATUS_Standard_E16As_V54TB_PS  = AzureSku_Name_STATUS("Standard_E16as_v5+4TB_PS")
	AzureSku_Name_STATUS_Standard_E16D_V4         = AzureSku_Name_STATUS("Standard_E16d_v4")
	AzureSku_Name_STATUS_Standard_E16D_V5         = AzureSku_Name_STATUS("Standard_E16d_v5")
	AzureSku_Name_STATUS_Standard_E16S_V43TB_PS   = AzureSku_Name_STATUS("Standard_E16s_v4+3TB_PS")
	AzureSku_Name_STATUS_Standard_E16S_V44TB_PS   = AzureSku_Name_STATUS("Standard_E16s_v4+4TB_PS")
	AzureSku_Name_STATUS_Standard_E16S_V53TB_PS   = AzureSku_Name_STATUS("Standard_E16s_v5+3TB_PS")
	AzureSku_Name_STATUS_Standard_E16S_V54TB_PS   = AzureSku_Name_STATUS("Standard_E16s_v5+4TB_PS")
	AzureSku_Name_STATUS_Standard_E2A_V4          = AzureSku_Name_STATUS("Standard_E2a_v4")
	AzureSku_Name_STATUS_Standard_E2Ads_V5        = AzureSku_Name_STATUS("Standard_E2ads_v5")
	AzureSku_Name_STATUS_Standard_E2D_V4          = AzureSku_Name_STATUS("Standard_E2d_v4")
	AzureSku_Name_STATUS_Standard_E2D_V5          = AzureSku_Name_STATUS("Standard_E2d_v5")
	AzureSku_Name_STATUS_Standard_E4A_V4          = AzureSku_Name_STATUS("Standard_E4a_v4")
	AzureSku_Name_STATUS_Standard_E4Ads_V5        = AzureSku_Name_STATUS("Standard_E4ads_v5")
	AzureSku_Name_STATUS_Standard_E4D_V4          = AzureSku_Name_STATUS("Standard_E4d_v4")
	AzureSku_Name_STATUS_Standard_E4D_V5          = AzureSku_Name_STATUS("Standard_E4d_v5")
	AzureSku_Name_STATUS_Standard_E64I_V3         = AzureSku_Name_STATUS("Standard_E64i_v3")
	AzureSku_Name_STATUS_Standard_E80Ids_V4       = AzureSku_Name_STATUS("Standard_E80ids_v4")
	AzureSku_Name_STATUS_Standard_E8A_V4          = AzureSku_Name_STATUS("Standard_E8a_v4")
	AzureSku_Name_STATUS_Standard_E8Ads_V5        = AzureSku_Name_STATUS("Standard_E8ads_v5")
	AzureSku_Name_STATUS_Standard_E8As_V41TB_PS   = AzureSku_Name_STATUS("Standard_E8as_v4+1TB_PS")
	AzureSku_Name_STATUS_Standard_E8As_V42TB_PS   = AzureSku_Name_STATUS("Standard_E8as_v4+2TB_PS")
	AzureSku_Name_STATUS_Standard_E8As_V51TB_PS   = AzureSku_Name_STATUS("Standard_E8as_v5+1TB_PS")
	AzureSku_Name_STATUS_Standard_E8As_V52TB_PS   = AzureSku_Name_STATUS("Standard_E8as_v5+2TB_PS")
	AzureSku_Name_STATUS_Standard_E8D_V4          = AzureSku_Name_STATUS("Standard_E8d_v4")
	AzureSku_Name_STATUS_Standard_E8D_V5          = AzureSku_Name_STATUS("Standard_E8d_v5")
	AzureSku_Name_STATUS_Standard_E8S_V41TB_PS    = AzureSku_Name_STATUS("Standard_E8s_v4+1TB_PS")
	AzureSku_Name_STATUS_Standard_E8S_V42TB_PS    = AzureSku_Name_STATUS("Standard_E8s_v4+2TB_PS")
	AzureSku_Name_STATUS_Standard_E8S_V51TB_PS    = AzureSku_Name_STATUS("Standard_E8s_v5+1TB_PS")
	AzureSku_Name_STATUS_Standard_E8S_V52TB_PS    = AzureSku_Name_STATUS("Standard_E8s_v5+2TB_PS")
	AzureSku_Name_STATUS_Standard_EC16Ads_V5      = AzureSku_Name_STATUS("Standard_EC16ads_v5")
	AzureSku_Name_STATUS_Standard_EC16As_V53TB_PS = AzureSku_Name_STATUS("Standard_EC16as_v5+3TB_PS")
	AzureSku_Name_STATUS_Standard_EC16As_V54TB_PS = AzureSku_Name_STATUS("Standard_EC16as_v5+4TB_PS")
	AzureSku_Name_STATUS_Standard_EC8Ads_V5       = AzureSku_Name_STATUS("Standard_EC8ads_v5")
	AzureSku_Name_STATUS_Standard_EC8As_V51TB_PS  = AzureSku_Name_STATUS("Standard_EC8as_v5+1TB_PS")
	AzureSku_Name_STATUS_Standard_EC8As_V52TB_PS  = AzureSku_Name_STATUS("Standard_EC8as_v5+2TB_PS")
	AzureSku_Name_STATUS_Standard_L16As_V3        = AzureSku_Name_STATUS("Standard_L16as_v3")
	AzureSku_Name_STATUS_Standard_L16S            = AzureSku_Name_STATUS("Standard_L16s")
	AzureSku_Name_STATUS_Standard_L16S_V2         = AzureSku_Name_STATUS("Standard_L16s_v2")
	AzureSku_Name_STATUS_Standard_L16S_V3         = AzureSku_Name_STATUS("Standard_L16s_v3")
	AzureSku_Name_STATUS_Standard_L32As_V3        = AzureSku_Name_STATUS("Standard_L32as_v3")
	AzureSku_Name_STATUS_Standard_L32S_V3         = AzureSku_Name_STATUS("Standard_L32s_v3")
	AzureSku_Name_STATUS_Standard_L4S             = AzureSku_Name_STATUS("Standard_L4s")
	AzureSku_Name_STATUS_Standard_L8As_V3         = AzureSku_Name_STATUS("Standard_L8as_v3")
	AzureSku_Name_STATUS_Standard_L8S             = AzureSku_Name_STATUS("Standard_L8s")
	AzureSku_Name_STATUS_Standard_L8S_V2          = AzureSku_Name_STATUS("Standard_L8s_v2")
	AzureSku_Name_STATUS_Standard_L8S_V3          = AzureSku_Name_STATUS("Standard_L8s_v3")
)

// Mapping from string to AzureSku_Name_STATUS
var azureSku_Name_STATUS_Values = map[string]AzureSku_Name_STATUS{
	"dev(no sla)_standard_d11_v2": AzureSku_Name_STATUS_DevNoSLA_Standard_D11_V2,
	"dev(no sla)_standard_e2a_v4": AzureSku_Name_STATUS_DevNoSLA_Standard_E2A_V4,
	"standard_d11_v2":             AzureSku_Name_STATUS_Standard_D11_V2,
	"standard_d12_v2":             AzureSku_Name_STATUS_Standard_D12_V2,
	"standard_d13_v2":             AzureSku_Name_STATUS_Standard_D13_V2,
	"standard_d14_v2":             AzureSku_Name_STATUS_Standard_D14_V2,
	"standard_d16d_v5":            AzureSku_Name_STATUS_Standard_D16D_V5,
	"standard_d32d_v4":            AzureSku_Name_STATUS_Standard_D32D_V4,
	"standard_d32d_v5":            AzureSku_Name_STATUS_Standard_D32D_V5,
	"standard_ds13_v2+1tb_ps":     AzureSku_Name_STATUS_Standard_DS13_V21TB_PS,
	"standard_ds13_v2+2tb_ps":     AzureSku_Name_STATUS_Standard_DS13_V22TB_PS,
	"standard_ds14_v2+3tb_ps":     AzureSku_Name_STATUS_Standard_DS14_V23TB_PS,
	"standard_ds14_v2+4tb_ps":     AzureSku_Name_STATUS_Standard_DS14_V24TB_PS,
	"standard_e16a_v4":            AzureSku_Name_STATUS_Standard_E16A_V4,
	"standard_e16ads_v5":          AzureSku_Name_STATUS_Standard_E16Ads_V5,
	"standard_e16as_v4+3tb_ps":    AzureSku_Name_STATUS_Standard_E16As_V43TB_PS,
	"standard_e16as_v4+4tb_ps":    AzureSku_Name_STATUS_Standard_E16As_V44TB_PS,
	"standard_e16as_v5+3tb_ps":    AzureSku_Name_STATUS_Standard_E16As_V53TB_PS,
	"standard_e16as_v5+4tb_ps":    AzureSku_Name_STATUS_Standard_E16As_V54TB_PS,
	"standard_e16d_v4":            AzureSku_Name_STATUS_Standard_E16D_V4,
	"standard_e16d_v5":            AzureSku_Name_STATUS_Standard_E16D_V5,
	"standard_e16s_v4+3tb_ps":     AzureSku_Name_STATUS_Standard_E16S_V43TB_PS,
	"standard_e16s_v4+4tb_ps":     AzureSku_Name_STATUS_Standard_E16S_V44TB_PS,
	"standard_e16s_v5+3tb_ps":     AzureSku_Name_STATUS_Standard_E16S_V53TB_PS,
	"standard_e16s_v5+4tb_ps":     AzureSku_Name_STATUS_Standard_E16S_V54TB_PS,
	"standard_e2a_v4":             AzureSku_Name_STATUS_Standard_E2A_V4,
	"standard_e2ads_v5":           AzureSku_Name_STATUS_Standard_E2Ads_V5,
	"standard_e2d_v4":             AzureSku_Name_STATUS_Standard_E2D_V4,
	"standard_e2d_v5":             AzureSku_Name_STATUS_Standard_E2D_V5,
	"standard_e4a_v4":             AzureSku_Name_STATUS_Standard_E4A_V4,
	"standard_e4ads_v5":           AzureSku_Name_STATUS_Standard_E4Ads_V5,
	"standard_e4d_v4":             AzureSku_Name_STATUS_Standard_E4D_V4,
	"standard_e4d_v5":             AzureSku_Name_STATUS_Standard_E4D_V5,
	"standard_e64i_v3":            AzureSku_Name_STATUS_Standard_E64I_V3,
	"standard_e80ids_v4":          AzureSku_Name_STATUS_Standard_E80Ids_V4,
	"standard_e8a_v4":             AzureSku_Name_STATUS_Standard_E8A_V4,
	"standard_e8ads_v5":           AzureSku_Name_STATUS_Standard_E8Ads_V5,
	"standard_e8as_v4+1tb_ps":     AzureSku_Name_STATUS_Standard_E8As_V41TB_PS,
	"standard_e8as_v4+2tb_ps":     AzureSku_Name_STATUS_Standard_E8As_V42TB_PS,
	"standard_e8as_v5+1tb_ps":     AzureSku_Name_STATUS_Standard_E8As_V51TB_PS,
	"standard_e8as_v5+2tb_ps":     AzureSku_Name_STATUS_Standard_E8As_V52TB_PS,
	"standard_e8d_v4":             AzureSku_Name_STATUS_Standard_E8D_V4,
	"standard_e8d_v5":             AzureSku_Name_STATUS_Standard_E8D_V5,
	"standard_e8s_v4+1tb_ps":      AzureSku_Name_STATUS_Standard_E8S_V41TB_PS,
	"standard_e8s_v4+2tb_ps":      AzureSku_Name_STATUS_Standard_E8S_V42TB_PS,
	"standard_e8s_v5+1tb_ps":      AzureSku_Name_STATUS_Standard_E8S_V51TB_PS,
	"standard_e8s_v5+2tb_ps":      AzureSku_Name_STATUS_Standard_E8S_V52TB_PS,
	"standard_ec16ads_v5":         AzureSku_Name_STATUS_Standard_EC16Ads_V5,
	"standard_ec16as_v5+3tb_ps":   AzureSku_Name_STATUS_Standard_EC16As_V53TB_PS,
	"standard_ec16as_v5+4tb_ps":   AzureSku_Name_STATUS_Standard_EC16As_V54TB_PS,
	"standard_ec8ads_v5":          AzureSku_Name_STATUS_Standard_EC8Ads_V5,
	"standard_ec8as_v5+1tb_ps":    AzureSku_Name_STATUS_Standard_EC8As_V51TB_PS,
	"standard_ec8as_v5+2tb_ps":    AzureSku_Name_STATUS_Standard_EC8As_V52TB_PS,
	"standard_l16as_v3":           AzureSku_Name_STATUS_Standard_L16As_V3,
	"standard_l16s":               AzureSku_Name_STATUS_Standard_L16S,
	"standard_l16s_v2":            AzureSku_Name_STATUS_Standard_L16S_V2,
	"standard_l16s_v3":            AzureSku_Name_STATUS_Standard_L16S_V3,
	"standard_l32as_v3":           AzureSku_Name_STATUS_Standard_L32As_V3,
	"standard_l32s_v3":            AzureSku_Name_STATUS_Standard_L32S_V3,
	"standard_l4s":                AzureSku_Name_STATUS_Standard_L4S,
	"standard_l8as_v3":            AzureSku_Name_STATUS_Standard_L8As_V3,
	"standard_l8s":                AzureSku_Name_STATUS_Standard_L8S,
	"standard_l8s_v2":             AzureSku_Name_STATUS_Standard_L8S_V2,
	"standard_l8s_v3":             AzureSku_Name_STATUS_Standard_L8S_V3,
}

type AzureSku_Tier_STATUS string

const (
	AzureSku_Tier_STATUS_Basic    = AzureSku_Tier_STATUS("Basic")
	AzureSku_Tier_STATUS_Standard = AzureSku_Tier_STATUS("Standard")
)

// Mapping from string to AzureSku_Tier_STATUS
var azureSku_Tier_STATUS_Values = map[string]AzureSku_Tier_STATUS{
	"basic":    AzureSku_Tier_STATUS_Basic,
	"standard": AzureSku_Tier_STATUS_Standard,
}

type ClusterProperties_EngineType_STATUS string

const (
	ClusterProperties_EngineType_STATUS_V2 = ClusterProperties_EngineType_STATUS("V2")
	ClusterProperties_EngineType_STATUS_V3 = ClusterProperties_EngineType_STATUS("V3")
)

// Mapping from string to ClusterProperties_EngineType_STATUS
var clusterProperties_EngineType_STATUS_Values = map[string]ClusterProperties_EngineType_STATUS{
	"v2": ClusterProperties_EngineType_STATUS_V2,
	"v3": ClusterProperties_EngineType_STATUS_V3,
}

type ClusterProperties_PublicIPType_STATUS string

const (
	ClusterProperties_PublicIPType_STATUS_DualStack = ClusterProperties_PublicIPType_STATUS("DualStack")
	ClusterProperties_PublicIPType_STATUS_IPv4      = ClusterProperties_PublicIPType_STATUS("IPv4")
)

// Mapping from string to ClusterProperties_PublicIPType_STATUS
var clusterProperties_PublicIPType_STATUS_Values = map[string]ClusterProperties_PublicIPType_STATUS{
	"dualstack": ClusterProperties_PublicIPType_STATUS_DualStack,
	"ipv4":      ClusterProperties_PublicIPType_STATUS_IPv4,
}

type ClusterProperties_PublicNetworkAccess_STATUS string

const (
	ClusterProperties_PublicNetworkAccess_STATUS_Disabled = ClusterProperties_PublicNetworkAccess_STATUS("Disabled")
	ClusterProperties_PublicNetworkAccess_STATUS_Enabled  = ClusterProperties_PublicNetworkAccess_STATUS("Enabled")
)

// Mapping from string to ClusterProperties_PublicNetworkAccess_STATUS
var clusterProperties_PublicNetworkAccess_STATUS_Values = map[string]ClusterProperties_PublicNetworkAccess_STATUS{
	"disabled": ClusterProperties_PublicNetworkAccess_STATUS_Disabled,
	"enabled":  ClusterProperties_PublicNetworkAccess_STATUS_Enabled,
}

type ClusterProperties_RestrictOutboundNetworkAccess_STATUS string

const (
	ClusterProperties_RestrictOutboundNetworkAccess_STATUS_Disabled = ClusterProperties_RestrictOutboundNetworkAccess_STATUS("Disabled")
	ClusterProperties_RestrictOutboundNetworkAccess_STATUS_Enabled  = ClusterProperties_RestrictOutboundNetworkAccess_STATUS("Enabled")
)

// Mapping from string to ClusterProperties_RestrictOutboundNetworkAccess_STATUS
var clusterProperties_RestrictOutboundNetworkAccess_STATUS_Values = map[string]ClusterProperties_RestrictOutboundNetworkAccess_STATUS{
	"disabled": ClusterProperties_RestrictOutboundNetworkAccess_STATUS_Disabled,
	"enabled":  ClusterProperties_RestrictOutboundNetworkAccess_STATUS_Enabled,
}

type ClusterProperties_State_STATUS string

const (
	ClusterProperties_State_STATUS_Creating    = ClusterProperties_State_STATUS("Creating")
	ClusterProperties_State_STATUS_Deleted     = ClusterProperties_State_STATUS("Deleted")
	ClusterProperties_State_STATUS_Deleting    = ClusterProperties_State_STATUS("Deleting")
	ClusterProperties_State_STATUS_Migrated    = ClusterProperties_State_STATUS("Migrated")
	ClusterProperties_State_STATUS_Running     = ClusterProperties_State_STATUS("Running")
	ClusterProperties_State_STATUS_Starting    = ClusterProperties_State_STATUS("Starting")
	ClusterProperties_State_STATUS_Stopped     = ClusterProperties_State_STATUS("Stopped")
	ClusterProperties_State_STATUS_Stopping    = ClusterProperties_State_STATUS("Stopping")
	ClusterProperties_State_STATUS_Unavailable = ClusterProperties_State_STATUS("Unavailable")
	ClusterProperties_State_STATUS_Updating    = ClusterProperties_State_STATUS("Updating")
)

// Mapping from string to ClusterProperties_State_STATUS
var clusterProperties_State_STATUS_Values = map[string]ClusterProperties_State_STATUS{
	"creating":    ClusterProperties_State_STATUS_Creating,
	"deleted":     ClusterProperties_State_STATUS_Deleted,
	"deleting":    ClusterProperties_State_STATUS_Deleting,
	"migrated":    ClusterProperties_State_STATUS_Migrated,
	"running":     ClusterProperties_State_STATUS_Running,
	"starting":    ClusterProperties_State_STATUS_Starting,
	"stopped":     ClusterProperties_State_STATUS_Stopped,
	"stopping":    ClusterProperties_State_STATUS_Stopping,
	"unavailable": ClusterProperties_State_STATUS_Unavailable,
	"updating":    ClusterProperties_State_STATUS_Updating,
}

type Identity_Type_STATUS string

const (
	Identity_Type_STATUS_None                       = Identity_Type_STATUS("None")
	Identity_Type_STATUS_SystemAssigned             = Identity_Type_STATUS("SystemAssigned")
	Identity_Type_STATUS_SystemAssignedUserAssigned = Identity_Type_STATUS("SystemAssigned, UserAssigned")
	Identity_Type_STATUS_UserAssigned               = Identity_Type_STATUS("UserAssigned")
)

// Mapping from string to Identity_Type_STATUS
var identity_Type_STATUS_Values = map[string]Identity_Type_STATUS{
	"none":                         Identity_Type_STATUS_None,
	"systemassigned":               Identity_Type_STATUS_SystemAssigned,
	"systemassigned, userassigned": Identity_Type_STATUS_SystemAssignedUserAssigned,
	"userassigned":                 Identity_Type_STATUS_UserAssigned,
}

type Identity_UserAssignedIdentities_STATUS struct {
	// ClientId: The client id of user assigned identity.
	ClientId *string `json:"clientId,omitempty"`

	// PrincipalId: The principal id of user assigned identity.
	PrincipalId *string `json:"principalId,omitempty"`
}

// Properties of the key vault.
type KeyVaultProperties_STATUS struct {
	// KeyName: The name of the key vault key.
	KeyName *string `json:"keyName,omitempty"`

	// KeyVaultUri: The Uri of the key vault.
	KeyVaultUri *string `json:"keyVaultUri,omitempty"`

	// KeyVersion: The version of the key vault key.
	KeyVersion *string `json:"keyVersion,omitempty"`

	// UserIdentity: The user assigned identity (ARM resource id) that has access to the key.
	UserIdentity *string `json:"userIdentity,omitempty"`
}

// The list of language extension objects.
type LanguageExtensionsList_STATUS struct {
	// Value: The list of language extensions.
	Value []LanguageExtension_STATUS `json:"value,omitempty"`
}

// Represents a properties of a cluster that is part of a migration.
type MigrationClusterProperties_STATUS struct {
	// DataIngestionUri: The public data ingestion URL of the cluster.
	DataIngestionUri *string `json:"dataIngestionUri,omitempty"`

	// Id: The resource ID of the cluster.
	Id *string `json:"id,omitempty"`

	// Role: The role of the cluster in the migration process.
	Role *MigrationClusterProperties_Role_STATUS `json:"role,omitempty"`

	// Uri: The public URL of the cluster.
	Uri *string `json:"uri,omitempty"`
}

// A class that contains the optimized auto scale definition.
type OptimizedAutoscale_STATUS struct {
	// IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.
	IsEnabled *bool `json:"isEnabled,omitempty"`

	// Maximum: Maximum allowed instances count.
	Maximum *int `json:"maximum,omitempty"`

	// Minimum: Minimum allowed instances count.
	Minimum *int `json:"minimum,omitempty"`

	// Version: The version of the template defined, for instance 1.
	Version *int `json:"version,omitempty"`
}

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

// The provisioned state of the resource.
type ProvisioningState_STATUS string

const (
	ProvisioningState_STATUS_Canceled  = ProvisioningState_STATUS("Canceled")
	ProvisioningState_STATUS_Creating  = ProvisioningState_STATUS("Creating")
	ProvisioningState_STATUS_Deleting  = ProvisioningState_STATUS("Deleting")
	ProvisioningState_STATUS_Failed    = ProvisioningState_STATUS("Failed")
	ProvisioningState_STATUS_Moving    = ProvisioningState_STATUS("Moving")
	ProvisioningState_STATUS_Running   = ProvisioningState_STATUS("Running")
	ProvisioningState_STATUS_Succeeded = ProvisioningState_STATUS("Succeeded")
)

// Mapping from string to ProvisioningState_STATUS
var provisioningState_STATUS_Values = map[string]ProvisioningState_STATUS{
	"canceled":  ProvisioningState_STATUS_Canceled,
	"creating":  ProvisioningState_STATUS_Creating,
	"deleting":  ProvisioningState_STATUS_Deleting,
	"failed":    ProvisioningState_STATUS_Failed,
	"moving":    ProvisioningState_STATUS_Moving,
	"running":   ProvisioningState_STATUS_Running,
	"succeeded": ProvisioningState_STATUS_Succeeded,
}

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,
}

// Represents a tenant ID that is trusted by the cluster.
type TrustedExternalTenant_STATUS struct {
	// Value: GUID representing an external tenant.
	Value *string `json:"value,omitempty"`
}

// A class that contains virtual network definition.
type VirtualNetworkConfiguration_STATUS struct {
	// DataManagementPublicIpId: Data management's service public IP address resource id.
	DataManagementPublicIpId *string `json:"dataManagementPublicIpId,omitempty"`

	// EnginePublicIpId: Engine service's public IP address resource id.
	EnginePublicIpId *string `json:"enginePublicIpId,omitempty"`

	// State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the
	// subnet.
	State *VirtualNetworkConfiguration_State_STATUS `json:"state,omitempty"`

	// SubnetId: The subnet resource id.
	SubnetId *string `json:"subnetId,omitempty"`
}

// The language extension object.
type LanguageExtension_STATUS struct {
	// LanguageExtensionCustomImageName: The language extension custom image name.
	LanguageExtensionCustomImageName *string `json:"languageExtensionCustomImageName,omitempty"`

	// LanguageExtensionImageName: The language extension image name.
	LanguageExtensionImageName *LanguageExtensionImageName_STATUS `json:"languageExtensionImageName,omitempty"`

	// LanguageExtensionName: The language extension name.
	LanguageExtensionName *LanguageExtensionName_STATUS `json:"languageExtensionName,omitempty"`
}

type MigrationClusterProperties_Role_STATUS string

const (
	MigrationClusterProperties_Role_STATUS_Destination = MigrationClusterProperties_Role_STATUS("Destination")
	MigrationClusterProperties_Role_STATUS_Source      = MigrationClusterProperties_Role_STATUS("Source")
)

// Mapping from string to MigrationClusterProperties_Role_STATUS
var migrationClusterProperties_Role_STATUS_Values = map[string]MigrationClusterProperties_Role_STATUS{
	"destination": MigrationClusterProperties_Role_STATUS_Destination,
	"source":      MigrationClusterProperties_Role_STATUS_Source,
}

type VirtualNetworkConfiguration_State_STATUS string

const (
	VirtualNetworkConfiguration_State_STATUS_Disabled = VirtualNetworkConfiguration_State_STATUS("Disabled")
	VirtualNetworkConfiguration_State_STATUS_Enabled  = VirtualNetworkConfiguration_State_STATUS("Enabled")
)

// Mapping from string to VirtualNetworkConfiguration_State_STATUS
var virtualNetworkConfiguration_State_STATUS_Values = map[string]VirtualNetworkConfiguration_State_STATUS{
	"disabled": VirtualNetworkConfiguration_State_STATUS_Disabled,
	"enabled":  VirtualNetworkConfiguration_State_STATUS_Enabled,
}

// Language extension image name.
type LanguageExtensionImageName_STATUS string

const (
	LanguageExtensionImageName_STATUS_Python3_10_8      = LanguageExtensionImageName_STATUS("Python3_10_8")
	LanguageExtensionImageName_STATUS_Python3_10_8_DL   = LanguageExtensionImageName_STATUS("Python3_10_8_DL")
	LanguageExtensionImageName_STATUS_Python3_6_5       = LanguageExtensionImageName_STATUS("Python3_6_5")
	LanguageExtensionImageName_STATUS_PythonCustomImage = LanguageExtensionImageName_STATUS("PythonCustomImage")
	LanguageExtensionImageName_STATUS_R                 = LanguageExtensionImageName_STATUS("R")
)

// Mapping from string to LanguageExtensionImageName_STATUS
var languageExtensionImageName_STATUS_Values = map[string]LanguageExtensionImageName_STATUS{
	"python3_10_8":      LanguageExtensionImageName_STATUS_Python3_10_8,
	"python3_10_8_dl":   LanguageExtensionImageName_STATUS_Python3_10_8_DL,
	"python3_6_5":       LanguageExtensionImageName_STATUS_Python3_6_5,
	"pythoncustomimage": LanguageExtensionImageName_STATUS_PythonCustomImage,
	"r":                 LanguageExtensionImageName_STATUS_R,
}

// Language extension that can run within KQL query.
type LanguageExtensionName_STATUS string

const (
	LanguageExtensionName_STATUS_PYTHON = LanguageExtensionName_STATUS("PYTHON")
	LanguageExtensionName_STATUS_R      = LanguageExtensionName_STATUS("R")
)

// Mapping from string to LanguageExtensionName_STATUS
var languageExtensionName_STATUS_Values = map[string]LanguageExtensionName_STATUS{
	"python": LanguageExtensionName_STATUS_PYTHON,
	"r":      LanguageExtensionName_STATUS_R,
}
