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

const (
	version20260120Preview string = "2026-01-20-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,
	}
}

// CreateModeCluster - The mode to create a new HorizonDb cluster.
type CreateModeCluster string

const (
	// CreateModeClusterCreate - Create a new cluster
	CreateModeClusterCreate CreateModeCluster = "Create"
	// CreateModeClusterPointInTimeRestore - Create cluster from point-in-time restore
	CreateModeClusterPointInTimeRestore CreateModeCluster = "PointInTimeRestore"
	// CreateModeClusterUpdate - Update an existing cluster
	CreateModeClusterUpdate CreateModeCluster = "Update"
)

// PossibleCreateModeClusterValues returns the possible values for the CreateModeCluster const type.
func PossibleCreateModeClusterValues() []CreateModeCluster {
	return []CreateModeCluster{
		CreateModeClusterCreate,
		CreateModeClusterPointInTimeRestore,
		CreateModeClusterUpdate,
	}
}

// CreateModePool - The mode to create a new HorizonDb cluster.
type CreateModePool string

const (
	// CreateModePoolCreate - Create a new pool
	CreateModePoolCreate CreateModePool = "Create"
	// CreateModePoolUpdate - Update an existing pool
	CreateModePoolUpdate CreateModePool = "Update"
)

// PossibleCreateModePoolValues returns the possible values for the CreateModePool const type.
func PossibleCreateModePoolValues() []CreateModePool {
	return []CreateModePool{
		CreateModePoolCreate,
		CreateModePoolUpdate,
	}
}

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

// PrivateEndpointConnectionProvisioningState - The current provisioning state.
type PrivateEndpointConnectionProvisioningState string

const (
	// PrivateEndpointConnectionProvisioningStateCreating - Connection is being created
	PrivateEndpointConnectionProvisioningStateCreating PrivateEndpointConnectionProvisioningState = "Creating"
	// PrivateEndpointConnectionProvisioningStateDeleting - Connection is being deleted
	PrivateEndpointConnectionProvisioningStateDeleting PrivateEndpointConnectionProvisioningState = "Deleting"
	// PrivateEndpointConnectionProvisioningStateFailed - Connection provisioning has failed
	PrivateEndpointConnectionProvisioningStateFailed PrivateEndpointConnectionProvisioningState = "Failed"
	// PrivateEndpointConnectionProvisioningStateSucceeded - Connection has been provisioned
	PrivateEndpointConnectionProvisioningStateSucceeded PrivateEndpointConnectionProvisioningState = "Succeeded"
)

// PossiblePrivateEndpointConnectionProvisioningStateValues returns the possible values for the PrivateEndpointConnectionProvisioningState const type.
func PossiblePrivateEndpointConnectionProvisioningStateValues() []PrivateEndpointConnectionProvisioningState {
	return []PrivateEndpointConnectionProvisioningState{
		PrivateEndpointConnectionProvisioningStateCreating,
		PrivateEndpointConnectionProvisioningStateDeleting,
		PrivateEndpointConnectionProvisioningStateFailed,
		PrivateEndpointConnectionProvisioningStateSucceeded,
	}
}

// PrivateEndpointServiceConnectionStatus - The private endpoint connection status.
type PrivateEndpointServiceConnectionStatus string

const (
	// PrivateEndpointServiceConnectionStatusApproved - Connection approved
	PrivateEndpointServiceConnectionStatusApproved PrivateEndpointServiceConnectionStatus = "Approved"
	// PrivateEndpointServiceConnectionStatusPending - Connection waiting for approval or rejection
	PrivateEndpointServiceConnectionStatusPending PrivateEndpointServiceConnectionStatus = "Pending"
	// PrivateEndpointServiceConnectionStatusRejected - Connection Rejected
	PrivateEndpointServiceConnectionStatusRejected PrivateEndpointServiceConnectionStatus = "Rejected"
)

