// Code generated by smithy-go-codegen DO NOT EDIT.

package types

type AnalyticsS3ExportFileFormat string

// Enum values for AnalyticsS3ExportFileFormat
const (
	AnalyticsS3ExportFileFormatCsv AnalyticsS3ExportFileFormat = "CSV"
)

// Values returns all known values for AnalyticsS3ExportFileFormat. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (AnalyticsS3ExportFileFormat) Values() []AnalyticsS3ExportFileFormat {
	return []AnalyticsS3ExportFileFormat{
		"CSV",
	}
}

type AnnotationConfigurationState string

// Enum values for AnnotationConfigurationState
const (
	AnnotationConfigurationStateEnabled  AnnotationConfigurationState = "ENABLED"
	AnnotationConfigurationStateDisabled AnnotationConfigurationState = "DISABLED"
)

// Values returns all known values for AnnotationConfigurationState. Note that
// this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (AnnotationConfigurationState) Values() []AnnotationConfigurationState {
	return []AnnotationConfigurationState{
		"ENABLED",
		"DISABLED",
	}
}

type AnnotationDirective string

// Enum values for AnnotationDirective
const (
	AnnotationDirectiveCopy    AnnotationDirective = "COPY"
	AnnotationDirectiveExclude AnnotationDirective = "EXCLUDE"
)

// Values returns all known values for AnnotationDirective. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (AnnotationDirective) Values() []AnnotationDirective {
	return []AnnotationDirective{
		"COPY",
		"EXCLUDE",
	}
}

type ArchiveStatus string

// Enum values for ArchiveStatus
const (
	ArchiveStatusArchiveAccess     ArchiveStatus = "ARCHIVE_ACCESS"
	ArchiveStatusDeepArchiveAccess ArchiveStatus = "DEEP_ARCHIVE_ACCESS"
)

// Values returns all known values for ArchiveStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ArchiveStatus) Values() []ArchiveStatus {
	return []ArchiveStatus{
		"ARCHIVE_ACCESS",
		"DEEP_ARCHIVE_ACCESS",
	}
}

type BucketAbacStatus string

// Enum values for BucketAbacStatus
const (
	BucketAbacStatusEnabled  BucketAbacStatus = "Enabled"
	BucketAbacStatusDisabled BucketAbacStatus = "Disabled"
)

// Values returns all known values for BucketAbacStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketAbacStatus) Values() []BucketAbacStatus {
	return []BucketAbacStatus{
		"Enabled",
		"Disabled",
	}
}

type BucketAccelerateStatus string

// Enum values for BucketAccelerateStatus
const (
	BucketAccelerateStatusEnabled   BucketAccelerateStatus = "Enabled"
	BucketAccelerateStatusSuspended BucketAccelerateStatus = "Suspended"
)

// Values returns all known values for BucketAccelerateStatus. Note that this can
// be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketAccelerateStatus) Values() []BucketAccelerateStatus {
	return []BucketAccelerateStatus{
		"Enabled",
		"Suspended",
	}
}

type BucketCannedACL string

// Enum values for BucketCannedACL
const (
	BucketCannedACLPrivate           BucketCannedACL = "private"
	BucketCannedACLPublicRead        BucketCannedACL = "public-read"
	BucketCannedACLPublicReadWrite   BucketCannedACL = "public-read-write"
	BucketCannedACLAuthenticatedRead BucketCannedACL = "authenticated-read"
)

// Values returns all known values for BucketCannedACL. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketCannedACL) Values() []BucketCannedACL {
	return []BucketCannedACL{
		"private",
		"public-read",
		"public-read-write",
		"authenticated-read",
	}
}

type BucketLocationConstraint string

// Enum values for BucketLocationConstraint
const (
	BucketLocationConstraintAfSouth1     BucketLocationConstraint = "af-south-1"
	BucketLocationConstraintApEast1      BucketLocationConstraint = "ap-east-1"
	BucketLocationConstraintApEast2      BucketLocationConstraint = "ap-east-2"
	BucketLocationConstraintApNortheast1 BucketLocationConstraint = "ap-northeast-1"
	BucketLocationConstraintApNortheast2 BucketLocationConstraint = "ap-northeast-2"
	BucketLocationConstraintApNortheast3 BucketLocationConstraint = "ap-northeast-3"
	BucketLocationConstraintApSouth1     BucketLocationConstraint = "ap-south-1"
	BucketLocationConstraintApSouth2     BucketLocationConstraint = "ap-south-2"
	BucketLocationConstraintApSoutheast1 BucketLocationConstraint = "ap-southeast-1"
	BucketLocationConstraintApSoutheast2 BucketLocationConstraint = "ap-southeast-2"
	BucketLocationConstraintApSoutheast3 BucketLocationConstraint = "ap-southeast-3"
	BucketLocationConstraintApSoutheast4 BucketLocationConstraint = "ap-southeast-4"
	BucketLocationConstraintApSoutheast5 BucketLocationConstraint = "ap-southeast-5"
	BucketLocationConstraintApSoutheast6 BucketLocationConstraint = "ap-southeast-6"
	BucketLocationConstraintApSoutheast7 BucketLocationConstraint = "ap-southeast-7"
	BucketLocationConstraintCaCentral1   BucketLocationConstraint = "ca-central-1"
	BucketLocationConstraintCaWest1      BucketLocationConstraint = "ca-west-1"
	BucketLocationConstraintCnNorth1     BucketLocationConstraint = "cn-north-1"
	BucketLocationConstraintCnNorthwest1 BucketLocationConstraint = "cn-northwest-1"
	BucketLocationConstraintEu           BucketLocationConstraint = "EU"
	BucketLocationConstraintEuCentral1   BucketLocationConstraint = "eu-central-1"
	BucketLocationConstraintEuCentral2   BucketLocationConstraint = "eu-central-2"
	BucketLocationConstraintEuNorth1     BucketLocationConstraint = "eu-north-1"
	BucketLocationConstraintEuSouth1     BucketLocationConstraint = "eu-south-1"
	BucketLocationConstraintEuSouth2     BucketLocationConstraint = "eu-south-2"
	BucketLocationConstraintEuWest1      BucketLocationConstraint = "eu-west-1"
	BucketLocationConstraintEuWest2      BucketLocationConstraint = "eu-west-2"
	BucketLocationConstraintEuWest3      BucketLocationConstraint = "eu-west-3"
	BucketLocationConstraintIlCentral1   BucketLocationConstraint = "il-central-1"
	BucketLocationConstraintMeCentral1   BucketLocationConstraint = "me-central-1"
	BucketLocationConstraintMeSouth1     BucketLocationConstraint = "me-south-1"
	BucketLocationConstraintMxCentral1   BucketLocationConstraint = "mx-central-1"
	BucketLocationConstraintSaEast1      BucketLocationConstraint = "sa-east-1"
	BucketLocationConstraintUsEast2      BucketLocationConstraint = "us-east-2"
	BucketLocationConstraintUsGovEast1   BucketLocationConstraint = "us-gov-east-1"
	BucketLocationConstraintUsGovWest1   BucketLocationConstraint = "us-gov-west-1"
	BucketLocationConstraintUsWest1      BucketLocationConstraint = "us-west-1"
	BucketLocationConstraintUsWest2      BucketLocationConstraint = "us-west-2"
)

