//go:build go1.18
// +build go1.18

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

// AccessRight - Access rights of the access policy.
type AccessRight string

const (
	AccessRightDelete AccessRight = "Delete"
	AccessRightRead   AccessRight = "Read"
	AccessRightWrite  AccessRight = "Write"
)

// PossibleAccessRightValues returns the possible values for the AccessRight const type.
func PossibleAccessRightValues() []AccessRight {
	return []AccessRight{
		AccessRightDelete,
		AccessRightRead,
		AccessRightWrite,
	}
}

type CopyStatusType string

const (
	CopyStatusTypeAborted CopyStatusType = "aborted"
	CopyStatusTypeFailed  CopyStatusType = "failed"
	CopyStatusTypePending CopyStatusType = "pending"
	CopyStatusTypeSuccess CopyStatusType = "success"
)

// PossibleCopyStatusTypeValues returns the possible values for the CopyStatusType const type.
func PossibleCopyStatusTypeValues() []CopyStatusType {
	return []CopyStatusType{
		CopyStatusTypeAborted,
		CopyStatusTypeFailed,
		CopyStatusTypePending,
		CopyStatusTypeSuccess,
	}
}

type DeleteSnapshotsOptionType string

const (
	DeleteSnapshotsOptionTypeInclude       DeleteSnapshotsOptionType = "include"
	DeleteSnapshotsOptionTypeIncludeLeased DeleteSnapshotsOptionType = "include-leased"
)

// PossibleDeleteSnapshotsOptionTypeValues returns the possible values for the DeleteSnapshotsOptionType const type.
func PossibleDeleteSnapshotsOptionTypeValues() []DeleteSnapshotsOptionType {
	return []DeleteSnapshotsOptionType{
		DeleteSnapshotsOptionTypeInclude,
		DeleteSnapshotsOptionTypeIncludeLeased,
	}
}

type FileLastWrittenMode string

const (
	FileLastWrittenModeNow      FileLastWrittenMode = "Now"
	FileLastWrittenModePreserve FileLastWrittenMode = "Preserve"
)

// PossibleFileLastWrittenModeValues returns the possible values for the FileLastWrittenMode const type.
func PossibleFileLastWrittenModeValues() []FileLastWrittenMode {
	return []FileLastWrittenMode{
		FileLastWrittenModeNow,
		FileLastWrittenModePreserve,
	}
}

type FilePermissionFormat string

const (
	FilePermissionFormatBinary FilePermissionFormat = "Binary"
	FilePermissionFormatSddl   FilePermissionFormat = "Sddl"
)

// PossibleFilePermissionFormatValues returns the possible values for the FilePermissionFormat const type.
func PossibleFilePermissionFormatValues() []FilePermissionFormat {
	return []FilePermissionFormat{
		FilePermissionFormatBinary,
		FilePermissionFormatSddl,
	}
}

type FileRangeWriteType string

const (
	FileRangeWriteTypeClear  FileRangeWriteType = "clear"
	FileRangeWriteTypeUpdate FileRangeWriteType = "update"
)

// PossibleFileRangeWriteTypeValues returns the possible values for the FileRangeWriteType const type.
func PossibleFileRangeWriteTypeValues() []FileRangeWriteType {
	return []FileRangeWriteType{
		FileRangeWriteTypeClear,
		FileRangeWriteTypeUpdate,
	}
}

// LeaseDurationType - When a share is leased, specifies whether the lease is of infinite or fixed duration.
type LeaseDurationType string

const (
	LeaseDurationTypeFixed    LeaseDurationType = "fixed"
	LeaseDurationTypeInfinite LeaseDurationType = "infinite"
)

// PossibleLeaseDurationTypeValues returns the possible values for the LeaseDurationType const type.
func PossibleLeaseDurationTypeValues() []LeaseDurationType {
	return []LeaseDurationType{
		LeaseDurationTypeFixed,
		LeaseDurationTypeInfinite,
	}
}

// LeaseStateType - Lease state of the share.
type LeaseStateType string

const (
	LeaseStateTypeAvailable LeaseStateType = "available"
	LeaseStateTypeBreaking  LeaseStateType = "breaking"
	LeaseStateTypeBroken    LeaseStateType = "broken"
	LeaseStateTypeExpired   LeaseStateType = "expired"
	LeaseStateTypeLeased    LeaseStateType = "leased"
)

// PossibleLeaseStateTypeValues returns the possible values for the LeaseStateType const type.
func PossibleLeaseStateTypeValues() []LeaseStateType {
	return []LeaseStateType{
		LeaseStateTypeAvailable,
		LeaseStateTypeBreaking,
		LeaseStateTypeBroken,
		LeaseStateTypeExpired,
		LeaseStateTypeLeased,
	}
}

