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

const (
	version20250801Preview string = "2025-08-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,
	}
}

// ClusterType - AppLinkMember cluster type
type ClusterType string

const (
	// ClusterTypeAKS - Azure Kubernetes Service
	ClusterTypeAKS ClusterType = "AKS"
)

// PossibleClusterTypeValues returns the possible values for the ClusterType const type.
func PossibleClusterTypeValues() []ClusterType {
	return []ClusterType{
		ClusterTypeAKS,
	}
}

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

// EastWestGatewayVisibility - East-West gateway visibility.
type EastWestGatewayVisibility string

const (
	// EastWestGatewayVisibilityExternal - Use an external load balancer for the east-west gateway.
	EastWestGatewayVisibilityExternal EastWestGatewayVisibility = "External"
	// EastWestGatewayVisibilityInternal - Use an internal load balancer for the east-west gateway.
	EastWestGatewayVisibilityInternal EastWestGatewayVisibility = "Internal"
)

// PossibleEastWestGatewayVisibilityValues returns the possible values for the EastWestGatewayVisibility const type.
func PossibleEastWestGatewayVisibilityValues() []EastWestGatewayVisibility {
	return []EastWestGatewayVisibility{
		EastWestGatewayVisibilityExternal,
		EastWestGatewayVisibilityInternal,
	}
}

// ManagedServiceIdentityType - Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
type ManagedServiceIdentityType string

const (
	// ManagedServiceIdentityTypeNone - No managed identity.
	ManagedServiceIdentityTypeNone ManagedServiceIdentityType = "None"
	// ManagedServiceIdentityTypeSystemAssigned - System assigned managed identity.
	ManagedServiceIdentityTypeSystemAssigned ManagedServiceIdentityType = "SystemAssigned"
	// ManagedServiceIdentityTypeSystemAssignedUserAssigned - System and user assigned managed identity.
	ManagedServiceIdentityTypeSystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned,UserAssigned"
	// ManagedServiceIdentityTypeUserAssigned - User assigned managed identity.
	ManagedServiceIdentityTypeUserAssigned ManagedServiceIdentityType = "UserAssigned"
)

// PossibleManagedServiceIdentityTypeValues returns the possible values for the ManagedServiceIdentityType const type.
func PossibleManagedServiceIdentityTypeValues() []ManagedServiceIdentityType {
	return []ManagedServiceIdentityType{
		ManagedServiceIdentityTypeNone,
		ManagedServiceIdentityTypeSystemAssigned,
		ManagedServiceIdentityTypeSystemAssignedUserAssigned,
		ManagedServiceIdentityTypeUserAssigned,
	}
}

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

// ProvisioningState - Provisioning state of the resource
type ProvisioningState string

const (
	// ProvisioningStateAccepted - Resource has been Accepted.
	ProvisioningStateAccepted ProvisioningState = "Accepted"
	// ProvisioningStateCanceled - Resource creation was canceled.
	ProvisioningStateCanceled ProvisioningState = "Canceled"
	// ProvisioningStateDeleting - Resource is Deleting.
	ProvisioningStateDeleting ProvisioningState = "Deleting"
	// ProvisioningStateFailed - Resource creation failed.
	ProvisioningStateFailed ProvisioningState = "Failed"
	// ProvisioningStateProvisioning - Resource is getting provisioned.
	ProvisioningStateProvisioning ProvisioningState = "Provisioning"
	// ProvisioningStateSucceeded - Resource has been created.
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
	// ProvisioningStateUpdating - Resource is Updating.
	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,
	}
}

// UpgradeMode - AppLinkMember upgrade mode
type UpgradeMode string

const (
	// UpgradeModeFullyManaged - Fully managed upgrade mode
	UpgradeModeFullyManaged UpgradeMode = "FullyManaged"
	// UpgradeModeSelfManaged - Self managed upgrade mode
	UpgradeModeSelfManaged UpgradeMode = "SelfManaged"
)

// PossibleUpgradeModeValues returns the possible values for the UpgradeMode const type.
func PossibleUpgradeModeValues() []UpgradeMode {
	return []UpgradeMode{
		UpgradeModeFullyManaged,
		UpgradeModeSelfManaged,
	}
}

// UpgradeReleaseChannel - AppLinkMember upgrade release channel
type UpgradeReleaseChannel string

const (
	// UpgradeReleaseChannelRapid - Rapid release channel
	UpgradeReleaseChannelRapid UpgradeReleaseChannel = "Rapid"
	// UpgradeReleaseChannelStable - Stable release channel
	UpgradeReleaseChannelStable UpgradeReleaseChannel = "Stable"
)

// PossibleUpgradeReleaseChannelValues returns the possible values for the UpgradeReleaseChannel const type.
func PossibleUpgradeReleaseChannelValues() []UpgradeReleaseChannel {
	return []UpgradeReleaseChannel{
		UpgradeReleaseChannelRapid,
		UpgradeReleaseChannelStable,
	}
}
