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

const (
	version20201030Preview string = "2020-10-30-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,
	}
}

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

// EnterprisePolicyKind - The Kind (type) of Enterprise Policy
type EnterprisePolicyKind string

const (
	// EnterprisePolicyKindEncryption - Encryption
	EnterprisePolicyKindEncryption EnterprisePolicyKind = "Encryption"
	// EnterprisePolicyKindIdentity - Identity
	EnterprisePolicyKindIdentity EnterprisePolicyKind = "Identity"
	// EnterprisePolicyKindLockbox - Lockbox
	EnterprisePolicyKindLockbox EnterprisePolicyKind = "Lockbox"
	// EnterprisePolicyKindNetworkInjection - NetworkInjection
	EnterprisePolicyKindNetworkInjection EnterprisePolicyKind = "NetworkInjection"
	// EnterprisePolicyKindPrivateEndpoint - PrivateEndpoint
	EnterprisePolicyKindPrivateEndpoint EnterprisePolicyKind = "PrivateEndpoint"
)

// PossibleEnterprisePolicyKindValues returns the possible values for the EnterprisePolicyKind const type.
func PossibleEnterprisePolicyKindValues() []EnterprisePolicyKind {
	return []EnterprisePolicyKind{
		EnterprisePolicyKindEncryption,
		EnterprisePolicyKindIdentity,
		EnterprisePolicyKindLockbox,
		EnterprisePolicyKindNetworkInjection,
		EnterprisePolicyKindPrivateEndpoint,
	}
}

// HealthStatus - The health status of the resource.
type HealthStatus string

const (
	// HealthStatusHealthy - Healthy
	HealthStatusHealthy HealthStatus = "Healthy"
	// HealthStatusUndetermined - Undetermined
	HealthStatusUndetermined HealthStatus = "Undetermined"
	// HealthStatusUnhealthy - Unhealthy
	HealthStatusUnhealthy HealthStatus = "Unhealthy"
	// HealthStatusWarning - Warning
	HealthStatusWarning HealthStatus = "Warning"
)

// PossibleHealthStatusValues returns the possible values for the HealthStatus const type.
func PossibleHealthStatusValues() []HealthStatus {
	return []HealthStatus{
		HealthStatusHealthy,
		HealthStatusUndetermined,
		HealthStatusUnhealthy,
		HealthStatusWarning,
	}
}

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

// ResourceIdentityType - The type of identity used for the EnterprisePolicy. Currently, the only supported type is 'SystemAssigned',
// which implicitly creates an identity.
type ResourceIdentityType string

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

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

// State - The state of onboarding, which only appears in the response.
type State string

const (
	// StateDisabled - Disabled
	StateDisabled State = "Disabled"
	// StateEnabled - Enabled
	StateEnabled State = "Enabled"
	// StateNotConfigured - NotConfigured
	StateNotConfigured State = "NotConfigured"
)

// PossibleStateValues returns the possible values for the State const type.
func PossibleStateValues() []State {
	return []State{
		StateDisabled,
		StateEnabled,
		StateNotConfigured,
	}
}
