// 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) Go Code Generator. DO NOT EDIT.

package armextensions

const (
	version20250301 string = "2025-03-01"
)

// AKSIdentityType - The identity type.
type AKSIdentityType string

const (
	// AKSIdentityTypeSystemAssigned - SystemAssigned identity
	AKSIdentityTypeSystemAssigned AKSIdentityType = "SystemAssigned"
	// AKSIdentityTypeUserAssigned - UserAssigned identity
	AKSIdentityTypeUserAssigned AKSIdentityType = "UserAssigned"
	// AKSIdentityTypeWorkload - Workload identity
	AKSIdentityTypeWorkload AKSIdentityType = "Workload"
)

// PossibleAKSIdentityTypeValues returns the possible values for the AKSIdentityType const type.
func PossibleAKSIdentityTypeValues() []AKSIdentityType {
	return []AKSIdentityType{
		AKSIdentityTypeSystemAssigned,
		AKSIdentityTypeUserAssigned,
		AKSIdentityTypeWorkload,
	}
}

// AutoUpgradeMode - The upgrade mode for auto upgrade.
// The default is "compatible".
type AutoUpgradeMode string

const (
	// AutoUpgradeModeCompatible - The extension will be automatically upgraded to compatible versions as determined by the user.
	AutoUpgradeModeCompatible AutoUpgradeMode = "compatible"
	// AutoUpgradeModeNone - The extension will not be automatically upgraded.
	AutoUpgradeModeNone AutoUpgradeMode = "none"
	// AutoUpgradeModePatch - The extension will be automatically upgraded to the latest patch version within the minor version.
	AutoUpgradeModePatch AutoUpgradeMode = "patch"
)

// PossibleAutoUpgradeModeValues returns the possible values for the AutoUpgradeMode const type.
func PossibleAutoUpgradeModeValues() []AutoUpgradeMode {
	return []AutoUpgradeMode{
		AutoUpgradeModeCompatible,
		AutoUpgradeModeNone,
		AutoUpgradeModePatch,
	}
}

// CreatedByType - The kind of entity that created the resource.
type CreatedByType string

const (
	// CreatedByTypeApplication - The entity was created by an application.
	CreatedByTypeApplication CreatedByType = "Application"
	// CreatedByTypeKey - The entity was created by a key.
	CreatedByTypeKey CreatedByType = "Key"
	// CreatedByTypeManagedIdentity - The entity was created by a managed identity.
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	// CreatedByTypeUser - The entity was created by a user.
	CreatedByTypeUser CreatedByType = "User"
)

// PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.
func PossibleCreatedByTypeValues() []CreatedByType {
	return []CreatedByType{
		CreatedByTypeApplication,
		CreatedByTypeKey,
		CreatedByTypeManagedIdentity,
		CreatedByTypeUser,
	}
}

// LevelType - Level of the status.
type LevelType string

const (
	// LevelTypeError - Indicates an error status from the extension.
	LevelTypeError LevelType = "Error"
	// LevelTypeInformation - Indicates an informational status from the extension.
	LevelTypeInformation LevelType = "Information"
	// LevelTypeWarning - Indicates a warning status from the extension.
	LevelTypeWarning LevelType = "Warning"
)

// PossibleLevelTypeValues returns the possible values for the LevelType const type.
func PossibleLevelTypeValues() []LevelType {
	return []LevelType{
		LevelTypeError,
		LevelTypeInformation,
		LevelTypeWarning,
	}
}

// ProvisioningState - The provisioning state of the resource.
type ProvisioningState string

const (
	// ProvisioningStateCanceled - Resource creation was canceled.
	ProvisioningStateCanceled ProvisioningState = "Canceled"
	// ProvisioningStateCreating - Resource is being created.
	ProvisioningStateCreating ProvisioningState = "Creating"
	// ProvisioningStateDeleting - Resource is being deleted.
	ProvisioningStateDeleting ProvisioningState = "Deleting"
	// ProvisioningStateFailed - Resource creation failed.
	ProvisioningStateFailed ProvisioningState = "Failed"
	// ProvisioningStateSucceeded - Resource has been created.
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
	// ProvisioningStateUpdating - Resource is being updated.
	ProvisioningStateUpdating ProvisioningState = "Updating"
)

// PossibleProvisioningStateValues returns the possible values for the ProvisioningState const type.
func PossibleProvisioningStateValues() []ProvisioningState {
	return []ProvisioningState{
		ProvisioningStateCanceled,
		ProvisioningStateCreating,
		ProvisioningStateDeleting,
		ProvisioningStateFailed,
		ProvisioningStateSucceeded,
		ProvisioningStateUpdating,
	}
}