// PossiblePrivateEndpointServiceConnectionStatusValues returns the possible values for the PrivateEndpointServiceConnectionStatus const type.
func PossiblePrivateEndpointServiceConnectionStatusValues() []PrivateEndpointServiceConnectionStatus {
	return []PrivateEndpointServiceConnectionStatus{
		PrivateEndpointServiceConnectionStatusApproved,
		PrivateEndpointServiceConnectionStatusPending,
		PrivateEndpointServiceConnectionStatusRejected,
	}
}

// ProvisioningState - The provisioning state.
type ProvisioningState string

const (
	// ProvisioningStateCanceled - Provisioning was canceled
	ProvisioningStateCanceled ProvisioningState = "Canceled"
	// ProvisioningStateFailed - Provisioning failed
	ProvisioningStateFailed ProvisioningState = "Failed"
	// ProvisioningStateInProgress - Provisioning is in progress
	ProvisioningStateInProgress ProvisioningState = "InProgress"
	// ProvisioningStateProvisioning - Provisioning is in progress
	ProvisioningStateProvisioning ProvisioningState = "Provisioning"
	// ProvisioningStateSucceeded - Provisioning completed successfully
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
)

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

// PublicNetworkAccessState - Indicates if public network access is enabled or not.
type PublicNetworkAccessState string

const (
	// PublicNetworkAccessStateDisabled - Public network access is disabled
	PublicNetworkAccessStateDisabled PublicNetworkAccessState = "Disabled"
	// PublicNetworkAccessStateEnabled - Public network access is enabled
	PublicNetworkAccessStateEnabled PublicNetworkAccessState = "Enabled"
)

// PossiblePublicNetworkAccessStateValues returns the possible values for the PublicNetworkAccessState const type.
func PossiblePublicNetworkAccessStateValues() []PublicNetworkAccessState {
	return []PublicNetworkAccessState{
		PublicNetworkAccessStateDisabled,
		PublicNetworkAccessStateEnabled,
	}
}

// ReplicaRole - Role of the replica.
type ReplicaRole string

const (
	// ReplicaRoleRead - Read-only replica
	ReplicaRoleRead ReplicaRole = "Read"
	// ReplicaRoleReadWrite - ReadWrite replica
	ReplicaRoleReadWrite ReplicaRole = "ReadWrite"
)

// PossibleReplicaRoleValues returns the possible values for the ReplicaRole const type.
func PossibleReplicaRoleValues() []ReplicaRole {
	return []ReplicaRole{
		ReplicaRoleRead,
		ReplicaRoleReadWrite,
	}
}

// State - Current states.
type State string

const (
	// StateDisabled - Is disabled
	StateDisabled State = "Disabled"
	// StateDropping - Is being dropped/deleted
	StateDropping State = "Dropping"
	// StateHealthy - Is healthy
	StateHealthy State = "Healthy"
	// StateReady - Is ready and operational
	StateReady State = "Ready"
	// StateStarting - Is starting up
	StateStarting State = "Starting"
	// StateStopped - Is stopped
	StateStopped State = "Stopped"
	// StateStopping - Is stopping
	StateStopping State = "Stopping"
	// StateUpdating - Is being updated
	StateUpdating State = "Updating"
)

// PossibleStateValues returns the possible values for the State const type.
func PossibleStateValues() []State {
	return []State{
		StateDisabled,
		StateDropping,
		StateHealthy,
		StateReady,
		StateStarting,
		StateStopped,
		StateStopping,
		StateUpdating,
	}
}

// ZonePlacementPolicy - The zone redundancy option for the cluster.
type ZonePlacementPolicy string

const (
	// ZonePlacementPolicyBestEffort - Best-effort placement (default)
	ZonePlacementPolicyBestEffort ZonePlacementPolicy = "BestEffort"
	// ZonePlacementPolicyStrict - Enforce zonal redundancy
	ZonePlacementPolicyStrict ZonePlacementPolicy = "Strict"
)

// PossibleZonePlacementPolicyValues returns the possible values for the ZonePlacementPolicy const type.
func PossibleZonePlacementPolicyValues() []ZonePlacementPolicy {
	return []ZonePlacementPolicy{
		ZonePlacementPolicyBestEffort,
		ZonePlacementPolicyStrict,
	}
}