// Values returns all known values for BucketLocationConstraint. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketLocationConstraint) Values() []BucketLocationConstraint {
	return []BucketLocationConstraint{
		"af-south-1",
		"ap-east-1",
		"ap-east-2",
		"ap-northeast-1",
		"ap-northeast-2",
		"ap-northeast-3",
		"ap-south-1",
		"ap-south-2",
		"ap-southeast-1",
		"ap-southeast-2",
		"ap-southeast-3",
		"ap-southeast-4",
		"ap-southeast-5",
		"ap-southeast-6",
		"ap-southeast-7",
		"ca-central-1",
		"ca-west-1",
		"cn-north-1",
		"cn-northwest-1",
		"EU",
		"eu-central-1",
		"eu-central-2",
		"eu-north-1",
		"eu-south-1",
		"eu-south-2",
		"eu-west-1",
		"eu-west-2",
		"eu-west-3",
		"il-central-1",
		"me-central-1",
		"me-south-1",
		"mx-central-1",
		"sa-east-1",
		"us-east-2",
		"us-gov-east-1",
		"us-gov-west-1",
		"us-west-1",
		"us-west-2",
	}
}

type BucketLogsPermission string

// Enum values for BucketLogsPermission
const (
	BucketLogsPermissionFullControl BucketLogsPermission = "FULL_CONTROL"
	BucketLogsPermissionRead        BucketLogsPermission = "READ"
	BucketLogsPermissionWrite       BucketLogsPermission = "WRITE"
)

// Values returns all known values for BucketLogsPermission. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketLogsPermission) Values() []BucketLogsPermission {
	return []BucketLogsPermission{
		"FULL_CONTROL",
		"READ",
		"WRITE",
	}
}

type BucketNamespace string

// Enum values for BucketNamespace
const (
	BucketNamespaceAccountRegional BucketNamespace = "account-regional"
	BucketNamespaceGlobal          BucketNamespace = "global"
)

// Values returns all known values for BucketNamespace. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketNamespace) Values() []BucketNamespace {
	return []BucketNamespace{
		"account-regional",
		"global",
	}
}

type BucketType string

// Enum values for BucketType
const (
	BucketTypeDirectory BucketType = "Directory"
)

// Values returns all known values for BucketType. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketType) Values() []BucketType {
	return []BucketType{
		"Directory",
	}
}

type BucketVersioningStatus string

// Enum values for BucketVersioningStatus
const (
	BucketVersioningStatusEnabled   BucketVersioningStatus = "Enabled"
	BucketVersioningStatusSuspended BucketVersioningStatus = "Suspended"
)

// Values returns all known values for BucketVersioningStatus. Note that this can
// be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (BucketVersioningStatus) Values() []BucketVersioningStatus {
	return []BucketVersioningStatus{
		"Enabled",
		"Suspended",
	}
}

type ChecksumAlgorithm string

// Enum values for ChecksumAlgorithm
const (
	ChecksumAlgorithmCrc32     ChecksumAlgorithm = "CRC32"
	ChecksumAlgorithmCrc32c    ChecksumAlgorithm = "CRC32C"
	ChecksumAlgorithmSha1      ChecksumAlgorithm = "SHA1"
	ChecksumAlgorithmSha256    ChecksumAlgorithm = "SHA256"
	ChecksumAlgorithmCrc64nvme ChecksumAlgorithm = "CRC64NVME"
	ChecksumAlgorithmSha512    ChecksumAlgorithm = "SHA512"
	ChecksumAlgorithmMd5       ChecksumAlgorithm = "MD5"
	ChecksumAlgorithmXxhash64  ChecksumAlgorithm = "XXHASH64"
	ChecksumAlgorithmXxhash3   ChecksumAlgorithm = "XXHASH3"
	ChecksumAlgorithmXxhash128 ChecksumAlgorithm = "XXHASH128"
)

// Values returns all known values for ChecksumAlgorithm. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ChecksumAlgorithm) Values() []ChecksumAlgorithm {
	return []ChecksumAlgorithm{
		"CRC32",
		"CRC32C",
		"SHA1",
		"SHA256",
		"CRC64NVME",
		"SHA512",
		"MD5",
		"XXHASH64",
		"XXHASH3",
		"XXHASH128",
	}
}

type ChecksumMode string

// Enum values for ChecksumMode
const (
	ChecksumModeEnabled ChecksumMode = "ENABLED"
)

// Values returns all known values for ChecksumMode. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ChecksumMode) Values() []ChecksumMode {
	return []ChecksumMode{
		"ENABLED",
	}
}

type ChecksumType string

// Enum values for ChecksumType
const (
	ChecksumTypeComposite  ChecksumType = "COMPOSITE"
	ChecksumTypeFullObject ChecksumType = "FULL_OBJECT"
)

// Values returns all known values for ChecksumType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ChecksumType) Values() []ChecksumType {
	return []ChecksumType{
		"COMPOSITE",
		"FULL_OBJECT",
	}
}

type CompressionType string

// Enum values for CompressionType
const (
	CompressionTypeNone  CompressionType = "NONE"
	CompressionTypeGzip  CompressionType = "GZIP"
	CompressionTypeBzip2 CompressionType = "BZIP2"
)