// LeaseStatusType - The current lease status of the share.
type LeaseStatusType string

const (
	LeaseStatusTypeLocked   LeaseStatusType = "locked"
	LeaseStatusTypeUnlocked LeaseStatusType = "unlocked"
)

// PossibleLeaseStatusTypeValues returns the possible values for the LeaseStatusType const type.
func PossibleLeaseStatusTypeValues() []LeaseStatusType {
	return []LeaseStatusType{
		LeaseStatusTypeLocked,
		LeaseStatusTypeUnlocked,
	}
}

type ListFilesIncludeType string

const (
	ListFilesIncludeTypeAttributes    ListFilesIncludeType = "Attributes"
	ListFilesIncludeTypeEtag          ListFilesIncludeType = "Etag"
	ListFilesIncludeTypePermissionKey ListFilesIncludeType = "PermissionKey"
	ListFilesIncludeTypeTimestamps    ListFilesIncludeType = "Timestamps"
)

// PossibleListFilesIncludeTypeValues returns the possible values for the ListFilesIncludeType const type.
func PossibleListFilesIncludeTypeValues() []ListFilesIncludeType {
	return []ListFilesIncludeType{
		ListFilesIncludeTypeAttributes,
		ListFilesIncludeTypeEtag,
		ListFilesIncludeTypePermissionKey,
		ListFilesIncludeTypeTimestamps,
	}
}

type ListSharesIncludeType string

const (
	ListSharesIncludeTypeDeleted   ListSharesIncludeType = "deleted"
	ListSharesIncludeTypeMetadata  ListSharesIncludeType = "metadata"
	ListSharesIncludeTypeSnapshots ListSharesIncludeType = "snapshots"
)

// PossibleListSharesIncludeTypeValues returns the possible values for the ListSharesIncludeType const type.
func PossibleListSharesIncludeTypeValues() []ListSharesIncludeType {
	return []ListSharesIncludeType{
		ListSharesIncludeTypeDeleted,
		ListSharesIncludeTypeMetadata,
		ListSharesIncludeTypeSnapshots,
	}
}

type ModeCopyMode string

const (
	ModeCopyModeOverride ModeCopyMode = "override"
	ModeCopyModeSource   ModeCopyMode = "source"
)

// PossibleModeCopyModeValues returns the possible values for the ModeCopyMode const type.
func PossibleModeCopyModeValues() []ModeCopyMode {
	return []ModeCopyMode{
		ModeCopyModeOverride,
		ModeCopyModeSource,
	}
}

type NFSFileType string

const (
	NFSFileTypeDirectory NFSFileType = "Directory"
	NFSFileTypeRegular   NFSFileType = "Regular"
	NFSFileTypeSymLink   NFSFileType = "SymLink"
)

// PossibleNFSFileTypeValues returns the possible values for the NFSFileType const type.
func PossibleNFSFileTypeValues() []NFSFileType {
	return []NFSFileType{
		NFSFileTypeDirectory,
		NFSFileTypeRegular,
		NFSFileTypeSymLink,
	}
}

type OwnerCopyMode string

const (
	OwnerCopyModeOverride OwnerCopyMode = "override"
	OwnerCopyModeSource   OwnerCopyMode = "source"
)

// PossibleOwnerCopyModeValues returns the possible values for the OwnerCopyMode const type.
func PossibleOwnerCopyModeValues() []OwnerCopyMode {
	return []OwnerCopyMode{
		OwnerCopyModeOverride,
		OwnerCopyModeSource,
	}
}

type PermissionCopyModeType string

const (
	PermissionCopyModeTypeOverride PermissionCopyModeType = "override"
	PermissionCopyModeTypeSource   PermissionCopyModeType = "source"
)

// PossiblePermissionCopyModeTypeValues returns the possible values for the PermissionCopyModeType const type.
func PossiblePermissionCopyModeTypeValues() []PermissionCopyModeType {
	return []PermissionCopyModeType{
		PermissionCopyModeTypeOverride,
		PermissionCopyModeTypeSource,
	}
}

type ShareAccessTier string

const (
	ShareAccessTierCool                 ShareAccessTier = "Cool"
	ShareAccessTierHot                  ShareAccessTier = "Hot"
	ShareAccessTierPremium              ShareAccessTier = "Premium"
	ShareAccessTierTransactionOptimized ShareAccessTier = "TransactionOptimized"
)

