// 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 armhybridkubernetes

const (
	version20241201Preview string = "2024-12-01-preview"
)

// ActionType - Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
type ActionType string

const (
	// ActionTypeInternal - Actions are for internal-only APIs.
	ActionTypeInternal ActionType = "Internal"
)

// PossibleActionTypeValues returns the possible values for the ActionType const type.
func PossibleActionTypeValues() []ActionType {
	return []ActionType{
		ActionTypeInternal,
	}
}

// AuthenticationMethod - The mode of client authentication.
type AuthenticationMethod string

const (
	AuthenticationMethodAAD   AuthenticationMethod = "AAD"
	AuthenticationMethodToken AuthenticationMethod = "Token"
)

// PossibleAuthenticationMethodValues returns the possible values for the AuthenticationMethod const type.
func PossibleAuthenticationMethodValues() []AuthenticationMethod {
	return []AuthenticationMethod{
		AuthenticationMethodAAD,
		AuthenticationMethodToken,
	}
}

// AutoUpgradeOptions - Indicates whether the Arc agents on the be upgraded automatically to the latest version. Defaults
// to Enabled.
type AutoUpgradeOptions string

const (
	AutoUpgradeOptionsDisabled AutoUpgradeOptions = "Disabled"
	AutoUpgradeOptionsEnabled  AutoUpgradeOptions = "Enabled"
)

// PossibleAutoUpgradeOptionsValues returns the possible values for the AutoUpgradeOptions const type.
func PossibleAutoUpgradeOptionsValues() []AutoUpgradeOptions {
	return []AutoUpgradeOptions{
		AutoUpgradeOptionsDisabled,
		AutoUpgradeOptionsEnabled,
	}
}

// AzureHybridBenefit - Indicates whether Azure Hybrid Benefit is opted in
type AzureHybridBenefit string

const (
	AzureHybridBenefitFalse         AzureHybridBenefit = "False"
	AzureHybridBenefitNotApplicable AzureHybridBenefit = "NotApplicable"
	AzureHybridBenefitTrue          AzureHybridBenefit = "True"
)

// PossibleAzureHybridBenefitValues returns the possible values for the AzureHybridBenefit const type.
func PossibleAzureHybridBenefitValues() []AzureHybridBenefit {
	return []AzureHybridBenefit{
		AzureHybridBenefitFalse,
		AzureHybridBenefitNotApplicable,
		AzureHybridBenefitTrue,
	}
}

// ConnectedClusterKind - Indicates the kind of Arc connected cluster based on host infrastructure.
type ConnectedClusterKind string

const (
	ConnectedClusterKindAWS                ConnectedClusterKind = "AWS"
	ConnectedClusterKindProvisionedCluster ConnectedClusterKind = "ProvisionedCluster"
)

// PossibleConnectedClusterKindValues returns the possible values for the ConnectedClusterKind const type.
func PossibleConnectedClusterKindValues() []ConnectedClusterKind {
	return []ConnectedClusterKind{
		ConnectedClusterKindAWS,
		ConnectedClusterKindProvisionedCluster,
	}
}

// ConnectivityStatus - Represents the connectivity status of the connected cluster.
type ConnectivityStatus string

const (
	ConnectivityStatusAgentNotInstalled ConnectivityStatus = "AgentNotInstalled"
	ConnectivityStatusConnected         ConnectivityStatus = "Connected"
	ConnectivityStatusConnecting        ConnectivityStatus = "Connecting"
	ConnectivityStatusExpired           ConnectivityStatus = "Expired"
	ConnectivityStatusOffline           ConnectivityStatus = "Offline"
)

// PossibleConnectivityStatusValues returns the possible values for the ConnectivityStatus const type.
func PossibleConnectivityStatusValues() []ConnectivityStatus {
	return []ConnectivityStatus{
		ConnectivityStatusAgentNotInstalled,
		ConnectivityStatusConnected,
		ConnectivityStatusConnecting,
		ConnectivityStatusExpired,
		ConnectivityStatusOffline,
	}
}

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

// Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
// value is "user,system"
type Origin string

const (
	// OriginSystem - Indicates the operation is initiated by a system.
	OriginSystem Origin = "system"
	// OriginUser - Indicates the operation is initiated by a user.
	OriginUser Origin = "user"
	// OriginUserSystem - Indicates the operation is initiated by a user or system.
	OriginUserSystem Origin = "user,system"
)

// PossibleOriginValues returns the possible values for the Origin const type.
func PossibleOriginValues() []Origin {
	return []Origin{
		OriginSystem,
		OriginUser,
		OriginUserSystem,
	}
}

// PrivateLinkState - Property which describes the state of private link on a connected cluster resource.
type PrivateLinkState string

const (
	PrivateLinkStateDisabled PrivateLinkState = "Disabled"
	PrivateLinkStateEnabled  PrivateLinkState = "Enabled"
)

// PossiblePrivateLinkStateValues returns the possible values for the PrivateLinkState const type.
func PossiblePrivateLinkStateValues() []PrivateLinkState {
	return []PrivateLinkState{
		PrivateLinkStateDisabled,
		PrivateLinkStateEnabled,
	}
}

// ProvisioningState - The current deployment state of connectedClusters.
type ProvisioningState string

const (
	ProvisioningStateAccepted     ProvisioningState = "Accepted"
	ProvisioningStateCanceled     ProvisioningState = "Canceled"
	ProvisioningStateDeleting     ProvisioningState = "Deleting"
	ProvisioningStateFailed       ProvisioningState = "Failed"
	ProvisioningStateProvisioning ProvisioningState = "Provisioning"
	ProvisioningStateSucceeded    ProvisioningState = "Succeeded"
	ProvisioningStateUpdating     ProvisioningState = "Updating"
)

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

// ResourceIdentityType - The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system
// created identity. The type 'None' means no identity is assigned to the connected cluster.
type ResourceIdentityType string

const (
	ResourceIdentityTypeNone           ResourceIdentityType = "None"
	ResourceIdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned"
)

// PossibleResourceIdentityTypeValues returns the possible values for the ResourceIdentityType const type.
func PossibleResourceIdentityTypeValues() []ResourceIdentityType {
	return []ResourceIdentityType{
		ResourceIdentityTypeNone,
		ResourceIdentityTypeSystemAssigned,
	}
}