// Values returns all known values for CompressionType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (CompressionType) Values() []CompressionType {
	return []CompressionType{
		"NONE",
		"GZIP",
		"BZIP2",
	}
}

type DataRedundancy string

// Enum values for DataRedundancy
const (
	DataRedundancySingleAvailabilityZone DataRedundancy = "SingleAvailabilityZone"
	DataRedundancySingleLocalZone        DataRedundancy = "SingleLocalZone"
)

// Values returns all known values for DataRedundancy. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (DataRedundancy) Values() []DataRedundancy {
	return []DataRedundancy{
		"SingleAvailabilityZone",
		"SingleLocalZone",
	}
}

type DeleteMarkerReplicationStatus string

// Enum values for DeleteMarkerReplicationStatus
const (
	DeleteMarkerReplicationStatusEnabled  DeleteMarkerReplicationStatus = "Enabled"
	DeleteMarkerReplicationStatusDisabled DeleteMarkerReplicationStatus = "Disabled"
)

// Values returns all known values for DeleteMarkerReplicationStatus. Note that
// this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (DeleteMarkerReplicationStatus) Values() []DeleteMarkerReplicationStatus {
	return []DeleteMarkerReplicationStatus{
		"Enabled",
		"Disabled",
	}
}

type EncodingType string

// Enum values for EncodingType
const (
	EncodingTypeUrl EncodingType = "url"
)

// Values returns all known values for EncodingType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (EncodingType) Values() []EncodingType {
	return []EncodingType{
		"url",
	}
}

type EncryptionType string

// Enum values for EncryptionType
const (
	EncryptionTypeNone EncryptionType = "NONE"
	EncryptionTypeSseC EncryptionType = "SSE-C"
)

// Values returns all known values for EncryptionType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (EncryptionType) Values() []EncryptionType {
	return []EncryptionType{
		"NONE",
		"SSE-C",
	}
}

type Event string

// Enum values for Event
const (
	EventS3ReducedRedundancyLostObject                  Event = "s3:ReducedRedundancyLostObject"
	EventS3ObjectCreated                                Event = "s3:ObjectCreated:*"
	EventS3ObjectCreatedPut                             Event = "s3:ObjectCreated:Put"
	EventS3ObjectCreatedPost                            Event = "s3:ObjectCreated:Post"
	EventS3ObjectCreatedCopy                            Event = "s3:ObjectCreated:Copy"
	EventS3ObjectCreatedCompleteMultipartUpload         Event = "s3:ObjectCreated:CompleteMultipartUpload"
	EventS3ObjectRemoved                                Event = "s3:ObjectRemoved:*"
	EventS3ObjectRemovedDelete                          Event = "s3:ObjectRemoved:Delete"
	EventS3ObjectRemovedDeleteMarkerCreated             Event = "s3:ObjectRemoved:DeleteMarkerCreated"
	EventS3ObjectRestore                                Event = "s3:ObjectRestore:*"
	EventS3ObjectRestorePost                            Event = "s3:ObjectRestore:Post"
	EventS3ObjectRestoreCompleted                       Event = "s3:ObjectRestore:Completed"
	EventS3Replication                                  Event = "s3:Replication:*"
	EventS3ReplicationOperationFailedReplication        Event = "s3:Replication:OperationFailedReplication"
	EventS3ReplicationOperationNotTracked               Event = "s3:Replication:OperationNotTracked"
	EventS3ReplicationOperationMissedThreshold          Event = "s3:Replication:OperationMissedThreshold"
	EventS3ReplicationOperationReplicatedAfterThreshold Event = "s3:Replication:OperationReplicatedAfterThreshold"
	EventS3ObjectRestoreDelete                          Event = "s3:ObjectRestore:Delete"
	EventS3LifecycleTransition                          Event = "s3:LifecycleTransition"
	EventS3IntelligentTiering                           Event = "s3:IntelligentTiering"
	EventS3ObjectAclPut                                 Event = "s3:ObjectAcl:Put"
	EventS3LifecycleExpiration                          Event = "s3:LifecycleExpiration:*"
	EventS3LifecycleExpirationDelete                    Event = "s3:LifecycleExpiration:Delete"
	EventS3LifecycleExpirationDeleteMarkerCreated       Event = "s3:LifecycleExpiration:DeleteMarkerCreated"
	EventS3ObjectTagging                                Event = "s3:ObjectTagging:*"
	EventS3ObjectTaggingPut                             Event = "s3:ObjectTagging:Put"
	EventS3ObjectTaggingDelete                          Event = "s3:ObjectTagging:Delete"
	EventS3ObjectAnnotation                             Event = "s3:ObjectAnnotation:*"
	EventS3ObjectAnnotationPut                          Event = "s3:ObjectAnnotation:Put"
	EventS3ObjectAnnotationDelete                       Event = "s3:ObjectAnnotation:Delete"
)

// Values returns all known values for Event. Note that this can be expanded in
// the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Event) Values() []Event {
	return []Event{
		"s3:ReducedRedundancyLostObject",
		"s3:ObjectCreated:*",
		"s3:ObjectCreated:Put",
		"s3:ObjectCreated:Post",
		"s3:ObjectCreated:Copy",
		"s3:ObjectCreated:CompleteMultipartUpload",
		"s3:ObjectRemoved:*",
		"s3:ObjectRemoved:Delete",
		"s3:ObjectRemoved:DeleteMarkerCreated",
		"s3:ObjectRestore:*",
		"s3:ObjectRestore:Post",
		"s3:ObjectRestore:Completed",
		"s3:Replication:*",
		"s3:Replication:OperationFailedReplication",
		"s3:Replication:OperationNotTracked",
		"s3:Replication:OperationMissedThreshold",
		"s3:Replication:OperationReplicatedAfterThreshold",
		"s3:ObjectRestore:Delete",
		"s3:LifecycleTransition",
		"s3:IntelligentTiering",
		"s3:ObjectAcl:Put",
		"s3:LifecycleExpiration:*",
		"s3:LifecycleExpiration:Delete",
		"s3:LifecycleExpiration:DeleteMarkerCreated",
		"s3:ObjectTagging:*",
		"s3:ObjectTagging:Put",
		"s3:ObjectTagging:Delete",
		"s3:ObjectAnnotation:*",
		"s3:ObjectAnnotation:Put",
		"s3:ObjectAnnotation:Delete",
	}
}