// PossibleShareAccessTierValues returns the possible values for the ShareAccessTier const type.
func PossibleShareAccessTierValues() []ShareAccessTier {
	return []ShareAccessTier{
		ShareAccessTierCool,
		ShareAccessTierHot,
		ShareAccessTierPremium,
		ShareAccessTierTransactionOptimized,
	}
}

type ShareRootSquash string

const (
	ShareRootSquashAllSquash    ShareRootSquash = "AllSquash"
	ShareRootSquashNoRootSquash ShareRootSquash = "NoRootSquash"
	ShareRootSquashRootSquash   ShareRootSquash = "RootSquash"
)

// PossibleShareRootSquashValues returns the possible values for the ShareRootSquash const type.
func PossibleShareRootSquashValues() []ShareRootSquash {
	return []ShareRootSquash{
		ShareRootSquashAllSquash,
		ShareRootSquashNoRootSquash,
		ShareRootSquashRootSquash,
	}
}

type ShareTokenIntent string

const (
	ShareTokenIntentBackup ShareTokenIntent = "backup"
)

// PossibleShareTokenIntentValues returns the possible values for the ShareTokenIntent const type.
func PossibleShareTokenIntentValues() []ShareTokenIntent {
	return []ShareTokenIntent{
		ShareTokenIntentBackup,
	}
}

// StorageErrorCode - Error codes returned by the service
type StorageErrorCode string

