models.py•72.9 kB
# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-27T05:06:10+00:00
from __future__ import annotations
from datetime import datetime
from enum import Enum
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, RootModel, confloat, conint, constr
class AccessPointName(RootModel[constr(min_length=3, max_length=255)]):
root: constr(min_length=3, max_length=255)
class AccountId(RootModel[constr(pattern=r'^\d{12}$', max_length=64)]):
root: constr(pattern=r'^\d{12}$', max_length=64)
class Alias(RootModel[constr(pattern=r'^[0-9a-z\\-]{63}', max_length=63)]):
root: constr(pattern=r'^[0-9a-z\\-]{63}', max_length=63)
class AsyncCreationTimestamp(RootModel[datetime]):
root: datetime
class AsyncOperationName(Enum):
CreateMultiRegionAccessPoint = 'CreateMultiRegionAccessPoint'
DeleteMultiRegionAccessPoint = 'DeleteMultiRegionAccessPoint'
PutMultiRegionAccessPointPolicy = 'PutMultiRegionAccessPointPolicy'
class AsyncRequestStatus(RootModel[str]):
root: str
class AsyncRequestTokenARN(
RootModel[constr(pattern=r'arn:.+', min_length=1, max_length=1024)]
):
root: constr(pattern=r'arn:.+', min_length=1, max_length=1024)
class AwsLambdaTransformationPayload(RootModel[str]):
root: str
class AwsOrgArn(
RootModel[
constr(
pattern=r'arn:[a-z\-]+:organizations::\d{12}:organization\/o-[a-z0-9]{10,32}',
min_length=1,
max_length=1024,
)
]
):
root: constr(
pattern=r'arn:[a-z\-]+:organizations::\d{12}:organization\/o-[a-z0-9]{10,32}',
min_length=1,
max_length=1024,
)
class BadRequestException(RootModel[Any]):
root: Any
class Boolean(RootModel[bool]):
root: bool
class BucketAlreadyExists(RootModel[Any]):
root: Any
class BucketAlreadyOwnedByYou(RootModel[Any]):
root: Any
class BucketCannedACL(Enum):
private = 'private'
public_read = 'public-read'
public_read_write = 'public-read-write'
authenticated_read = 'authenticated-read'
class BucketIdentifierString(RootModel[str]):
root: str
class BucketLocationConstraint(Enum):
EU = 'EU'
eu_west_1 = 'eu-west-1'
us_west_1 = 'us-west-1'
us_west_2 = 'us-west-2'
ap_south_1 = 'ap-south-1'
ap_southeast_1 = 'ap-southeast-1'
ap_southeast_2 = 'ap-southeast-2'
ap_northeast_1 = 'ap-northeast-1'
sa_east_1 = 'sa-east-1'
cn_north_1 = 'cn-north-1'
eu_central_1 = 'eu-central-1'
class BucketName(RootModel[constr(min_length=3, max_length=255)]):
root: constr(min_length=3, max_length=255)
class BucketVersioningStatus(Enum):
Enabled = 'Enabled'
Suspended = 'Suspended'
class ConfigId(
RootModel[constr(pattern=r'[a-zA-Z0-9\-\_\.]+', min_length=1, max_length=64)]
):
root: constr(pattern=r'[a-zA-Z0-9\-\_\.]+', min_length=1, max_length=64)
class ConfirmRemoveSelfBucketAccess(RootModel[bool]):
root: bool
class ConfirmationRequired(RootModel[bool]):
root: bool
class ContinuationToken(RootModel[str]):
root: str
class CreateBucketConfiguration(BaseModel):
LocationConstraint: Optional[BucketLocationConstraint] = None
class CreateBucketRequest(BaseModel):
CreateBucketConfiguration_1: Optional[CreateBucketConfiguration] = Field(
None, alias='CreateBucketConfiguration'
)
class CreateMultiRegionAccessPointResult(BaseModel):
RequestTokenARN: Optional[AsyncRequestTokenARN] = None
class CreationDate(RootModel[datetime]):
root: datetime
class CreationTimestamp(RootModel[datetime]):
root: datetime
class Date(RootModel[datetime]):
root: datetime
class Days(RootModel[int]):
root: int
class DaysAfterInitiation(RootModel[int]):
root: int
class DeleteAccessPointForObjectLambdaRequest(BaseModel):
pass
class DeleteAccessPointPolicyForObjectLambdaRequest(BaseModel):
pass
class DeleteAccessPointPolicyRequest(BaseModel):
pass
class DeleteAccessPointRequest(BaseModel):
pass
class DeleteBucketLifecycleConfigurationRequest(BaseModel):
pass
class DeleteBucketPolicyRequest(BaseModel):
pass
class DeleteBucketReplicationRequest(BaseModel):
pass
class DeleteBucketRequest(BaseModel):
pass
class DeleteBucketTaggingRequest(BaseModel):
pass
class DeleteJobTaggingRequest(BaseModel):
pass
class DeleteJobTaggingResult(BaseModel):
pass
class DeleteMarkerReplicationStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class DeleteMultiRegionAccessPointResult(BaseModel):
RequestTokenARN: Optional[AsyncRequestTokenARN] = None
class DeletePublicAccessBlockRequest(BaseModel):
pass
class DeleteStorageLensConfigurationRequest(BaseModel):
pass
class DeleteStorageLensConfigurationTaggingRequest(BaseModel):
pass
class DeleteStorageLensConfigurationTaggingResult(BaseModel):
pass
class DescribeJobRequest(BaseModel):
pass
class DescribeMultiRegionAccessPointOperationRequest(BaseModel):
pass
class ExistingObjectReplicationStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class ExpirationStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class ExpiredObjectDeleteMarker(RootModel[bool]):
root: bool
class Format(Enum):
CSV = 'CSV'
Parquet = 'Parquet'
class FunctionArnString(
RootModel[
constr(
pattern=r'(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?',
min_length=1,
max_length=1024,
)
]
):
root: constr(
pattern=r'(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?',
min_length=1,
max_length=1024,
)
class GeneratedManifestFormat(Enum):
S3InventoryReport_CSV_20211130 = 'S3InventoryReport_CSV_20211130'
class GetAccessPointConfigurationForObjectLambdaRequest(BaseModel):
pass
class GetAccessPointForObjectLambdaRequest(BaseModel):
pass
class GetAccessPointPolicyForObjectLambdaRequest(BaseModel):
pass
class GetAccessPointPolicyRequest(BaseModel):
pass
class GetAccessPointPolicyStatusForObjectLambdaRequest(BaseModel):
pass
class GetAccessPointPolicyStatusRequest(BaseModel):
pass
class GetAccessPointRequest(BaseModel):
pass
class GetBucketLifecycleConfigurationRequest(BaseModel):
pass
class GetBucketPolicyRequest(BaseModel):
pass
class GetBucketReplicationRequest(BaseModel):
pass
class GetBucketRequest(BaseModel):
pass
class GetBucketTaggingRequest(BaseModel):
pass
class GetBucketVersioningRequest(BaseModel):
pass
class GetJobTaggingRequest(BaseModel):
pass
class GetMultiRegionAccessPointPolicyRequest(BaseModel):
pass
class GetMultiRegionAccessPointPolicyStatusRequest(BaseModel):
pass
class GetMultiRegionAccessPointRequest(BaseModel):
pass
class GetMultiRegionAccessPointRoutesRequest(BaseModel):
pass
class GetPublicAccessBlockRequest(BaseModel):
pass
class GetStorageLensConfigurationRequest(BaseModel):
pass
class GetStorageLensConfigurationTaggingRequest(BaseModel):
pass
class GrantFullControl(RootModel[str]):
root: str
class GrantRead(RootModel[str]):
root: str
class GrantReadACP(RootModel[str]):
root: str
class GrantWrite(RootModel[str]):
root: str
class GrantWriteACP(RootModel[str]):
root: str
class IAMRoleArn(
RootModel[
constr(pattern=r'arn:[^:]+:iam::\d{12}:role/.*', min_length=1, max_length=2048)
]
):
root: constr(
pattern=r'arn:[^:]+:iam::\d{12}:role/.*', min_length=1, max_length=2048
)
class ID(RootModel[str]):
root: str
class IdempotencyException(RootModel[Any]):
root: Any
class InternalServiceException(RootModel[Any]):
root: Any
class InvalidNextTokenException(RootModel[Any]):
root: Any
class InvalidRequestException(RootModel[Any]):
root: Any
class IsEnabled(RootModel[bool]):
root: bool
class IsPublic(RootModel[bool]):
root: bool
class JobArn(
RootModel[
constr(
pattern=r'arn:[^:]+:s3:[a-zA-Z0-9\-]+:\d{12}:job\/.*',
min_length=1,
max_length=1024,
)
]
):
root: constr(
pattern=r'arn:[^:]+:s3:[a-zA-Z0-9\-]+:\d{12}:job\/.*',
min_length=1,
max_length=1024,
)
class JobCreationTime(RootModel[datetime]):
root: datetime
class JobFailureCode(RootModel[constr(min_length=1, max_length=64)]):
root: constr(min_length=1, max_length=64)
class JobFailureReason(RootModel[constr(min_length=1, max_length=256)]):
root: constr(min_length=1, max_length=256)
class JobId(
RootModel[constr(pattern=r'[a-zA-Z0-9\-\_]+', min_length=5, max_length=36)]
):
root: constr(pattern=r'[a-zA-Z0-9\-\_]+', min_length=5, max_length=36)
class JobManifestFieldName(Enum):
Ignore = 'Ignore'
Bucket = 'Bucket'
Key = 'Key'
VersionId = 'VersionId'
class JobManifestFormat(Enum):
S3BatchOperations_CSV_20180820 = 'S3BatchOperations_CSV_20180820'
S3InventoryReport_CSV_20161130 = 'S3InventoryReport_CSV_20161130'
class JobNumberOfTasksFailed(RootModel[conint(ge=0)]):
root: conint(ge=0)
class JobNumberOfTasksSucceeded(RootModel[conint(ge=0)]):
root: conint(ge=0)
class JobPriority(RootModel[conint(ge=0, le=2147483647)]):
root: conint(ge=0, le=2147483647)
class JobReportFormat(Enum):
Report_CSV_20180820 = 'Report_CSV_20180820'
class JobReportScope(Enum):
AllTasks = 'AllTasks'
FailedTasksOnly = 'FailedTasksOnly'
class JobStatus(Enum):
Active = 'Active'
Cancelled = 'Cancelled'
Cancelling = 'Cancelling'
Complete = 'Complete'
Completing = 'Completing'
Failed = 'Failed'
Failing = 'Failing'
New = 'New'
Paused = 'Paused'
Pausing = 'Pausing'
Preparing = 'Preparing'
Ready = 'Ready'
Suspended = 'Suspended'
class JobStatusException(RootModel[Any]):
root: Any
class JobStatusList(RootModel[List[JobStatus]]):
root: List[JobStatus]
class JobStatusUpdateReason(RootModel[constr(min_length=1, max_length=256)]):
root: constr(min_length=1, max_length=256)
class JobTerminationDate(RootModel[datetime]):
root: datetime
class JobTimeInStateSeconds(RootModel[conint(ge=0)]):
root: conint(ge=0)
class JobTimers(BaseModel):
ElapsedTimeInActiveSeconds: Optional[JobTimeInStateSeconds] = None
class JobTotalNumberOfTasks(RootModel[conint(ge=0)]):
root: conint(ge=0)
class KmsKeyArnString(RootModel[constr(min_length=1, max_length=2000)]):
root: constr(min_length=1, max_length=2000)
class LambdaInvokeOperation(BaseModel):
FunctionArn: Optional[FunctionArnString] = None
class LifecycleExpiration(BaseModel):
Date_1: Optional[Date] = Field(None, alias='Date')
Days_1: Optional[Days] = Field(None, alias='Days')
ExpiredObjectDeleteMarker_1: Optional[ExpiredObjectDeleteMarker] = Field(
None, alias='ExpiredObjectDeleteMarker'
)
class ListAccessPointsForObjectLambdaRequest(BaseModel):
pass
class ListAccessPointsRequest(BaseModel):
pass
class ListJobsRequest(BaseModel):
pass
class ListMultiRegionAccessPointsRequest(BaseModel):
pass
class ListRegionalBucketsRequest(BaseModel):
pass
class ListStorageLensConfigurationsRequest(BaseModel):
pass
class Location(RootModel[str]):
root: str
class MFA(RootModel[str]):
root: str
class MFADelete(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class MFADeleteStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class ManifestPrefixString(RootModel[constr(min_length=1, max_length=512)]):
root: constr(min_length=1, max_length=512)
class MaxLength1024String(RootModel[constr(max_length=1024)]):
root: constr(max_length=1024)
class MaxResults(RootModel[conint(ge=0, le=1000)]):
root: conint(ge=0, le=1000)
class MetricsStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class MinStorageBytesPercentage(RootModel[confloat(ge=0.1, le=100.0)]):
root: confloat(ge=0.1, le=100.0)
class Minutes(RootModel[int]):
root: int
class MultiRegionAccessPointAlias(
RootModel[constr(pattern=r'^[a-z][a-z0-9]*[.]mrap$', max_length=63)]
):
root: constr(pattern=r'^[a-z][a-z0-9]*[.]mrap$', max_length=63)
class MultiRegionAccessPointClientToken(
RootModel[constr(pattern=r'\S+', max_length=64)]
):
root: constr(pattern=r'\S+', max_length=64)
class MultiRegionAccessPointId(
RootModel[constr(pattern=r'^[a-zA-Z0-9\:.-]{3,200}$', max_length=200)]
):
root: constr(pattern=r'^[a-zA-Z0-9\:.-]{3,200}$', max_length=200)
class MultiRegionAccessPointName(
RootModel[constr(pattern=r'^[a-z0-9][-a-z0-9]{1,48}[a-z0-9]$', max_length=50)]
):
root: constr(pattern=r'^[a-z0-9][-a-z0-9]{1,48}[a-z0-9]$', max_length=50)
class MultiRegionAccessPointStatus(Enum):
READY = 'READY'
INCONSISTENT_ACROSS_REGIONS = 'INCONSISTENT_ACROSS_REGIONS'
CREATING = 'CREATING'
PARTIALLY_CREATED = 'PARTIALLY_CREATED'
PARTIALLY_DELETED = 'PARTIALLY_DELETED'
DELETING = 'DELETING'
class NetworkOrigin(Enum):
Internet = 'Internet'
VPC = 'VPC'
class NoSuchPublicAccessBlockConfiguration(RootModel[Any]):
root: Any
class NonEmptyMaxLength1024String(RootModel[constr(min_length=1, max_length=1024)]):
root: constr(min_length=1, max_length=1024)
class NonEmptyMaxLength2048String(RootModel[constr(min_length=1, max_length=2048)]):
root: constr(min_length=1, max_length=2048)
class NonEmptyMaxLength256String(RootModel[constr(min_length=1, max_length=256)]):
root: constr(min_length=1, max_length=256)
class NonEmptyMaxLength64String(RootModel[constr(min_length=1, max_length=64)]):
root: constr(min_length=1, max_length=64)
class NoncurrentVersionCount(RootModel[int]):
root: int
class NoncurrentVersionExpiration(BaseModel):
NewerNoncurrentVersions: Optional[NoncurrentVersionCount] = None
NoncurrentDays: Optional[Days] = None
class NotFoundException(RootModel[Any]):
root: Any
class ObjectCreationTime(RootModel[datetime]):
root: datetime
class ObjectLambdaAccessPointAliasStatus(Enum):
PROVISIONING = 'PROVISIONING'
READY = 'READY'
class ObjectLambdaAccessPointAliasValue(
RootModel[constr(pattern=r'^[0-9a-z\\-]{3,63}', min_length=3, max_length=63)]
):
root: constr(pattern=r'^[0-9a-z\\-]{3,63}', min_length=3, max_length=63)
class ObjectLambdaAccessPointArn(
RootModel[
constr(
pattern=r'arn:[^:]+:s3-object-lambda:[^:]*:\d{12}:accesspoint/.*',
min_length=1,
max_length=2048,
)
]
):
root: constr(
pattern=r'arn:[^:]+:s3-object-lambda:[^:]*:\d{12}:accesspoint/.*',
min_length=1,
max_length=2048,
)
class ObjectLambdaAccessPointName(
RootModel[
constr(pattern=r'^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$', min_length=3, max_length=45)
]
):
root: constr(
pattern=r'^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$', min_length=3, max_length=45
)
class ObjectLambdaAllowedFeature(Enum):
GetObject_Range = 'GetObject-Range'
GetObject_PartNumber = 'GetObject-PartNumber'
HeadObject_Range = 'HeadObject-Range'
HeadObject_PartNumber = 'HeadObject-PartNumber'
class ObjectLambdaAllowedFeaturesList(RootModel[List[ObjectLambdaAllowedFeature]]):
root: List[ObjectLambdaAllowedFeature]
class ObjectLambdaPolicy(RootModel[str]):
root: str
class ObjectLambdaSupportingAccessPointArn(
RootModel[
constr(
pattern=r'arn:[^:]+:s3:[^:]*:\d{12}:accesspoint/.*',
min_length=1,
max_length=2048,
)
]
):
root: constr(
pattern=r'arn:[^:]+:s3:[^:]*:\d{12}:accesspoint/.*',
min_length=1,
max_length=2048,
)
class ObjectLambdaTransformationConfigurationAction(Enum):
GetObject = 'GetObject'
HeadObject = 'HeadObject'
ListObjects = 'ListObjects'
ListObjectsV2 = 'ListObjectsV2'
class ObjectLambdaTransformationConfigurationActionsList(
RootModel[List[ObjectLambdaTransformationConfigurationAction]]
):
root: List[ObjectLambdaTransformationConfigurationAction]
class ObjectLockEnabledForBucket(RootModel[bool]):
root: bool
class ObjectSizeGreaterThanBytes(RootModel[int]):
root: int
class ObjectSizeLessThanBytes(RootModel[int]):
root: int
class OperationName(Enum):
LambdaInvoke = 'LambdaInvoke'
S3PutObjectCopy = 'S3PutObjectCopy'
S3PutObjectAcl = 'S3PutObjectAcl'
S3PutObjectTagging = 'S3PutObjectTagging'
S3DeleteObjectTagging = 'S3DeleteObjectTagging'
S3InitiateRestoreObject = 'S3InitiateRestoreObject'
S3PutObjectLegalHold = 'S3PutObjectLegalHold'
S3PutObjectRetention = 'S3PutObjectRetention'
S3ReplicateObject = 'S3ReplicateObject'
class OutputSchemaVersion(Enum):
V_1 = 'V_1'
class OwnerOverride(Enum):
Destination = 'Destination'
class Policy(RootModel[str]):
root: str
class PolicyStatus(BaseModel):
IsPublic_1: Optional[IsPublic] = Field(None, alias='IsPublic')
class Prefix(RootModel[str]):
root: str
class Priority(RootModel[int]):
root: int
class ProposedMultiRegionAccessPointPolicy(BaseModel):
Policy_1: Optional[Policy] = Field(None, alias='Policy')
class PublicAccessBlockEnabled(RootModel[bool]):
root: bool
class PutAccessPointPolicyForObjectLambdaRequest(BaseModel):
Policy: ObjectLambdaPolicy
class PutAccessPointPolicyRequest(BaseModel):
Policy_1: Policy = Field(..., alias='Policy')
class PutBucketPolicyRequest(BaseModel):
Policy_1: Policy = Field(..., alias='Policy')
class PutJobTaggingResult(BaseModel):
pass
class PutMultiRegionAccessPointPolicyInput(BaseModel):
Name: MultiRegionAccessPointName
Policy_1: Policy = Field(..., alias='Policy')
class PutMultiRegionAccessPointPolicyRequest(BaseModel):
ClientToken: MultiRegionAccessPointClientToken
Details: PutMultiRegionAccessPointPolicyInput
class PutMultiRegionAccessPointPolicyResult(BaseModel):
RequestTokenARN: Optional[AsyncRequestTokenARN] = None
class PutStorageLensConfigurationTaggingResult(BaseModel):
pass
class Region(BaseModel):
Bucket: BucketName
BucketAccountId: Optional[AccountId] = None
class RegionCreationList(RootModel[List[Region]]):
root: List[Region]
class RegionName(RootModel[constr(min_length=1, max_length=64)]):
root: constr(min_length=1, max_length=64)
class RegionReport(BaseModel):
Bucket: Optional[BucketName] = None
BucketAccountId: Optional[AccountId] = None
Region: Optional[RegionName] = None
class RegionReportList(RootModel[List[RegionReport]]):
root: List[RegionReport]
class ReplicaKmsKeyID(RootModel[str]):
root: str
class ReplicaModificationsStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class ReplicationRuleStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class ReplicationStatus(Enum):
COMPLETED = 'COMPLETED'
FAILED = 'FAILED'
REPLICA = 'REPLICA'
NONE = 'NONE'
class ReplicationStatusFilterList(RootModel[List[ReplicationStatus]]):
root: List[ReplicationStatus]
class ReplicationStorageClass(Enum):
STANDARD = 'STANDARD'
REDUCED_REDUNDANCY = 'REDUCED_REDUNDANCY'
STANDARD_IA = 'STANDARD_IA'
ONEZONE_IA = 'ONEZONE_IA'
INTELLIGENT_TIERING = 'INTELLIGENT_TIERING'
GLACIER = 'GLACIER'
DEEP_ARCHIVE = 'DEEP_ARCHIVE'
OUTPOSTS = 'OUTPOSTS'
GLACIER_IR = 'GLACIER_IR'
class ReplicationTimeStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class ReplicationTimeValue(BaseModel):
Minutes_1: Optional[Minutes] = Field(None, alias='Minutes')
class ReportPrefixString(RootModel[constr(min_length=1, max_length=512)]):
root: constr(min_length=1, max_length=512)
class RequestedJobStatus(Enum):
Cancelled = 'Cancelled'
Ready = 'Ready'
class Role(RootModel[str]):
root: str
class S3AWSRegion(
RootModel[constr(pattern=r'[a-z0-9\-]+', min_length=5, max_length=30)]
):
root: constr(pattern=r'[a-z0-9\-]+', min_length=5, max_length=30)
class S3AccessPointArn(RootModel[constr(min_length=4, max_length=128)]):
root: constr(min_length=4, max_length=128)
class S3BucketArnString(
RootModel[constr(pattern=r'arn:[^:]+:s3:.*', min_length=1, max_length=128)]
):
root: constr(pattern=r'arn:[^:]+:s3:.*', min_length=1, max_length=128)
class S3CannedAccessControlList(Enum):
private = 'private'
public_read = 'public-read'
public_read_write = 'public-read-write'
aws_exec_read = 'aws-exec-read'
authenticated_read = 'authenticated-read'
bucket_owner_read = 'bucket-owner-read'
bucket_owner_full_control = 'bucket-owner-full-control'
class S3ChecksumAlgorithm(Enum):
CRC32 = 'CRC32'
CRC32C = 'CRC32C'
SHA1 = 'SHA1'
SHA256 = 'SHA256'
class S3ContentLength(RootModel[conint(ge=0)]):
root: conint(ge=0)
class S3DeleteObjectTaggingOperation(BaseModel):
pass
class S3ExpirationInDays(RootModel[conint(ge=0)]):
root: conint(ge=0)
class S3GlacierJobTier(Enum):
BULK = 'BULK'
STANDARD = 'STANDARD'
class S3GranteeTypeIdentifier(Enum):
id = 'id'
emailAddress = 'emailAddress'
uri = 'uri'
class S3InitiateRestoreObjectOperation(BaseModel):
ExpirationInDays: Optional[S3ExpirationInDays] = None
GlacierJobTier: Optional[S3GlacierJobTier] = None
class S3KeyArnString(
RootModel[constr(pattern=r'arn:[^:]+:s3:.*', min_length=1, max_length=2000)]
):
root: constr(pattern=r'arn:[^:]+:s3:.*', min_length=1, max_length=2000)
class S3MetadataDirective(Enum):
COPY = 'COPY'
REPLACE = 'REPLACE'
class S3ObjectLockLegalHoldStatus(Enum):
OFF = 'OFF'
ON = 'ON'
class S3ObjectLockMode(Enum):
COMPLIANCE = 'COMPLIANCE'
GOVERNANCE = 'GOVERNANCE'
class S3ObjectLockRetentionMode(Enum):
COMPLIANCE = 'COMPLIANCE'
GOVERNANCE = 'GOVERNANCE'
class S3ObjectOwner(BaseModel):
DisplayName: Optional[NonEmptyMaxLength1024String] = None
ID: Optional[NonEmptyMaxLength1024String] = None
class S3ObjectVersionId(RootModel[constr(min_length=1, max_length=2000)]):
root: constr(min_length=1, max_length=2000)
class S3Permission(Enum):
FULL_CONTROL = 'FULL_CONTROL'
READ = 'READ'
WRITE = 'WRITE'
READ_ACP = 'READ_ACP'
WRITE_ACP = 'WRITE_ACP'
class S3RegionalBucketArn(RootModel[constr(min_length=4, max_length=128)]):
root: constr(min_length=4, max_length=128)
class S3ReplicateObjectOperation(BaseModel):
pass
class S3SSEAlgorithm(Enum):
AES256 = 'AES256'
KMS = 'KMS'
class S3StorageClass(Enum):
STANDARD = 'STANDARD'
STANDARD_IA = 'STANDARD_IA'
ONEZONE_IA = 'ONEZONE_IA'
GLACIER = 'GLACIER'
INTELLIGENT_TIERING = 'INTELLIGENT_TIERING'
DEEP_ARCHIVE = 'DEEP_ARCHIVE'
GLACIER_IR = 'GLACIER_IR'
class S3UserMetadata(RootModel[Optional[Dict[str, MaxLength1024String]]]):
root: Optional[Dict[str, MaxLength1024String]] = None
class SSEKMSEncryption(BaseModel):
KeyId: KmsKeyArnString
class SSEKMSKeyId(RootModel[str]):
root: str
class SSES3(BaseModel):
pass
class SSES3Encryption(BaseModel):
pass
class Setting(RootModel[bool]):
root: bool
class SseKmsEncryptedObjectsStatus(Enum):
Enabled = 'Enabled'
Disabled = 'Disabled'
class StorageLensArn(
RootModel[
constr(
pattern=r'arn:[a-z\-]+:s3:[a-z0-9\-]+:\d{12}:storage\-lens\/.*',
min_length=1,
max_length=1024,
)
]
):
root: constr(
pattern=r'arn:[a-z\-]+:s3:[a-z0-9\-]+:\d{12}:storage\-lens\/.*',
min_length=1,
max_length=1024,
)
class StorageLensAwsOrg(BaseModel):
Arn: AwsOrgArn
class StorageLensPrefixLevelDelimiter(RootModel[constr(max_length=1)]):
root: constr(max_length=1)
class StorageLensPrefixLevelMaxDepth(RootModel[conint(ge=1, le=10)]):
root: conint(ge=1, le=10)
class StringForNextToken(
RootModel[
constr(pattern=r'^[A-Za-z0-9\+\:\/\=\?\#-_]+$', min_length=1, max_length=1024)
]
):
root: constr(pattern=r'^[A-Za-z0-9\+\:\/\=\?\#-_]+$', min_length=1, max_length=1024)
class SubmitMultiRegionAccessPointRoutesResult(BaseModel):
pass
class SuspendedCause(RootModel[constr(min_length=1, max_length=1024)]):
root: constr(min_length=1, max_length=1024)
class SuspendedDate(RootModel[datetime]):
root: datetime
class TagKeyString(
RootModel[
constr(
pattern=r'^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$', min_length=1, max_length=1024
)
]
):
root: constr(
pattern=r'^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$', min_length=1, max_length=1024
)
class TagValueString(
RootModel[constr(pattern=r'^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$', max_length=1024)]
):
root: constr(pattern=r'^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$', max_length=1024)
class TimeStamp(RootModel[datetime]):
root: datetime
class TooManyRequestsException(RootModel[Any]):
root: Any
class TooManyTagsException(RootModel[Any]):
root: Any
class TrafficDialPercentage(RootModel[conint(ge=0, le=100)]):
root: conint(ge=0, le=100)
class TransitionStorageClass(Enum):
GLACIER = 'GLACIER'
STANDARD_IA = 'STANDARD_IA'
ONEZONE_IA = 'ONEZONE_IA'
INTELLIGENT_TIERING = 'INTELLIGENT_TIERING'
DEEP_ARCHIVE = 'DEEP_ARCHIVE'
class UpdateJobPriorityRequest(BaseModel):
pass
class UpdateJobPriorityResult(BaseModel):
JobId_1: JobId = Field(..., alias='JobId')
Priority: JobPriority
class UpdateJobStatusRequest(BaseModel):
pass
class UpdateJobStatusResult(BaseModel):
JobId_1: Optional[JobId] = Field(None, alias='JobId')
Status: Optional[JobStatus] = None
StatusUpdateReason: Optional[JobStatusUpdateReason] = None
class VersioningConfiguration(BaseModel):
MFADelete_1: Optional[MFADelete] = Field(None, alias='MFADelete')
Status: Optional[BucketVersioningStatus] = None
class VpcId(RootModel[constr(min_length=1, max_length=1024)]):
root: constr(min_length=1, max_length=1024)
class PublicAccessBlockConfiguration(BaseModel):
BlockPublicAcls: Optional[Setting] = None
BlockPublicPolicy: Optional[Setting] = None
IgnorePublicAcls: Optional[Setting] = None
RestrictPublicBuckets: Optional[Setting] = None
class VpcConfiguration1(BaseModel):
VpcId_1: Optional[VpcId] = Field(None, alias='VpcId')
class V20180820AccesspointNameXAmzAccountIdPutRequest(BaseModel):
Bucket: constr(min_length=3, max_length=255) = Field(
...,
description='<p>The name of the bucket that you want to associate this access point with.</p> <p>For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.</p> <p>For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name></code>. For example, to access the bucket <code>reports</code> through Outpost <code>my-outpost</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports</code>. The value must be URL encoded. </p>',
)
BucketAccountId: Optional[constr(pattern=r'^\d{12}$', max_length=64)] = Field(
None,
description='The Amazon Web Services account ID associated with the S3 bucket associated with this access point.',
)
PublicAccessBlockConfiguration_1: Optional[PublicAccessBlockConfiguration] = Field(
None,
alias='PublicAccessBlockConfiguration',
description='<p>The <code>PublicAccessBlock</code> configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The Meaning of "Public"</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This data type is not supported for Amazon S3 on Outposts.</p>',
)
VpcConfiguration: Optional[VpcConfiguration1] = Field(
None,
description='The virtual private cloud (VPC) configuration for an access point.',
)
class V20180820AccesspointNamePolicyXAmzAccountIdPutRequest(BaseModel):
Policy: str = Field(
...,
description='The policy that you want to apply to the specified access point. For more information about access point policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html">Managing data access with Amazon S3 access points</a> in the <i>Amazon S3 User Guide</i>.',
)
class V20180820AccesspointforobjectlambdaNamePolicyXAmzAccountIdPutRequest(BaseModel):
Policy: str = Field(
..., description='Object Lambda Access Point resource policy document.'
)
class Details1(BaseModel):
Name: Optional[MultiRegionAccessPointName] = None
class V20180820AsyncRequestsMrapDeleteXAmzAccountIdPostRequest(BaseModel):
ClientToken: constr(pattern=r'\S+', max_length=64) = Field(
...,
description='An idempotency token used to identify the request and guarantee that requests are unique.',
)
Details: Details1 = Field(
...,
description='A container for the information associated with a <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html">DeleteMultiRegionAccessPoint</a> request.',
)
class Details2(BaseModel):
Name: Optional[MultiRegionAccessPointName] = None
Policy_1: Optional[Policy] = Field(None, alias='Policy')
class V20180820AsyncRequestsMrapPutPolicyXAmzAccountIdPostRequest(BaseModel):
ClientToken: constr(pattern=r'\S+', max_length=64) = Field(
...,
description='An idempotency token used to identify the request and guarantee that requests are unique.',
)
Details: Details2 = Field(
...,
description='A container for the information associated with a <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPoint.html">PutMultiRegionAccessPoint</a> request.',
)
class V20180820BucketNamePutRequest(BaseModel):
CreateBucketConfiguration_1: Optional[CreateBucketConfiguration] = Field(
None,
alias='CreateBucketConfiguration',
description='<p>The container for the bucket configuration.</p> <note> <p>This is not supported by Amazon S3 on Outposts buckets.</p> </note>',
)
class XAmzAcl(Enum):
private = 'private'
public_read = 'public-read'
public_read_write = 'public-read-write'
authenticated_read = 'authenticated-read'
class V20180820BucketNamePolicyXAmzAccountIdPutRequest(BaseModel):
Policy: str = Field(..., description='The bucket policy as a JSON document.')
class V20180820BucketNameVersioningXAmzAccountIdPutRequest(BaseModel):
VersioningConfiguration_1: VersioningConfiguration = Field(
...,
alias='VersioningConfiguration',
description='Describes the versioning state of an Amazon S3 on Outposts bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketVersioning.html">PutBucketVersioning</a>.',
)
class V20180820ConfigurationPublicAccessBlockXAmzAccountIdPutRequest(BaseModel):
PublicAccessBlockConfiguration_1: PublicAccessBlockConfiguration = Field(
...,
alias='PublicAccessBlockConfiguration',
description='<p>The <code>PublicAccessBlock</code> configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The Meaning of "Public"</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This data type is not supported for Amazon S3 on Outposts.</p>',
)
class JobStatuses(RootModel[List[JobStatus]]):
root: List[JobStatus]
class Report(BaseModel):
Bucket: Optional[S3BucketArnString] = None
Enabled: Optional[Boolean] = None
Format: Optional[JobReportFormat] = None
Prefix: Optional[ReportPrefixString] = None
ReportScope: Optional[JobReportScope] = None
class AbortIncompleteMultipartUpload(BaseModel):
DaysAfterInitiation_1: Optional[DaysAfterInitiation] = Field(
None, alias='DaysAfterInitiation'
)
class AccessControlTranslation(BaseModel):
Owner: OwnerOverride
class ActivityMetrics(BaseModel):
IsEnabled_1: Optional[IsEnabled] = Field(None, alias='IsEnabled')
class AdvancedCostOptimizationMetrics(BaseModel):
IsEnabled_1: Optional[IsEnabled] = Field(None, alias='IsEnabled')
class AdvancedDataProtectionMetrics(BaseModel):
IsEnabled_1: Optional[IsEnabled] = Field(None, alias='IsEnabled')
class AsyncErrorDetails(BaseModel):
Code: Optional[MaxLength1024String] = None
Message: Optional[MaxLength1024String] = None
RequestId: Optional[MaxLength1024String] = None
Resource: Optional[MaxLength1024String] = None
class AwsLambdaTransformation(BaseModel):
FunctionArn: FunctionArnString
FunctionPayload: Optional[AwsLambdaTransformationPayload] = None
class Buckets(RootModel[List[S3BucketArnString]]):
root: List[S3BucketArnString]
class CloudWatchMetrics(BaseModel):
IsEnabled_1: IsEnabled = Field(..., alias='IsEnabled')
class CreateAccessPointResult(BaseModel):
AccessPointArn: Optional[S3AccessPointArn] = None
Alias_1: Optional[Alias] = Field(None, alias='Alias')
class CreateBucketResult(BaseModel):
BucketArn: Optional[S3RegionalBucketArn] = None
class CreateJobResult(BaseModel):
JobId_1: Optional[JobId] = Field(None, alias='JobId')
class DeleteMarkerReplication(BaseModel):
Status: DeleteMarkerReplicationStatus
class DeleteMultiRegionAccessPointInput(BaseModel):
Name: MultiRegionAccessPointName
class DeleteMultiRegionAccessPointRequest(BaseModel):
ClientToken: MultiRegionAccessPointClientToken
Details: DeleteMultiRegionAccessPointInput
class DetailedStatusCodesMetrics(BaseModel):
IsEnabled_1: Optional[IsEnabled] = Field(None, alias='IsEnabled')
class EncryptionConfiguration(BaseModel):
ReplicaKmsKeyID_1: Optional[ReplicaKmsKeyID] = Field(None, alias='ReplicaKmsKeyID')
class Endpoints(RootModel[Optional[Dict[str, NonEmptyMaxLength1024String]]]):
root: Optional[Dict[str, NonEmptyMaxLength1024String]] = None
class EstablishedMultiRegionAccessPointPolicy(BaseModel):
Policy_1: Optional[Policy] = Field(None, alias='Policy')
class ExistingObjectReplication(BaseModel):
Status: ExistingObjectReplicationStatus
class GeneratedManifestEncryption(BaseModel):
SSEKMS: Optional[SSEKMSEncryption] = None
SSES3: Optional[SSES3Encryption] = None
class GetAccessPointPolicyForObjectLambdaResult(BaseModel):
Policy: Optional[ObjectLambdaPolicy] = None
class GetAccessPointPolicyResult(BaseModel):
Policy_1: Optional[Policy] = Field(None, alias='Policy')
class GetAccessPointPolicyStatusForObjectLambdaResult(BaseModel):
PolicyStatus_1: Optional[PolicyStatus] = Field(None, alias='PolicyStatus')
class GetAccessPointPolicyStatusResult(BaseModel):
PolicyStatus_1: Optional[PolicyStatus] = Field(None, alias='PolicyStatus')
class GetBucketPolicyResult(BaseModel):
Policy_1: Optional[Policy] = Field(None, alias='Policy')
class GetBucketResult(BaseModel):
Bucket: Optional[BucketName] = None
CreationDate_1: Optional[CreationDate] = Field(None, alias='CreationDate')
PublicAccessBlockEnabled_1: Optional[PublicAccessBlockEnabled] = Field(
None, alias='PublicAccessBlockEnabled'
)
class GetBucketVersioningResult(BaseModel):
MFADelete: Optional[MFADeleteStatus] = None
Status: Optional[BucketVersioningStatus] = None
class GetMultiRegionAccessPointPolicyStatusResult(BaseModel):
Established: Optional[PolicyStatus] = None
class JobFailure(BaseModel):
FailureCode: Optional[JobFailureCode] = None
FailureReason: Optional[JobFailureReason] = None
class JobFailureList(RootModel[List[JobFailure]]):
root: List[JobFailure]
class JobManifestFieldList(RootModel[List[JobManifestFieldName]]):
root: List[JobManifestFieldName]
class JobManifestGeneratorFilter(BaseModel):
CreatedAfter: Optional[ObjectCreationTime] = None
CreatedBefore: Optional[ObjectCreationTime] = None
EligibleForReplication: Optional[Boolean] = None
ObjectReplicationStatuses: Optional[ReplicationStatusFilterList] = None
class JobManifestLocation(BaseModel):
ETag: NonEmptyMaxLength1024String
ObjectArn: S3KeyArnString
ObjectVersionId: Optional[S3ObjectVersionId] = None
class JobManifestSpec(BaseModel):
Fields: Optional[JobManifestFieldList] = None
Format: JobManifestFormat
class JobProgressSummary(BaseModel):
NumberOfTasksFailed: Optional[JobNumberOfTasksFailed] = None
NumberOfTasksSucceeded: Optional[JobNumberOfTasksSucceeded] = None
Timers: Optional[JobTimers] = None
TotalNumberOfTasks: Optional[JobTotalNumberOfTasks] = None
class JobReport(BaseModel):
Bucket: Optional[S3BucketArnString] = None
Enabled: Boolean
Format: Optional[JobReportFormat] = None
Prefix: Optional[ReportPrefixString] = None
ReportScope: Optional[JobReportScope] = None
class ListStorageLensConfigurationEntry(BaseModel):
HomeRegion: S3AWSRegion
Id: ConfigId
IsEnabled_1: Optional[IsEnabled] = Field(None, alias='IsEnabled')
StorageLensArn_1: StorageLensArn = Field(..., alias='StorageLensArn')
class Metrics(BaseModel):
EventThreshold: Optional[ReplicationTimeValue] = None
Status: MetricsStatus
class MultiRegionAccessPointPolicyDocument(BaseModel):
Established: Optional[EstablishedMultiRegionAccessPointPolicy] = None
Proposed: Optional[ProposedMultiRegionAccessPointPolicy] = None
class MultiRegionAccessPointRegionalResponse(BaseModel):
Name: Optional[RegionName] = None
RequestStatus: Optional[AsyncRequestStatus] = None
class MultiRegionAccessPointRegionalResponseList(
RootModel[List[MultiRegionAccessPointRegionalResponse]]
):
root: List[MultiRegionAccessPointRegionalResponse]
class MultiRegionAccessPointRoute(BaseModel):
Bucket: Optional[BucketName] = None
Region: Optional[RegionName] = None
TrafficDialPercentage_1: TrafficDialPercentage = Field(
..., alias='TrafficDialPercentage'
)
class MultiRegionAccessPointsAsyncResponse(BaseModel):
Regions: Optional[MultiRegionAccessPointRegionalResponseList] = None
class NoncurrentVersionTransition(BaseModel):
NoncurrentDays: Optional[Days] = None
StorageClass: Optional[TransitionStorageClass] = None
class NoncurrentVersionTransitionList(RootModel[List[NoncurrentVersionTransition]]):
root: List[NoncurrentVersionTransition]
class ObjectLambdaAccessPointAlias(BaseModel):
Status: Optional[ObjectLambdaAccessPointAliasStatus] = None
Value: Optional[ObjectLambdaAccessPointAliasValue] = None
class ObjectLambdaContentTransformation(BaseModel):
AwsLambda: Optional[AwsLambdaTransformation] = None
class ObjectLambdaTransformationConfiguration(BaseModel):
Actions: ObjectLambdaTransformationConfigurationActionsList
ContentTransformation: ObjectLambdaContentTransformation
class ObjectLambdaTransformationConfigurationsList(
RootModel[List[ObjectLambdaTransformationConfiguration]]
):
root: List[ObjectLambdaTransformationConfiguration]
class PutBucketVersioningRequest(BaseModel):
VersioningConfiguration_1: VersioningConfiguration = Field(
..., alias='VersioningConfiguration'
)
class PutPublicAccessBlockRequest(BaseModel):
PublicAccessBlockConfiguration_1: PublicAccessBlockConfiguration = Field(
..., alias='PublicAccessBlockConfiguration'
)
class RegionalBucket(BaseModel):
Bucket: BucketName
BucketArn: Optional[S3RegionalBucketArn] = None
CreationDate_1: CreationDate = Field(..., alias='CreationDate')
OutpostId: Optional[NonEmptyMaxLength64String] = None
PublicAccessBlockEnabled_1: PublicAccessBlockEnabled = Field(
..., alias='PublicAccessBlockEnabled'
)
class RegionalBucketList(RootModel[List[RegionalBucket]]):
root: List[RegionalBucket]
class Regions(RootModel[List[S3AWSRegion]]):
root: List[S3AWSRegion]
class ReplicaModifications(BaseModel):
Status: ReplicaModificationsStatus
class ReplicationTime(BaseModel):
Status: ReplicationTimeStatus
Time: ReplicationTimeValue
class RouteList(RootModel[List[MultiRegionAccessPointRoute]]):
root: List[MultiRegionAccessPointRoute]
class S3GeneratedManifestDescriptor(BaseModel):
Format: Optional[GeneratedManifestFormat] = None
Location: Optional[JobManifestLocation] = None
class S3Grantee(BaseModel):
DisplayName: Optional[NonEmptyMaxLength1024String] = None
Identifier: Optional[NonEmptyMaxLength1024String] = None
TypeIdentifier: Optional[S3GranteeTypeIdentifier] = None
class S3ManifestOutputLocation(BaseModel):
Bucket: S3BucketArnString
ExpectedManifestBucketOwner: Optional[AccountId] = None
ManifestEncryption: Optional[GeneratedManifestEncryption] = None
ManifestFormat: GeneratedManifestFormat
ManifestPrefix: Optional[ManifestPrefixString] = None
class S3ObjectLockLegalHold(BaseModel):
Status: S3ObjectLockLegalHoldStatus
class S3ObjectMetadata(BaseModel):
CacheControl: Optional[NonEmptyMaxLength1024String] = None
ContentDisposition: Optional[NonEmptyMaxLength1024String] = None
ContentEncoding: Optional[NonEmptyMaxLength1024String] = None
ContentLanguage: Optional[NonEmptyMaxLength1024String] = None
ContentLength: Optional[S3ContentLength] = None
ContentMD5: Optional[NonEmptyMaxLength1024String] = None
ContentType: Optional[NonEmptyMaxLength1024String] = None
HttpExpiresDate: Optional[TimeStamp] = None
RequesterCharged: Optional[Boolean] = None
SSEAlgorithm: Optional[S3SSEAlgorithm] = None
UserMetadata: Optional[S3UserMetadata] = None
class S3Retention(BaseModel):
Mode: Optional[S3ObjectLockRetentionMode] = None
RetainUntilDate: Optional[TimeStamp] = None
class S3SetObjectLegalHoldOperation(BaseModel):
LegalHold: S3ObjectLockLegalHold
class S3SetObjectRetentionOperation(BaseModel):
BypassGovernanceRetention: Optional[Boolean] = None
Retention: S3Retention
class S3Tag(BaseModel):
Key: TagKeyString
Value: TagValueString
class S3TagSet(RootModel[List[S3Tag]]):
root: List[S3Tag]
class SSEKMS(BaseModel):
KeyId: SSEKMSKeyId
class SelectionCriteria(BaseModel):
Delimiter: Optional[StorageLensPrefixLevelDelimiter] = None
MaxDepth: Optional[StorageLensPrefixLevelMaxDepth] = None
MinStorageBytesPercentage_1: Optional[MinStorageBytesPercentage] = Field(
None, alias='MinStorageBytesPercentage'
)
class SseKmsEncryptedObjects(BaseModel):
Status: SseKmsEncryptedObjectsStatus
class StorageLensConfigurationList(RootModel[List[ListStorageLensConfigurationEntry]]):
root: List[ListStorageLensConfigurationEntry]
class StorageLensDataExportEncryption(BaseModel):
SSEKMS_1: Optional[SSEKMS] = Field(None, alias='SSEKMS')
SSES3_1: Optional[SSES3] = Field(None, alias='SSES3')
class StorageLensTag(BaseModel):
Key: TagKeyString
Value: TagValueString
class StorageLensTags(RootModel[List[StorageLensTag]]):
root: List[StorageLensTag]
class SubmitMultiRegionAccessPointRoutesRequest(BaseModel):
RouteUpdates: RouteList
class Tagging(BaseModel):
TagSet: S3TagSet
class Transition(BaseModel):
Date_1: Optional[Date] = Field(None, alias='Date')
Days_1: Optional[Days] = Field(None, alias='Days')
StorageClass: Optional[TransitionStorageClass] = None
class TransitionList(RootModel[List[Transition]]):
root: List[Transition]
class VpcConfiguration(BaseModel):
VpcId_1: VpcId = Field(..., alias='VpcId')
class Configuration(BaseModel):
AllowedFeatures: Optional[ObjectLambdaAllowedFeaturesList] = None
CloudWatchMetricsEnabled: Optional[Boolean] = None
SupportingAccessPoint: Optional[ObjectLambdaSupportingAccessPointArn] = None
TransformationConfigurations: Optional[
ObjectLambdaTransformationConfigurationsList
] = None
class V20180820AccesspointforobjectlambdaNameXAmzAccountIdPutRequest(BaseModel):
Configuration_1: Configuration = Field(
...,
alias='Configuration',
description='A configuration used when creating an Object Lambda Access Point.',
)
class V20180820AccesspointforobjectlambdaNameConfigurationXAmzAccountIdPutRequest(
BaseModel
):
Configuration_1: Configuration = Field(
...,
alias='Configuration',
description='A configuration used when creating an Object Lambda Access Point.',
)
class Details(BaseModel):
Name: Optional[MultiRegionAccessPointName] = None
PublicAccessBlock: Optional[PublicAccessBlockConfiguration] = None
Regions: Optional[RegionCreationList] = None
class V20180820AsyncRequestsMrapCreateXAmzAccountIdPostRequest(BaseModel):
ClientToken: constr(pattern=r'\S+', max_length=64) = Field(
...,
description='An idempotency token used to identify the request and guarantee that requests are unique.',
)
Details_1: Details = Field(
...,
alias='Details',
description='A container for the information associated with a <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html">CreateMultiRegionAccessPoint</a> request. ',
)
class Tagging1(BaseModel):
TagSet: Optional[S3TagSet] = None
class V20180820BucketNameTaggingXAmzAccountIdPutRequest(BaseModel):
Tagging: Tagging1 = Field(..., description='<p/>')
class Manifest(BaseModel):
Location: Optional[JobManifestLocation] = None
Spec: Optional[JobManifestSpec] = None
class V20180820JobsIdTaggingXAmzAccountIdPutRequest(BaseModel):
Tags: List[S3Tag] = Field(
...,
description='The set of tags to associate with the S3 Batch Operations job.',
)
class V20180820MrapInstancesMrapRoutesXAmzAccountIdPatchRequest(BaseModel):
RouteUpdates: List[MultiRegionAccessPointRoute] = Field(
...,
description='The different routes that make up the new route configuration. Active routes return a value of <code>100</code>, and passive routes return a value of <code>0</code>.',
)
class V20180820StoragelensStoragelensidTaggingXAmzAccountIdPutRequest(BaseModel):
Tags: List[StorageLensTag] = Field(
...,
description='<p>The tag set of the S3 Storage Lens configuration.</p> <note> <p>You can set up to a maximum of 50 tags.</p> </note>',
)
class AccessPoint(BaseModel):
AccessPointArn: Optional[S3AccessPointArn] = None
Alias_1: Optional[Alias] = Field(None, alias='Alias')
Bucket: BucketName
BucketAccountId: Optional[AccountId] = None
Name: AccessPointName
NetworkOrigin_1: NetworkOrigin = Field(..., alias='NetworkOrigin')
VpcConfiguration_1: Optional[VpcConfiguration] = Field(
None, alias='VpcConfiguration'
)
class AccessPointList(RootModel[List[AccessPoint]]):
root: List[AccessPoint]
class AsyncResponseDetails(BaseModel):
ErrorDetails: Optional[AsyncErrorDetails] = None
MultiRegionAccessPointDetails: Optional[MultiRegionAccessPointsAsyncResponse] = None
class CreateAccessPointForObjectLambdaResult(BaseModel):
Alias: Optional[ObjectLambdaAccessPointAlias] = None
ObjectLambdaAccessPointArn_1: Optional[ObjectLambdaAccessPointArn] = Field(
None, alias='ObjectLambdaAccessPointArn'
)
class CreateAccessPointRequest(BaseModel):
Bucket: BucketName
BucketAccountId: Optional[AccountId] = None
PublicAccessBlockConfiguration_1: Optional[PublicAccessBlockConfiguration] = Field(
None, alias='PublicAccessBlockConfiguration'
)
VpcConfiguration_1: Optional[VpcConfiguration] = Field(
None, alias='VpcConfiguration'
)
class CreateMultiRegionAccessPointInput(BaseModel):
Name: MultiRegionAccessPointName
PublicAccessBlock: Optional[PublicAccessBlockConfiguration] = None
Regions: RegionCreationList
class CreateMultiRegionAccessPointRequest(BaseModel):
ClientToken: MultiRegionAccessPointClientToken
Details: CreateMultiRegionAccessPointInput
class Destination(BaseModel):
AccessControlTranslation_1: Optional[AccessControlTranslation] = Field(
None, alias='AccessControlTranslation'
)
Account: Optional[AccountId] = None
Bucket: BucketIdentifierString
EncryptionConfiguration_1: Optional[EncryptionConfiguration] = Field(
None, alias='EncryptionConfiguration'
)
Metrics_1: Optional[Metrics] = Field(None, alias='Metrics')
ReplicationTime_1: Optional[ReplicationTime] = Field(None, alias='ReplicationTime')
StorageClass: Optional[ReplicationStorageClass] = None
class Exclude(BaseModel):
Buckets_1: Optional[Buckets] = Field(None, alias='Buckets')
Regions_1: Optional[Regions] = Field(None, alias='Regions')
class GetAccessPointForObjectLambdaResult(BaseModel):
Alias: Optional[ObjectLambdaAccessPointAlias] = None
CreationDate_1: Optional[CreationDate] = Field(None, alias='CreationDate')
Name: Optional[ObjectLambdaAccessPointName] = None
PublicAccessBlockConfiguration_1: Optional[PublicAccessBlockConfiguration] = Field(
None, alias='PublicAccessBlockConfiguration'
)
class GetAccessPointResult(BaseModel):
AccessPointArn: Optional[S3AccessPointArn] = None
Alias_1: Optional[Alias] = Field(None, alias='Alias')
Bucket: Optional[BucketName] = None
BucketAccountId: Optional[AccountId] = None
CreationDate_1: Optional[CreationDate] = Field(None, alias='CreationDate')
Endpoints_1: Optional[Endpoints] = Field(None, alias='Endpoints')
Name: Optional[AccessPointName] = None
NetworkOrigin_1: Optional[NetworkOrigin] = Field(None, alias='NetworkOrigin')
PublicAccessBlockConfiguration_1: Optional[PublicAccessBlockConfiguration] = Field(
None, alias='PublicAccessBlockConfiguration'
)
VpcConfiguration_1: Optional[VpcConfiguration] = Field(
None, alias='VpcConfiguration'
)
class GetBucketTaggingResult(BaseModel):
TagSet: S3TagSet
class GetJobTaggingResult(BaseModel):
Tags: Optional[S3TagSet] = None
class GetMultiRegionAccessPointPolicyResult(BaseModel):
Policy: Optional[MultiRegionAccessPointPolicyDocument] = None
class GetMultiRegionAccessPointRoutesResult(BaseModel):
Mrap: Optional[MultiRegionAccessPointId] = None
Routes: Optional[RouteList] = None
class GetPublicAccessBlockOutput(BaseModel):
PublicAccessBlockConfiguration_1: Optional[PublicAccessBlockConfiguration] = Field(
None, alias='PublicAccessBlockConfiguration'
)
class GetStorageLensConfigurationTaggingResult(BaseModel):
Tags: Optional[StorageLensTags] = None
class Include(BaseModel):
Buckets_1: Optional[Buckets] = Field(None, alias='Buckets')
Regions_1: Optional[Regions] = Field(None, alias='Regions')
class JobListDescriptor(BaseModel):
CreationTime: Optional[JobCreationTime] = None
Description: Optional[NonEmptyMaxLength256String] = None
JobId_1: Optional[JobId] = Field(None, alias='JobId')
Operation: Optional[OperationName] = None
Priority: Optional[JobPriority] = None
ProgressSummary: Optional[JobProgressSummary] = None
Status: Optional[JobStatus] = None
TerminationDate: Optional[JobTerminationDate] = None
class JobListDescriptorList(RootModel[List[JobListDescriptor]]):
root: List[JobListDescriptor]
class JobManifest(BaseModel):
Location: JobManifestLocation
Spec: JobManifestSpec
class LifecycleRuleAndOperator(BaseModel):
ObjectSizeGreaterThan: Optional[ObjectSizeGreaterThanBytes] = None
ObjectSizeLessThan: Optional[ObjectSizeLessThanBytes] = None
Prefix_1: Optional[Prefix] = Field(None, alias='Prefix')
Tags: Optional[S3TagSet] = None
class LifecycleRuleFilter(BaseModel):
And: Optional[LifecycleRuleAndOperator] = None
ObjectSizeGreaterThan: Optional[ObjectSizeGreaterThanBytes] = None
ObjectSizeLessThan: Optional[ObjectSizeLessThanBytes] = None
Prefix_1: Optional[Prefix] = Field(None, alias='Prefix')
Tag: Optional[S3Tag] = None
class ListAccessPointsResult(BaseModel):
AccessPointList_1: Optional[AccessPointList] = Field(None, alias='AccessPointList')
NextToken: Optional[NonEmptyMaxLength1024String] = None
class ListJobsResult(BaseModel):
Jobs: Optional[JobListDescriptorList] = None
NextToken: Optional[StringForNextToken] = None
class ListRegionalBucketsResult(BaseModel):
NextToken: Optional[NonEmptyMaxLength1024String] = None
RegionalBucketList_1: Optional[RegionalBucketList] = Field(
None, alias='RegionalBucketList'
)
class ListStorageLensConfigurationsResult(BaseModel):
NextToken: Optional[ContinuationToken] = None
StorageLensConfigurationList_1: Optional[StorageLensConfigurationList] = Field(
None, alias='StorageLensConfigurationList'
)
class MultiRegionAccessPointReport(BaseModel):
Alias: Optional[MultiRegionAccessPointAlias] = None
CreatedAt: Optional[CreationTimestamp] = None
Name: Optional[MultiRegionAccessPointName] = None
PublicAccessBlock: Optional[PublicAccessBlockConfiguration] = None
Regions: Optional[RegionReportList] = None
Status: Optional[MultiRegionAccessPointStatus] = None
class MultiRegionAccessPointReportList(RootModel[List[MultiRegionAccessPointReport]]):
root: List[MultiRegionAccessPointReport]
class ObjectLambdaAccessPoint(BaseModel):
Alias: Optional[ObjectLambdaAccessPointAlias] = None
Name: ObjectLambdaAccessPointName
ObjectLambdaAccessPointArn_1: Optional[ObjectLambdaAccessPointArn] = Field(
None, alias='ObjectLambdaAccessPointArn'
)
class ObjectLambdaAccessPointList(RootModel[List[ObjectLambdaAccessPoint]]):
root: List[ObjectLambdaAccessPoint]
class ObjectLambdaConfiguration(BaseModel):
AllowedFeatures: Optional[ObjectLambdaAllowedFeaturesList] = None
CloudWatchMetricsEnabled: Optional[Boolean] = None
SupportingAccessPoint: ObjectLambdaSupportingAccessPointArn
TransformationConfigurations: ObjectLambdaTransformationConfigurationsList
class PrefixLevelStorageMetrics(BaseModel):
IsEnabled_1: Optional[IsEnabled] = Field(None, alias='IsEnabled')
SelectionCriteria_1: Optional[SelectionCriteria] = Field(
None, alias='SelectionCriteria'
)
class PutAccessPointConfigurationForObjectLambdaRequest(BaseModel):
Configuration: ObjectLambdaConfiguration
class PutBucketTaggingRequest(BaseModel):
Tagging_1: Tagging = Field(..., alias='Tagging')
class PutJobTaggingRequest(BaseModel):
Tags: S3TagSet
class PutStorageLensConfigurationTaggingRequest(BaseModel):
Tags: StorageLensTags
class ReplicationRuleAndOperator(BaseModel):
Prefix_1: Optional[Prefix] = Field(None, alias='Prefix')
Tags: Optional[S3TagSet] = None
class ReplicationRuleFilter(BaseModel):
And: Optional[ReplicationRuleAndOperator] = None
Prefix_1: Optional[Prefix] = Field(None, alias='Prefix')
Tag: Optional[S3Tag] = None
class S3BucketDestination(BaseModel):
AccountId_1: AccountId = Field(..., alias='AccountId')
Arn: S3BucketArnString
Encryption: Optional[StorageLensDataExportEncryption] = None
Format_1: Format = Field(..., alias='Format')
OutputSchemaVersion_1: OutputSchemaVersion = Field(..., alias='OutputSchemaVersion')
Prefix_1: Optional[Prefix] = Field(None, alias='Prefix')
class S3Grant(BaseModel):
Grantee: Optional[S3Grantee] = None
Permission: Optional[S3Permission] = None
class S3GrantList(RootModel[List[S3Grant]]):
root: List[S3Grant]
class S3JobManifestGenerator(BaseModel):
EnableManifestOutput: Boolean
ExpectedBucketOwner: Optional[AccountId] = None
Filter: Optional[JobManifestGeneratorFilter] = None
ManifestOutputLocation: Optional[S3ManifestOutputLocation] = None
SourceBucket: S3BucketArnString
class S3SetObjectTaggingOperation(BaseModel):
TagSet: Optional[S3TagSet] = None
class SourceSelectionCriteria(BaseModel):
ReplicaModifications_1: Optional[ReplicaModifications] = Field(
None, alias='ReplicaModifications'
)
SseKmsEncryptedObjects_1: Optional[SseKmsEncryptedObjects] = Field(
None, alias='SseKmsEncryptedObjects'
)
class StorageLensDataExport(BaseModel):
CloudWatchMetrics_1: Optional[CloudWatchMetrics] = Field(
None, alias='CloudWatchMetrics'
)
S3BucketDestination_1: Optional[S3BucketDestination] = Field(
None, alias='S3BucketDestination'
)
class ManifestGenerator(BaseModel):
S3JobManifestGenerator_1: Optional[S3JobManifestGenerator] = Field(
None, alias='S3JobManifestGenerator'
)
class AsyncRequestParameters(BaseModel):
CreateMultiRegionAccessPointRequest: Optional[CreateMultiRegionAccessPointInput] = (
None
)
DeleteMultiRegionAccessPointRequest: Optional[DeleteMultiRegionAccessPointInput] = (
None
)
PutMultiRegionAccessPointPolicyRequest: Optional[
PutMultiRegionAccessPointPolicyInput
] = None
class CreateAccessPointForObjectLambdaRequest(BaseModel):
Configuration: ObjectLambdaConfiguration
class GetAccessPointConfigurationForObjectLambdaResult(BaseModel):
Configuration: Optional[ObjectLambdaConfiguration] = None
class GetMultiRegionAccessPointResult(BaseModel):
AccessPoint: Optional[MultiRegionAccessPointReport] = None
class JobManifestGenerator(BaseModel):
S3JobManifestGenerator_1: Optional[S3JobManifestGenerator] = Field(
None, alias='S3JobManifestGenerator'
)
class LifecycleRule(BaseModel):
AbortIncompleteMultipartUpload_1: Optional[AbortIncompleteMultipartUpload] = Field(
None, alias='AbortIncompleteMultipartUpload'
)
Expiration: Optional[LifecycleExpiration] = None
Filter: Optional[LifecycleRuleFilter] = None
ID_1: Optional[ID] = Field(None, alias='ID')
NoncurrentVersionExpiration_1: Optional[NoncurrentVersionExpiration] = Field(
None, alias='NoncurrentVersionExpiration'
)
NoncurrentVersionTransitions: Optional[NoncurrentVersionTransitionList] = None
Status: ExpirationStatus
Transitions: Optional[TransitionList] = None
class LifecycleRules(RootModel[List[LifecycleRule]]):
root: List[LifecycleRule]
class ListAccessPointsForObjectLambdaResult(BaseModel):
NextToken: Optional[NonEmptyMaxLength1024String] = None
ObjectLambdaAccessPointList_1: Optional[ObjectLambdaAccessPointList] = Field(
None, alias='ObjectLambdaAccessPointList'
)
class ListMultiRegionAccessPointsResult(BaseModel):
AccessPoints: Optional[MultiRegionAccessPointReportList] = None
NextToken: Optional[NonEmptyMaxLength1024String] = None
class PrefixLevel(BaseModel):
StorageMetrics: PrefixLevelStorageMetrics
class ReplicationRule(BaseModel):
Bucket: BucketIdentifierString
DeleteMarkerReplication_1: Optional[DeleteMarkerReplication] = Field(
None, alias='DeleteMarkerReplication'
)
Destination_1: Destination = Field(..., alias='Destination')
ExistingObjectReplication_1: Optional[ExistingObjectReplication] = Field(
None, alias='ExistingObjectReplication'
)
Filter: Optional[ReplicationRuleFilter] = None
ID_1: Optional[ID] = Field(None, alias='ID')
Prefix_1: Optional[Prefix] = Field(None, alias='Prefix')
Priority_1: Optional[Priority] = Field(None, alias='Priority')
SourceSelectionCriteria_1: Optional[SourceSelectionCriteria] = Field(
None, alias='SourceSelectionCriteria'
)
Status: ReplicationRuleStatus
class ReplicationRules(RootModel[List[ReplicationRule]]):
root: List[ReplicationRule]
class S3AccessControlList(BaseModel):
Grants: Optional[S3GrantList] = None
Owner: S3ObjectOwner
class S3AccessControlPolicy(BaseModel):
AccessControlList: Optional[S3AccessControlList] = None
CannedAccessControlList: Optional[S3CannedAccessControlList] = None
class S3CopyObjectOperation(BaseModel):
AccessControlGrants: Optional[S3GrantList] = None
BucketKeyEnabled: Optional[Boolean] = None
CannedAccessControlList: Optional[S3CannedAccessControlList] = None
ChecksumAlgorithm: Optional[S3ChecksumAlgorithm] = None
MetadataDirective: Optional[S3MetadataDirective] = None
ModifiedSinceConstraint: Optional[TimeStamp] = None
NewObjectMetadata: Optional[S3ObjectMetadata] = None
NewObjectTagging: Optional[S3TagSet] = None
ObjectLockLegalHoldStatus: Optional[S3ObjectLockLegalHoldStatus] = None
ObjectLockMode: Optional[S3ObjectLockMode] = None
ObjectLockRetainUntilDate: Optional[TimeStamp] = None
RedirectLocation: Optional[NonEmptyMaxLength2048String] = None
RequesterPays: Optional[Boolean] = None
SSEAwsKmsKeyId: Optional[KmsKeyArnString] = None
StorageClass: Optional[S3StorageClass] = None
TargetKeyPrefix: Optional[NonEmptyMaxLength1024String] = None
TargetResource: Optional[S3BucketArnString] = None
UnModifiedSinceConstraint: Optional[TimeStamp] = None
class S3SetObjectAclOperation(BaseModel):
AccessControlPolicy: Optional[S3AccessControlPolicy] = None
class LifecycleConfiguration(BaseModel):
Rules: Optional[LifecycleRules] = None
class V20180820BucketNameLifecycleconfigurationXAmzAccountIdPutRequest(BaseModel):
LifecycleConfiguration_1: Optional[LifecycleConfiguration] = Field(
None,
alias='LifecycleConfiguration',
description='The container for the Outposts bucket lifecycle configuration.',
)
class ReplicationConfiguration1(BaseModel):
Role_1: Optional[Role] = Field(None, alias='Role')
Rules: Optional[ReplicationRules] = None
class V20180820BucketNameReplicationXAmzAccountIdPutRequest(BaseModel):
ReplicationConfiguration: ReplicationConfiguration1 = Field(
...,
description='A container for one or more replication rules. A replication configuration must have at least one rule and you can add up to 100 rules. The maximum size of a replication configuration is 128 KB.',
)
class Operation(BaseModel):
LambdaInvoke: Optional[LambdaInvokeOperation] = None
S3DeleteObjectTagging: Optional[S3DeleteObjectTaggingOperation] = None
S3InitiateRestoreObject: Optional[S3InitiateRestoreObjectOperation] = None
S3PutObjectAcl: Optional[S3SetObjectAclOperation] = None
S3PutObjectCopy: Optional[S3CopyObjectOperation] = None
S3PutObjectLegalHold: Optional[S3SetObjectLegalHoldOperation] = None
S3PutObjectRetention: Optional[S3SetObjectRetentionOperation] = None
S3PutObjectTagging: Optional[S3SetObjectTaggingOperation] = None
S3ReplicateObject: Optional[S3ReplicateObjectOperation] = None
class V20180820JobsXAmzAccountIdPostRequest(BaseModel):
ClientRequestToken: constr(min_length=1, max_length=64) = Field(
...,
description="An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.",
)
ConfirmationRequired: Optional[bool] = Field(
None,
description='Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.',
)
Description: Optional[constr(min_length=1, max_length=256)] = Field(
None,
description="A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.",
)
Manifest_1: Optional[Manifest] = Field(
None,
alias='Manifest',
description="Contains the configuration information for a job's manifest.",
)
ManifestGenerator_1: Optional[ManifestGenerator] = Field(
None,
alias='ManifestGenerator',
description="Configures the type of the job's ManifestGenerator.",
)
Operation_1: Operation = Field(
...,
alias='Operation',
description='The operation that you want this job to perform on every object listed in the manifest. For more information about the available operations, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html">Operations</a> in the <i>Amazon S3 User Guide</i>.',
)
Priority: conint(ge=0, le=2147483647) = Field(
...,
description='The numerical priority for this job. Higher numbers indicate higher priority.',
)
Report_1: Report = Field(
...,
alias='Report',
description='Contains the configuration parameters for a job-completion report.',
)
RoleArn: constr(
pattern=r'arn:[^:]+:iam::\d{12}:role/.*', min_length=1, max_length=2048
) = Field(
...,
description="The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role that Batch Operations will use to run this job's action on every object in the manifest.",
)
Tags: Optional[List[S3Tag]] = Field(
None,
description='A set of tags to associate with the S3 Batch Operations job. This is an optional parameter. ',
)
class AsyncOperation(BaseModel):
CreationTime: Optional[AsyncCreationTimestamp] = None
Operation: Optional[AsyncOperationName] = None
RequestParameters: Optional[AsyncRequestParameters] = None
RequestStatus: Optional[AsyncRequestStatus] = None
RequestTokenARN: Optional[AsyncRequestTokenARN] = None
ResponseDetails: Optional[AsyncResponseDetails] = None
class BucketLevel(BaseModel):
ActivityMetrics_1: Optional[ActivityMetrics] = Field(None, alias='ActivityMetrics')
AdvancedCostOptimizationMetrics_1: Optional[AdvancedCostOptimizationMetrics] = (
Field(None, alias='AdvancedCostOptimizationMetrics')
)
AdvancedDataProtectionMetrics_1: Optional[AdvancedDataProtectionMetrics] = Field(
None, alias='AdvancedDataProtectionMetrics'
)
DetailedStatusCodesMetrics_1: Optional[DetailedStatusCodesMetrics] = Field(
None, alias='DetailedStatusCodesMetrics'
)
PrefixLevel_1: Optional[PrefixLevel] = Field(None, alias='PrefixLevel')
class DescribeMultiRegionAccessPointOperationResult(BaseModel):
AsyncOperation_1: Optional[AsyncOperation] = Field(None, alias='AsyncOperation')
class GetBucketLifecycleConfigurationResult(BaseModel):
Rules: Optional[LifecycleRules] = None
class JobOperation(BaseModel):
LambdaInvoke: Optional[LambdaInvokeOperation] = None
S3DeleteObjectTagging: Optional[S3DeleteObjectTaggingOperation] = None
S3InitiateRestoreObject: Optional[S3InitiateRestoreObjectOperation] = None
S3PutObjectAcl: Optional[S3SetObjectAclOperation] = None
S3PutObjectCopy: Optional[S3CopyObjectOperation] = None
S3PutObjectLegalHold: Optional[S3SetObjectLegalHoldOperation] = None
S3PutObjectRetention: Optional[S3SetObjectRetentionOperation] = None
S3PutObjectTagging: Optional[S3SetObjectTaggingOperation] = None
S3ReplicateObject: Optional[S3ReplicateObjectOperation] = None
class PutBucketLifecycleConfigurationRequest(BaseModel):
LifecycleConfiguration_1: Optional[LifecycleConfiguration] = Field(
None, alias='LifecycleConfiguration'
)
class ReplicationConfiguration(BaseModel):
Role_1: Role = Field(..., alias='Role')
Rules: ReplicationRules
class AccountLevel(BaseModel):
ActivityMetrics_1: Optional[ActivityMetrics] = Field(None, alias='ActivityMetrics')
AdvancedCostOptimizationMetrics_1: Optional[AdvancedCostOptimizationMetrics] = (
Field(None, alias='AdvancedCostOptimizationMetrics')
)
AdvancedDataProtectionMetrics_1: Optional[AdvancedDataProtectionMetrics] = Field(
None, alias='AdvancedDataProtectionMetrics'
)
BucketLevel_1: BucketLevel = Field(..., alias='BucketLevel')
DetailedStatusCodesMetrics_1: Optional[DetailedStatusCodesMetrics] = Field(
None, alias='DetailedStatusCodesMetrics'
)
class CreateJobRequest(BaseModel):
ClientRequestToken: NonEmptyMaxLength64String
ConfirmationRequired_1: Optional[ConfirmationRequired] = Field(
None, alias='ConfirmationRequired'
)
Description: Optional[NonEmptyMaxLength256String] = None
Manifest: Optional[JobManifest] = None
ManifestGenerator: Optional[JobManifestGenerator] = None
Operation: JobOperation
Priority: JobPriority
Report: JobReport
RoleArn: IAMRoleArn
Tags: Optional[S3TagSet] = None
class GetBucketReplicationResult(BaseModel):
ReplicationConfiguration_1: Optional[ReplicationConfiguration] = Field(
None, alias='ReplicationConfiguration'
)
class JobDescriptor(BaseModel):
ConfirmationRequired_1: Optional[ConfirmationRequired] = Field(
None, alias='ConfirmationRequired'
)
CreationTime: Optional[JobCreationTime] = None
Description: Optional[NonEmptyMaxLength256String] = None
FailureReasons: Optional[JobFailureList] = None
GeneratedManifestDescriptor: Optional[S3GeneratedManifestDescriptor] = None
JobArn_1: Optional[JobArn] = Field(None, alias='JobArn')
JobId_1: Optional[JobId] = Field(None, alias='JobId')
Manifest: Optional[JobManifest] = None
ManifestGenerator: Optional[JobManifestGenerator] = None
Operation: Optional[JobOperation] = None
Priority: Optional[JobPriority] = None
ProgressSummary: Optional[JobProgressSummary] = None
Report: Optional[JobReport] = None
RoleArn: Optional[IAMRoleArn] = None
Status: Optional[JobStatus] = None
StatusUpdateReason: Optional[JobStatusUpdateReason] = None
SuspendedCause_1: Optional[SuspendedCause] = Field(None, alias='SuspendedCause')
SuspendedDate_1: Optional[SuspendedDate] = Field(None, alias='SuspendedDate')
TerminationDate: Optional[JobTerminationDate] = None
class PutBucketReplicationRequest(BaseModel):
ReplicationConfiguration_1: ReplicationConfiguration = Field(
..., alias='ReplicationConfiguration'
)
class StorageLensConfiguration(BaseModel):
AccountLevel_1: AccountLevel = Field(..., alias='AccountLevel')
AwsOrg: Optional[StorageLensAwsOrg] = None
DataExport: Optional[StorageLensDataExport] = None
Exclude_1: Optional[Exclude] = Field(None, alias='Exclude')
Id: ConfigId
Include_1: Optional[Include] = Field(None, alias='Include')
IsEnabled_1: IsEnabled = Field(..., alias='IsEnabled')
StorageLensArn_1: Optional[StorageLensArn] = Field(None, alias='StorageLensArn')
class StorageLensConfiguration1(BaseModel):
AccountLevel_1: Optional[AccountLevel] = Field(None, alias='AccountLevel')
AwsOrg: Optional[StorageLensAwsOrg] = None
DataExport: Optional[StorageLensDataExport] = None
Exclude_1: Optional[Exclude] = Field(None, alias='Exclude')
Id: Optional[ConfigId] = None
Include_1: Optional[Include] = Field(None, alias='Include')
IsEnabled_1: Optional[IsEnabled] = Field(None, alias='IsEnabled')
StorageLensArn_1: Optional[StorageLensArn] = Field(None, alias='StorageLensArn')
class V20180820StoragelensStoragelensidXAmzAccountIdPutRequest(BaseModel):
StorageLensConfiguration: StorageLensConfiguration1 = Field(
..., description='A container for the Amazon S3 Storage Lens configuration.'
)
Tags: Optional[List[StorageLensTag]] = Field(
None,
description='<p>The tag set of the S3 Storage Lens configuration.</p> <note> <p>You can set up to a maximum of 50 tags.</p> </note>',
)
class DescribeJobResult(BaseModel):
Job: Optional[JobDescriptor] = None
class GetStorageLensConfigurationResult(BaseModel):
StorageLensConfiguration_1: Optional[StorageLensConfiguration] = Field(
None, alias='StorageLensConfiguration'
)
class PutStorageLensConfigurationRequest(BaseModel):
StorageLensConfiguration_1: StorageLensConfiguration = Field(
..., alias='StorageLensConfiguration'
)
Tags: Optional[StorageLensTags] = None