type ExistingObjectReplicationStatus string

// Enum values for ExistingObjectReplicationStatus
const (
	ExistingObjectReplicationStatusEnabled  ExistingObjectReplicationStatus = "Enabled"
	ExistingObjectReplicationStatusDisabled ExistingObjectReplicationStatus = "Disabled"
)

// Values returns all known values for ExistingObjectReplicationStatus. Note that
// this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ExistingObjectReplicationStatus) Values() []ExistingObjectReplicationStatus {
	return []ExistingObjectReplicationStatus{
		"Enabled",
		"Disabled",
	}
}

type ExpirationState string

// Enum values for ExpirationState
const (
	ExpirationStateEnabled  ExpirationState = "ENABLED"
	ExpirationStateDisabled ExpirationState = "DISABLED"
)

// Values returns all known values for ExpirationState. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ExpirationState) Values() []ExpirationState {
	return []ExpirationState{
		"ENABLED",
		"DISABLED",
	}
}

type ExpirationStatus string

// Enum values for ExpirationStatus
const (
	ExpirationStatusEnabled  ExpirationStatus = "Enabled"
	ExpirationStatusDisabled ExpirationStatus = "Disabled"
)

// Values returns all known values for ExpirationStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ExpirationStatus) Values() []ExpirationStatus {
	return []ExpirationStatus{
		"Enabled",
		"Disabled",
	}
}

type ExpressionType string

// Enum values for ExpressionType
const (
	ExpressionTypeSql ExpressionType = "SQL"
)

// Values returns all known values for ExpressionType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ExpressionType) Values() []ExpressionType {
	return []ExpressionType{
		"SQL",
	}
}

type FileHeaderInfo string

// Enum values for FileHeaderInfo
const (
	FileHeaderInfoUse    FileHeaderInfo = "USE"
	FileHeaderInfoIgnore FileHeaderInfo = "IGNORE"
	FileHeaderInfoNone   FileHeaderInfo = "NONE"
)

// Values returns all known values for FileHeaderInfo. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (FileHeaderInfo) Values() []FileHeaderInfo {
	return []FileHeaderInfo{
		"USE",
		"IGNORE",
		"NONE",
	}
}

type FilterRuleName string

// Enum values for FilterRuleName
const (
	FilterRuleNamePrefix FilterRuleName = "prefix"
	FilterRuleNameSuffix FilterRuleName = "suffix"
)

// Values returns all known values for FilterRuleName. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (FilterRuleName) Values() []FilterRuleName {
	return []FilterRuleName{
		"prefix",
		"suffix",
	}
}

type IntelligentTieringAccessTier string

// Enum values for IntelligentTieringAccessTier
const (
	IntelligentTieringAccessTierArchiveAccess     IntelligentTieringAccessTier = "ARCHIVE_ACCESS"
	IntelligentTieringAccessTierDeepArchiveAccess IntelligentTieringAccessTier = "DEEP_ARCHIVE_ACCESS"
)

// Values returns all known values for IntelligentTieringAccessTier. Note that
// this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (IntelligentTieringAccessTier) Values() []IntelligentTieringAccessTier {
	return []IntelligentTieringAccessTier{
		"ARCHIVE_ACCESS",
		"DEEP_ARCHIVE_ACCESS",
	}
}

type IntelligentTieringStatus string

// Enum values for IntelligentTieringStatus
const (
	IntelligentTieringStatusEnabled  IntelligentTieringStatus = "Enabled"
	IntelligentTieringStatusDisabled IntelligentTieringStatus = "Disabled"
)

// Values returns all known values for IntelligentTieringStatus. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (IntelligentTieringStatus) Values() []IntelligentTieringStatus {
	return []IntelligentTieringStatus{
		"Enabled",
		"Disabled",
	}
}

type InventoryConfigurationState string

// Enum values for InventoryConfigurationState
const (
	InventoryConfigurationStateEnabled  InventoryConfigurationState = "ENABLED"
	InventoryConfigurationStateDisabled InventoryConfigurationState = "DISABLED"
)

// Values returns all known values for InventoryConfigurationState. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (InventoryConfigurationState) Values() []InventoryConfigurationState {
	return []InventoryConfigurationState{
		"ENABLED",
		"DISABLED",
	}
}

type InventoryFormat string

// Enum values for InventoryFormat
const (
	InventoryFormatCsv     InventoryFormat = "CSV"
	InventoryFormatOrc     InventoryFormat = "ORC"
	InventoryFormatParquet InventoryFormat = "Parquet"
)

// Values returns all known values for InventoryFormat. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (InventoryFormat) Values() []InventoryFormat {
	return []InventoryFormat{
		"CSV",
		"ORC",
		"Parquet",
	}
}

type InventoryFrequency string

// Enum values for InventoryFrequency
const (
	InventoryFrequencyDaily  InventoryFrequency = "Daily"
	InventoryFrequencyWeekly InventoryFrequency = "Weekly"
)

// Values returns all known values for InventoryFrequency. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (InventoryFrequency) Values() []InventoryFrequency {
	return []InventoryFrequency{
		"Daily",
		"Weekly",
	}
}

type InventoryIncludedObjectVersions string

// Enum values for InventoryIncludedObjectVersions
const (
	InventoryIncludedObjectVersionsAll     InventoryIncludedObjectVersions = "All"
	InventoryIncludedObjectVersionsCurrent InventoryIncludedObjectVersions = "Current"
)

// Values returns all known values for InventoryIncludedObjectVersions. Note that
// this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (InventoryIncludedObjectVersions) Values() []InventoryIncludedObjectVersions {
	return []InventoryIncludedObjectVersions{
		"All",
		"Current",
	}
}

type InventoryOptionalField string