const (
	StorageErrorCodeAccountAlreadyExists                             StorageErrorCode = "AccountAlreadyExists"
	StorageErrorCodeAccountBeingCreated                              StorageErrorCode = "AccountBeingCreated"
	StorageErrorCodeAccountIsDisabled                                StorageErrorCode = "AccountIsDisabled"
	StorageErrorCodeAuthenticationFailed                             StorageErrorCode = "AuthenticationFailed"
	StorageErrorCodeAuthorizationFailure                             StorageErrorCode = "AuthorizationFailure"
	StorageErrorCodeAuthorizationPermissionMismatch                  StorageErrorCode = "AuthorizationPermissionMismatch"
	StorageErrorCodeAuthorizationProtocolMismatch                    StorageErrorCode = "AuthorizationProtocolMismatch"
	StorageErrorCodeAuthorizationResourceTypeMismatch                StorageErrorCode = "AuthorizationResourceTypeMismatch"
	StorageErrorCodeAuthorizationServiceMismatch                     StorageErrorCode = "AuthorizationServiceMismatch"
	StorageErrorCodeAuthorizationSourceIPMismatch                    StorageErrorCode = "AuthorizationSourceIPMismatch"
	StorageErrorCodeCannotDeleteFileOrDirectory                      StorageErrorCode = "CannotDeleteFileOrDirectory"
	StorageErrorCodeClientCacheFlushDelay                            StorageErrorCode = "ClientCacheFlushDelay"
	StorageErrorCodeConditionHeadersNotSupported                     StorageErrorCode = "ConditionHeadersNotSupported"
	StorageErrorCodeConditionNotMet                                  StorageErrorCode = "ConditionNotMet"
	StorageErrorCodeContainerQuotaDowngradeNotAllowed                StorageErrorCode = "ContainerQuotaDowngradeNotAllowed"
	StorageErrorCodeDeletePending                                    StorageErrorCode = "DeletePending"
	StorageErrorCodeDirectoryNotEmpty                                StorageErrorCode = "DirectoryNotEmpty"
	StorageErrorCodeEmptyMetadataKey                                 StorageErrorCode = "EmptyMetadataKey"
	StorageErrorCodeFeatureVersionMismatch                           StorageErrorCode = "FeatureVersionMismatch"
	StorageErrorCodeFileLockConflict                                 StorageErrorCode = "FileLockConflict"
	StorageErrorCodeFileShareProvisionedBandwidthDowngradeNotAllowed StorageErrorCode = "FileShareProvisionedBandwidthDowngradeNotAllowed"
	StorageErrorCodeFileShareProvisionedIopsDowngradeNotAllowed      StorageErrorCode = "FileShareProvisionedIopsDowngradeNotAllowed"
	StorageErrorCodeInsufficientAccountPermissions                   StorageErrorCode = "InsufficientAccountPermissions"
	StorageErrorCodeInternalError                                    StorageErrorCode = "InternalError"
	StorageErrorCodeInvalidAuthenticationInfo                        StorageErrorCode = "InvalidAuthenticationInfo"
	StorageErrorCodeInvalidFileOrDirectoryPathName                   StorageErrorCode = "InvalidFileOrDirectoryPathName"
	StorageErrorCodeInvalidHTTPVerb                                  StorageErrorCode = "InvalidHttpVerb"
	StorageErrorCodeInvalidHeaderValue                               StorageErrorCode = "InvalidHeaderValue"
	StorageErrorCodeInvalidInput                                     StorageErrorCode = "InvalidInput"
	StorageErrorCodeInvalidMD5                                       StorageErrorCode = "InvalidMd5"
	StorageErrorCodeInvalidMetadata                                  StorageErrorCode = "InvalidMetadata"
	StorageErrorCodeInvalidQueryParameterValue                       StorageErrorCode = "InvalidQueryParameterValue"
	StorageErrorCodeInvalidRange                                     StorageErrorCode = "InvalidRange"
	StorageErrorCodeInvalidResourceName                              StorageErrorCode = "InvalidResourceName"
	StorageErrorCodeInvalidURI                                       StorageErrorCode = "InvalidUri"
	StorageErrorCodeInvalidXMLDocument                               StorageErrorCode = "InvalidXmlDocument"
	StorageErrorCodeInvalidXMLNodeValue                              StorageErrorCode = "InvalidXmlNodeValue"
	StorageErrorCodeMD5Mismatch                                      StorageErrorCode = "Md5Mismatch"
	StorageErrorCodeMetadataTooLarge                                 StorageErrorCode = "MetadataTooLarge"
	StorageErrorCodeMissingContentLengthHeader                       StorageErrorCode = "MissingContentLengthHeader"
	StorageErrorCodeMissingRequiredHeader                            StorageErrorCode = "MissingRequiredHeader"
	StorageErrorCodeMissingRequiredQueryParameter                    StorageErrorCode = "MissingRequiredQueryParameter"
	StorageErrorCodeMissingRequiredXMLNode                           StorageErrorCode = "MissingRequiredXmlNode"
	StorageErrorCodeMultipleConditionHeadersNotSupported             StorageErrorCode = "MultipleConditionHeadersNotSupported"
	StorageErrorCodeOperationTimedOut                                StorageErrorCode = "OperationTimedOut"
	StorageErrorCodeOutOfRangeInput                                  StorageErrorCode = "OutOfRangeInput"
	StorageErrorCodeOutOfRangeQueryParameterValue                    StorageErrorCode = "OutOfRangeQueryParameterValue"
	StorageErrorCodeParentNotFound                                   StorageErrorCode = "ParentNotFound"
	StorageErrorCodePreviousSnapshotNotFound                         StorageErrorCode = "PreviousSnapshotNotFound"
	StorageErrorCodeReadOnlyAttribute                                StorageErrorCode = "ReadOnlyAttribute"
	StorageErrorCodeRequestBodyTooLarge                              StorageErrorCode = "RequestBodyTooLarge"
	StorageErrorCodeRequestURLFailedToParse                          StorageErrorCode = "RequestUrlFailedToParse"
	StorageErrorCodeResourceAlreadyExists                            StorageErrorCode = "ResourceAlreadyExists"
	StorageErrorCodeResourceNotFound                                 StorageErrorCode = "ResourceNotFound"
	StorageErrorCodeResourceTypeMismatch                             StorageErrorCode = "ResourceTypeMismatch"
	StorageErrorCodeServerBusy                                       StorageErrorCode = "ServerBusy"
	StorageErrorCodeShareAlreadyExists                               StorageErrorCode = "ShareAlreadyExists"
	StorageErrorCodeShareBeingDeleted                                StorageErrorCode = "ShareBeingDeleted"
	StorageErrorCodeShareDisabled                                    StorageErrorCode = "ShareDisabled"
	StorageErrorCodeShareHasSnapshots                                StorageErrorCode = "ShareHasSnapshots"
	StorageErrorCodeShareNotFound                                    StorageErrorCode = "ShareNotFound"
	StorageErrorCodeShareSnapshotCountExceeded                       StorageErrorCode = "ShareSnapshotCountExceeded"
	StorageErrorCodeShareSnapshotInProgress                          StorageErrorCode = "ShareSnapshotInProgress"
	StorageErrorCodeShareSnapshotNotFound                            StorageErrorCode = "ShareSnapshotNotFound"
	StorageErrorCodeShareSnapshotOperationNotSupported               StorageErrorCode = "ShareSnapshotOperationNotSupported"
	StorageErrorCodeSharingViolation                                 StorageErrorCode = "SharingViolation"
	StorageErrorCodeUnsupportedHTTPVerb                              StorageErrorCode = "UnsupportedHttpVerb"
	StorageErrorCodeUnsupportedHeader                                StorageErrorCode = "UnsupportedHeader"
	StorageErrorCodeUnsupportedQueryParameter                        StorageErrorCode = "UnsupportedQueryParameter"
	StorageErrorCodeUnsupportedXMLNode                               StorageErrorCode = "UnsupportedXmlNode"
)

