Skip to main content
Glama

AWS S3 Control MCP Server

by qingyun-wu
models.py72.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:&lt;Region&gt;:&lt;account-id&gt;:outpost/&lt;outpost-id&gt;/bucket/&lt;my-bucket-name&gt;</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

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/qingyun-wu/aws-s3-control'

If you have feedback or need assistance with the MCP directory API, please join our Discord server