// Enum values for InventoryOptionalField
const (
	InventoryOptionalFieldSize                         InventoryOptionalField = "Size"
	InventoryOptionalFieldLastModifiedDate             InventoryOptionalField = "LastModifiedDate"
	InventoryOptionalFieldStorageClass                 InventoryOptionalField = "StorageClass"
	InventoryOptionalFieldETag                         InventoryOptionalField = "ETag"
	InventoryOptionalFieldIsMultipartUploaded          InventoryOptionalField = "IsMultipartUploaded"
	InventoryOptionalFieldReplicationStatus            InventoryOptionalField = "ReplicationStatus"
	InventoryOptionalFieldEncryptionStatus             InventoryOptionalField = "EncryptionStatus"
	InventoryOptionalFieldObjectLockRetainUntilDate    InventoryOptionalField = "ObjectLockRetainUntilDate"
	InventoryOptionalFieldObjectLockMode               InventoryOptionalField = "ObjectLockMode"
	InventoryOptionalFieldObjectLockLegalHoldStatus    InventoryOptionalField = "ObjectLockLegalHoldStatus"
	InventoryOptionalFieldIntelligentTieringAccessTier InventoryOptionalField = "IntelligentTieringAccessTier"
	InventoryOptionalFieldBucketKeyStatus              InventoryOptionalField = "BucketKeyStatus"
	InventoryOptionalFieldChecksumAlgorithm            InventoryOptionalField = "ChecksumAlgorithm"
	InventoryOptionalFieldObjectAccessControlList      InventoryOptionalField = "ObjectAccessControlList"
	InventoryOptionalFieldObjectOwner                  InventoryOptionalField = "ObjectOwner"
	InventoryOptionalFieldLifecycleExpirationDate      InventoryOptionalField = "LifecycleExpirationDate"
)

// Values returns all known values for InventoryOptionalField. Note that this can
// be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (InventoryOptionalField) Values() []InventoryOptionalField {
	return []InventoryOptionalField{
		"Size",
		"LastModifiedDate",
		"StorageClass",
		"ETag",
		"IsMultipartUploaded",
		"ReplicationStatus",
		"EncryptionStatus",
		"ObjectLockRetainUntilDate",
		"ObjectLockMode",
		"ObjectLockLegalHoldStatus",
		"IntelligentTieringAccessTier",
		"BucketKeyStatus",
		"ChecksumAlgorithm",
		"ObjectAccessControlList",
		"ObjectOwner",
		"LifecycleExpirationDate",
	}
}

type JSONType string

// Enum values for JSONType
const (
	JSONTypeDocument JSONType = "DOCUMENT"
	JSONTypeLines    JSONType = "LINES"
)

// Values returns all known values for JSONType. Note that this can be expanded in
// the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (JSONType) Values() []JSONType {
	return []JSONType{
		"DOCUMENT",
		"LINES",
	}
}

type LocationType string

// Enum values for LocationType
const (
	LocationTypeAvailabilityZone LocationType = "AvailabilityZone"
	LocationTypeLocalZone        LocationType = "LocalZone"
)

// Values returns all known values for LocationType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (LocationType) Values() []LocationType {
	return []LocationType{
		"AvailabilityZone",
		"LocalZone",
	}
}

type MetadataDirective string

// Enum values for MetadataDirective
const (
	MetadataDirectiveCopy    MetadataDirective = "COPY"
	MetadataDirectiveReplace MetadataDirective = "REPLACE"
)

// Values returns all known values for MetadataDirective. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (MetadataDirective) Values() []MetadataDirective {
	return []MetadataDirective{
		"COPY",
		"REPLACE",
	}
}

type MetricsStatus string

// Enum values for MetricsStatus
const (
	MetricsStatusEnabled  MetricsStatus = "Enabled"
	MetricsStatusDisabled MetricsStatus = "Disabled"
)

// Values returns all known values for MetricsStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (MetricsStatus) Values() []MetricsStatus {
	return []MetricsStatus{
		"Enabled",
		"Disabled",
	}
}

type MFADelete string

// Enum values for MFADelete
const (
	MFADeleteEnabled  MFADelete = "Enabled"
	MFADeleteDisabled MFADelete = "Disabled"
)

// Values returns all known values for MFADelete. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (MFADelete) Values() []MFADelete {
	return []MFADelete{
		"Enabled",
		"Disabled",
	}
}

type MFADeleteStatus string

// Enum values for MFADeleteStatus
const (
	MFADeleteStatusEnabled  MFADeleteStatus = "Enabled"
	MFADeleteStatusDisabled MFADeleteStatus = "Disabled"
)

// Values returns all known values for MFADeleteStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (MFADeleteStatus) Values() []MFADeleteStatus {
	return []MFADeleteStatus{
		"Enabled",
		"Disabled",
	}
}

type ObjectAttributes string

// Enum values for ObjectAttributes
const (
	ObjectAttributesEtag         ObjectAttributes = "ETag"
	ObjectAttributesChecksum     ObjectAttributes = "Checksum"
	ObjectAttributesObjectParts  ObjectAttributes = "ObjectParts"
	ObjectAttributesStorageClass ObjectAttributes = "StorageClass"
	ObjectAttributesObjectSize   ObjectAttributes = "ObjectSize"
)

// Values returns all known values for ObjectAttributes. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectAttributes) Values() []ObjectAttributes {
	return []ObjectAttributes{
		"ETag",
		"Checksum",
		"ObjectParts",
		"StorageClass",
		"ObjectSize",
	}
}

type ObjectCannedACL string

// Enum values for ObjectCannedACL
const (
	ObjectCannedACLPrivate                ObjectCannedACL = "private"
	ObjectCannedACLPublicRead             ObjectCannedACL = "public-read"
	ObjectCannedACLPublicReadWrite        ObjectCannedACL = "public-read-write"
	ObjectCannedACLAuthenticatedRead      ObjectCannedACL = "authenticated-read"
	ObjectCannedACLAwsExecRead            ObjectCannedACL = "aws-exec-read"
	ObjectCannedACLBucketOwnerRead        ObjectCannedACL = "bucket-owner-read"
	ObjectCannedACLBucketOwnerFullControl ObjectCannedACL = "bucket-owner-full-control"
)

// Values returns all known values for ObjectCannedACL. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectCannedACL) Values() []ObjectCannedACL {
	return []ObjectCannedACL{
		"private",
		"public-read",
		"public-read-write",
		"authenticated-read",
		"aws-exec-read",
		"bucket-owner-read",
		"bucket-owner-full-control",
	}
}

