// 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) AutoRest Code Generator. DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

package armfluxconfigurations

const (
	moduleName    = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/kubernetesconfiguration/armfluxconfigurations"
	moduleVersion = "v0.1.0"
)

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

const (
	CreatedByTypeApplication     CreatedByType = "Application"
	CreatedByTypeKey             CreatedByType = "Key"
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	CreatedByTypeUser            CreatedByType = "User"
)

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

// FluxComplianceState - Compliance state of the cluster object.
type FluxComplianceState string

const (
	FluxComplianceStateCompliant    FluxComplianceState = "Compliant"
	FluxComplianceStateNonCompliant FluxComplianceState = "Non-Compliant"
	FluxComplianceStatePending      FluxComplianceState = "Pending"
	FluxComplianceStateSuspended    FluxComplianceState = "Suspended"
	FluxComplianceStateUnknown      FluxComplianceState = "Unknown"
)

// PossibleFluxComplianceStateValues returns the possible values for the FluxComplianceState const type.
func PossibleFluxComplianceStateValues() []FluxComplianceState {
	return []FluxComplianceState{
		FluxComplianceStateCompliant,
		FluxComplianceStateNonCompliant,
		FluxComplianceStatePending,
		FluxComplianceStateSuspended,
		FluxComplianceStateUnknown,
	}
}

// OperationType - The operation to be performed on the selected layer. The default value is 'extract', but it can be set
// to 'copy'.
type OperationType string

const (
	OperationTypeCopy    OperationType = "copy"
	OperationTypeExtract OperationType = "extract"
)

// PossibleOperationTypeValues returns the possible values for the OperationType const type.
func PossibleOperationTypeValues() []OperationType {
	return []OperationType{
		OperationTypeCopy,
		OperationTypeExtract,
	}
}

// ProviderType - Name of the provider used for authentication.
type ProviderType string

const (
	// ProviderTypeAzure - Azure provider can be used to authenticate to Azure DevOps repositories using Managed Identity.
	ProviderTypeAzure ProviderType = "Azure"
	// ProviderTypeGeneric - Generic is the default provider that indicates secret-based authentication mechanism.
	ProviderTypeGeneric ProviderType = "Generic"
	// ProviderTypeGitHub - GitHub provider can be used to authenticate
	ProviderTypeGitHub ProviderType = "GitHub"
)

// PossibleProviderTypeValues returns the possible values for the ProviderType const type.
func PossibleProviderTypeValues() []ProviderType {
	return []ProviderType{
		ProviderTypeAzure,
		ProviderTypeGeneric,
		ProviderTypeGitHub,
	}
}

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

const (
	ProvisioningStateCanceled  ProvisioningState = "Canceled"
	ProvisioningStateCreating  ProvisioningState = "Creating"
	ProvisioningStateDeleting  ProvisioningState = "Deleting"
	ProvisioningStateFailed    ProvisioningState = "Failed"
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
	ProvisioningStateUpdating  ProvisioningState = "Updating"
)

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

// ScopeType - Scope at which the configuration will be installed.
type ScopeType string

const (
	ScopeTypeCluster   ScopeType = "cluster"
	ScopeTypeNamespace ScopeType = "namespace"
)

// PossibleScopeTypeValues returns the possible values for the ScopeType const type.
func PossibleScopeTypeValues() []ScopeType {
	return []ScopeType{
		ScopeTypeCluster,
		ScopeTypeNamespace,
	}
}

// SourceKindType - Source Kind to pull the configuration data from.
type SourceKindType string

const (
	SourceKindTypeAzureBlob     SourceKindType = "AzureBlob"
	SourceKindTypeBucket        SourceKindType = "Bucket"
	SourceKindTypeGitRepository SourceKindType = "GitRepository"
	SourceKindTypeOCIRepository SourceKindType = "OCIRepository"
)

// PossibleSourceKindTypeValues returns the possible values for the SourceKindType const type.
func PossibleSourceKindTypeValues() []SourceKindType {
	return []SourceKindType{
		SourceKindTypeAzureBlob,
		SourceKindTypeBucket,
		SourceKindTypeGitRepository,
		SourceKindTypeOCIRepository,
	}
}