// PossibleStorageErrorCodeValues returns the possible values for the StorageErrorCode const type.
func PossibleStorageErrorCodeValues() []StorageErrorCode {
	return []StorageErrorCode{
		StorageErrorCodeAccountAlreadyExists,
		StorageErrorCodeAccountBeingCreated,
		StorageErrorCodeAccountIsDisabled,
		StorageErrorCodeAuthenticationFailed,
		StorageErrorCodeAuthorizationFailure,
		StorageErrorCodeAuthorizationPermissionMismatch,
		StorageErrorCodeAuthorizationProtocolMismatch,
		StorageErrorCodeAuthorizationResourceTypeMismatch,
		StorageErrorCodeAuthorizationServiceMismatch,
		StorageErrorCodeAuthorizationSourceIPMismatch,
		StorageErrorCodeCannotDeleteFileOrDirectory,
		StorageErrorCodeClientCacheFlushDelay,
		StorageErrorCodeConditionHeadersNotSupported,
		StorageErrorCodeConditionNotMet,
		StorageErrorCodeContainerQuotaDowngradeNotAllowed,
		StorageErrorCodeDeletePending,
		StorageErrorCodeDirectoryNotEmpty,
		StorageErrorCodeEmptyMetadataKey,
		StorageErrorCodeFeatureVersionMismatch,
		StorageErrorCodeFileLockConflict,
		StorageErrorCodeFileShareProvisionedBandwidthDowngradeNotAllowed,
		StorageErrorCodeFileShareProvisionedIopsDowngradeNotAllowed,
		StorageErrorCodeInsufficientAccountPermissions,
		StorageErrorCodeInternalError,
		StorageErrorCodeInvalidAuthenticationInfo,
		StorageErrorCodeInvalidFileOrDirectoryPathName,
		StorageErrorCodeInvalidHTTPVerb,
		StorageErrorCodeInvalidHeaderValue,
		StorageErrorCodeInvalidInput,
		StorageErrorCodeInvalidMD5,
		StorageErrorCodeInvalidMetadata,
		StorageErrorCodeInvalidQueryParameterValue,
		StorageErrorCodeInvalidRange,
		StorageErrorCodeInvalidResourceName,
		StorageErrorCodeInvalidURI,
		StorageErrorCodeInvalidXMLDocument,
		StorageErrorCodeInvalidXMLNodeValue,
		StorageErrorCodeMD5Mismatch,
		StorageErrorCodeMetadataTooLarge,
		StorageErrorCodeMissingContentLengthHeader,
		StorageErrorCodeMissingRequiredHeader,
		StorageErrorCodeMissingRequiredQueryParameter,
		StorageErrorCodeMissingRequiredXMLNode,
		StorageErrorCodeMultipleConditionHeadersNotSupported,
		StorageErrorCodeOperationTimedOut,
		StorageErrorCodeOutOfRangeInput,
		StorageErrorCodeOutOfRangeQueryParameterValue,
		StorageErrorCodeParentNotFound,
		StorageErrorCodePreviousSnapshotNotFound,
		StorageErrorCodeReadOnlyAttribute,
		StorageErrorCodeRequestBodyTooLarge,
		StorageErrorCodeRequestURLFailedToParse,
		StorageErrorCodeResourceAlreadyExists,
		StorageErrorCodeResourceNotFound,
		StorageErrorCodeResourceTypeMismatch,
		StorageErrorCodeServerBusy,
		StorageErrorCodeShareAlreadyExists,
		StorageErrorCodeShareBeingDeleted,
		StorageErrorCodeShareDisabled,
		StorageErrorCodeShareHasSnapshots,
		StorageErrorCodeShareNotFound,
		StorageErrorCodeShareSnapshotCountExceeded,
		StorageErrorCodeShareSnapshotInProgress,
		StorageErrorCodeShareSnapshotNotFound,
		StorageErrorCodeShareSnapshotOperationNotSupported,
		StorageErrorCodeSharingViolation,
		StorageErrorCodeUnsupportedHTTPVerb,
		StorageErrorCodeUnsupportedHeader,
		StorageErrorCodeUnsupportedQueryParameter,
		StorageErrorCodeUnsupportedXMLNode,
	}
}