type ObjectLockEnabled string

// Enum values for ObjectLockEnabled
const (
	ObjectLockEnabledEnabled ObjectLockEnabled = "Enabled"
)

// Values returns all known values for ObjectLockEnabled. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectLockEnabled) Values() []ObjectLockEnabled {
	return []ObjectLockEnabled{
		"Enabled",
	}
}

type ObjectLockLegalHoldStatus string

// Enum values for ObjectLockLegalHoldStatus
const (
	ObjectLockLegalHoldStatusOn  ObjectLockLegalHoldStatus = "ON"
	ObjectLockLegalHoldStatusOff ObjectLockLegalHoldStatus = "OFF"
)

// Values returns all known values for ObjectLockLegalHoldStatus. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectLockLegalHoldStatus) Values() []ObjectLockLegalHoldStatus {
	return []ObjectLockLegalHoldStatus{
		"ON",
		"OFF",
	}
}

type ObjectLockMode string

// Enum values for ObjectLockMode
const (
	ObjectLockModeGovernance ObjectLockMode = "GOVERNANCE"
	ObjectLockModeCompliance ObjectLockMode = "COMPLIANCE"
)

// Values returns all known values for ObjectLockMode. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectLockMode) Values() []ObjectLockMode {
	return []ObjectLockMode{
		"GOVERNANCE",
		"COMPLIANCE",
	}
}

type ObjectLockRetentionMode string

// Enum values for ObjectLockRetentionMode
const (
	ObjectLockRetentionModeGovernance ObjectLockRetentionMode = "GOVERNANCE"
	ObjectLockRetentionModeCompliance ObjectLockRetentionMode = "COMPLIANCE"
)

// Values returns all known values for ObjectLockRetentionMode. Note that this can
// be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectLockRetentionMode) Values() []ObjectLockRetentionMode {
	return []ObjectLockRetentionMode{
		"GOVERNANCE",
		"COMPLIANCE",
	}
}

type ObjectOwnership string

// Enum values for ObjectOwnership
const (
	ObjectOwnershipBucketOwnerPreferred ObjectOwnership = "BucketOwnerPreferred"
	ObjectOwnershipObjectWriter         ObjectOwnership = "ObjectWriter"
	ObjectOwnershipBucketOwnerEnforced  ObjectOwnership = "BucketOwnerEnforced"
)

// Values returns all known values for ObjectOwnership. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectOwnership) Values() []ObjectOwnership {
	return []ObjectOwnership{
		"BucketOwnerPreferred",
		"ObjectWriter",
		"BucketOwnerEnforced",
	}
}

type ObjectStorageClass string

// Enum values for ObjectStorageClass
const (
	ObjectStorageClassStandard           ObjectStorageClass = "STANDARD"
	ObjectStorageClassReducedRedundancy  ObjectStorageClass = "REDUCED_REDUNDANCY"
	ObjectStorageClassGlacier            ObjectStorageClass = "GLACIER"
	ObjectStorageClassStandardIa         ObjectStorageClass = "STANDARD_IA"
	ObjectStorageClassOnezoneIa          ObjectStorageClass = "ONEZONE_IA"
	ObjectStorageClassIntelligentTiering ObjectStorageClass = "INTELLIGENT_TIERING"
	ObjectStorageClassDeepArchive        ObjectStorageClass = "DEEP_ARCHIVE"
	ObjectStorageClassOutposts           ObjectStorageClass = "OUTPOSTS"
	ObjectStorageClassGlacierIr          ObjectStorageClass = "GLACIER_IR"
	ObjectStorageClassSnow               ObjectStorageClass = "SNOW"
	ObjectStorageClassExpressOnezone     ObjectStorageClass = "EXPRESS_ONEZONE"
	ObjectStorageClassFsxOpenzfs         ObjectStorageClass = "FSX_OPENZFS"
	ObjectStorageClassFsxOntap           ObjectStorageClass = "FSX_ONTAP"
)

// Values returns all known values for ObjectStorageClass. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectStorageClass) Values() []ObjectStorageClass {
	return []ObjectStorageClass{
		"STANDARD",
		"REDUCED_REDUNDANCY",
		"GLACIER",
		"STANDARD_IA",
		"ONEZONE_IA",
		"INTELLIGENT_TIERING",
		"DEEP_ARCHIVE",
		"OUTPOSTS",
		"GLACIER_IR",
		"SNOW",
		"EXPRESS_ONEZONE",
		"FSX_OPENZFS",
		"FSX_ONTAP",
	}
}

type ObjectVersionStorageClass string

// Enum values for ObjectVersionStorageClass
const (
	ObjectVersionStorageClassStandard ObjectVersionStorageClass = "STANDARD"
)

// Values returns all known values for ObjectVersionStorageClass. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ObjectVersionStorageClass) Values() []ObjectVersionStorageClass {
	return []ObjectVersionStorageClass{
		"STANDARD",
	}
}

type OptionalObjectAttributes string

// Enum values for OptionalObjectAttributes
const (
	OptionalObjectAttributesRestoreStatus OptionalObjectAttributes = "RestoreStatus"
)

// Values returns all known values for OptionalObjectAttributes. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (OptionalObjectAttributes) Values() []OptionalObjectAttributes {
	return []OptionalObjectAttributes{
		"RestoreStatus",
	}
}

type OwnerOverride string

// Enum values for OwnerOverride
const (
	OwnerOverrideDestination OwnerOverride = "Destination"
)

// Values returns all known values for OwnerOverride. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (OwnerOverride) Values() []OwnerOverride {
	return []OwnerOverride{
		"Destination",
	}
}

type PartitionDateSource string

// Enum values for PartitionDateSource
const (
	PartitionDateSourceEventTime    PartitionDateSource = "EventTime"
	PartitionDateSourceDeliveryTime PartitionDateSource = "DeliveryTime"
)

// Values returns all known values for PartitionDateSource. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (PartitionDateSource) Values() []PartitionDateSource {
	return []PartitionDateSource{
		"EventTime",
		"DeliveryTime",
	}
}

type Payer string

// Enum values for Payer
const (
	PayerRequester   Payer = "Requester"
	PayerBucketOwner Payer = "BucketOwner"
)

// Values returns all known values for Payer. Note that this can be expanded in
// the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Payer) Values() []Payer {
	return []Payer{
		"Requester",
		"BucketOwner",
	}
}

type Permission string

// Enum values for Permission
const (
	PermissionFullControl Permission = "FULL_CONTROL"
	PermissionWrite       Permission = "WRITE"
	PermissionWriteAcp    Permission = "WRITE_ACP"
	PermissionRead        Permission = "READ"
	PermissionReadAcp     Permission = "READ_ACP"
)

// Values returns all known values for Permission. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Permission) Values() []Permission {
	return []Permission{
		"FULL_CONTROL",
		"WRITE",
		"WRITE_ACP",
		"READ",
		"READ_ACP",
	}
}

type Protocol string

// Enum values for Protocol
const (
	ProtocolHttp  Protocol = "http"
	ProtocolHttps Protocol = "https"
)

// Values returns all known values for Protocol. Note that this can be expanded in
// the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Protocol) Values() []Protocol {
	return []Protocol{
		"http",
		"https",
	}
}

type QuoteFields string

// Enum values for QuoteFields
const (
	QuoteFieldsAlways   QuoteFields = "ALWAYS"
	QuoteFieldsAsneeded QuoteFields = "ASNEEDED"
)

// Values returns all known values for QuoteFields. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (QuoteFields) Values() []QuoteFields {
	return []QuoteFields{
		"ALWAYS",
		"ASNEEDED",
	}
}

type ReplicaModificationsStatus string

// Enum values for ReplicaModificationsStatus
const (
	ReplicaModificationsStatusEnabled  ReplicaModificationsStatus = "Enabled"
	ReplicaModificationsStatusDisabled ReplicaModificationsStatus = "Disabled"
)

// Values returns all known values for ReplicaModificationsStatus. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ReplicaModificationsStatus) Values() []ReplicaModificationsStatus {
	return []ReplicaModificationsStatus{
		"Enabled",
		"Disabled",
	}
}

type ReplicationRuleStatus string

// Enum values for ReplicationRuleStatus
const (
	ReplicationRuleStatusEnabled  ReplicationRuleStatus = "Enabled"
	ReplicationRuleStatusDisabled ReplicationRuleStatus = "Disabled"
)

// Values returns all known values for ReplicationRuleStatus. Note that this can
// be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ReplicationRuleStatus) Values() []ReplicationRuleStatus {
	return []ReplicationRuleStatus{
		"Enabled",
		"Disabled",
	}
}

type ReplicationStatus string

// Enum values for ReplicationStatus
const (
	ReplicationStatusComplete  ReplicationStatus = "COMPLETE"
	ReplicationStatusPending   ReplicationStatus = "PENDING"
	ReplicationStatusFailed    ReplicationStatus = "FAILED"
	ReplicationStatusReplica   ReplicationStatus = "REPLICA"
	ReplicationStatusCompleted ReplicationStatus = "COMPLETED"
)

// Values returns all known values for ReplicationStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ReplicationStatus) Values() []ReplicationStatus {
	return []ReplicationStatus{
		"COMPLETE",
		"PENDING",
		"FAILED",
		"REPLICA",
		"COMPLETED",
	}
}

type ReplicationTimeStatus string

// Enum values for ReplicationTimeStatus
const (
	ReplicationTimeStatusEnabled  ReplicationTimeStatus = "Enabled"
	ReplicationTimeStatusDisabled ReplicationTimeStatus = "Disabled"
)

// Values returns all known values for ReplicationTimeStatus. Note that this can
// be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ReplicationTimeStatus) Values() []ReplicationTimeStatus {
	return []ReplicationTimeStatus{
		"Enabled",
		"Disabled",
	}
}

type RequestCharged string

// Enum values for RequestCharged
const (
	RequestChargedRequester RequestCharged = "requester"
)

// Values returns all known values for RequestCharged. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (RequestCharged) Values() []RequestCharged {
	return []RequestCharged{
		"requester",
	}
}

type RequestPayer string

// Enum values for RequestPayer
const (
	RequestPayerRequester RequestPayer = "requester"
)

// Values returns all known values for RequestPayer. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (RequestPayer) Values() []RequestPayer {
	return []RequestPayer{
		"requester",
	}
}

type RestoreRequestType string

// Enum values for RestoreRequestType
const (
	RestoreRequestTypeSelect RestoreRequestType = "SELECT"
)

// Values returns all known values for RestoreRequestType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (RestoreRequestType) Values() []RestoreRequestType {
	return []RestoreRequestType{
		"SELECT",
	}
}

type S3TablesBucketType string

// Enum values for S3TablesBucketType
const (
	S3TablesBucketTypeAws      S3TablesBucketType = "aws"
	S3TablesBucketTypeCustomer S3TablesBucketType = "customer"
)

// Values returns all known values for S3TablesBucketType. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (S3TablesBucketType) Values() []S3TablesBucketType {
	return []S3TablesBucketType{
		"aws",
		"customer",
	}
}

type ServerSideEncryption string

// Enum values for ServerSideEncryption
const (
	ServerSideEncryptionAes256     ServerSideEncryption = "AES256"
	ServerSideEncryptionAwsFsx     ServerSideEncryption = "aws:fsx"
	ServerSideEncryptionAwsKms     ServerSideEncryption = "aws:kms"
	ServerSideEncryptionAwsKmsDsse ServerSideEncryption = "aws:kms:dsse"
)

// Values returns all known values for ServerSideEncryption. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (ServerSideEncryption) Values() []ServerSideEncryption {
	return []ServerSideEncryption{
		"AES256",
		"aws:fsx",
		"aws:kms",
		"aws:kms:dsse",
	}
}

type SessionMode string

// Enum values for SessionMode
const (
	SessionModeReadOnly  SessionMode = "ReadOnly"
	SessionModeReadWrite SessionMode = "ReadWrite"
)

// Values returns all known values for SessionMode. Note that this can be expanded
// in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (SessionMode) Values() []SessionMode {
	return []SessionMode{
		"ReadOnly",
		"ReadWrite",
	}
}

type SseKmsEncryptedObjectsStatus string

// Enum values for SseKmsEncryptedObjectsStatus
const (
	SseKmsEncryptedObjectsStatusEnabled  SseKmsEncryptedObjectsStatus = "Enabled"
	SseKmsEncryptedObjectsStatusDisabled SseKmsEncryptedObjectsStatus = "Disabled"
)

// Values returns all known values for SseKmsEncryptedObjectsStatus. Note that
// this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (SseKmsEncryptedObjectsStatus) Values() []SseKmsEncryptedObjectsStatus {
	return []SseKmsEncryptedObjectsStatus{
		"Enabled",
		"Disabled",
	}
}

type StorageClass string

// Enum values for StorageClass
const (
	StorageClassStandard           StorageClass = "STANDARD"
	StorageClassReducedRedundancy  StorageClass = "REDUCED_REDUNDANCY"
	StorageClassStandardIa         StorageClass = "STANDARD_IA"
	StorageClassOnezoneIa          StorageClass = "ONEZONE_IA"
	StorageClassIntelligentTiering StorageClass = "INTELLIGENT_TIERING"
	StorageClassGlacier            StorageClass = "GLACIER"
	StorageClassDeepArchive        StorageClass = "DEEP_ARCHIVE"
	StorageClassOutposts           StorageClass = "OUTPOSTS"
	StorageClassGlacierIr          StorageClass = "GLACIER_IR"
	StorageClassSnow               StorageClass = "SNOW"
	StorageClassExpressOnezone     StorageClass = "EXPRESS_ONEZONE"
	StorageClassFsxOpenzfs         StorageClass = "FSX_OPENZFS"
	StorageClassFsxOntap           StorageClass = "FSX_ONTAP"
)

// Values returns all known values for StorageClass. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (StorageClass) Values() []StorageClass {
	return []StorageClass{
		"STANDARD",
		"REDUCED_REDUNDANCY",
		"STANDARD_IA",
		"ONEZONE_IA",
		"INTELLIGENT_TIERING",
		"GLACIER",
		"DEEP_ARCHIVE",
		"OUTPOSTS",
		"GLACIER_IR",
		"SNOW",
		"EXPRESS_ONEZONE",
		"FSX_OPENZFS",
		"FSX_ONTAP",
	}
}

type StorageClassAnalysisSchemaVersion string

// Enum values for StorageClassAnalysisSchemaVersion
const (
	StorageClassAnalysisSchemaVersionV1 StorageClassAnalysisSchemaVersion = "V_1"
)

// Values returns all known values for StorageClassAnalysisSchemaVersion. Note
// that this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (StorageClassAnalysisSchemaVersion) Values() []StorageClassAnalysisSchemaVersion {
	return []StorageClassAnalysisSchemaVersion{
		"V_1",
	}
}

type TableSseAlgorithm string

// Enum values for TableSseAlgorithm
const (
	TableSseAlgorithmAwsKms TableSseAlgorithm = "aws:kms"
	TableSseAlgorithmAes256 TableSseAlgorithm = "AES256"
)

// Values returns all known values for TableSseAlgorithm. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (TableSseAlgorithm) Values() []TableSseAlgorithm {
	return []TableSseAlgorithm{
		"aws:kms",
		"AES256",
	}
}

type TaggingDirective string

// Enum values for TaggingDirective
const (
	TaggingDirectiveCopy    TaggingDirective = "COPY"
	TaggingDirectiveReplace TaggingDirective = "REPLACE"
)

// Values returns all known values for TaggingDirective. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (TaggingDirective) Values() []TaggingDirective {
	return []TaggingDirective{
		"COPY",
		"REPLACE",
	}
}

type Tier string

// Enum values for Tier
const (
	TierStandard  Tier = "Standard"
	TierBulk      Tier = "Bulk"
	TierExpedited Tier = "Expedited"
)

// Values returns all known values for Tier. Note that this can be expanded in the
// future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Tier) Values() []Tier {
	return []Tier{
		"Standard",
		"Bulk",
		"Expedited",
	}
}

type TransitionDefaultMinimumObjectSize string

// Enum values for TransitionDefaultMinimumObjectSize
const (
	TransitionDefaultMinimumObjectSizeVariesByStorageClass  TransitionDefaultMinimumObjectSize = "varies_by_storage_class"
	TransitionDefaultMinimumObjectSizeAllStorageClasses128k TransitionDefaultMinimumObjectSize = "all_storage_classes_128K"
)

// Values returns all known values for TransitionDefaultMinimumObjectSize. Note
// that this can be expanded in the future, and so it is only as up to date as the
// client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (TransitionDefaultMinimumObjectSize) Values() []TransitionDefaultMinimumObjectSize {
	return []TransitionDefaultMinimumObjectSize{
		"varies_by_storage_class",
		"all_storage_classes_128K",
	}
}

type TransitionStorageClass string

// Enum values for TransitionStorageClass
const (
	TransitionStorageClassGlacier            TransitionStorageClass = "GLACIER"
	TransitionStorageClassStandardIa         TransitionStorageClass = "STANDARD_IA"
	TransitionStorageClassOnezoneIa          TransitionStorageClass = "ONEZONE_IA"
	TransitionStorageClassIntelligentTiering TransitionStorageClass = "INTELLIGENT_TIERING"
	TransitionStorageClassDeepArchive        TransitionStorageClass = "DEEP_ARCHIVE"
	TransitionStorageClassGlacierIr          TransitionStorageClass = "GLACIER_IR"
)

// Values returns all known values for TransitionStorageClass. Note that this can
// be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (TransitionStorageClass) Values() []TransitionStorageClass {
	return []TransitionStorageClass{
		"GLACIER",
		"STANDARD_IA",
		"ONEZONE_IA",
		"INTELLIGENT_TIERING",
		"DEEP_ARCHIVE",
		"GLACIER_IR",
	}
}

type Type string

// Enum values for Type
const (
	TypeCanonicalUser         Type = "CanonicalUser"
	TypeAmazonCustomerByEmail Type = "AmazonCustomerByEmail"
	TypeGroup                 Type = "Group"
)

// Values returns all known values for Type. Note that this can be expanded in the
// future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Type) Values() []Type {
	return []Type{
		"CanonicalUser",
		"AmazonCustomerByEmail",
		"Group",
	}
}
