From 1110808a9d39d4b808aef724c861a2e1a38d2a69 Mon Sep 17 00:00:00 2001 From: Devtools Arcadia <arcadia-devtools@yandex-team.ru> Date: Mon, 7 Feb 2022 18:08:42 +0300 Subject: intermediate changes ref:cde9a383711a11544ce7e107a78147fb96cc4029 --- .../aws-cpp-sdk-s3/include/aws/s3/S3ARN.h | 57 + .../aws-cpp-sdk-s3/include/aws/s3/S3Client.h | 11013 +++++++++++++++++++ .../aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h | 43 + .../include/aws/s3/S3ErrorMarshaller.h | 25 + .../aws-cpp-sdk-s3/include/aws/s3/S3Errors.h | 79 + .../aws-cpp-sdk-s3/include/aws/s3/S3Request.h | 44 + .../aws-cpp-sdk-s3/include/aws/s3/S3_EXPORTS.h | 29 + .../aws/s3/model/AbortIncompleteMultipartUpload.h | 76 + .../aws/s3/model/AbortMultipartUploadRequest.h | 450 + .../aws/s3/model/AbortMultipartUploadResult.h | 57 + .../include/aws/s3/model/AccelerateConfiguration.h | 82 + .../include/aws/s3/model/AccessControlPolicy.h | 125 + .../aws/s3/model/AccessControlTranslation.h | 97 + .../include/aws/s3/model/AnalyticsAndOperator.h | 145 + .../include/aws/s3/model/AnalyticsConfiguration.h | 177 + .../aws/s3/model/AnalyticsExportDestination.h | 78 + .../include/aws/s3/model/AnalyticsFilter.h | 167 + .../aws/s3/model/AnalyticsS3BucketDestination.h | 244 + .../aws/s3/model/AnalyticsS3ExportFileFormat.h | 30 + .../include/aws/s3/model/ArchiveStatus.h | 31 + .../aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h | 131 + .../include/aws/s3/model/BucketAccelerateStatus.h | 31 + .../include/aws/s3/model/BucketCannedACL.h | 33 + .../aws/s3/model/BucketLifecycleConfiguration.h | 93 + .../aws/s3/model/BucketLocationConstraint.h | 55 + .../include/aws/s3/model/BucketLoggingStatus.h | 66 + .../include/aws/s3/model/BucketLogsPermission.h | 32 + .../include/aws/s3/model/BucketVersioningStatus.h | 31 + .../include/aws/s3/model/CORSConfiguration.h | 101 + .../aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h | 342 + .../aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h | 446 + .../include/aws/s3/model/CSVOutput.h | 314 + .../aws/s3/model/CloudFunctionConfiguration.h | 215 + .../include/aws/s3/model/CommonPrefix.h | 92 + .../aws/s3/model/CompleteMultipartUploadRequest.h | 341 + .../aws/s3/model/CompleteMultipartUploadResult.h | 578 + .../aws/s3/model/CompletedMultipartUpload.h | 90 + .../include/aws/s3/model/CompletedPart.h | 116 + .../include/aws/s3/model/CompressionType.h | 32 + .../include/aws/s3/model/Condition.h | 224 + .../include/aws/s3/model/CopyObjectRequest.h | 2487 +++++ .../include/aws/s3/model/CopyObjectResult.h | 471 + .../include/aws/s3/model/CopyObjectResultDetails.h | 139 + .../include/aws/s3/model/CopyPartResult.h | 123 + .../aws/s3/model/CreateBucketConfiguration.h | 90 + .../include/aws/s3/model/CreateBucketRequest.h | 461 + .../include/aws/s3/model/CreateBucketResult.h | 91 + .../aws/s3/model/CreateMultipartUploadRequest.h | 1709 +++ .../aws/s3/model/CreateMultipartUploadResult.h | 687 ++ .../include/aws/s3/model/DefaultRetention.h | 142 + .../aws-cpp-sdk-s3/include/aws/s3/model/Delete.h | 117 + .../DeleteBucketAnalyticsConfigurationRequest.h | 239 + .../include/aws/s3/model/DeleteBucketCorsRequest.h | 203 + .../aws/s3/model/DeleteBucketEncryptionRequest.h | 203 + ...eBucketIntelligentTieringConfigurationRequest.h | 185 + .../DeleteBucketInventoryConfigurationRequest.h | 239 + .../aws/s3/model/DeleteBucketLifecycleRequest.h | 195 + .../DeleteBucketMetricsConfigurationRequest.h | 239 + .../model/DeleteBucketOwnershipControlsRequest.h | 203 + .../aws/s3/model/DeleteBucketPolicyRequest.h | 195 + .../aws/s3/model/DeleteBucketReplicationRequest.h | 195 + .../include/aws/s3/model/DeleteBucketRequest.h | 195 + .../aws/s3/model/DeleteBucketTaggingRequest.h | 195 + .../aws/s3/model/DeleteBucketWebsiteRequest.h | 195 + .../include/aws/s3/model/DeleteMarkerEntry.h | 230 + .../include/aws/s3/model/DeleteMarkerReplication.h | 99 + .../aws/s3/model/DeleteMarkerReplicationStatus.h | 31 + .../include/aws/s3/model/DeleteObjectRequest.h | 546 + .../include/aws/s3/model/DeleteObjectResult.h | 124 + .../aws/s3/model/DeleteObjectTaggingRequest.h | 427 + .../aws/s3/model/DeleteObjectTaggingResult.h | 77 + .../include/aws/s3/model/DeleteObjectsRequest.h | 499 + .../include/aws/s3/model/DeleteObjectsResult.h | 150 + .../aws/s3/model/DeletePublicAccessBlockRequest.h | 203 + .../include/aws/s3/model/DeletedObject.h | 224 + .../include/aws/s3/model/Destination.h | 469 + .../include/aws/s3/model/EncodingType.h | 30 + .../include/aws/s3/model/Encryption.h | 229 + .../include/aws/s3/model/EncryptionConfiguration.h | 137 + .../aws-cpp-sdk-s3/include/aws/s3/model/Error.h | 3100 ++++++ .../include/aws/s3/model/ErrorDocument.h | 88 + .../aws-cpp-sdk-s3/include/aws/s3/model/Event.h | 46 + .../aws/s3/model/ExistingObjectReplication.h | 82 + .../aws/s3/model/ExistingObjectReplicationStatus.h | 31 + .../include/aws/s3/model/ExpirationStatus.h | 31 + .../include/aws/s3/model/ExpressionType.h | 30 + .../include/aws/s3/model/FileHeaderInfo.h | 32 + .../include/aws/s3/model/FilterRule.h | 154 + .../include/aws/s3/model/FilterRuleName.h | 31 + .../GetBucketAccelerateConfigurationRequest.h | 203 + .../model/GetBucketAccelerateConfigurationResult.h | 67 + .../include/aws/s3/model/GetBucketAclRequest.h | 195 + .../include/aws/s3/model/GetBucketAclResult.h | 107 + .../model/GetBucketAnalyticsConfigurationRequest.h | 247 + .../model/GetBucketAnalyticsConfigurationResult.h | 67 + .../include/aws/s3/model/GetBucketCorsRequest.h | 195 + .../include/aws/s3/model/GetBucketCorsResult.h | 85 + .../aws/s3/model/GetBucketEncryptionRequest.h | 203 + .../aws/s3/model/GetBucketEncryptionResult.h | 57 + ...tBucketIntelligentTieringConfigurationRequest.h | 185 + ...etBucketIntelligentTieringConfigurationResult.h | 67 + .../model/GetBucketInventoryConfigurationRequest.h | 247 + .../model/GetBucketInventoryConfigurationResult.h | 67 + .../model/GetBucketLifecycleConfigurationRequest.h | 195 + .../model/GetBucketLifecycleConfigurationResult.h | 78 + .../aws/s3/model/GetBucketLocationRequest.h | 195 + .../include/aws/s3/model/GetBucketLocationResult.h | 87 + .../include/aws/s3/model/GetBucketLoggingRequest.h | 195 + .../include/aws/s3/model/GetBucketLoggingResult.h | 57 + .../model/GetBucketMetricsConfigurationRequest.h | 239 + .../s3/model/GetBucketMetricsConfigurationResult.h | 67 + .../GetBucketNotificationConfigurationRequest.h | 195 + .../GetBucketNotificationConfigurationResult.h | 184 + .../s3/model/GetBucketOwnershipControlsRequest.h | 203 + .../s3/model/GetBucketOwnershipControlsResult.h | 72 + .../include/aws/s3/model/GetBucketPolicyRequest.h | 195 + .../include/aws/s3/model/GetBucketPolicyResult.h | 56 + .../aws/s3/model/GetBucketPolicyStatusRequest.h | 203 + .../aws/s3/model/GetBucketPolicyStatusResult.h | 67 + .../aws/s3/model/GetBucketReplicationRequest.h | 195 + .../aws/s3/model/GetBucketReplicationResult.h | 57 + .../aws/s3/model/GetBucketRequestPaymentRequest.h | 195 + .../aws/s3/model/GetBucketRequestPaymentResult.h | 67 + .../include/aws/s3/model/GetBucketTaggingRequest.h | 195 + .../include/aws/s3/model/GetBucketTaggingResult.h | 78 + .../aws/s3/model/GetBucketVersioningRequest.h | 195 + .../aws/s3/model/GetBucketVersioningResult.h | 111 + .../include/aws/s3/model/GetBucketWebsiteRequest.h | 195 + .../include/aws/s3/model/GetBucketWebsiteResult.h | 180 + .../include/aws/s3/model/GetObjectAclRequest.h | 378 + .../include/aws/s3/model/GetObjectAclResult.h | 126 + .../aws/s3/model/GetObjectLegalHoldRequest.h | 386 + .../aws/s3/model/GetObjectLegalHoldResult.h | 67 + .../s3/model/GetObjectLockConfigurationRequest.h | 267 + .../s3/model/GetObjectLockConfigurationResult.h | 67 + .../include/aws/s3/model/GetObjectRequest.h | 1185 ++ .../include/aws/s3/model/GetObjectResult.h | 1239 +++ .../aws/s3/model/GetObjectRetentionRequest.h | 394 + .../aws/s3/model/GetObjectRetentionResult.h | 67 + .../include/aws/s3/model/GetObjectTaggingRequest.h | 427 + .../include/aws/s3/model/GetObjectTaggingResult.h | 117 + .../include/aws/s3/model/GetObjectTorrentRequest.h | 270 + .../include/aws/s3/model/GetObjectTorrentResult.h | 75 + .../aws/s3/model/GetPublicAccessBlockRequest.h | 203 + .../aws/s3/model/GetPublicAccessBlockResult.h | 72 + .../include/aws/s3/model/GlacierJobParameters.h | 78 + .../aws-cpp-sdk-s3/include/aws/s3/model/Grant.h | 113 + .../aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h | 319 + .../include/aws/s3/model/HeadBucketRequest.h | 339 + .../include/aws/s3/model/HeadObjectRequest.h | 935 ++ .../include/aws/s3/model/HeadObjectResult.h | 1433 +++ .../include/aws/s3/model/IndexDocument.h | 120 + .../include/aws/s3/model/Initiator.h | 141 + .../include/aws/s3/model/InputSerialization.h | 190 + .../aws/s3/model/IntelligentTieringAccessTier.h | 31 + .../aws/s3/model/IntelligentTieringAndOperator.h | 152 + .../aws/s3/model/IntelligentTieringConfiguration.h | 223 + .../aws/s3/model/IntelligentTieringFilter.h | 167 + .../aws/s3/model/IntelligentTieringStatus.h | 31 + .../include/aws/s3/model/InvalidObjectState.h | 90 + .../include/aws/s3/model/InventoryConfiguration.h | 340 + .../include/aws/s3/model/InventoryDestination.h | 85 + .../include/aws/s3/model/InventoryEncryption.h | 114 + .../include/aws/s3/model/InventoryFilter.h | 97 + .../include/aws/s3/model/InventoryFormat.h | 32 + .../include/aws/s3/model/InventoryFrequency.h | 31 + .../aws/s3/model/InventoryIncludedObjectVersions.h | 31 + .../include/aws/s3/model/InventoryOptionalField.h | 40 + .../aws/s3/model/InventoryS3BucketDestination.h | 285 + .../include/aws/s3/model/InventorySchedule.h | 79 + .../include/aws/s3/model/JSONInput.h | 79 + .../include/aws/s3/model/JSONOutput.h | 97 + .../aws-cpp-sdk-s3/include/aws/s3/model/JSONType.h | 31 + .../aws/s3/model/LambdaFunctionConfiguration.h | 218 + .../include/aws/s3/model/LifecycleConfiguration.h | 90 + .../include/aws/s3/model/LifecycleExpiration.h | 149 + .../include/aws/s3/model/LifecycleRule.h | 379 + .../aws/s3/model/LifecycleRuleAndOperator.h | 144 + .../include/aws/s3/model/LifecycleRuleFilter.h | 154 + .../ListBucketAnalyticsConfigurationsRequest.h | 247 + .../ListBucketAnalyticsConfigurationsResult.h | 207 + ...BucketIntelligentTieringConfigurationsRequest.h | 193 + ...tBucketIntelligentTieringConfigurationsResult.h | 207 + .../ListBucketInventoryConfigurationsRequest.h | 271 + .../ListBucketInventoryConfigurationsResult.h | 207 + .../model/ListBucketMetricsConfigurationsRequest.h | 263 + .../model/ListBucketMetricsConfigurationsResult.h | 207 + .../include/aws/s3/model/ListBucketsResult.h | 107 + .../aws/s3/model/ListMultipartUploadsRequest.h | 730 ++ .../aws/s3/model/ListMultipartUploadsResult.h | 549 + .../aws/s3/model/ListObjectVersionsRequest.h | 502 + .../aws/s3/model/ListObjectVersionsResult.h | 604 + .../include/aws/s3/model/ListObjectsRequest.h | 573 + .../include/aws/s3/model/ListObjectsResult.h | 509 + .../include/aws/s3/model/ListObjectsV2Request.h | 693 ++ .../include/aws/s3/model/ListObjectsV2Result.h | 726 ++ .../include/aws/s3/model/ListPartsRequest.h | 502 + .../include/aws/s3/model/ListPartsResult.h | 547 + .../include/aws/s3/model/LoggingEnabled.h | 238 + .../include/aws/s3/model/MFADelete.h | 31 + .../include/aws/s3/model/MFADeleteStatus.h | 31 + .../include/aws/s3/model/MetadataDirective.h | 31 + .../include/aws/s3/model/MetadataEntry.h | 132 + .../aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h | 120 + .../include/aws/s3/model/MetricsAndOperator.h | 137 + .../include/aws/s3/model/MetricsConfiguration.h | 142 + .../include/aws/s3/model/MetricsFilter.h | 172 + .../include/aws/s3/model/MetricsStatus.h | 31 + .../include/aws/s3/model/MultipartUpload.h | 273 + .../aws/s3/model/NoncurrentVersionExpiration.h | 90 + .../aws/s3/model/NoncurrentVersionTransition.h | 130 + .../aws/s3/model/NotificationConfiguration.h | 205 + .../s3/model/NotificationConfigurationDeprecated.h | 167 + .../aws/s3/model/NotificationConfigurationFilter.h | 70 + .../aws-cpp-sdk-s3/include/aws/s3/model/Object.h | 358 + .../include/aws/s3/model/ObjectCannedACL.h | 36 + .../include/aws/s3/model/ObjectIdentifier.h | 133 + .../include/aws/s3/model/ObjectLockConfiguration.h | 114 + .../include/aws/s3/model/ObjectLockEnabled.h | 30 + .../include/aws/s3/model/ObjectLockLegalHold.h | 78 + .../aws/s3/model/ObjectLockLegalHoldStatus.h | 31 + .../include/aws/s3/model/ObjectLockMode.h | 31 + .../include/aws/s3/model/ObjectLockRetention.h | 113 + .../include/aws/s3/model/ObjectLockRetentionMode.h | 31 + .../include/aws/s3/model/ObjectLockRule.h | 84 + .../include/aws/s3/model/ObjectOwnership.h | 31 + .../include/aws/s3/model/ObjectStorageClass.h | 37 + .../include/aws/s3/model/ObjectVersion.h | 333 + .../aws/s3/model/ObjectVersionStorageClass.h | 30 + .../include/aws/s3/model/OutputLocation.h | 85 + .../include/aws/s3/model/OutputSerialization.h | 114 + .../aws-cpp-sdk-s3/include/aws/s3/model/Owner.h | 132 + .../include/aws/s3/model/OwnerOverride.h | 30 + .../include/aws/s3/model/OwnershipControls.h | 90 + .../include/aws/s3/model/OwnershipControlsRule.h | 67 + .../include/aws/s3/model/ParquetInput.h | 41 + .../aws-cpp-sdk-s3/include/aws/s3/model/Part.h | 175 + .../aws-cpp-sdk-s3/include/aws/s3/model/Payer.h | 31 + .../include/aws/s3/model/Permission.h | 34 + .../include/aws/s3/model/PolicyStatus.h | 74 + .../aws-cpp-sdk-s3/include/aws/s3/model/Progress.h | 115 + .../include/aws/s3/model/ProgressEvent.h | 79 + .../aws-cpp-sdk-s3/include/aws/s3/model/Protocol.h | 31 + .../aws/s3/model/PublicAccessBlockConfiguration.h | 219 + .../PutBucketAccelerateConfigurationRequest.h | 230 + .../include/aws/s3/model/PutBucketAclRequest.h | 585 + .../model/PutBucketAnalyticsConfigurationRequest.h | 274 + .../include/aws/s3/model/PutBucketCorsRequest.h | 340 + .../aws/s3/model/PutBucketEncryptionRequest.h | 328 + ...tBucketIntelligentTieringConfigurationRequest.h | 220 + .../model/PutBucketInventoryConfigurationRequest.h | 274 + .../model/PutBucketLifecycleConfigurationRequest.h | 232 + .../include/aws/s3/model/PutBucketLoggingRequest.h | 292 + .../model/PutBucketMetricsConfigurationRequest.h | 274 + .../PutBucketNotificationConfigurationRequest.h | 218 + .../s3/model/PutBucketOwnershipControlsRequest.h | 306 + .../include/aws/s3/model/PutBucketPolicyRequest.h | 284 + .../aws/s3/model/PutBucketReplicationRequest.h | 348 + .../aws/s3/model/PutBucketRequestPaymentRequest.h | 316 + .../include/aws/s3/model/PutBucketTaggingRequest.h | 316 + .../aws/s3/model/PutBucketVersioningRequest.h | 368 + .../include/aws/s3/model/PutBucketWebsiteRequest.h | 316 + .../include/aws/s3/model/PutObjectAclRequest.h | 948 ++ .../include/aws/s3/model/PutObjectAclResult.h | 57 + .../aws/s3/model/PutObjectLegalHoldRequest.h | 481 + .../aws/s3/model/PutObjectLegalHoldResult.h | 57 + .../s3/model/PutObjectLockConfigurationRequest.h | 365 + .../s3/model/PutObjectLockConfigurationResult.h | 57 + .../include/aws/s3/model/PutObjectRequest.h | 1987 ++++ .../include/aws/s3/model/PutObjectResult.h | 480 + .../aws/s3/model/PutObjectRetentionRequest.h | 527 + .../aws/s3/model/PutObjectRetentionResult.h | 57 + .../include/aws/s3/model/PutObjectTaggingRequest.h | 524 + .../include/aws/s3/model/PutObjectTaggingResult.h | 77 + .../aws/s3/model/PutPublicAccessBlockRequest.h | 336 + .../include/aws/s3/model/QueueConfiguration.h | 195 + .../aws/s3/model/QueueConfigurationDeprecated.h | 174 + .../include/aws/s3/model/QuoteFields.h | 31 + .../include/aws/s3/model/RecordsEvent.h | 66 + .../aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h | 342 + .../include/aws/s3/model/RedirectAllRequestsTo.h | 130 + .../include/aws/s3/model/ReplicaModifications.h | 85 + .../aws/s3/model/ReplicaModificationsStatus.h | 31 + .../aws/s3/model/ReplicationConfiguration.h | 183 + .../include/aws/s3/model/ReplicationRule.h | 357 + .../aws/s3/model/ReplicationRuleAndOperator.h | 148 + .../include/aws/s3/model/ReplicationRuleFilter.h | 211 + .../include/aws/s3/model/ReplicationRuleStatus.h | 31 + .../include/aws/s3/model/ReplicationStatus.h | 33 + .../include/aws/s3/model/ReplicationTime.h | 122 + .../include/aws/s3/model/ReplicationTimeStatus.h | 31 + .../include/aws/s3/model/ReplicationTimeValue.h | 72 + .../include/aws/s3/model/RequestCharged.h | 30 + .../include/aws/s3/model/RequestPayer.h | 30 + .../aws/s3/model/RequestPaymentConfiguration.h | 78 + .../include/aws/s3/model/RequestProgress.h | 71 + .../include/aws/s3/model/RestoreObjectRequest.h | 473 + .../include/aws/s3/model/RestoreObjectResult.h | 103 + .../include/aws/s3/model/RestoreRequest.h | 301 + .../include/aws/s3/model/RestoreRequestType.h | 30 + .../include/aws/s3/model/RoutingRule.h | 153 + .../aws-cpp-sdk-s3/include/aws/s3/model/Rule.h | 358 + .../include/aws/s3/model/S3KeyFilter.h | 74 + .../include/aws/s3/model/S3Location.h | 352 + .../aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h | 105 + .../aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h | 42 + .../include/aws/s3/model/ScanRange.h | 130 + .../aws/s3/model/SelectObjectContentHandler.h | 76 + .../aws/s3/model/SelectObjectContentRequest.h | 745 ++ .../include/aws/s3/model/SelectParameters.h | 193 + .../include/aws/s3/model/ServerSideEncryption.h | 31 + .../aws/s3/model/ServerSideEncryptionByDefault.h | 248 + .../s3/model/ServerSideEncryptionConfiguration.h | 98 + .../aws/s3/model/ServerSideEncryptionRule.h | 139 + .../include/aws/s3/model/SourceSelectionCriteria.h | 172 + .../include/aws/s3/model/SseKmsEncryptedObjects.h | 91 + .../aws/s3/model/SseKmsEncryptedObjectsStatus.h | 31 + .../aws-cpp-sdk-s3/include/aws/s3/model/Stats.h | 114 + .../include/aws/s3/model/StatsEvent.h | 78 + .../include/aws/s3/model/StorageClass.h | 37 + .../include/aws/s3/model/StorageClassAnalysis.h | 86 + .../aws/s3/model/StorageClassAnalysisDataExport.h | 120 + .../s3/model/StorageClassAnalysisSchemaVersion.h | 30 + .../aws-cpp-sdk-s3/include/aws/s3/model/Tag.h | 132 + .../aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h | 89 + .../include/aws/s3/model/TaggingDirective.h | 31 + .../include/aws/s3/model/TargetGrant.h | 113 + .../aws-cpp-sdk-s3/include/aws/s3/model/Tier.h | 32 + .../aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h | 144 + .../include/aws/s3/model/TopicConfiguration.h | 219 + .../aws/s3/model/TopicConfigurationDeprecated.h | 174 + .../include/aws/s3/model/Transition.h | 151 + .../include/aws/s3/model/TransitionStorageClass.h | 34 + .../aws-cpp-sdk-s3/include/aws/s3/model/Type.h | 32 + .../include/aws/s3/model/UploadPartCopyRequest.h | 1447 +++ .../include/aws/s3/model/UploadPartCopyResult.h | 343 + .../include/aws/s3/model/UploadPartRequest.h | 770 ++ .../include/aws/s3/model/UploadPartResult.h | 307 + .../include/aws/s3/model/VersioningConfiguration.h | 135 + .../include/aws/s3/model/WebsiteConfiguration.h | 207 + 340 files changed, 85961 insertions(+) create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ErrorMarshaller.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3_EXPORTS.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3ExportFileFormat.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ArchiveStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketAccelerateStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketCannedACL.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLogsPermission.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketVersioningStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompressionType.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplicationStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncodingType.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplicationStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpirationStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpressionType.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FileHeaderInfo.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRuleName.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAccessTier.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFormat.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFrequency.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryIncludedObjectVersions.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONType.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADelete.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADeleteStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataDirective.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectCannedACL.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockEnabled.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHoldStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockMode.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetentionMode.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersionStorageClass.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnerOverride.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Payer.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Permission.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Protocol.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QuoteFields.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModificationsStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestCharged.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPayer.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequestType.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryption.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjectsStatus.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisSchemaVersion.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TaggingDirective.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tier.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Type.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h create mode 100644 contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3') diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h new file mode 100644 index 0000000000..4d6cb56867 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ARN.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include <aws/s3/S3_EXPORTS.h> + +#include <aws/core/client/AWSError.h> +#include <aws/core/utils/ARN.h> +#include <aws/s3/S3Errors.h> + +namespace Aws +{ + namespace Utils + { + template<typename R, typename E> class Outcome; + } + + namespace S3 + { + namespace ARNResourceType + { + static const char ACCESSPOINT[] = "accesspoint"; + static const char OUTPOST[] = "outpost"; + } + + typedef Aws::Utils::Outcome<bool, Aws::Client::AWSError<S3Errors>> S3ARNOutcome; + + class AWS_S3_API S3ARN : public Aws::Utils::ARN + { + public: + S3ARN(const Aws::String& arn); + + const Aws::String& GetResourceType() const { return m_resourceType; } + const Aws::String& GetResourceId() const { return m_resourceId; } + const Aws::String& GetSubResourceType() const { return m_subResourceType; } + const Aws::String& GetSubResourceId() const { return m_subResourceId; } + const Aws::String& GetResourceQualifier() const { return m_resourceQualifier; } + + // Check if S3ARN is valid. + S3ARNOutcome Validate() const; + // Check if S3ARN is valid, and especially, ARN region should match the region specified. + S3ARNOutcome Validate(const char* region) const; + + private: + void ParseARNResource(); + + Aws::String m_resourceType; + Aws::String m_resourceId; + Aws::String m_subResourceType; + Aws::String m_subResourceId; + Aws::String m_resourceQualifier; + }; + } +} diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h new file mode 100644 index 0000000000..9c83c0ac1e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Client.h @@ -0,0 +1,11013 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Errors.h> +#include <aws/core/client/AWSError.h> +#include <aws/core/client/ClientConfiguration.h> +#include <aws/core/client/AWSClient.h> +#include <aws/core/auth/AWSAuthSigner.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/utils/DNS.h> +#include <aws/s3/model/AbortMultipartUploadResult.h> +#include <aws/s3/model/CompleteMultipartUploadResult.h> +#include <aws/s3/model/CopyObjectResult.h> +#include <aws/s3/model/CreateBucketResult.h> +#include <aws/s3/model/CreateMultipartUploadResult.h> +#include <aws/s3/model/DeleteObjectResult.h> +#include <aws/s3/model/DeleteObjectTaggingResult.h> +#include <aws/s3/model/DeleteObjectsResult.h> +#include <aws/s3/model/GetBucketAccelerateConfigurationResult.h> +#include <aws/s3/model/GetBucketAclResult.h> +#include <aws/s3/model/GetBucketAnalyticsConfigurationResult.h> +#include <aws/s3/model/GetBucketCorsResult.h> +#include <aws/s3/model/GetBucketEncryptionResult.h> +#include <aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h> +#include <aws/s3/model/GetBucketInventoryConfigurationResult.h> +#include <aws/s3/model/GetBucketLifecycleConfigurationResult.h> +#include <aws/s3/model/GetBucketLocationResult.h> +#include <aws/s3/model/GetBucketLoggingResult.h> +#include <aws/s3/model/GetBucketMetricsConfigurationResult.h> +#include <aws/s3/model/GetBucketNotificationConfigurationResult.h> +#include <aws/s3/model/GetBucketOwnershipControlsResult.h> +#include <aws/s3/model/GetBucketPolicyResult.h> +#include <aws/s3/model/GetBucketPolicyStatusResult.h> +#include <aws/s3/model/GetBucketReplicationResult.h> +#include <aws/s3/model/GetBucketRequestPaymentResult.h> +#include <aws/s3/model/GetBucketTaggingResult.h> +#include <aws/s3/model/GetBucketVersioningResult.h> +#include <aws/s3/model/GetBucketWebsiteResult.h> +#include <aws/s3/model/GetObjectResult.h> +#include <aws/s3/model/GetObjectAclResult.h> +#include <aws/s3/model/GetObjectLegalHoldResult.h> +#include <aws/s3/model/GetObjectLockConfigurationResult.h> +#include <aws/s3/model/GetObjectRetentionResult.h> +#include <aws/s3/model/GetObjectTaggingResult.h> +#include <aws/s3/model/GetObjectTorrentResult.h> +#include <aws/s3/model/GetPublicAccessBlockResult.h> +#include <aws/s3/model/HeadObjectResult.h> +#include <aws/s3/model/ListBucketAnalyticsConfigurationsResult.h> +#include <aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h> +#include <aws/s3/model/ListBucketInventoryConfigurationsResult.h> +#include <aws/s3/model/ListBucketMetricsConfigurationsResult.h> +#include <aws/s3/model/ListBucketsResult.h> +#include <aws/s3/model/ListMultipartUploadsResult.h> +#include <aws/s3/model/ListObjectVersionsResult.h> +#include <aws/s3/model/ListObjectsResult.h> +#include <aws/s3/model/ListObjectsV2Result.h> +#include <aws/s3/model/ListPartsResult.h> +#include <aws/s3/model/PutObjectResult.h> +#include <aws/s3/model/PutObjectAclResult.h> +#include <aws/s3/model/PutObjectLegalHoldResult.h> +#include <aws/s3/model/PutObjectLockConfigurationResult.h> +#include <aws/s3/model/PutObjectRetentionResult.h> +#include <aws/s3/model/PutObjectTaggingResult.h> +#include <aws/s3/model/RestoreObjectResult.h> +#include <aws/s3/model/UploadPartResult.h> +#include <aws/s3/model/UploadPartCopyResult.h> +#include <aws/core/NoResult.h> +#include <aws/core/client/AsyncCallerContext.h> +#include <aws/core/http/HttpTypes.h> +#include <future> +#include <functional> +namespace Aws +{ + + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + + namespace Xml + { + class XmlDocument; + } // namespace Xml + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace S3 + { + namespace Model + { + class AbortMultipartUploadRequest; + class CompleteMultipartUploadRequest; + class CopyObjectRequest; + class CreateBucketRequest; + class CreateMultipartUploadRequest; + class DeleteBucketRequest; + class DeleteBucketAnalyticsConfigurationRequest; + class DeleteBucketCorsRequest; + class DeleteBucketEncryptionRequest; + class DeleteBucketIntelligentTieringConfigurationRequest; + class DeleteBucketInventoryConfigurationRequest; + class DeleteBucketLifecycleRequest; + class DeleteBucketMetricsConfigurationRequest; + class DeleteBucketOwnershipControlsRequest; + class DeleteBucketPolicyRequest; + class DeleteBucketReplicationRequest; + class DeleteBucketTaggingRequest; + class DeleteBucketWebsiteRequest; + class DeleteObjectRequest; + class DeleteObjectTaggingRequest; + class DeleteObjectsRequest; + class DeletePublicAccessBlockRequest; + class GetBucketAccelerateConfigurationRequest; + class GetBucketAclRequest; + class GetBucketAnalyticsConfigurationRequest; + class GetBucketCorsRequest; + class GetBucketEncryptionRequest; + class GetBucketIntelligentTieringConfigurationRequest; + class GetBucketInventoryConfigurationRequest; + class GetBucketLifecycleConfigurationRequest; + class GetBucketLocationRequest; + class GetBucketLoggingRequest; + class GetBucketMetricsConfigurationRequest; + class GetBucketNotificationConfigurationRequest; + class GetBucketOwnershipControlsRequest; + class GetBucketPolicyRequest; + class GetBucketPolicyStatusRequest; + class GetBucketReplicationRequest; + class GetBucketRequestPaymentRequest; + class GetBucketTaggingRequest; + class GetBucketVersioningRequest; + class GetBucketWebsiteRequest; + class GetObjectRequest; + class GetObjectAclRequest; + class GetObjectLegalHoldRequest; + class GetObjectLockConfigurationRequest; + class GetObjectRetentionRequest; + class GetObjectTaggingRequest; + class GetObjectTorrentRequest; + class GetPublicAccessBlockRequest; + class HeadBucketRequest; + class HeadObjectRequest; + class ListBucketAnalyticsConfigurationsRequest; + class ListBucketIntelligentTieringConfigurationsRequest; + class ListBucketInventoryConfigurationsRequest; + class ListBucketMetricsConfigurationsRequest; + class ListMultipartUploadsRequest; + class ListObjectVersionsRequest; + class ListObjectsRequest; + class ListObjectsV2Request; + class ListPartsRequest; + class PutBucketAccelerateConfigurationRequest; + class PutBucketAclRequest; + class PutBucketAnalyticsConfigurationRequest; + class PutBucketCorsRequest; + class PutBucketEncryptionRequest; + class PutBucketIntelligentTieringConfigurationRequest; + class PutBucketInventoryConfigurationRequest; + class PutBucketLifecycleConfigurationRequest; + class PutBucketLoggingRequest; + class PutBucketMetricsConfigurationRequest; + class PutBucketNotificationConfigurationRequest; + class PutBucketOwnershipControlsRequest; + class PutBucketPolicyRequest; + class PutBucketReplicationRequest; + class PutBucketRequestPaymentRequest; + class PutBucketTaggingRequest; + class PutBucketVersioningRequest; + class PutBucketWebsiteRequest; + class PutObjectRequest; + class PutObjectAclRequest; + class PutObjectLegalHoldRequest; + class PutObjectLockConfigurationRequest; + class PutObjectRetentionRequest; + class PutObjectTaggingRequest; + class PutPublicAccessBlockRequest; + class RestoreObjectRequest; + class SelectObjectContentRequest; + class UploadPartRequest; + class UploadPartCopyRequest; + + typedef Aws::Utils::Outcome<AbortMultipartUploadResult, S3Error> AbortMultipartUploadOutcome; + typedef Aws::Utils::Outcome<CompleteMultipartUploadResult, S3Error> CompleteMultipartUploadOutcome; + typedef Aws::Utils::Outcome<CopyObjectResult, S3Error> CopyObjectOutcome; + typedef Aws::Utils::Outcome<CreateBucketResult, S3Error> CreateBucketOutcome; + typedef Aws::Utils::Outcome<CreateMultipartUploadResult, S3Error> CreateMultipartUploadOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketAnalyticsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketCorsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketEncryptionOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketIntelligentTieringConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketInventoryConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketLifecycleOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketMetricsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketOwnershipControlsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketPolicyOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketReplicationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketTaggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeleteBucketWebsiteOutcome; + typedef Aws::Utils::Outcome<DeleteObjectResult, S3Error> DeleteObjectOutcome; + typedef Aws::Utils::Outcome<DeleteObjectTaggingResult, S3Error> DeleteObjectTaggingOutcome; + typedef Aws::Utils::Outcome<DeleteObjectsResult, S3Error> DeleteObjectsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> DeletePublicAccessBlockOutcome; + typedef Aws::Utils::Outcome<GetBucketAccelerateConfigurationResult, S3Error> GetBucketAccelerateConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketAclResult, S3Error> GetBucketAclOutcome; + typedef Aws::Utils::Outcome<GetBucketAnalyticsConfigurationResult, S3Error> GetBucketAnalyticsConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketCorsResult, S3Error> GetBucketCorsOutcome; + typedef Aws::Utils::Outcome<GetBucketEncryptionResult, S3Error> GetBucketEncryptionOutcome; + typedef Aws::Utils::Outcome<GetBucketIntelligentTieringConfigurationResult, S3Error> GetBucketIntelligentTieringConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketInventoryConfigurationResult, S3Error> GetBucketInventoryConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketLifecycleConfigurationResult, S3Error> GetBucketLifecycleConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketLocationResult, S3Error> GetBucketLocationOutcome; + typedef Aws::Utils::Outcome<GetBucketLoggingResult, S3Error> GetBucketLoggingOutcome; + typedef Aws::Utils::Outcome<GetBucketMetricsConfigurationResult, S3Error> GetBucketMetricsConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketNotificationConfigurationResult, S3Error> GetBucketNotificationConfigurationOutcome; + typedef Aws::Utils::Outcome<GetBucketOwnershipControlsResult, S3Error> GetBucketOwnershipControlsOutcome; + typedef Aws::Utils::Outcome<GetBucketPolicyResult, S3Error> GetBucketPolicyOutcome; + typedef Aws::Utils::Outcome<GetBucketPolicyStatusResult, S3Error> GetBucketPolicyStatusOutcome; + typedef Aws::Utils::Outcome<GetBucketReplicationResult, S3Error> GetBucketReplicationOutcome; + typedef Aws::Utils::Outcome<GetBucketRequestPaymentResult, S3Error> GetBucketRequestPaymentOutcome; + typedef Aws::Utils::Outcome<GetBucketTaggingResult, S3Error> GetBucketTaggingOutcome; + typedef Aws::Utils::Outcome<GetBucketVersioningResult, S3Error> GetBucketVersioningOutcome; + typedef Aws::Utils::Outcome<GetBucketWebsiteResult, S3Error> GetBucketWebsiteOutcome; + typedef Aws::Utils::Outcome<GetObjectResult, S3Error> GetObjectOutcome; + typedef Aws::Utils::Outcome<GetObjectAclResult, S3Error> GetObjectAclOutcome; + typedef Aws::Utils::Outcome<GetObjectLegalHoldResult, S3Error> GetObjectLegalHoldOutcome; + typedef Aws::Utils::Outcome<GetObjectLockConfigurationResult, S3Error> GetObjectLockConfigurationOutcome; + typedef Aws::Utils::Outcome<GetObjectRetentionResult, S3Error> GetObjectRetentionOutcome; + typedef Aws::Utils::Outcome<GetObjectTaggingResult, S3Error> GetObjectTaggingOutcome; + typedef Aws::Utils::Outcome<GetObjectTorrentResult, S3Error> GetObjectTorrentOutcome; + typedef Aws::Utils::Outcome<GetPublicAccessBlockResult, S3Error> GetPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> HeadBucketOutcome; + typedef Aws::Utils::Outcome<HeadObjectResult, S3Error> HeadObjectOutcome; + typedef Aws::Utils::Outcome<ListBucketAnalyticsConfigurationsResult, S3Error> ListBucketAnalyticsConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketIntelligentTieringConfigurationsResult, S3Error> ListBucketIntelligentTieringConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketInventoryConfigurationsResult, S3Error> ListBucketInventoryConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketMetricsConfigurationsResult, S3Error> ListBucketMetricsConfigurationsOutcome; + typedef Aws::Utils::Outcome<ListBucketsResult, S3Error> ListBucketsOutcome; + typedef Aws::Utils::Outcome<ListMultipartUploadsResult, S3Error> ListMultipartUploadsOutcome; + typedef Aws::Utils::Outcome<ListObjectVersionsResult, S3Error> ListObjectVersionsOutcome; + typedef Aws::Utils::Outcome<ListObjectsResult, S3Error> ListObjectsOutcome; + typedef Aws::Utils::Outcome<ListObjectsV2Result, S3Error> ListObjectsV2Outcome; + typedef Aws::Utils::Outcome<ListPartsResult, S3Error> ListPartsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAccelerateConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAclOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketAnalyticsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketCorsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketEncryptionOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketIntelligentTieringConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketInventoryConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLifecycleConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketLoggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketMetricsConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketNotificationConfigurationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketOwnershipControlsOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketPolicyOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketReplicationOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketRequestPaymentOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketTaggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketVersioningOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutBucketWebsiteOutcome; + typedef Aws::Utils::Outcome<PutObjectResult, S3Error> PutObjectOutcome; + typedef Aws::Utils::Outcome<PutObjectAclResult, S3Error> PutObjectAclOutcome; + typedef Aws::Utils::Outcome<PutObjectLegalHoldResult, S3Error> PutObjectLegalHoldOutcome; + typedef Aws::Utils::Outcome<PutObjectLockConfigurationResult, S3Error> PutObjectLockConfigurationOutcome; + typedef Aws::Utils::Outcome<PutObjectRetentionResult, S3Error> PutObjectRetentionOutcome; + typedef Aws::Utils::Outcome<PutObjectTaggingResult, S3Error> PutObjectTaggingOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> PutPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome<RestoreObjectResult, S3Error> RestoreObjectOutcome; + typedef Aws::Utils::Outcome<Aws::NoResult, S3Error> SelectObjectContentOutcome; + typedef Aws::Utils::Outcome<UploadPartResult, S3Error> UploadPartOutcome; + typedef Aws::Utils::Outcome<UploadPartCopyResult, S3Error> UploadPartCopyOutcome; + + typedef std::future<AbortMultipartUploadOutcome> AbortMultipartUploadOutcomeCallable; + typedef std::future<CompleteMultipartUploadOutcome> CompleteMultipartUploadOutcomeCallable; + typedef std::future<CopyObjectOutcome> CopyObjectOutcomeCallable; + typedef std::future<CreateBucketOutcome> CreateBucketOutcomeCallable; + typedef std::future<CreateMultipartUploadOutcome> CreateMultipartUploadOutcomeCallable; + typedef std::future<DeleteBucketOutcome> DeleteBucketOutcomeCallable; + typedef std::future<DeleteBucketAnalyticsConfigurationOutcome> DeleteBucketAnalyticsConfigurationOutcomeCallable; + typedef std::future<DeleteBucketCorsOutcome> DeleteBucketCorsOutcomeCallable; + typedef std::future<DeleteBucketEncryptionOutcome> DeleteBucketEncryptionOutcomeCallable; + typedef std::future<DeleteBucketIntelligentTieringConfigurationOutcome> DeleteBucketIntelligentTieringConfigurationOutcomeCallable; + typedef std::future<DeleteBucketInventoryConfigurationOutcome> DeleteBucketInventoryConfigurationOutcomeCallable; + typedef std::future<DeleteBucketLifecycleOutcome> DeleteBucketLifecycleOutcomeCallable; + typedef std::future<DeleteBucketMetricsConfigurationOutcome> DeleteBucketMetricsConfigurationOutcomeCallable; + typedef std::future<DeleteBucketOwnershipControlsOutcome> DeleteBucketOwnershipControlsOutcomeCallable; + typedef std::future<DeleteBucketPolicyOutcome> DeleteBucketPolicyOutcomeCallable; + typedef std::future<DeleteBucketReplicationOutcome> DeleteBucketReplicationOutcomeCallable; + typedef std::future<DeleteBucketTaggingOutcome> DeleteBucketTaggingOutcomeCallable; + typedef std::future<DeleteBucketWebsiteOutcome> DeleteBucketWebsiteOutcomeCallable; + typedef std::future<DeleteObjectOutcome> DeleteObjectOutcomeCallable; + typedef std::future<DeleteObjectTaggingOutcome> DeleteObjectTaggingOutcomeCallable; + typedef std::future<DeleteObjectsOutcome> DeleteObjectsOutcomeCallable; + typedef std::future<DeletePublicAccessBlockOutcome> DeletePublicAccessBlockOutcomeCallable; + typedef std::future<GetBucketAccelerateConfigurationOutcome> GetBucketAccelerateConfigurationOutcomeCallable; + typedef std::future<GetBucketAclOutcome> GetBucketAclOutcomeCallable; + typedef std::future<GetBucketAnalyticsConfigurationOutcome> GetBucketAnalyticsConfigurationOutcomeCallable; + typedef std::future<GetBucketCorsOutcome> GetBucketCorsOutcomeCallable; + typedef std::future<GetBucketEncryptionOutcome> GetBucketEncryptionOutcomeCallable; + typedef std::future<GetBucketIntelligentTieringConfigurationOutcome> GetBucketIntelligentTieringConfigurationOutcomeCallable; + typedef std::future<GetBucketInventoryConfigurationOutcome> GetBucketInventoryConfigurationOutcomeCallable; + typedef std::future<GetBucketLifecycleConfigurationOutcome> GetBucketLifecycleConfigurationOutcomeCallable; + typedef std::future<GetBucketLocationOutcome> GetBucketLocationOutcomeCallable; + typedef std::future<GetBucketLoggingOutcome> GetBucketLoggingOutcomeCallable; + typedef std::future<GetBucketMetricsConfigurationOutcome> GetBucketMetricsConfigurationOutcomeCallable; + typedef std::future<GetBucketNotificationConfigurationOutcome> GetBucketNotificationConfigurationOutcomeCallable; + typedef std::future<GetBucketOwnershipControlsOutcome> GetBucketOwnershipControlsOutcomeCallable; + typedef std::future<GetBucketPolicyOutcome> GetBucketPolicyOutcomeCallable; + typedef std::future<GetBucketPolicyStatusOutcome> GetBucketPolicyStatusOutcomeCallable; + typedef std::future<GetBucketReplicationOutcome> GetBucketReplicationOutcomeCallable; + typedef std::future<GetBucketRequestPaymentOutcome> GetBucketRequestPaymentOutcomeCallable; + typedef std::future<GetBucketTaggingOutcome> GetBucketTaggingOutcomeCallable; + typedef std::future<GetBucketVersioningOutcome> GetBucketVersioningOutcomeCallable; + typedef std::future<GetBucketWebsiteOutcome> GetBucketWebsiteOutcomeCallable; + typedef std::future<GetObjectOutcome> GetObjectOutcomeCallable; + typedef std::future<GetObjectAclOutcome> GetObjectAclOutcomeCallable; + typedef std::future<GetObjectLegalHoldOutcome> GetObjectLegalHoldOutcomeCallable; + typedef std::future<GetObjectLockConfigurationOutcome> GetObjectLockConfigurationOutcomeCallable; + typedef std::future<GetObjectRetentionOutcome> GetObjectRetentionOutcomeCallable; + typedef std::future<GetObjectTaggingOutcome> GetObjectTaggingOutcomeCallable; + typedef std::future<GetObjectTorrentOutcome> GetObjectTorrentOutcomeCallable; + typedef std::future<GetPublicAccessBlockOutcome> GetPublicAccessBlockOutcomeCallable; + typedef std::future<HeadBucketOutcome> HeadBucketOutcomeCallable; + typedef std::future<HeadObjectOutcome> HeadObjectOutcomeCallable; + typedef std::future<ListBucketAnalyticsConfigurationsOutcome> ListBucketAnalyticsConfigurationsOutcomeCallable; + typedef std::future<ListBucketIntelligentTieringConfigurationsOutcome> ListBucketIntelligentTieringConfigurationsOutcomeCallable; + typedef std::future<ListBucketInventoryConfigurationsOutcome> ListBucketInventoryConfigurationsOutcomeCallable; + typedef std::future<ListBucketMetricsConfigurationsOutcome> ListBucketMetricsConfigurationsOutcomeCallable; + typedef std::future<ListBucketsOutcome> ListBucketsOutcomeCallable; + typedef std::future<ListMultipartUploadsOutcome> ListMultipartUploadsOutcomeCallable; + typedef std::future<ListObjectVersionsOutcome> ListObjectVersionsOutcomeCallable; + typedef std::future<ListObjectsOutcome> ListObjectsOutcomeCallable; + typedef std::future<ListObjectsV2Outcome> ListObjectsV2OutcomeCallable; + typedef std::future<ListPartsOutcome> ListPartsOutcomeCallable; + typedef std::future<PutBucketAccelerateConfigurationOutcome> PutBucketAccelerateConfigurationOutcomeCallable; + typedef std::future<PutBucketAclOutcome> PutBucketAclOutcomeCallable; + typedef std::future<PutBucketAnalyticsConfigurationOutcome> PutBucketAnalyticsConfigurationOutcomeCallable; + typedef std::future<PutBucketCorsOutcome> PutBucketCorsOutcomeCallable; + typedef std::future<PutBucketEncryptionOutcome> PutBucketEncryptionOutcomeCallable; + typedef std::future<PutBucketIntelligentTieringConfigurationOutcome> PutBucketIntelligentTieringConfigurationOutcomeCallable; + typedef std::future<PutBucketInventoryConfigurationOutcome> PutBucketInventoryConfigurationOutcomeCallable; + typedef std::future<PutBucketLifecycleConfigurationOutcome> PutBucketLifecycleConfigurationOutcomeCallable; + typedef std::future<PutBucketLoggingOutcome> PutBucketLoggingOutcomeCallable; + typedef std::future<PutBucketMetricsConfigurationOutcome> PutBucketMetricsConfigurationOutcomeCallable; + typedef std::future<PutBucketNotificationConfigurationOutcome> PutBucketNotificationConfigurationOutcomeCallable; + typedef std::future<PutBucketOwnershipControlsOutcome> PutBucketOwnershipControlsOutcomeCallable; + typedef std::future<PutBucketPolicyOutcome> PutBucketPolicyOutcomeCallable; + typedef std::future<PutBucketReplicationOutcome> PutBucketReplicationOutcomeCallable; + typedef std::future<PutBucketRequestPaymentOutcome> PutBucketRequestPaymentOutcomeCallable; + typedef std::future<PutBucketTaggingOutcome> PutBucketTaggingOutcomeCallable; + typedef std::future<PutBucketVersioningOutcome> PutBucketVersioningOutcomeCallable; + typedef std::future<PutBucketWebsiteOutcome> PutBucketWebsiteOutcomeCallable; + typedef std::future<PutObjectOutcome> PutObjectOutcomeCallable; + typedef std::future<PutObjectAclOutcome> PutObjectAclOutcomeCallable; + typedef std::future<PutObjectLegalHoldOutcome> PutObjectLegalHoldOutcomeCallable; + typedef std::future<PutObjectLockConfigurationOutcome> PutObjectLockConfigurationOutcomeCallable; + typedef std::future<PutObjectRetentionOutcome> PutObjectRetentionOutcomeCallable; + typedef std::future<PutObjectTaggingOutcome> PutObjectTaggingOutcomeCallable; + typedef std::future<PutPublicAccessBlockOutcome> PutPublicAccessBlockOutcomeCallable; + typedef std::future<RestoreObjectOutcome> RestoreObjectOutcomeCallable; + typedef std::future<SelectObjectContentOutcome> SelectObjectContentOutcomeCallable; + typedef std::future<UploadPartOutcome> UploadPartOutcomeCallable; + typedef std::future<UploadPartCopyOutcome> UploadPartCopyOutcomeCallable; + } // namespace Model + + namespace SSEHeaders + { + static const char SERVER_SIDE_ENCRYPTION[] = "x-amz-server-side-encryption"; + static const char SERVER_SIDE_ENCRYPTION_AWS_KMS_KEY_ID[] = "x-amz-server-side-encryption-aws-kms-key-id"; + static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_ALGORITHM[] = "x-amz-server-side-encryption-customer-algorithm"; + static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY[] = "x-amz-server-side-encryption-customer-key"; + static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5[] = "x-amz-server-side-encryption-customer-key-MD5"; + } // SS3Headers + + class S3Client; + + typedef std::function<void(const S3Client*, const Model::AbortMultipartUploadRequest&, const Model::AbortMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AbortMultipartUploadResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CompleteMultipartUploadRequest&, const Model::CompleteMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CompleteMultipartUploadResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CopyObjectRequest&, const Model::CopyObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CopyObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CreateBucketRequest&, const Model::CreateBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBucketResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::CreateMultipartUploadRequest&, const Model::CreateMultipartUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateMultipartUploadResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketRequest&, const Model::DeleteBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketAnalyticsConfigurationRequest&, const Model::DeleteBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketAnalyticsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketCorsRequest&, const Model::DeleteBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketCorsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketEncryptionRequest&, const Model::DeleteBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketEncryptionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketIntelligentTieringConfigurationRequest&, const Model::DeleteBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketInventoryConfigurationRequest&, const Model::DeleteBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketInventoryConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketLifecycleRequest&, const Model::DeleteBucketLifecycleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketLifecycleResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketMetricsConfigurationRequest&, const Model::DeleteBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketMetricsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketOwnershipControlsRequest&, const Model::DeleteBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketOwnershipControlsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketPolicyRequest&, const Model::DeleteBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketPolicyResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketReplicationRequest&, const Model::DeleteBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketReplicationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketTaggingRequest&, const Model::DeleteBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteBucketWebsiteRequest&, const Model::DeleteBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBucketWebsiteResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteObjectRequest&, const Model::DeleteObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteObjectTaggingRequest&, const Model::DeleteObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeleteObjectsRequest&, const Model::DeleteObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::DeletePublicAccessBlockRequest&, const Model::DeletePublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeletePublicAccessBlockResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketAccelerateConfigurationRequest&, const Model::GetBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAccelerateConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketAclRequest&, const Model::GetBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketAnalyticsConfigurationRequest&, const Model::GetBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketAnalyticsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketCorsRequest&, const Model::GetBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketCorsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketEncryptionRequest&, const Model::GetBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketEncryptionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketIntelligentTieringConfigurationRequest&, const Model::GetBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketIntelligentTieringConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketInventoryConfigurationRequest&, const Model::GetBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketInventoryConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketLifecycleConfigurationRequest&, const Model::GetBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLifecycleConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketLocationRequest&, const Model::GetBucketLocationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLocationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketLoggingRequest&, const Model::GetBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketLoggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketMetricsConfigurationRequest&, const Model::GetBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketMetricsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketNotificationConfigurationRequest&, const Model::GetBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketNotificationConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketOwnershipControlsRequest&, const Model::GetBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketOwnershipControlsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketPolicyRequest&, Model::GetBucketPolicyOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketPolicyStatusRequest&, const Model::GetBucketPolicyStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketPolicyStatusResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketReplicationRequest&, const Model::GetBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketReplicationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketRequestPaymentRequest&, const Model::GetBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketRequestPaymentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketTaggingRequest&, const Model::GetBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketVersioningRequest&, const Model::GetBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketVersioningResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetBucketWebsiteRequest&, const Model::GetBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBucketWebsiteResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectRequest&, Model::GetObjectOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectAclRequest&, const Model::GetObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectLegalHoldRequest&, const Model::GetObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLegalHoldResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectLockConfigurationRequest&, const Model::GetObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectLockConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectRetentionRequest&, const Model::GetObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectRetentionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectTaggingRequest&, const Model::GetObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetObjectTorrentRequest&, Model::GetObjectTorrentOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectTorrentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::GetPublicAccessBlockRequest&, const Model::GetPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetPublicAccessBlockResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::HeadBucketRequest&, const Model::HeadBucketOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadBucketResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::HeadObjectRequest&, const Model::HeadObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > HeadObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketAnalyticsConfigurationsRequest&, const Model::ListBucketAnalyticsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketAnalyticsConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketIntelligentTieringConfigurationsRequest&, const Model::ListBucketIntelligentTieringConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketIntelligentTieringConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketInventoryConfigurationsRequest&, const Model::ListBucketInventoryConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketInventoryConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketMetricsConfigurationsRequest&, const Model::ListBucketMetricsConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketMetricsConfigurationsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListBucketsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBucketsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListMultipartUploadsRequest&, const Model::ListMultipartUploadsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMultipartUploadsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListObjectVersionsRequest&, const Model::ListObjectVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectVersionsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListObjectsRequest&, const Model::ListObjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListObjectsV2Request&, const Model::ListObjectsV2Outcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListObjectsV2ResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::ListPartsRequest&, const Model::ListPartsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListPartsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketAccelerateConfigurationRequest&, const Model::PutBucketAccelerateConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAccelerateConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketAclRequest&, const Model::PutBucketAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketAnalyticsConfigurationRequest&, const Model::PutBucketAnalyticsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketAnalyticsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketCorsRequest&, const Model::PutBucketCorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketCorsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketEncryptionRequest&, const Model::PutBucketEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketEncryptionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketIntelligentTieringConfigurationRequest&, const Model::PutBucketIntelligentTieringConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketIntelligentTieringConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketInventoryConfigurationRequest&, const Model::PutBucketInventoryConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketInventoryConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketLifecycleConfigurationRequest&, const Model::PutBucketLifecycleConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLifecycleConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketLoggingRequest&, const Model::PutBucketLoggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketLoggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketMetricsConfigurationRequest&, const Model::PutBucketMetricsConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketMetricsConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketNotificationConfigurationRequest&, const Model::PutBucketNotificationConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketNotificationConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketOwnershipControlsRequest&, const Model::PutBucketOwnershipControlsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketOwnershipControlsResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketPolicyRequest&, const Model::PutBucketPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketPolicyResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketReplicationRequest&, const Model::PutBucketReplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketReplicationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketRequestPaymentRequest&, const Model::PutBucketRequestPaymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketRequestPaymentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketTaggingRequest&, const Model::PutBucketTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketVersioningRequest&, const Model::PutBucketVersioningOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketVersioningResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutBucketWebsiteRequest&, const Model::PutBucketWebsiteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutBucketWebsiteResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectRequest&, const Model::PutObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectAclRequest&, const Model::PutObjectAclOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectAclResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectLegalHoldRequest&, const Model::PutObjectLegalHoldOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLegalHoldResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectLockConfigurationRequest&, const Model::PutObjectLockConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectLockConfigurationResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectRetentionRequest&, const Model::PutObjectRetentionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectRetentionResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutObjectTaggingRequest&, const Model::PutObjectTaggingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectTaggingResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::PutPublicAccessBlockRequest&, const Model::PutPublicAccessBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutPublicAccessBlockResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::RestoreObjectRequest&, const Model::RestoreObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RestoreObjectResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::SelectObjectContentRequest&, const Model::SelectObjectContentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SelectObjectContentResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::UploadPartRequest&, const Model::UploadPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartResponseReceivedHandler; + typedef std::function<void(const S3Client*, const Model::UploadPartCopyRequest&, const Model::UploadPartCopyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UploadPartCopyResponseReceivedHandler; + + // Get endpoint, signer region and signer service name after computing the endpoint. + struct ComputeEndpointResult + { + ComputeEndpointResult(const Aws::String& endpointName = {}, const Aws::String& region = {}, const Aws::String& serviceName = {}) : + endpoint(endpointName), signerRegion(region), signerServiceName(serviceName) {} + + Aws::String endpoint; + Aws::String signerRegion; + Aws::String signerServiceName; + }; + typedef Aws::Utils::Outcome<ComputeEndpointResult, Aws::Client::AWSError<S3Errors>> ComputeEndpointOutcome; + + //max expiration for presigned urls in s3 is 7 days. + static const unsigned MAX_EXPIRATION_SECONDS = 7 * 24 * 60 * 60; + + /** + * <p/> + */ + enum class US_EAST_1_REGIONAL_ENDPOINT_OPTION + { + NOT_SET, + LEGACY, //stands for using global endpoint for us-east-1, + REGIONAL //stands for using regional endpoint for us-east-1 + }; + class AWS_S3_API S3Client : public Aws::Client::AWSXMLClient + { + public: + typedef Aws::Client::AWSXMLClient BASECLASS; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + S3Client(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing = true, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + S3Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing = true, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + S3Client(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration(), Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool useVirtualAddressing = true, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + + virtual ~S3Client(); + + + /** + * <p>This operation aborts a multipart upload. After a multipart upload is + * aborted, no additional parts can be uploaded using that upload ID. The storage + * consumed by any previously uploaded parts will be freed. However, if any part + * uploads are currently in progress, those part uploads might or might not + * succeed. As a result, it might be necessary to abort a given multipart upload + * multiple times in order to completely free all storage consumed by all parts. + * </p> <p>To verify that all parts have been removed, so you don't get charged for + * the part storage, you should call the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * operation and ensure that the parts list is empty.</p> <p>For information about + * permissions required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>AbortMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload">AWS + * API Reference</a></p> + */ + virtual Model::AbortMultipartUploadOutcome AbortMultipartUpload(const Model::AbortMultipartUploadRequest& request) const; + + /** + * <p>This operation aborts a multipart upload. After a multipart upload is + * aborted, no additional parts can be uploaded using that upload ID. The storage + * consumed by any previously uploaded parts will be freed. However, if any part + * uploads are currently in progress, those part uploads might or might not + * succeed. As a result, it might be necessary to abort a given multipart upload + * multiple times in order to completely free all storage consumed by all parts. + * </p> <p>To verify that all parts have been removed, so you don't get charged for + * the part storage, you should call the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * operation and ensure that the parts list is empty.</p> <p>For information about + * permissions required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>AbortMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::AbortMultipartUploadOutcomeCallable AbortMultipartUploadCallable(const Model::AbortMultipartUploadRequest& request) const; + + /** + * <p>This operation aborts a multipart upload. After a multipart upload is + * aborted, no additional parts can be uploaded using that upload ID. The storage + * consumed by any previously uploaded parts will be freed. However, if any part + * uploads are currently in progress, those part uploads might or might not + * succeed. As a result, it might be necessary to abort a given multipart upload + * multiple times in order to completely free all storage consumed by all parts. + * </p> <p>To verify that all parts have been removed, so you don't get charged for + * the part storage, you should call the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * operation and ensure that the parts list is empty.</p> <p>For information about + * permissions required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>AbortMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void AbortMultipartUploadAsync(const Model::AbortMultipartUploadRequest& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Completes a multipart upload by assembling previously uploaded parts.</p> + * <p>You first initiate the multipart upload and then upload all parts using the + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * operation. After successfully uploading all relevant parts of an upload, you + * call this operation to complete the upload. Upon receiving this request, Amazon + * S3 concatenates all the parts in ascending order by part number to create a new + * object. In the Complete Multipart Upload request, you must provide the parts + * list. You must ensure that the parts list is complete. This operation + * concatenates the parts that you provide in the list. For each part in the list, + * you must provide the part number and the <code>ETag</code> value, returned after + * that part was uploaded.</p> <p>Processing of a Complete Multipart Upload request + * could take several minutes to complete. After Amazon S3 begins processing the + * request, it sends an HTTP response header that specifies a 200 OK response. + * While processing is in progress, Amazon S3 periodically sends white space + * characters to keep the connection from timing out. Because a request could fail + * after the initial 200 OK response has been sent, it is important that you check + * the response body to determine whether the request succeeded.</p> <p>Note that + * if <code>CompleteMultipartUpload</code> fails, applications should be prepared + * to retry the failed requests. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon + * S3 Error Best Practices</a>.</p> <p>For more information about multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information about permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p> <code>CompleteMultipartUpload</code> has + * the following special errors:</p> <ul> <li> <p>Error code: + * <code>EntityTooSmall</code> </p> <ul> <li> <p>Description: Your proposed upload + * is smaller than the minimum allowed object size. Each part must be at least 5 MB + * in size, except the last part.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> + * </li> <li> <p>Error code: <code>InvalidPart</code> </p> <ul> <li> + * <p>Description: One or more of the specified parts could not be found. The part + * might not have been uploaded, or the specified entity tag might not have matched + * the part's entity tag.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> + * <li> <p>Error code: <code>InvalidPartOrder</code> </p> <ul> <li> <p>Description: + * The list of parts was not in ascending order. The parts list must be specified + * in order by part number.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> + * <li> <p>Error code: <code>NoSuchUpload</code> </p> <ul> <li> <p>Description: The + * specified multipart upload does not exist. The upload ID might be invalid, or + * the multipart upload might have been aborted or completed.</p> </li> <li> <p>404 + * Not Found</p> </li> </ul> </li> </ul> <p>The following operations are related to + * <code>CompleteMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload">AWS + * API Reference</a></p> + */ + virtual Model::CompleteMultipartUploadOutcome CompleteMultipartUpload(const Model::CompleteMultipartUploadRequest& request) const; + + /** + * <p>Completes a multipart upload by assembling previously uploaded parts.</p> + * <p>You first initiate the multipart upload and then upload all parts using the + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * operation. After successfully uploading all relevant parts of an upload, you + * call this operation to complete the upload. Upon receiving this request, Amazon + * S3 concatenates all the parts in ascending order by part number to create a new + * object. In the Complete Multipart Upload request, you must provide the parts + * list. You must ensure that the parts list is complete. This operation + * concatenates the parts that you provide in the list. For each part in the list, + * you must provide the part number and the <code>ETag</code> value, returned after + * that part was uploaded.</p> <p>Processing of a Complete Multipart Upload request + * could take several minutes to complete. After Amazon S3 begins processing the + * request, it sends an HTTP response header that specifies a 200 OK response. + * While processing is in progress, Amazon S3 periodically sends white space + * characters to keep the connection from timing out. Because a request could fail + * after the initial 200 OK response has been sent, it is important that you check + * the response body to determine whether the request succeeded.</p> <p>Note that + * if <code>CompleteMultipartUpload</code> fails, applications should be prepared + * to retry the failed requests. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon + * S3 Error Best Practices</a>.</p> <p>For more information about multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information about permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p> <code>CompleteMultipartUpload</code> has + * the following special errors:</p> <ul> <li> <p>Error code: + * <code>EntityTooSmall</code> </p> <ul> <li> <p>Description: Your proposed upload + * is smaller than the minimum allowed object size. Each part must be at least 5 MB + * in size, except the last part.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> + * </li> <li> <p>Error code: <code>InvalidPart</code> </p> <ul> <li> + * <p>Description: One or more of the specified parts could not be found. The part + * might not have been uploaded, or the specified entity tag might not have matched + * the part's entity tag.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> + * <li> <p>Error code: <code>InvalidPartOrder</code> </p> <ul> <li> <p>Description: + * The list of parts was not in ascending order. The parts list must be specified + * in order by part number.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> + * <li> <p>Error code: <code>NoSuchUpload</code> </p> <ul> <li> <p>Description: The + * specified multipart upload does not exist. The upload ID might be invalid, or + * the multipart upload might have been aborted or completed.</p> </li> <li> <p>404 + * Not Found</p> </li> </ul> </li> </ul> <p>The following operations are related to + * <code>CompleteMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::CompleteMultipartUploadOutcomeCallable CompleteMultipartUploadCallable(const Model::CompleteMultipartUploadRequest& request) const; + + /** + * <p>Completes a multipart upload by assembling previously uploaded parts.</p> + * <p>You first initiate the multipart upload and then upload all parts using the + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * operation. After successfully uploading all relevant parts of an upload, you + * call this operation to complete the upload. Upon receiving this request, Amazon + * S3 concatenates all the parts in ascending order by part number to create a new + * object. In the Complete Multipart Upload request, you must provide the parts + * list. You must ensure that the parts list is complete. This operation + * concatenates the parts that you provide in the list. For each part in the list, + * you must provide the part number and the <code>ETag</code> value, returned after + * that part was uploaded.</p> <p>Processing of a Complete Multipart Upload request + * could take several minutes to complete. After Amazon S3 begins processing the + * request, it sends an HTTP response header that specifies a 200 OK response. + * While processing is in progress, Amazon S3 periodically sends white space + * characters to keep the connection from timing out. Because a request could fail + * after the initial 200 OK response has been sent, it is important that you check + * the response body to determine whether the request succeeded.</p> <p>Note that + * if <code>CompleteMultipartUpload</code> fails, applications should be prepared + * to retry the failed requests. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon + * S3 Error Best Practices</a>.</p> <p>For more information about multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information about permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p> <code>CompleteMultipartUpload</code> has + * the following special errors:</p> <ul> <li> <p>Error code: + * <code>EntityTooSmall</code> </p> <ul> <li> <p>Description: Your proposed upload + * is smaller than the minimum allowed object size. Each part must be at least 5 MB + * in size, except the last part.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> + * </li> <li> <p>Error code: <code>InvalidPart</code> </p> <ul> <li> + * <p>Description: One or more of the specified parts could not be found. The part + * might not have been uploaded, or the specified entity tag might not have matched + * the part's entity tag.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> + * <li> <p>Error code: <code>InvalidPartOrder</code> </p> <ul> <li> <p>Description: + * The list of parts was not in ascending order. The parts list must be specified + * in order by part number.</p> </li> <li> <p>400 Bad Request</p> </li> </ul> </li> + * <li> <p>Error code: <code>NoSuchUpload</code> </p> <ul> <li> <p>Description: The + * specified multipart upload does not exist. The upload ID might be invalid, or + * the multipart upload might have been aborted or completed.</p> </li> <li> <p>404 + * Not Found</p> </li> </ul> </li> </ul> <p>The following operations are related to + * <code>CompleteMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void CompleteMultipartUploadAsync(const Model::CompleteMultipartUploadRequest& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Creates a copy of an object that is already stored in Amazon S3.</p> + * <p>You can store individual objects of up to 5 TB in Amazon S3. You create a + * copy of your object up to 5 GB in size in a single atomic operation using this + * API. However, to copy an object greater than 5 GB, you must use the multipart + * upload Upload Part - Copy API. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy + * Object Using the REST Multipart Upload API</a>.</p> <p>All copy requests + * must be authenticated. Additionally, you must have <i>read</i> access to the + * source object and <i>write</i> access to the destination bucket. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>. Both the Region that you want to copy the object from and + * the Region that you want to copy the object to must be enabled for your + * account.</p> <p>A copy request might return an error when Amazon S3 receives the + * copy request or while Amazon S3 is copying the files. If the error occurs before + * the copy operation starts, you receive a standard Amazon S3 error. If the error + * occurs during the copy operation, the error response is embedded in the + * <code>200 OK</code> response. This means that a <code>200 OK</code> response can + * contain either a success or an error. Design your application to parse the + * contents of the response and handle it appropriately.</p> <p>If the copy is + * successful, you receive a response with information about the copied object.</p> + * <p>If the request is an HTTP 1.1 request, the response is chunk encoded. + * If it were not, it would not contain the content-length, and you would need to + * read the entire body.</p> <p>The copy request charge is based on the + * storage class and Region that you specify for the destination object. For + * pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon S3 + * pricing</a>.</p> <p>Amazon S3 transfer acceleration does not support + * cross-Region copies. If you request a cross-Region copy using a transfer + * acceleration endpoint, you get a 400 <code>Bad Request</code> error. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a>.</p> <p> <b>Metadata</b> </p> <p>When copying an + * object, you can preserve all metadata (default) or specify new metadata. + * However, the ACL is not preserved and is set to private for the user making the + * request. To override the default ACL setting, specify a new ACL when generating + * a copy request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. </p> <p>To specify whether you want the object metadata copied from + * the source object or replaced with metadata provided in the request, you can + * optionally add the <code>x-amz-metadata-directive</code> header. When you grant + * permissions, you can use the <code>s3:x-amz-metadata-directive</code> condition + * key to enforce certain metadata behavior when objects are uploaded. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html">Specifying + * Conditions in a Policy</a> in the <i>Amazon S3 Developer Guide</i>. For a + * complete list of Amazon S3-specific condition keys, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html">Actions, + * Resources, and Condition Keys for Amazon S3</a>.</p> <p> <b> + * <code>x-amz-copy-source-if</code> Headers</b> </p> <p>To only copy an object + * under certain conditions, such as whether the <code>Etag</code> matches or + * whether the object was modified before or after a specified date, use the + * following request parameters:</p> <ul> <li> <p> + * <code>x-amz-copy-source-if-match</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-none-match</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-modified-since</code> </p> </li> </ul> <p> If both + * the <code>x-amz-copy-source-if-match</code> and + * <code>x-amz-copy-source-if-unmodified-since</code> headers are present in the + * request and evaluate as follows, Amazon S3 returns <code>200 OK</code> and + * copies the data:</p> <ul> <li> <p> <code>x-amz-copy-source-if-match</code> + * condition evaluates to true</p> </li> <li> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to + * false</p> </li> </ul> <p>If both the + * <code>x-amz-copy-source-if-none-match</code> and + * <code>x-amz-copy-source-if-modified-since</code> headers are present in the + * request and evaluate as follows, Amazon S3 returns the <code>412 Precondition + * Failed</code> response code:</p> <ul> <li> <p> + * <code>x-amz-copy-source-if-none-match</code> condition evaluates to false</p> + * </li> <li> <p> <code>x-amz-copy-source-if-modified-since</code> condition + * evaluates to true</p> </li> </ul> <p>All headers with the + * <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>, must be + * signed.</p> <p> <b>Server-side encryption</b> </p> <p>When you perform a + * CopyObject operation, you can optionally use the appropriate encryption-related + * headers to encrypt the object using server-side encryption with AWS managed + * encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With + * server-side encryption, Amazon S3 encrypts your data as it writes it to disks in + * its data centers and decrypts the data when you access it. For more information + * about server-side encryption, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using + * Server-Side Encryption</a>.</p> <p>If a target object uses SSE-KMS, you can + * enable an S3 Bucket Key for the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p> <b>Access Control List (ACL)-Specific Request Headers</b> </p> <p>When + * copying an object, you can optionally use headers to grant ACL-based + * permissions. By default, all objects are private. Only the owner has full access + * control. When adding a new object, you can grant permissions to individual AWS + * accounts or to predefined groups defined by Amazon S3. These permissions are + * then added to the ACL on the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing + * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>You + * can use the <code>CopyObject</code> operation to change the storage class of an + * object that is already stored in Amazon S3 using the <code>StorageClass</code> + * parameter. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> + * <b>Versioning</b> </p> <p>By default, <code>x-amz-copy-source</code> identifies + * the current version of an object to copy. If the current version is a delete + * marker, Amazon S3 behaves as if the object was deleted. To copy a different + * version, use the <code>versionId</code> subresource.</p> <p>If you enable + * versioning on the target bucket, Amazon S3 generates a unique version ID for the + * object being copied. This version ID is different from the version ID of the + * source object. Amazon S3 returns the version ID of the copied object in the + * <code>x-amz-version-id</code> response header in the response.</p> <p>If you do + * not enable versioning or suspend it on the target bucket, the version ID that + * Amazon S3 generates is always null.</p> <p>If the source object's storage class + * is GLACIER, you must restore a copy of this object before you can use it as a + * source object for the copy operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>.</p> + * <p>The following operations are related to <code>CopyObject</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying + * Objects</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject">AWS API + * Reference</a></p> + */ + virtual Model::CopyObjectOutcome CopyObject(const Model::CopyObjectRequest& request) const; + + /** + * <p>Creates a copy of an object that is already stored in Amazon S3.</p> + * <p>You can store individual objects of up to 5 TB in Amazon S3. You create a + * copy of your object up to 5 GB in size in a single atomic operation using this + * API. However, to copy an object greater than 5 GB, you must use the multipart + * upload Upload Part - Copy API. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy + * Object Using the REST Multipart Upload API</a>.</p> <p>All copy requests + * must be authenticated. Additionally, you must have <i>read</i> access to the + * source object and <i>write</i> access to the destination bucket. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>. Both the Region that you want to copy the object from and + * the Region that you want to copy the object to must be enabled for your + * account.</p> <p>A copy request might return an error when Amazon S3 receives the + * copy request or while Amazon S3 is copying the files. If the error occurs before + * the copy operation starts, you receive a standard Amazon S3 error. If the error + * occurs during the copy operation, the error response is embedded in the + * <code>200 OK</code> response. This means that a <code>200 OK</code> response can + * contain either a success or an error. Design your application to parse the + * contents of the response and handle it appropriately.</p> <p>If the copy is + * successful, you receive a response with information about the copied object.</p> + * <p>If the request is an HTTP 1.1 request, the response is chunk encoded. + * If it were not, it would not contain the content-length, and you would need to + * read the entire body.</p> <p>The copy request charge is based on the + * storage class and Region that you specify for the destination object. For + * pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon S3 + * pricing</a>.</p> <p>Amazon S3 transfer acceleration does not support + * cross-Region copies. If you request a cross-Region copy using a transfer + * acceleration endpoint, you get a 400 <code>Bad Request</code> error. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a>.</p> <p> <b>Metadata</b> </p> <p>When copying an + * object, you can preserve all metadata (default) or specify new metadata. + * However, the ACL is not preserved and is set to private for the user making the + * request. To override the default ACL setting, specify a new ACL when generating + * a copy request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. </p> <p>To specify whether you want the object metadata copied from + * the source object or replaced with metadata provided in the request, you can + * optionally add the <code>x-amz-metadata-directive</code> header. When you grant + * permissions, you can use the <code>s3:x-amz-metadata-directive</code> condition + * key to enforce certain metadata behavior when objects are uploaded. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html">Specifying + * Conditions in a Policy</a> in the <i>Amazon S3 Developer Guide</i>. For a + * complete list of Amazon S3-specific condition keys, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html">Actions, + * Resources, and Condition Keys for Amazon S3</a>.</p> <p> <b> + * <code>x-amz-copy-source-if</code> Headers</b> </p> <p>To only copy an object + * under certain conditions, such as whether the <code>Etag</code> matches or + * whether the object was modified before or after a specified date, use the + * following request parameters:</p> <ul> <li> <p> + * <code>x-amz-copy-source-if-match</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-none-match</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-modified-since</code> </p> </li> </ul> <p> If both + * the <code>x-amz-copy-source-if-match</code> and + * <code>x-amz-copy-source-if-unmodified-since</code> headers are present in the + * request and evaluate as follows, Amazon S3 returns <code>200 OK</code> and + * copies the data:</p> <ul> <li> <p> <code>x-amz-copy-source-if-match</code> + * condition evaluates to true</p> </li> <li> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to + * false</p> </li> </ul> <p>If both the + * <code>x-amz-copy-source-if-none-match</code> and + * <code>x-amz-copy-source-if-modified-since</code> headers are present in the + * request and evaluate as follows, Amazon S3 returns the <code>412 Precondition + * Failed</code> response code:</p> <ul> <li> <p> + * <code>x-amz-copy-source-if-none-match</code> condition evaluates to false</p> + * </li> <li> <p> <code>x-amz-copy-source-if-modified-since</code> condition + * evaluates to true</p> </li> </ul> <p>All headers with the + * <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>, must be + * signed.</p> <p> <b>Server-side encryption</b> </p> <p>When you perform a + * CopyObject operation, you can optionally use the appropriate encryption-related + * headers to encrypt the object using server-side encryption with AWS managed + * encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With + * server-side encryption, Amazon S3 encrypts your data as it writes it to disks in + * its data centers and decrypts the data when you access it. For more information + * about server-side encryption, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using + * Server-Side Encryption</a>.</p> <p>If a target object uses SSE-KMS, you can + * enable an S3 Bucket Key for the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p> <b>Access Control List (ACL)-Specific Request Headers</b> </p> <p>When + * copying an object, you can optionally use headers to grant ACL-based + * permissions. By default, all objects are private. Only the owner has full access + * control. When adding a new object, you can grant permissions to individual AWS + * accounts or to predefined groups defined by Amazon S3. These permissions are + * then added to the ACL on the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing + * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>You + * can use the <code>CopyObject</code> operation to change the storage class of an + * object that is already stored in Amazon S3 using the <code>StorageClass</code> + * parameter. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> + * <b>Versioning</b> </p> <p>By default, <code>x-amz-copy-source</code> identifies + * the current version of an object to copy. If the current version is a delete + * marker, Amazon S3 behaves as if the object was deleted. To copy a different + * version, use the <code>versionId</code> subresource.</p> <p>If you enable + * versioning on the target bucket, Amazon S3 generates a unique version ID for the + * object being copied. This version ID is different from the version ID of the + * source object. Amazon S3 returns the version ID of the copied object in the + * <code>x-amz-version-id</code> response header in the response.</p> <p>If you do + * not enable versioning or suspend it on the target bucket, the version ID that + * Amazon S3 generates is always null.</p> <p>If the source object's storage class + * is GLACIER, you must restore a copy of this object before you can use it as a + * source object for the copy operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>.</p> + * <p>The following operations are related to <code>CopyObject</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying + * Objects</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::CopyObjectOutcomeCallable CopyObjectCallable(const Model::CopyObjectRequest& request) const; + + /** + * <p>Creates a copy of an object that is already stored in Amazon S3.</p> + * <p>You can store individual objects of up to 5 TB in Amazon S3. You create a + * copy of your object up to 5 GB in size in a single atomic operation using this + * API. However, to copy an object greater than 5 GB, you must use the multipart + * upload Upload Part - Copy API. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy + * Object Using the REST Multipart Upload API</a>.</p> <p>All copy requests + * must be authenticated. Additionally, you must have <i>read</i> access to the + * source object and <i>write</i> access to the destination bucket. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>. Both the Region that you want to copy the object from and + * the Region that you want to copy the object to must be enabled for your + * account.</p> <p>A copy request might return an error when Amazon S3 receives the + * copy request or while Amazon S3 is copying the files. If the error occurs before + * the copy operation starts, you receive a standard Amazon S3 error. If the error + * occurs during the copy operation, the error response is embedded in the + * <code>200 OK</code> response. This means that a <code>200 OK</code> response can + * contain either a success or an error. Design your application to parse the + * contents of the response and handle it appropriately.</p> <p>If the copy is + * successful, you receive a response with information about the copied object.</p> + * <p>If the request is an HTTP 1.1 request, the response is chunk encoded. + * If it were not, it would not contain the content-length, and you would need to + * read the entire body.</p> <p>The copy request charge is based on the + * storage class and Region that you specify for the destination object. For + * pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon S3 + * pricing</a>.</p> <p>Amazon S3 transfer acceleration does not support + * cross-Region copies. If you request a cross-Region copy using a transfer + * acceleration endpoint, you get a 400 <code>Bad Request</code> error. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a>.</p> <p> <b>Metadata</b> </p> <p>When copying an + * object, you can preserve all metadata (default) or specify new metadata. + * However, the ACL is not preserved and is set to private for the user making the + * request. To override the default ACL setting, specify a new ACL when generating + * a copy request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. </p> <p>To specify whether you want the object metadata copied from + * the source object or replaced with metadata provided in the request, you can + * optionally add the <code>x-amz-metadata-directive</code> header. When you grant + * permissions, you can use the <code>s3:x-amz-metadata-directive</code> condition + * key to enforce certain metadata behavior when objects are uploaded. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html">Specifying + * Conditions in a Policy</a> in the <i>Amazon S3 Developer Guide</i>. For a + * complete list of Amazon S3-specific condition keys, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html">Actions, + * Resources, and Condition Keys for Amazon S3</a>.</p> <p> <b> + * <code>x-amz-copy-source-if</code> Headers</b> </p> <p>To only copy an object + * under certain conditions, such as whether the <code>Etag</code> matches or + * whether the object was modified before or after a specified date, use the + * following request parameters:</p> <ul> <li> <p> + * <code>x-amz-copy-source-if-match</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-none-match</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> </p> </li> <li> <p> + * <code>x-amz-copy-source-if-modified-since</code> </p> </li> </ul> <p> If both + * the <code>x-amz-copy-source-if-match</code> and + * <code>x-amz-copy-source-if-unmodified-since</code> headers are present in the + * request and evaluate as follows, Amazon S3 returns <code>200 OK</code> and + * copies the data:</p> <ul> <li> <p> <code>x-amz-copy-source-if-match</code> + * condition evaluates to true</p> </li> <li> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to + * false</p> </li> </ul> <p>If both the + * <code>x-amz-copy-source-if-none-match</code> and + * <code>x-amz-copy-source-if-modified-since</code> headers are present in the + * request and evaluate as follows, Amazon S3 returns the <code>412 Precondition + * Failed</code> response code:</p> <ul> <li> <p> + * <code>x-amz-copy-source-if-none-match</code> condition evaluates to false</p> + * </li> <li> <p> <code>x-amz-copy-source-if-modified-since</code> condition + * evaluates to true</p> </li> </ul> <p>All headers with the + * <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>, must be + * signed.</p> <p> <b>Server-side encryption</b> </p> <p>When you perform a + * CopyObject operation, you can optionally use the appropriate encryption-related + * headers to encrypt the object using server-side encryption with AWS managed + * encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With + * server-side encryption, Amazon S3 encrypts your data as it writes it to disks in + * its data centers and decrypts the data when you access it. For more information + * about server-side encryption, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using + * Server-Side Encryption</a>.</p> <p>If a target object uses SSE-KMS, you can + * enable an S3 Bucket Key for the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p> <b>Access Control List (ACL)-Specific Request Headers</b> </p> <p>When + * copying an object, you can optionally use headers to grant ACL-based + * permissions. By default, all objects are private. Only the owner has full access + * control. When adding a new object, you can grant permissions to individual AWS + * accounts or to predefined groups defined by Amazon S3. These permissions are + * then added to the ACL on the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing + * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>You + * can use the <code>CopyObject</code> operation to change the storage class of an + * object that is already stored in Amazon S3 using the <code>StorageClass</code> + * parameter. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> + * <b>Versioning</b> </p> <p>By default, <code>x-amz-copy-source</code> identifies + * the current version of an object to copy. If the current version is a delete + * marker, Amazon S3 behaves as if the object was deleted. To copy a different + * version, use the <code>versionId</code> subresource.</p> <p>If you enable + * versioning on the target bucket, Amazon S3 generates a unique version ID for the + * object being copied. This version ID is different from the version ID of the + * source object. Amazon S3 returns the version ID of the copied object in the + * <code>x-amz-version-id</code> response header in the response.</p> <p>If you do + * not enable versioning or suspend it on the target bucket, the version ID that + * Amazon S3 generates is always null.</p> <p>If the source object's storage class + * is GLACIER, you must restore a copy of this object before you can use it as a + * source object for the copy operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>.</p> + * <p>The following operations are related to <code>CopyObject</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying + * Objects</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void CopyObjectAsync(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 + * and have a valid AWS Access Key ID to authenticate requests. Anonymous requests + * are never allowed to create buckets. By creating the bucket, you become the + * bucket owner.</p> <p>Not every string is an acceptable bucket name. For + * information about bucket naming restrictions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working + * with Amazon S3 buckets</a>. </p> <p>If you want to create an Amazon S3 on + * Outposts bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">Create + * Bucket</a>. </p> <p>By default, the bucket is created in the US East (N. + * Virginia) Region. You can optionally specify a Region in the request body. You + * might choose a Region to optimize latency, minimize costs, or address regulatory + * requirements. For example, if you reside in Europe, you will probably find it + * advantageous to create buckets in the Europe (Ireland) Region. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">Accessing + * a bucket</a>.</p> <p>If you send your create bucket request to the + * <code>s3.amazonaws.com</code> endpoint, the request goes to the us-east-1 + * Region. Accordingly, the signature calculations in Signature Version 4 must use + * us-east-1 as the Region, even if the location constraint in the request + * specifies another Region where the bucket is to be created. If you create a + * bucket in a Region other than US East (N. Virginia), your application must be + * able to handle 307 redirect. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual + * hosting of buckets</a>.</p> <p>When creating a bucket using this + * operation, you can optionally specify the accounts or groups that should be + * granted specific permissions on the bucket. There are two ways to grant the + * appropriate permissions using the request headers.</p> <ul> <li> <p>Specify a + * canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports a + * set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a + * predefined set of grantees and permissions. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly using the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>, + * <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and + * <code>x-amz-grant-full-control</code> headers. These headers map to the set of + * permissions Amazon S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * control list (ACL) overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants the AWS + * accounts identified by account IDs permissions to read object data and its + * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" + * </code> </p> </li> </ul> <p>You can use either a canned ACL or specify + * access permissions explicitly. You cannot do both.</p> <p>The following + * operations are related to <code>CreateBucket</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket">AWS API + * Reference</a></p> + */ + virtual Model::CreateBucketOutcome CreateBucket(const Model::CreateBucketRequest& request) const; + + /** + * <p>Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 + * and have a valid AWS Access Key ID to authenticate requests. Anonymous requests + * are never allowed to create buckets. By creating the bucket, you become the + * bucket owner.</p> <p>Not every string is an acceptable bucket name. For + * information about bucket naming restrictions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working + * with Amazon S3 buckets</a>. </p> <p>If you want to create an Amazon S3 on + * Outposts bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">Create + * Bucket</a>. </p> <p>By default, the bucket is created in the US East (N. + * Virginia) Region. You can optionally specify a Region in the request body. You + * might choose a Region to optimize latency, minimize costs, or address regulatory + * requirements. For example, if you reside in Europe, you will probably find it + * advantageous to create buckets in the Europe (Ireland) Region. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">Accessing + * a bucket</a>.</p> <p>If you send your create bucket request to the + * <code>s3.amazonaws.com</code> endpoint, the request goes to the us-east-1 + * Region. Accordingly, the signature calculations in Signature Version 4 must use + * us-east-1 as the Region, even if the location constraint in the request + * specifies another Region where the bucket is to be created. If you create a + * bucket in a Region other than US East (N. Virginia), your application must be + * able to handle 307 redirect. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual + * hosting of buckets</a>.</p> <p>When creating a bucket using this + * operation, you can optionally specify the accounts or groups that should be + * granted specific permissions on the bucket. There are two ways to grant the + * appropriate permissions using the request headers.</p> <ul> <li> <p>Specify a + * canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports a + * set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a + * predefined set of grantees and permissions. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly using the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>, + * <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and + * <code>x-amz-grant-full-control</code> headers. These headers map to the set of + * permissions Amazon S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * control list (ACL) overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants the AWS + * accounts identified by account IDs permissions to read object data and its + * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" + * </code> </p> </li> </ul> <p>You can use either a canned ACL or specify + * access permissions explicitly. You cannot do both.</p> <p>The following + * operations are related to <code>CreateBucket</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::CreateBucketOutcomeCallable CreateBucketCallable(const Model::CreateBucketRequest& request) const; + + /** + * <p>Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 + * and have a valid AWS Access Key ID to authenticate requests. Anonymous requests + * are never allowed to create buckets. By creating the bucket, you become the + * bucket owner.</p> <p>Not every string is an acceptable bucket name. For + * information about bucket naming restrictions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working + * with Amazon S3 buckets</a>. </p> <p>If you want to create an Amazon S3 on + * Outposts bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">Create + * Bucket</a>. </p> <p>By default, the bucket is created in the US East (N. + * Virginia) Region. You can optionally specify a Region in the request body. You + * might choose a Region to optimize latency, minimize costs, or address regulatory + * requirements. For example, if you reside in Europe, you will probably find it + * advantageous to create buckets in the Europe (Ireland) Region. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">Accessing + * a bucket</a>.</p> <p>If you send your create bucket request to the + * <code>s3.amazonaws.com</code> endpoint, the request goes to the us-east-1 + * Region. Accordingly, the signature calculations in Signature Version 4 must use + * us-east-1 as the Region, even if the location constraint in the request + * specifies another Region where the bucket is to be created. If you create a + * bucket in a Region other than US East (N. Virginia), your application must be + * able to handle 307 redirect. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual + * hosting of buckets</a>.</p> <p>When creating a bucket using this + * operation, you can optionally specify the accounts or groups that should be + * granted specific permissions on the bucket. There are two ways to grant the + * appropriate permissions using the request headers.</p> <ul> <li> <p>Specify a + * canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports a + * set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a + * predefined set of grantees and permissions. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly using the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>, + * <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and + * <code>x-amz-grant-full-control</code> headers. These headers map to the set of + * permissions Amazon S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * control list (ACL) overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants the AWS + * accounts identified by account IDs permissions to read object data and its + * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" + * </code> </p> </li> </ul> <p>You can use either a canned ACL or specify + * access permissions explicitly. You cannot do both.</p> <p>The following + * operations are related to <code>CreateBucket</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void CreateBucketAsync(const Model::CreateBucketRequest& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This operation initiates a multipart upload and returns an upload ID. This + * upload ID is used to associate all of the parts in the specific multipart + * upload. You specify this upload ID in each of your subsequent upload part + * requests (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>). + * You also include this upload ID in the final request to either complete or abort + * the multipart upload request.</p> <p>For more information about multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart + * Upload Overview</a>.</p> <p>If you have configured a lifecycle rule to abort + * incomplete multipart uploads, the upload must complete within the number of days + * specified in the bucket lifecycle configuration. Otherwise, the incomplete + * multipart upload becomes eligible for an abort operation and Amazon S3 aborts + * the multipart upload. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>For + * information about the permissions required to use the multipart upload API, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>For request signing, multipart upload is + * just a series of regular requests. You initiate a multipart upload, send one or + * more requests to upload parts, and then complete the multipart upload process. + * You sign each request individually. There is nothing special about signing + * multipart upload requests. For more information about signing, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating + * Requests (AWS Signature Version 4)</a>.</p> <p> After you initiate a + * multipart upload and upload one or more parts, to stop being charged for storing + * the uploaded parts, you must either complete or abort the multipart upload. + * Amazon S3 frees up the space used to store the parts and stop charging you for + * storing them only after you either complete or abort a multipart upload. </p> + * <p>You can optionally request server-side encryption. For server-side + * encryption, Amazon S3 encrypts your data as it writes it to disks in its data + * centers and decrypts it when you access it. You can provide your own encryption + * key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or + * Amazon S3-managed encryption keys. If you choose to provide your own encryption + * key, the request headers you provide in <a + * href="AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> + * requests must match the headers you used in the request to initiate the upload + * by using <code>CreateMultipartUpload</code>. </p> <p>To perform a multipart + * upload with encryption using an AWS KMS CMK, the requester must have permission + * to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, + * <code>kms:ReEncrypt*</code>, <code>kms:GenerateDataKey*</code>, and + * <code>kms:DescribeKey</code> actions on the key. These permissions are required + * because Amazon S3 must decrypt and read data from the encrypted file parts + * before it completes the multipart upload.</p> <p>If your AWS Identity and Access + * Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, + * then you must have these permissions on the key policy. If your IAM user or role + * belongs to a different account than the key, then you must have the permissions + * on both the key policy and your IAM user or role.</p> <p> For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a>.</p> <dl> <dt>Access Permissions</dt> <dd> + * <p>When copying an object, you can optionally specify the accounts or groups + * that should be granted specific permissions on the new object. There are two + * ways to grant the permissions using the request headers:</p> <ul> <li> + * <p>Specify a canned ACL with the <code>x-amz-acl</code> request header. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. These parameters map to the set of permissions that Amazon S3 supports + * in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> </li> </ul> <p>You can use either a canned + * ACL or specify access permissions explicitly. You cannot do both.</p> </dd> + * <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> <p>You can + * optionally tell Amazon S3 to encrypt data at rest using server-side encryption. + * Server-side encryption is for data encryption at rest. Amazon S3 encrypts your + * data as it writes it to disks in its data centers and decrypts it when you + * access it. The option you use depends on whether you want to use AWS managed + * encryption keys or provide your own encryption key. </p> <ul> <li> <p>Use + * encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in + * AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used + * to encrypt data, specify the following headers in the request.</p> <ul> <li> + * <p>x-amz-server-side-encryption</p> </li> <li> + * <p>x-amz-server-side-encryption-aws-kms-key-id</p> </li> <li> + * <p>x-amz-server-side-encryption-context</p> </li> </ul> <p>If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide + * <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS KMS to protect the data.</p> <p>All GET + * and PUT requests for an object protected by AWS KMS fail if you don't make them + * with SSL or by using SigV4.</p> <p>For more information about + * server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting + * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> + * <li> <p>Use customer-provided encryption keys – If you want to manage your own + * encryption keys, provide all the following headers in the request.</p> <ul> <li> + * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting + * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> + * </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd> + * <p>You also can use the following access control–related headers with this + * operation. By default, all objects are private. Only the owner has full access + * control. When adding a new object, you can grant permissions to individual AWS + * accounts or to predefined groups defined by Amazon S3. These permissions are + * then added to the access control list (ACL) on the object. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. With this operation, you can grant access permissions using one of the + * following two methods:</p> <ul> <li> <p>Specify a canned ACL + * (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined ACLs, known as + * <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees and + * permissions. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly — To explicitly + * grant access permissions to specific AWS accounts or groups, use the following + * headers. Each header maps to specific permissions that Amazon S3 supports in an + * ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>. In the header, you specify a list of grantees + * who get the specific permission. To grant permissions explicitly, use:</p> <ul> + * <li> <p>x-amz-grant-read</p> </li> <li> <p>x-amz-grant-write</p> </li> <li> + * <p>x-amz-grant-read-acp</p> </li> <li> <p>x-amz-grant-write-acp</p> </li> <li> + * <p>x-amz-grant-full-control</p> </li> </ul> <p>You specify each grantee as a + * type=value pair, where the type is one of the following:</p> <ul> <li> <p> + * <code>id</code> – if the value specified is the canonical user ID of an AWS + * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to + * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value + * specified is the email address of an AWS account</p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants the AWS + * accounts identified by account IDs permissions to read object data and its + * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" + * </code> </p> </li> </ul> </dd> </dl> <p>The following operations are related to + * <code>CreateMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload">AWS + * API Reference</a></p> + */ + virtual Model::CreateMultipartUploadOutcome CreateMultipartUpload(const Model::CreateMultipartUploadRequest& request) const; + + /** + * <p>This operation initiates a multipart upload and returns an upload ID. This + * upload ID is used to associate all of the parts in the specific multipart + * upload. You specify this upload ID in each of your subsequent upload part + * requests (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>). + * You also include this upload ID in the final request to either complete or abort + * the multipart upload request.</p> <p>For more information about multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart + * Upload Overview</a>.</p> <p>If you have configured a lifecycle rule to abort + * incomplete multipart uploads, the upload must complete within the number of days + * specified in the bucket lifecycle configuration. Otherwise, the incomplete + * multipart upload becomes eligible for an abort operation and Amazon S3 aborts + * the multipart upload. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>For + * information about the permissions required to use the multipart upload API, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>For request signing, multipart upload is + * just a series of regular requests. You initiate a multipart upload, send one or + * more requests to upload parts, and then complete the multipart upload process. + * You sign each request individually. There is nothing special about signing + * multipart upload requests. For more information about signing, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating + * Requests (AWS Signature Version 4)</a>.</p> <p> After you initiate a + * multipart upload and upload one or more parts, to stop being charged for storing + * the uploaded parts, you must either complete or abort the multipart upload. + * Amazon S3 frees up the space used to store the parts and stop charging you for + * storing them only after you either complete or abort a multipart upload. </p> + * <p>You can optionally request server-side encryption. For server-side + * encryption, Amazon S3 encrypts your data as it writes it to disks in its data + * centers and decrypts it when you access it. You can provide your own encryption + * key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or + * Amazon S3-managed encryption keys. If you choose to provide your own encryption + * key, the request headers you provide in <a + * href="AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> + * requests must match the headers you used in the request to initiate the upload + * by using <code>CreateMultipartUpload</code>. </p> <p>To perform a multipart + * upload with encryption using an AWS KMS CMK, the requester must have permission + * to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, + * <code>kms:ReEncrypt*</code>, <code>kms:GenerateDataKey*</code>, and + * <code>kms:DescribeKey</code> actions on the key. These permissions are required + * because Amazon S3 must decrypt and read data from the encrypted file parts + * before it completes the multipart upload.</p> <p>If your AWS Identity and Access + * Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, + * then you must have these permissions on the key policy. If your IAM user or role + * belongs to a different account than the key, then you must have the permissions + * on both the key policy and your IAM user or role.</p> <p> For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a>.</p> <dl> <dt>Access Permissions</dt> <dd> + * <p>When copying an object, you can optionally specify the accounts or groups + * that should be granted specific permissions on the new object. There are two + * ways to grant the permissions using the request headers:</p> <ul> <li> + * <p>Specify a canned ACL with the <code>x-amz-acl</code> request header. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. These parameters map to the set of permissions that Amazon S3 supports + * in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> </li> </ul> <p>You can use either a canned + * ACL or specify access permissions explicitly. You cannot do both.</p> </dd> + * <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> <p>You can + * optionally tell Amazon S3 to encrypt data at rest using server-side encryption. + * Server-side encryption is for data encryption at rest. Amazon S3 encrypts your + * data as it writes it to disks in its data centers and decrypts it when you + * access it. The option you use depends on whether you want to use AWS managed + * encryption keys or provide your own encryption key. </p> <ul> <li> <p>Use + * encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in + * AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used + * to encrypt data, specify the following headers in the request.</p> <ul> <li> + * <p>x-amz-server-side-encryption</p> </li> <li> + * <p>x-amz-server-side-encryption-aws-kms-key-id</p> </li> <li> + * <p>x-amz-server-side-encryption-context</p> </li> </ul> <p>If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide + * <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS KMS to protect the data.</p> <p>All GET + * and PUT requests for an object protected by AWS KMS fail if you don't make them + * with SSL or by using SigV4.</p> <p>For more information about + * server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting + * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> + * <li> <p>Use customer-provided encryption keys – If you want to manage your own + * encryption keys, provide all the following headers in the request.</p> <ul> <li> + * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting + * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> + * </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd> + * <p>You also can use the following access control–related headers with this + * operation. By default, all objects are private. Only the owner has full access + * control. When adding a new object, you can grant permissions to individual AWS + * accounts or to predefined groups defined by Amazon S3. These permissions are + * then added to the access control list (ACL) on the object. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. With this operation, you can grant access permissions using one of the + * following two methods:</p> <ul> <li> <p>Specify a canned ACL + * (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined ACLs, known as + * <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees and + * permissions. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly — To explicitly + * grant access permissions to specific AWS accounts or groups, use the following + * headers. Each header maps to specific permissions that Amazon S3 supports in an + * ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>. In the header, you specify a list of grantees + * who get the specific permission. To grant permissions explicitly, use:</p> <ul> + * <li> <p>x-amz-grant-read</p> </li> <li> <p>x-amz-grant-write</p> </li> <li> + * <p>x-amz-grant-read-acp</p> </li> <li> <p>x-amz-grant-write-acp</p> </li> <li> + * <p>x-amz-grant-full-control</p> </li> </ul> <p>You specify each grantee as a + * type=value pair, where the type is one of the following:</p> <ul> <li> <p> + * <code>id</code> – if the value specified is the canonical user ID of an AWS + * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to + * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value + * specified is the email address of an AWS account</p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants the AWS + * accounts identified by account IDs permissions to read object data and its + * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" + * </code> </p> </li> </ul> </dd> </dl> <p>The following operations are related to + * <code>CreateMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::CreateMultipartUploadOutcomeCallable CreateMultipartUploadCallable(const Model::CreateMultipartUploadRequest& request) const; + + /** + * <p>This operation initiates a multipart upload and returns an upload ID. This + * upload ID is used to associate all of the parts in the specific multipart + * upload. You specify this upload ID in each of your subsequent upload part + * requests (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>). + * You also include this upload ID in the final request to either complete or abort + * the multipart upload request.</p> <p>For more information about multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart + * Upload Overview</a>.</p> <p>If you have configured a lifecycle rule to abort + * incomplete multipart uploads, the upload must complete within the number of days + * specified in the bucket lifecycle configuration. Otherwise, the incomplete + * multipart upload becomes eligible for an abort operation and Amazon S3 aborts + * the multipart upload. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>For + * information about the permissions required to use the multipart upload API, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>For request signing, multipart upload is + * just a series of regular requests. You initiate a multipart upload, send one or + * more requests to upload parts, and then complete the multipart upload process. + * You sign each request individually. There is nothing special about signing + * multipart upload requests. For more information about signing, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating + * Requests (AWS Signature Version 4)</a>.</p> <p> After you initiate a + * multipart upload and upload one or more parts, to stop being charged for storing + * the uploaded parts, you must either complete or abort the multipart upload. + * Amazon S3 frees up the space used to store the parts and stop charging you for + * storing them only after you either complete or abort a multipart upload. </p> + * <p>You can optionally request server-side encryption. For server-side + * encryption, Amazon S3 encrypts your data as it writes it to disks in its data + * centers and decrypts it when you access it. You can provide your own encryption + * key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or + * Amazon S3-managed encryption keys. If you choose to provide your own encryption + * key, the request headers you provide in <a + * href="AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> + * requests must match the headers you used in the request to initiate the upload + * by using <code>CreateMultipartUpload</code>. </p> <p>To perform a multipart + * upload with encryption using an AWS KMS CMK, the requester must have permission + * to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, + * <code>kms:ReEncrypt*</code>, <code>kms:GenerateDataKey*</code>, and + * <code>kms:DescribeKey</code> actions on the key. These permissions are required + * because Amazon S3 must decrypt and read data from the encrypted file parts + * before it completes the multipart upload.</p> <p>If your AWS Identity and Access + * Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, + * then you must have these permissions on the key policy. If your IAM user or role + * belongs to a different account than the key, then you must have the permissions + * on both the key policy and your IAM user or role.</p> <p> For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a>.</p> <dl> <dt>Access Permissions</dt> <dd> + * <p>When copying an object, you can optionally specify the accounts or groups + * that should be granted specific permissions on the new object. There are two + * ways to grant the permissions using the request headers:</p> <ul> <li> + * <p>Specify a canned ACL with the <code>x-amz-acl</code> request header. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. These parameters map to the set of permissions that Amazon S3 supports + * in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> </li> </ul> <p>You can use either a canned + * ACL or specify access permissions explicitly. You cannot do both.</p> </dd> + * <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> <p>You can + * optionally tell Amazon S3 to encrypt data at rest using server-side encryption. + * Server-side encryption is for data encryption at rest. Amazon S3 encrypts your + * data as it writes it to disks in its data centers and decrypts it when you + * access it. The option you use depends on whether you want to use AWS managed + * encryption keys or provide your own encryption key. </p> <ul> <li> <p>Use + * encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in + * AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used + * to encrypt data, specify the following headers in the request.</p> <ul> <li> + * <p>x-amz-server-side-encryption</p> </li> <li> + * <p>x-amz-server-side-encryption-aws-kms-key-id</p> </li> <li> + * <p>x-amz-server-side-encryption-context</p> </li> </ul> <p>If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide + * <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS KMS to protect the data.</p> <p>All GET + * and PUT requests for an object protected by AWS KMS fail if you don't make them + * with SSL or by using SigV4.</p> <p>For more information about + * server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting + * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> + * <li> <p>Use customer-provided encryption keys – If you want to manage your own + * encryption keys, provide all the following headers in the request.</p> <ul> <li> + * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting + * Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.</p> </li> + * </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd> + * <p>You also can use the following access control–related headers with this + * operation. By default, all objects are private. Only the owner has full access + * control. When adding a new object, you can grant permissions to individual AWS + * accounts or to predefined groups defined by Amazon S3. These permissions are + * then added to the access control list (ACL) on the object. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. With this operation, you can grant access permissions using one of the + * following two methods:</p> <ul> <li> <p>Specify a canned ACL + * (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined ACLs, known as + * <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees and + * permissions. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly — To explicitly + * grant access permissions to specific AWS accounts or groups, use the following + * headers. Each header maps to specific permissions that Amazon S3 supports in an + * ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>. In the header, you specify a list of grantees + * who get the specific permission. To grant permissions explicitly, use:</p> <ul> + * <li> <p>x-amz-grant-read</p> </li> <li> <p>x-amz-grant-write</p> </li> <li> + * <p>x-amz-grant-read-acp</p> </li> <li> <p>x-amz-grant-write-acp</p> </li> <li> + * <p>x-amz-grant-full-control</p> </li> </ul> <p>You specify each grantee as a + * type=value pair, where the type is one of the following:</p> <ul> <li> <p> + * <code>id</code> – if the value specified is the canonical user ID of an AWS + * account</p> </li> <li> <p> <code>uri</code> – if you are granting permissions to + * a predefined group</p> </li> <li> <p> <code>emailAddress</code> – if the value + * specified is the email address of an AWS account</p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants the AWS + * accounts identified by account IDs permissions to read object data and its + * metadata:</p> <p> <code>x-amz-grant-read: id="11112222333", id="444455556666" + * </code> </p> </li> </ul> </dd> </dl> <p>The following operations are related to + * <code>CreateMultipartUpload</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void CreateMultipartUploadAsync(const Model::CreateMultipartUploadRequest& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes the S3 bucket. All objects (including all object versions and delete + * markers) in the bucket must be deleted before the bucket itself can be + * deleted.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket">AWS API + * Reference</a></p> + */ + virtual Model::DeleteBucketOutcome DeleteBucket(const Model::DeleteBucketRequest& request) const; + + /** + * <p>Deletes the S3 bucket. All objects (including all object versions and delete + * markers) in the bucket must be deleted before the bucket itself can be + * deleted.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketOutcomeCallable DeleteBucketCallable(const Model::DeleteBucketRequest& request) const; + + /** + * <p>Deletes the S3 bucket. All objects (including all object versions and delete + * markers) in the bucket must be deleted before the bucket itself can be + * deleted.</p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketAsync(const Model::DeleteBucketRequest& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes an analytics configuration for the bucket (specified by the analytics + * configuration ID).</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are + * related to <code>DeleteBucketAnalyticsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketAnalyticsConfigurationOutcome DeleteBucketAnalyticsConfiguration(const Model::DeleteBucketAnalyticsConfigurationRequest& request) const; + + /** + * <p>Deletes an analytics configuration for the bucket (specified by the analytics + * configuration ID).</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are + * related to <code>DeleteBucketAnalyticsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketAnalyticsConfigurationOutcomeCallable DeleteBucketAnalyticsConfigurationCallable(const Model::DeleteBucketAnalyticsConfigurationRequest& request) const; + + /** + * <p>Deletes an analytics configuration for the bucket (specified by the analytics + * configuration ID).</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are + * related to <code>DeleteBucketAnalyticsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketAnalyticsConfigurationAsync(const Model::DeleteBucketAnalyticsConfigurationRequest& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes the <code>cors</code> configuration information set for the + * bucket.</p> <p>To use this operation, you must have permission to perform the + * <code>s3:PutBucketCORS</code> action. The bucket owner has this permission by + * default and can grant this permission to others. </p> <p>For information about + * <code>cors</code>, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p class="title"> <b>Related Resources:</b> </p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketCorsOutcome DeleteBucketCors(const Model::DeleteBucketCorsRequest& request) const; + + /** + * <p>Deletes the <code>cors</code> configuration information set for the + * bucket.</p> <p>To use this operation, you must have permission to perform the + * <code>s3:PutBucketCORS</code> action. The bucket owner has this permission by + * default and can grant this permission to others. </p> <p>For information about + * <code>cors</code>, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p class="title"> <b>Related Resources:</b> </p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketCorsOutcomeCallable DeleteBucketCorsCallable(const Model::DeleteBucketCorsRequest& request) const; + + /** + * <p>Deletes the <code>cors</code> configuration information set for the + * bucket.</p> <p>To use this operation, you must have permission to perform the + * <code>s3:PutBucketCORS</code> action. The bucket owner has this permission by + * default and can grant this permission to others. </p> <p>For information about + * <code>cors</code>, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p class="title"> <b>Related Resources:</b> </p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketCorsAsync(const Model::DeleteBucketCorsRequest& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This implementation of the DELETE operation removes default encryption from + * the bucket. For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:PutEncryptionConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketEncryptionOutcome DeleteBucketEncryption(const Model::DeleteBucketEncryptionRequest& request) const; + + /** + * <p>This implementation of the DELETE operation removes default encryption from + * the bucket. For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:PutEncryptionConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketEncryptionOutcomeCallable DeleteBucketEncryptionCallable(const Model::DeleteBucketEncryptionRequest& request) const; + + /** + * <p>This implementation of the DELETE operation removes default encryption from + * the bucket. For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:PutEncryptionConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketEncryptionAsync(const Model::DeleteBucketEncryptionRequest& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes the S3 Intelligent-Tiering configuration from the specified + * bucket.</p> <p>The S3 Intelligent-Tiering storage class is designed to optimize + * storage costs by automatically moving data to the most cost-effective storage + * access tier, without additional operational overhead. S3 Intelligent-Tiering + * delivers automatic cost savings by moving data between access tiers, when access + * patterns change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for + * objects larger than 128 KB that you plan to store for at least 30 days. If the + * size of an object is less than 128 KB, it is not eligible for auto-tiering. + * Smaller objects can be stored, but they are always charged at the frequent + * access tier rates in the S3 Intelligent-Tiering storage class. </p> <p>If you + * delete an object before the end of the 30-day minimum storage duration period, + * you are charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>DeleteBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketIntelligentTieringConfigurationOutcome DeleteBucketIntelligentTieringConfiguration(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request) const; + + /** + * <p>Deletes the S3 Intelligent-Tiering configuration from the specified + * bucket.</p> <p>The S3 Intelligent-Tiering storage class is designed to optimize + * storage costs by automatically moving data to the most cost-effective storage + * access tier, without additional operational overhead. S3 Intelligent-Tiering + * delivers automatic cost savings by moving data between access tiers, when access + * patterns change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for + * objects larger than 128 KB that you plan to store for at least 30 days. If the + * size of an object is less than 128 KB, it is not eligible for auto-tiering. + * Smaller objects can be stored, but they are always charged at the frequent + * access tier rates in the S3 Intelligent-Tiering storage class. </p> <p>If you + * delete an object before the end of the 30-day minimum storage duration period, + * you are charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>DeleteBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketIntelligentTieringConfigurationOutcomeCallable DeleteBucketIntelligentTieringConfigurationCallable(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request) const; + + /** + * <p>Deletes the S3 Intelligent-Tiering configuration from the specified + * bucket.</p> <p>The S3 Intelligent-Tiering storage class is designed to optimize + * storage costs by automatically moving data to the most cost-effective storage + * access tier, without additional operational overhead. S3 Intelligent-Tiering + * delivers automatic cost savings by moving data between access tiers, when access + * patterns change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for + * objects larger than 128 KB that you plan to store for at least 30 days. If the + * size of an object is less than 128 KB, it is not eligible for auto-tiering. + * Smaller objects can be stored, but they are always charged at the frequent + * access tier rates in the S3 Intelligent-Tiering storage class. </p> <p>If you + * delete an object before the end of the 30-day minimum storage duration period, + * you are charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>DeleteBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketIntelligentTieringConfigurationAsync(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes an inventory configuration (identified by the inventory ID) from the + * bucket.</p> <p>To use this operation, you must have permissions to perform the + * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a>.</p> <p>Operations related to + * <code>DeleteBucketInventoryConfiguration</code> include: </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketInventoryConfigurationOutcome DeleteBucketInventoryConfiguration(const Model::DeleteBucketInventoryConfigurationRequest& request) const; + + /** + * <p>Deletes an inventory configuration (identified by the inventory ID) from the + * bucket.</p> <p>To use this operation, you must have permissions to perform the + * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a>.</p> <p>Operations related to + * <code>DeleteBucketInventoryConfiguration</code> include: </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketInventoryConfigurationOutcomeCallable DeleteBucketInventoryConfigurationCallable(const Model::DeleteBucketInventoryConfigurationRequest& request) const; + + /** + * <p>Deletes an inventory configuration (identified by the inventory ID) from the + * bucket.</p> <p>To use this operation, you must have permissions to perform the + * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a>.</p> <p>Operations related to + * <code>DeleteBucketInventoryConfiguration</code> include: </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketInventoryConfigurationAsync(const Model::DeleteBucketInventoryConfigurationRequest& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes the lifecycle configuration from the specified bucket. Amazon S3 + * removes all the lifecycle configuration rules in the lifecycle subresource + * associated with the bucket. Your objects never expire, and Amazon S3 no longer + * automatically deletes any objects on the basis of rules contained in the deleted + * lifecycle configuration.</p> <p>To use this operation, you must have permission + * to perform the <code>s3:PutLifecycleConfiguration</code> action. By default, the + * bucket owner has this permission and the bucket owner can grant this permission + * to others.</p> <p>There is usually some time lag before lifecycle configuration + * deletion is fully propagated to all the Amazon S3 systems.</p> <p>For more + * information about the object expiration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements + * to Describe Lifecycle Actions</a>.</p> <p>Related actions include:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketLifecycleOutcome DeleteBucketLifecycle(const Model::DeleteBucketLifecycleRequest& request) const; + + /** + * <p>Deletes the lifecycle configuration from the specified bucket. Amazon S3 + * removes all the lifecycle configuration rules in the lifecycle subresource + * associated with the bucket. Your objects never expire, and Amazon S3 no longer + * automatically deletes any objects on the basis of rules contained in the deleted + * lifecycle configuration.</p> <p>To use this operation, you must have permission + * to perform the <code>s3:PutLifecycleConfiguration</code> action. By default, the + * bucket owner has this permission and the bucket owner can grant this permission + * to others.</p> <p>There is usually some time lag before lifecycle configuration + * deletion is fully propagated to all the Amazon S3 systems.</p> <p>For more + * information about the object expiration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements + * to Describe Lifecycle Actions</a>.</p> <p>Related actions include:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketLifecycleOutcomeCallable DeleteBucketLifecycleCallable(const Model::DeleteBucketLifecycleRequest& request) const; + + /** + * <p>Deletes the lifecycle configuration from the specified bucket. Amazon S3 + * removes all the lifecycle configuration rules in the lifecycle subresource + * associated with the bucket. Your objects never expire, and Amazon S3 no longer + * automatically deletes any objects on the basis of rules contained in the deleted + * lifecycle configuration.</p> <p>To use this operation, you must have permission + * to perform the <code>s3:PutLifecycleConfiguration</code> action. By default, the + * bucket owner has this permission and the bucket owner can grant this permission + * to others.</p> <p>There is usually some time lag before lifecycle configuration + * deletion is fully propagated to all the Amazon S3 systems.</p> <p>For more + * information about the object expiration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements + * to Describe Lifecycle Actions</a>.</p> <p>Related actions include:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketLifecycleAsync(const Model::DeleteBucketLifecycleRequest& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes a metrics configuration for the Amazon CloudWatch request metrics + * (specified by the metrics configuration ID) from the bucket. Note that this + * doesn't include the daily storage metrics.</p> <p> To use this operation, you + * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> + * action. The bucket owner has this permission by default. The bucket owner can + * grant this permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>. </p> <p>The following operations are related + * to <code>DeleteBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketMetricsConfigurationOutcome DeleteBucketMetricsConfiguration(const Model::DeleteBucketMetricsConfigurationRequest& request) const; + + /** + * <p>Deletes a metrics configuration for the Amazon CloudWatch request metrics + * (specified by the metrics configuration ID) from the bucket. Note that this + * doesn't include the daily storage metrics.</p> <p> To use this operation, you + * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> + * action. The bucket owner has this permission by default. The bucket owner can + * grant this permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>. </p> <p>The following operations are related + * to <code>DeleteBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketMetricsConfigurationOutcomeCallable DeleteBucketMetricsConfigurationCallable(const Model::DeleteBucketMetricsConfigurationRequest& request) const; + + /** + * <p>Deletes a metrics configuration for the Amazon CloudWatch request metrics + * (specified by the metrics configuration ID) from the bucket. Note that this + * doesn't include the daily storage metrics.</p> <p> To use this operation, you + * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> + * action. The bucket owner has this permission by default. The bucket owner can + * grant this permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>. </p> <p>The following operations are related + * to <code>DeleteBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketMetricsConfigurationAsync(const Model::DeleteBucketMetricsConfigurationRequest& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Removes <code>OwnershipControls</code> for an Amazon S3 bucket. To use this + * operation, you must have the <code>s3:PutBucketOwnershipControls</code> + * permission. For more information about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>DeleteBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>PutBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControls">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketOwnershipControlsOutcome DeleteBucketOwnershipControls(const Model::DeleteBucketOwnershipControlsRequest& request) const; + + /** + * <p>Removes <code>OwnershipControls</code> for an Amazon S3 bucket. To use this + * operation, you must have the <code>s3:PutBucketOwnershipControls</code> + * permission. For more information about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>DeleteBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>PutBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControls">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketOwnershipControlsOutcomeCallable DeleteBucketOwnershipControlsCallable(const Model::DeleteBucketOwnershipControlsRequest& request) const; + + /** + * <p>Removes <code>OwnershipControls</code> for an Amazon S3 bucket. To use this + * operation, you must have the <code>s3:PutBucketOwnershipControls</code> + * permission. For more information about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>DeleteBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>PutBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControls">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketOwnershipControlsAsync(const Model::DeleteBucketOwnershipControlsRequest& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This implementation of the DELETE operation uses the policy subresource to + * delete the policy of a specified bucket. If you are using an identity other than + * the root user of the AWS account that owns the bucket, the calling identity must + * have the <code>DeleteBucketPolicy</code> permissions on the specified bucket and + * belong to the bucket owner's account to use this operation. </p> <p>If you don't + * have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a <code>403 + * Access Denied</code> error. If you have the correct permissions, but you're not + * using an identity that belongs to the bucket owner's account, Amazon S3 returns + * a <code>405 Method Not Allowed</code> error. </p> <p>As a security + * precaution, the root user of the AWS account that owns a bucket can always use + * this operation, even if the policy explicitly denies the root user the ability + * to perform this action.</p> <p>For more information about bucket + * policies, see <a href=" + * https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and UserPolicies</a>. </p> <p>The following operations are + * related to <code>DeleteBucketPolicy</code> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketPolicyOutcome DeleteBucketPolicy(const Model::DeleteBucketPolicyRequest& request) const; + + /** + * <p>This implementation of the DELETE operation uses the policy subresource to + * delete the policy of a specified bucket. If you are using an identity other than + * the root user of the AWS account that owns the bucket, the calling identity must + * have the <code>DeleteBucketPolicy</code> permissions on the specified bucket and + * belong to the bucket owner's account to use this operation. </p> <p>If you don't + * have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a <code>403 + * Access Denied</code> error. If you have the correct permissions, but you're not + * using an identity that belongs to the bucket owner's account, Amazon S3 returns + * a <code>405 Method Not Allowed</code> error. </p> <p>As a security + * precaution, the root user of the AWS account that owns a bucket can always use + * this operation, even if the policy explicitly denies the root user the ability + * to perform this action.</p> <p>For more information about bucket + * policies, see <a href=" + * https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and UserPolicies</a>. </p> <p>The following operations are + * related to <code>DeleteBucketPolicy</code> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketPolicyOutcomeCallable DeleteBucketPolicyCallable(const Model::DeleteBucketPolicyRequest& request) const; + + /** + * <p>This implementation of the DELETE operation uses the policy subresource to + * delete the policy of a specified bucket. If you are using an identity other than + * the root user of the AWS account that owns the bucket, the calling identity must + * have the <code>DeleteBucketPolicy</code> permissions on the specified bucket and + * belong to the bucket owner's account to use this operation. </p> <p>If you don't + * have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a <code>403 + * Access Denied</code> error. If you have the correct permissions, but you're not + * using an identity that belongs to the bucket owner's account, Amazon S3 returns + * a <code>405 Method Not Allowed</code> error. </p> <p>As a security + * precaution, the root user of the AWS account that owns a bucket can always use + * this operation, even if the policy explicitly denies the root user the ability + * to perform this action.</p> <p>For more information about bucket + * policies, see <a href=" + * https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and UserPolicies</a>. </p> <p>The following operations are + * related to <code>DeleteBucketPolicy</code> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketPolicyAsync(const Model::DeleteBucketPolicyRequest& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p> Deletes the replication configuration from the bucket.</p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutReplicationConfiguration</code> action. The bucket owner has these + * permissions by default and can grant it to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>. </p> <p>It can take a + * while for the deletion of a replication configuration to fully propagate.</p> + * <p> For information about replication configuration, see <a href=" + * https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon S3 Developer Guide</i>. </p> <p>The following operations are + * related to <code>DeleteBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketReplicationOutcome DeleteBucketReplication(const Model::DeleteBucketReplicationRequest& request) const; + + /** + * <p> Deletes the replication configuration from the bucket.</p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutReplicationConfiguration</code> action. The bucket owner has these + * permissions by default and can grant it to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>. </p> <p>It can take a + * while for the deletion of a replication configuration to fully propagate.</p> + * <p> For information about replication configuration, see <a href=" + * https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon S3 Developer Guide</i>. </p> <p>The following operations are + * related to <code>DeleteBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketReplicationOutcomeCallable DeleteBucketReplicationCallable(const Model::DeleteBucketReplicationRequest& request) const; + + /** + * <p> Deletes the replication configuration from the bucket.</p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutReplicationConfiguration</code> action. The bucket owner has these + * permissions by default and can grant it to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>. </p> <p>It can take a + * while for the deletion of a replication configuration to fully propagate.</p> + * <p> For information about replication configuration, see <a href=" + * https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon S3 Developer Guide</i>. </p> <p>The following operations are + * related to <code>DeleteBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketReplicationAsync(const Model::DeleteBucketReplicationRequest& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Deletes the tags from the bucket.</p> <p>To use this operation, you must have + * permission to perform the <code>s3:PutBucketTagging</code> action. By default, + * the bucket owner has this permission and can grant this permission to others. + * </p> <p>The following operations are related to + * <code>DeleteBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketTaggingOutcome DeleteBucketTagging(const Model::DeleteBucketTaggingRequest& request) const; + + /** + * <p>Deletes the tags from the bucket.</p> <p>To use this operation, you must have + * permission to perform the <code>s3:PutBucketTagging</code> action. By default, + * the bucket owner has this permission and can grant this permission to others. + * </p> <p>The following operations are related to + * <code>DeleteBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketTaggingOutcomeCallable DeleteBucketTaggingCallable(const Model::DeleteBucketTaggingRequest& request) const; + + /** + * <p>Deletes the tags from the bucket.</p> <p>To use this operation, you must have + * permission to perform the <code>s3:PutBucketTagging</code> action. By default, + * the bucket owner has this permission and can grant this permission to others. + * </p> <p>The following operations are related to + * <code>DeleteBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketTaggingAsync(const Model::DeleteBucketTaggingRequest& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This operation removes the website configuration for a bucket. Amazon S3 + * returns a <code>200 OK</code> response upon successfully deleting a website + * configuration on the specified bucket. You will get a <code>200 OK</code> + * response if the website configuration you are trying to delete does not exist on + * the bucket. Amazon S3 returns a <code>404</code> response if the bucket + * specified in the request does not exist.</p> <p>This DELETE operation requires + * the <code>S3:DeleteBucketWebsite</code> permission. By default, only the bucket + * owner can delete the website configuration attached to a bucket. However, bucket + * owners can grant other users permission to delete the website configuration by + * writing a bucket policy granting them the <code>S3:DeleteBucketWebsite</code> + * permission. </p> <p>For more information about hosting websites, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>. </p> <p>The following operations are related to + * <code>DeleteBucketWebsite</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html">GetBucketWebsite</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite">AWS + * API Reference</a></p> + */ + virtual Model::DeleteBucketWebsiteOutcome DeleteBucketWebsite(const Model::DeleteBucketWebsiteRequest& request) const; + + /** + * <p>This operation removes the website configuration for a bucket. Amazon S3 + * returns a <code>200 OK</code> response upon successfully deleting a website + * configuration on the specified bucket. You will get a <code>200 OK</code> + * response if the website configuration you are trying to delete does not exist on + * the bucket. Amazon S3 returns a <code>404</code> response if the bucket + * specified in the request does not exist.</p> <p>This DELETE operation requires + * the <code>S3:DeleteBucketWebsite</code> permission. By default, only the bucket + * owner can delete the website configuration attached to a bucket. However, bucket + * owners can grant other users permission to delete the website configuration by + * writing a bucket policy granting them the <code>S3:DeleteBucketWebsite</code> + * permission. </p> <p>For more information about hosting websites, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>. </p> <p>The following operations are related to + * <code>DeleteBucketWebsite</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html">GetBucketWebsite</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteBucketWebsiteOutcomeCallable DeleteBucketWebsiteCallable(const Model::DeleteBucketWebsiteRequest& request) const; + + /** + * <p>This operation removes the website configuration for a bucket. Amazon S3 + * returns a <code>200 OK</code> response upon successfully deleting a website + * configuration on the specified bucket. You will get a <code>200 OK</code> + * response if the website configuration you are trying to delete does not exist on + * the bucket. Amazon S3 returns a <code>404</code> response if the bucket + * specified in the request does not exist.</p> <p>This DELETE operation requires + * the <code>S3:DeleteBucketWebsite</code> permission. By default, only the bucket + * owner can delete the website configuration attached to a bucket. However, bucket + * owners can grant other users permission to delete the website configuration by + * writing a bucket policy granting them the <code>S3:DeleteBucketWebsite</code> + * permission. </p> <p>For more information about hosting websites, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>. </p> <p>The following operations are related to + * <code>DeleteBucketWebsite</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html">GetBucketWebsite</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteBucketWebsiteAsync(const Model::DeleteBucketWebsiteRequest& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Removes the null version (if there is one) of an object and inserts a delete + * marker, which becomes the latest version of the object. If there isn't a null + * version, Amazon S3 does not remove any objects.</p> <p>To remove a specific + * version, you must be the bucket owner and you must use the version Id + * subresource. Using this subresource permanently deletes the version. If the + * object deleted is a delete marker, Amazon S3 sets the response header, + * <code>x-amz-delete-marker</code>, to true. </p> <p>If the object you want to + * delete is in a bucket where the bucket versioning configuration is MFA Delete + * enabled, you must include the <code>x-amz-mfa</code> request header in the + * DELETE <code>versionId</code> request. Requests that include + * <code>x-amz-mfa</code> must use HTTPS. </p> <p> For more information about MFA + * Delete, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using + * MFA Delete</a>. To see sample requests that use versioning, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample + * Request</a>. </p> <p>You can delete objects by explicitly calling the DELETE + * Object API or configure its lifecycle (<a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>) + * to enable Amazon S3 to remove them for you. If you want to block users or + * accounts from removing or deleting objects from your bucket, you must deny them + * the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>, and + * <code>s3:PutLifeCycleConfiguration</code> actions. </p> <p>The following + * operation is related to <code>DeleteObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject">AWS API + * Reference</a></p> + */ + virtual Model::DeleteObjectOutcome DeleteObject(const Model::DeleteObjectRequest& request) const; + + /** + * <p>Removes the null version (if there is one) of an object and inserts a delete + * marker, which becomes the latest version of the object. If there isn't a null + * version, Amazon S3 does not remove any objects.</p> <p>To remove a specific + * version, you must be the bucket owner and you must use the version Id + * subresource. Using this subresource permanently deletes the version. If the + * object deleted is a delete marker, Amazon S3 sets the response header, + * <code>x-amz-delete-marker</code>, to true. </p> <p>If the object you want to + * delete is in a bucket where the bucket versioning configuration is MFA Delete + * enabled, you must include the <code>x-amz-mfa</code> request header in the + * DELETE <code>versionId</code> request. Requests that include + * <code>x-amz-mfa</code> must use HTTPS. </p> <p> For more information about MFA + * Delete, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using + * MFA Delete</a>. To see sample requests that use versioning, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample + * Request</a>. </p> <p>You can delete objects by explicitly calling the DELETE + * Object API or configure its lifecycle (<a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>) + * to enable Amazon S3 to remove them for you. If you want to block users or + * accounts from removing or deleting objects from your bucket, you must deny them + * the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>, and + * <code>s3:PutLifeCycleConfiguration</code> actions. </p> <p>The following + * operation is related to <code>DeleteObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteObjectOutcomeCallable DeleteObjectCallable(const Model::DeleteObjectRequest& request) const; + + /** + * <p>Removes the null version (if there is one) of an object and inserts a delete + * marker, which becomes the latest version of the object. If there isn't a null + * version, Amazon S3 does not remove any objects.</p> <p>To remove a specific + * version, you must be the bucket owner and you must use the version Id + * subresource. Using this subresource permanently deletes the version. If the + * object deleted is a delete marker, Amazon S3 sets the response header, + * <code>x-amz-delete-marker</code>, to true. </p> <p>If the object you want to + * delete is in a bucket where the bucket versioning configuration is MFA Delete + * enabled, you must include the <code>x-amz-mfa</code> request header in the + * DELETE <code>versionId</code> request. Requests that include + * <code>x-amz-mfa</code> must use HTTPS. </p> <p> For more information about MFA + * Delete, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using + * MFA Delete</a>. To see sample requests that use versioning, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample + * Request</a>. </p> <p>You can delete objects by explicitly calling the DELETE + * Object API or configure its lifecycle (<a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>) + * to enable Amazon S3 to remove them for you. If you want to block users or + * accounts from removing or deleting objects from your bucket, you must deny them + * the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>, and + * <code>s3:PutLifeCycleConfiguration</code> actions. </p> <p>The following + * operation is related to <code>DeleteObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteObjectAsync(const Model::DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Removes the entire tag set from the specified object. For more information + * about managing object tags, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html"> + * Object Tagging</a>.</p> <p>To use this operation, you must have permission to + * perform the <code>s3:DeleteObjectTagging</code> action.</p> <p>To delete tags of + * a specific object version, add the <code>versionId</code> query parameter in the + * request. You will need permission for the + * <code>s3:DeleteObjectVersionTagging</code> action.</p> <p>The following + * operations are related to <code>DeleteBucketMetricsConfiguration</code>:</p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging">AWS + * API Reference</a></p> + */ + virtual Model::DeleteObjectTaggingOutcome DeleteObjectTagging(const Model::DeleteObjectTaggingRequest& request) const; + + /** + * <p>Removes the entire tag set from the specified object. For more information + * about managing object tags, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html"> + * Object Tagging</a>.</p> <p>To use this operation, you must have permission to + * perform the <code>s3:DeleteObjectTagging</code> action.</p> <p>To delete tags of + * a specific object version, add the <code>versionId</code> query parameter in the + * request. You will need permission for the + * <code>s3:DeleteObjectVersionTagging</code> action.</p> <p>The following + * operations are related to <code>DeleteBucketMetricsConfiguration</code>:</p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteObjectTaggingOutcomeCallable DeleteObjectTaggingCallable(const Model::DeleteObjectTaggingRequest& request) const; + + /** + * <p>Removes the entire tag set from the specified object. For more information + * about managing object tags, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html"> + * Object Tagging</a>.</p> <p>To use this operation, you must have permission to + * perform the <code>s3:DeleteObjectTagging</code> action.</p> <p>To delete tags of + * a specific object version, add the <code>versionId</code> query parameter in the + * request. You will need permission for the + * <code>s3:DeleteObjectVersionTagging</code> action.</p> <p>The following + * operations are related to <code>DeleteBucketMetricsConfiguration</code>:</p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteObjectTaggingAsync(const Model::DeleteObjectTaggingRequest& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This operation enables you to delete multiple objects from a bucket using a + * single HTTP request. If you know the object keys that you want to delete, then + * this operation provides a suitable alternative to sending individual delete + * requests, reducing per-request overhead.</p> <p>The request contains a list of + * up to 1000 keys that you want to delete. In the XML, you provide the object key + * names, and optionally, version IDs if you want to delete a specific version of + * the object from a versioning-enabled bucket. For each key, Amazon S3 performs a + * delete operation and returns the result of that delete, success, or failure, in + * the response. Note that if the object specified in the request is not found, + * Amazon S3 returns the result as deleted.</p> <p> The operation supports two + * modes for the response: verbose and quiet. By default, the operation uses + * verbose mode in which the response includes the result of deletion of each key + * in your request. In quiet mode the response includes only keys where the delete + * operation encountered an error. For a successful deletion, the operation does + * not return any information about the delete in the response body.</p> <p>When + * performing this operation on an MFA Delete enabled bucket, that attempts to + * delete any versioned objects, you must include an MFA token. If you do not + * provide one, the entire request will fail, even if there are non-versioned + * objects you are trying to delete. If you provide an invalid token, whether there + * are versioned keys in the request or not, the entire Multi-Object Delete request + * will fail. For information about MFA Delete, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete"> + * MFA Delete</a>.</p> <p>Finally, the Content-MD5 header is required for all + * Multi-Object Delete requests. Amazon S3 uses the header value to ensure that + * your request body has not been altered in transit.</p> <p>The following + * operations are related to <code>DeleteObjects</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects">AWS + * API Reference</a></p> + */ + virtual Model::DeleteObjectsOutcome DeleteObjects(const Model::DeleteObjectsRequest& request) const; + + /** + * <p>This operation enables you to delete multiple objects from a bucket using a + * single HTTP request. If you know the object keys that you want to delete, then + * this operation provides a suitable alternative to sending individual delete + * requests, reducing per-request overhead.</p> <p>The request contains a list of + * up to 1000 keys that you want to delete. In the XML, you provide the object key + * names, and optionally, version IDs if you want to delete a specific version of + * the object from a versioning-enabled bucket. For each key, Amazon S3 performs a + * delete operation and returns the result of that delete, success, or failure, in + * the response. Note that if the object specified in the request is not found, + * Amazon S3 returns the result as deleted.</p> <p> The operation supports two + * modes for the response: verbose and quiet. By default, the operation uses + * verbose mode in which the response includes the result of deletion of each key + * in your request. In quiet mode the response includes only keys where the delete + * operation encountered an error. For a successful deletion, the operation does + * not return any information about the delete in the response body.</p> <p>When + * performing this operation on an MFA Delete enabled bucket, that attempts to + * delete any versioned objects, you must include an MFA token. If you do not + * provide one, the entire request will fail, even if there are non-versioned + * objects you are trying to delete. If you provide an invalid token, whether there + * are versioned keys in the request or not, the entire Multi-Object Delete request + * will fail. For information about MFA Delete, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete"> + * MFA Delete</a>.</p> <p>Finally, the Content-MD5 header is required for all + * Multi-Object Delete requests. Amazon S3 uses the header value to ensure that + * your request body has not been altered in transit.</p> <p>The following + * operations are related to <code>DeleteObjects</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeleteObjectsOutcomeCallable DeleteObjectsCallable(const Model::DeleteObjectsRequest& request) const; + + /** + * <p>This operation enables you to delete multiple objects from a bucket using a + * single HTTP request. If you know the object keys that you want to delete, then + * this operation provides a suitable alternative to sending individual delete + * requests, reducing per-request overhead.</p> <p>The request contains a list of + * up to 1000 keys that you want to delete. In the XML, you provide the object key + * names, and optionally, version IDs if you want to delete a specific version of + * the object from a versioning-enabled bucket. For each key, Amazon S3 performs a + * delete operation and returns the result of that delete, success, or failure, in + * the response. Note that if the object specified in the request is not found, + * Amazon S3 returns the result as deleted.</p> <p> The operation supports two + * modes for the response: verbose and quiet. By default, the operation uses + * verbose mode in which the response includes the result of deletion of each key + * in your request. In quiet mode the response includes only keys where the delete + * operation encountered an error. For a successful deletion, the operation does + * not return any information about the delete in the response body.</p> <p>When + * performing this operation on an MFA Delete enabled bucket, that attempts to + * delete any versioned objects, you must include an MFA token. If you do not + * provide one, the entire request will fail, even if there are non-versioned + * objects you are trying to delete. If you provide an invalid token, whether there + * are versioned keys in the request or not, the entire Multi-Object Delete request + * will fail. For information about MFA Delete, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete"> + * MFA Delete</a>.</p> <p>Finally, the Content-MD5 header is required for all + * Multi-Object Delete requests. Amazon S3 uses the header value to ensure that + * your request body has not been altered in transit.</p> <p>The following + * operations are related to <code>DeleteObjects</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeleteObjectsAsync(const Model::DeleteObjectsRequest& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 + * bucket. To use this operation, you must have the + * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information + * about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following + * operations are related to <code>DeletePublicAccessBlock</code>:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock">AWS + * API Reference</a></p> + */ + virtual Model::DeletePublicAccessBlockOutcome DeletePublicAccessBlock(const Model::DeletePublicAccessBlockRequest& request) const; + + /** + * <p>Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 + * bucket. To use this operation, you must have the + * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information + * about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following + * operations are related to <code>DeletePublicAccessBlock</code>:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::DeletePublicAccessBlockOutcomeCallable DeletePublicAccessBlockCallable(const Model::DeletePublicAccessBlockRequest& request) const; + + /** + * <p>Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 + * bucket. To use this operation, you must have the + * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information + * about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following + * operations are related to <code>DeletePublicAccessBlock</code>:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void DeletePublicAccessBlockAsync(const Model::DeletePublicAccessBlockRequest& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This implementation of the GET operation uses the <code>accelerate</code> + * subresource to return the Transfer Acceleration state of a bucket, which is + * either <code>Enabled</code> or <code>Suspended</code>. Amazon S3 Transfer + * Acceleration is a bucket-level feature that enables you to perform faster data + * transfers to and from Amazon S3.</p> <p>To use this operation, you must have + * permission to perform the <code>s3:GetAccelerateConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p>You set the Transfer Acceleration + * state of an existing bucket to <code>Enabled</code> or <code>Suspended</code> by + * using the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> + * operation. </p> <p>A GET <code>accelerate</code> request does not return a state + * value for a bucket that has no transfer acceleration state. A bucket has no + * Transfer Acceleration state if a state has never been set on the bucket. </p> + * <p>For more information about transfer acceleration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a> in the Amazon Simple Storage Service Developer Guide.</p> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketAccelerateConfigurationOutcome GetBucketAccelerateConfiguration(const Model::GetBucketAccelerateConfigurationRequest& request) const; + + /** + * <p>This implementation of the GET operation uses the <code>accelerate</code> + * subresource to return the Transfer Acceleration state of a bucket, which is + * either <code>Enabled</code> or <code>Suspended</code>. Amazon S3 Transfer + * Acceleration is a bucket-level feature that enables you to perform faster data + * transfers to and from Amazon S3.</p> <p>To use this operation, you must have + * permission to perform the <code>s3:GetAccelerateConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p>You set the Transfer Acceleration + * state of an existing bucket to <code>Enabled</code> or <code>Suspended</code> by + * using the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> + * operation. </p> <p>A GET <code>accelerate</code> request does not return a state + * value for a bucket that has no transfer acceleration state. A bucket has no + * Transfer Acceleration state if a state has never been set on the bucket. </p> + * <p>For more information about transfer acceleration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a> in the Amazon Simple Storage Service Developer Guide.</p> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketAccelerateConfigurationOutcomeCallable GetBucketAccelerateConfigurationCallable(const Model::GetBucketAccelerateConfigurationRequest& request) const; + + /** + * <p>This implementation of the GET operation uses the <code>accelerate</code> + * subresource to return the Transfer Acceleration state of a bucket, which is + * either <code>Enabled</code> or <code>Suspended</code>. Amazon S3 Transfer + * Acceleration is a bucket-level feature that enables you to perform faster data + * transfers to and from Amazon S3.</p> <p>To use this operation, you must have + * permission to perform the <code>s3:GetAccelerateConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p>You set the Transfer Acceleration + * state of an existing bucket to <code>Enabled</code> or <code>Suspended</code> by + * using the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> + * operation. </p> <p>A GET <code>accelerate</code> request does not return a state + * value for a bucket that has no transfer acceleration state. A bucket has no + * Transfer Acceleration state if a state has never been set on the bucket. </p> + * <p>For more information about transfer acceleration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a> in the Amazon Simple Storage Service Developer Guide.</p> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html">PutBucketAccelerateConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketAccelerateConfigurationAsync(const Model::GetBucketAccelerateConfigurationRequest& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This implementation of the <code>GET</code> operation uses the + * <code>acl</code> subresource to return the access control list (ACL) of a + * bucket. To use <code>GET</code> to return the ACL of the bucket, you must have + * <code>READ_ACP</code> access to the bucket. If <code>READ_ACP</code> permission + * is granted to the anonymous user, you can return the ACL of the bucket without + * using an authorization header.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl">AWS API + * Reference</a></p> + */ + virtual Model::GetBucketAclOutcome GetBucketAcl(const Model::GetBucketAclRequest& request) const; + + /** + * <p>This implementation of the <code>GET</code> operation uses the + * <code>acl</code> subresource to return the access control list (ACL) of a + * bucket. To use <code>GET</code> to return the ACL of the bucket, you must have + * <code>READ_ACP</code> access to the bucket. If <code>READ_ACP</code> permission + * is granted to the anonymous user, you can return the ACL of the bucket without + * using an authorization header.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketAclOutcomeCallable GetBucketAclCallable(const Model::GetBucketAclRequest& request) const; + + /** + * <p>This implementation of the <code>GET</code> operation uses the + * <code>acl</code> subresource to return the access control list (ACL) of a + * bucket. To use <code>GET</code> to return the ACL of the bucket, you must have + * <code>READ_ACP</code> access to the bucket. If <code>READ_ACP</code> permission + * is granted to the anonymous user, you can return the ACL of the bucket without + * using an authorization header.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketAclAsync(const Model::GetBucketAclRequest& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This implementation of the GET operation returns an analytics configuration + * (identified by the analytics configuration ID) from the bucket.</p> <p>To use + * this operation, you must have permissions to perform the + * <code>s3:GetAnalyticsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources"> + * Permissions Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>For information about Amazon S3 + * analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a> in the <i>Amazon Simple Storage + * Service Developer Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketAnalyticsConfigurationOutcome GetBucketAnalyticsConfiguration(const Model::GetBucketAnalyticsConfigurationRequest& request) const; + + /** + * <p>This implementation of the GET operation returns an analytics configuration + * (identified by the analytics configuration ID) from the bucket.</p> <p>To use + * this operation, you must have permissions to perform the + * <code>s3:GetAnalyticsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources"> + * Permissions Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>For information about Amazon S3 + * analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a> in the <i>Amazon Simple Storage + * Service Developer Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketAnalyticsConfigurationOutcomeCallable GetBucketAnalyticsConfigurationCallable(const Model::GetBucketAnalyticsConfigurationRequest& request) const; + + /** + * <p>This implementation of the GET operation returns an analytics configuration + * (identified by the analytics configuration ID) from the bucket.</p> <p>To use + * this operation, you must have permissions to perform the + * <code>s3:GetAnalyticsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources"> + * Permissions Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>For information about Amazon S3 + * analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a> in the <i>Amazon Simple Storage + * Service Developer Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketAnalyticsConfigurationAsync(const Model::GetBucketAnalyticsConfigurationRequest& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the cors configuration information set for the bucket.</p> <p> To use + * this operation, you must have permission to perform the s3:GetBucketCORS action. + * By default, the bucket owner has this permission and can grant it to others.</p> + * <p> For more information about cors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html"> Enabling + * Cross-Origin Resource Sharing</a>.</p> <p>The following operations are related + * to <code>GetBucketCors</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketCorsOutcome GetBucketCors(const Model::GetBucketCorsRequest& request) const; + + /** + * <p>Returns the cors configuration information set for the bucket.</p> <p> To use + * this operation, you must have permission to perform the s3:GetBucketCORS action. + * By default, the bucket owner has this permission and can grant it to others.</p> + * <p> For more information about cors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html"> Enabling + * Cross-Origin Resource Sharing</a>.</p> <p>The following operations are related + * to <code>GetBucketCors</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketCorsOutcomeCallable GetBucketCorsCallable(const Model::GetBucketCorsRequest& request) const; + + /** + * <p>Returns the cors configuration information set for the bucket.</p> <p> To use + * this operation, you must have permission to perform the s3:GetBucketCORS action. + * By default, the bucket owner has this permission and can grant it to others.</p> + * <p> For more information about cors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html"> Enabling + * Cross-Origin Resource Sharing</a>.</p> <p>The following operations are related + * to <code>GetBucketCors</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html">PutBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketCorsAsync(const Model::GetBucketCorsRequest& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the default encryption configuration for an Amazon S3 bucket. For + * information about the Amazon S3 default encryption feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a>.</p> <p> To use this operation, you must have + * permission to perform the <code>s3:GetEncryptionConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following + * operations are related to <code>GetBucketEncryption</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketEncryptionOutcome GetBucketEncryption(const Model::GetBucketEncryptionRequest& request) const; + + /** + * <p>Returns the default encryption configuration for an Amazon S3 bucket. For + * information about the Amazon S3 default encryption feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a>.</p> <p> To use this operation, you must have + * permission to perform the <code>s3:GetEncryptionConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following + * operations are related to <code>GetBucketEncryption</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketEncryptionOutcomeCallable GetBucketEncryptionCallable(const Model::GetBucketEncryptionRequest& request) const; + + /** + * <p>Returns the default encryption configuration for an Amazon S3 bucket. For + * information about the Amazon S3 default encryption feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a>.</p> <p> To use this operation, you must have + * permission to perform the <code>s3:GetEncryptionConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following + * operations are related to <code>GetBucketEncryption</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html">PutBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketEncryptionAsync(const Model::GetBucketEncryptionRequest& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>GetBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketIntelligentTieringConfigurationOutcome GetBucketIntelligentTieringConfiguration(const Model::GetBucketIntelligentTieringConfigurationRequest& request) const; + + /** + * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>GetBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketIntelligentTieringConfigurationOutcomeCallable GetBucketIntelligentTieringConfigurationCallable(const Model::GetBucketIntelligentTieringConfigurationRequest& request) const; + + /** + * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>GetBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketIntelligentTieringConfigurationAsync(const Model::GetBucketIntelligentTieringConfigurationRequest& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns an inventory configuration (identified by the inventory configuration + * ID) from the bucket.</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner + * has this permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a>.</p> <p>The following operations are related to + * <code>GetBucketInventoryConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketInventoryConfigurationOutcome GetBucketInventoryConfiguration(const Model::GetBucketInventoryConfigurationRequest& request) const; + + /** + * <p>Returns an inventory configuration (identified by the inventory configuration + * ID) from the bucket.</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner + * has this permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a>.</p> <p>The following operations are related to + * <code>GetBucketInventoryConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketInventoryConfigurationOutcomeCallable GetBucketInventoryConfigurationCallable(const Model::GetBucketInventoryConfigurationRequest& request) const; + + /** + * <p>Returns an inventory configuration (identified by the inventory configuration + * ID) from the bucket.</p> <p>To use this operation, you must have permissions to + * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner + * has this permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a>.</p> <p>The following operations are related to + * <code>GetBucketInventoryConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketInventoryConfigurationAsync(const Model::GetBucketInventoryConfigurationRequest& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Bucket lifecycle configuration now supports specifying a lifecycle + * rule using an object key name prefix, one or more object tags, or a combination + * of both. Accordingly, this section describes the latest API. The response + * describes the new filter element that you can use to specify a filter to select + * a subset of objects to which the rule applies. If you are using a previous + * version of the lifecycle configuration, it still works. For the earlier API + * description, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a>.</p> + * <p>Returns the lifecycle configuration information set on the bucket. + * For information about lifecycle configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a>.</p> <p>To use this operation, you must have permission + * to perform the <code>s3:GetLifecycleConfiguration</code> action. The bucket + * owner has this permission, by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> + * <code>GetBucketLifecycleConfiguration</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>NoSuchLifecycleConfiguration</code> + * </p> <ul> <li> <p>Description: The lifecycle configuration does not exist.</p> + * </li> <li> <p>HTTP Status Code: 404 Not Found</p> </li> <li> <p>SOAP Fault Code + * Prefix: Client</p> </li> </ul> </li> </ul> <p>The following operations are + * related to <code>GetBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketLifecycleConfigurationOutcome GetBucketLifecycleConfiguration(const Model::GetBucketLifecycleConfigurationRequest& request) const; + + /** + * <p>Bucket lifecycle configuration now supports specifying a lifecycle + * rule using an object key name prefix, one or more object tags, or a combination + * of both. Accordingly, this section describes the latest API. The response + * describes the new filter element that you can use to specify a filter to select + * a subset of objects to which the rule applies. If you are using a previous + * version of the lifecycle configuration, it still works. For the earlier API + * description, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a>.</p> + * <p>Returns the lifecycle configuration information set on the bucket. + * For information about lifecycle configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a>.</p> <p>To use this operation, you must have permission + * to perform the <code>s3:GetLifecycleConfiguration</code> action. The bucket + * owner has this permission, by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> + * <code>GetBucketLifecycleConfiguration</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>NoSuchLifecycleConfiguration</code> + * </p> <ul> <li> <p>Description: The lifecycle configuration does not exist.</p> + * </li> <li> <p>HTTP Status Code: 404 Not Found</p> </li> <li> <p>SOAP Fault Code + * Prefix: Client</p> </li> </ul> </li> </ul> <p>The following operations are + * related to <code>GetBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketLifecycleConfigurationOutcomeCallable GetBucketLifecycleConfigurationCallable(const Model::GetBucketLifecycleConfigurationRequest& request) const; + + /** + * <p>Bucket lifecycle configuration now supports specifying a lifecycle + * rule using an object key name prefix, one or more object tags, or a combination + * of both. Accordingly, this section describes the latest API. The response + * describes the new filter element that you can use to specify a filter to select + * a subset of objects to which the rule applies. If you are using a previous + * version of the lifecycle configuration, it still works. For the earlier API + * description, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a>.</p> + * <p>Returns the lifecycle configuration information set on the bucket. + * For information about lifecycle configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a>.</p> <p>To use this operation, you must have permission + * to perform the <code>s3:GetLifecycleConfiguration</code> action. The bucket + * owner has this permission, by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> + * <code>GetBucketLifecycleConfiguration</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>NoSuchLifecycleConfiguration</code> + * </p> <ul> <li> <p>Description: The lifecycle configuration does not exist.</p> + * </li> <li> <p>HTTP Status Code: 404 Not Found</p> </li> <li> <p>SOAP Fault Code + * Prefix: Client</p> </li> </ul> </li> </ul> <p>The following operations are + * related to <code>GetBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html">GetBucketLifecycle</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketLifecycleConfigurationAsync(const Model::GetBucketLifecycleConfigurationRequest& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the Region the bucket resides in. You set the bucket's Region using + * the <code>LocationConstraint</code> request parameter in a + * <code>CreateBucket</code> request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>.</p> + * <p> To use this implementation of the operation, you must be the bucket + * owner.</p> <p>The following operations are related to + * <code>GetBucketLocation</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketLocationOutcome GetBucketLocation(const Model::GetBucketLocationRequest& request) const; + + /** + * <p>Returns the Region the bucket resides in. You set the bucket's Region using + * the <code>LocationConstraint</code> request parameter in a + * <code>CreateBucket</code> request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>.</p> + * <p> To use this implementation of the operation, you must be the bucket + * owner.</p> <p>The following operations are related to + * <code>GetBucketLocation</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketLocationOutcomeCallable GetBucketLocationCallable(const Model::GetBucketLocationRequest& request) const; + + /** + * <p>Returns the Region the bucket resides in. You set the bucket's Region using + * the <code>LocationConstraint</code> request parameter in a + * <code>CreateBucket</code> request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>.</p> + * <p> To use this implementation of the operation, you must be the bucket + * owner.</p> <p>The following operations are related to + * <code>GetBucketLocation</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketLocationAsync(const Model::GetBucketLocationRequest& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the logging status of a bucket and the permissions users have to view + * and modify that status. To use GET, you must be the bucket owner.</p> <p>The + * following operations are related to <code>GetBucketLogging</code>:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html">PutBucketLogging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketLoggingOutcome GetBucketLogging(const Model::GetBucketLoggingRequest& request) const; + + /** + * <p>Returns the logging status of a bucket and the permissions users have to view + * and modify that status. To use GET, you must be the bucket owner.</p> <p>The + * following operations are related to <code>GetBucketLogging</code>:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html">PutBucketLogging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketLoggingOutcomeCallable GetBucketLoggingCallable(const Model::GetBucketLoggingRequest& request) const; + + /** + * <p>Returns the logging status of a bucket and the permissions users have to view + * and modify that status. To use GET, you must be the bucket owner.</p> <p>The + * following operations are related to <code>GetBucketLogging</code>:</p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html">PutBucketLogging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketLoggingAsync(const Model::GetBucketLoggingRequest& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Gets a metrics configuration (specified by the metrics configuration ID) from + * the bucket. Note that this doesn't include the daily storage metrics.</p> <p> To + * use this operation, you must have permissions to perform the + * <code>s3:GetMetricsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> For information + * about CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>GetBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketMetricsConfigurationOutcome GetBucketMetricsConfiguration(const Model::GetBucketMetricsConfigurationRequest& request) const; + + /** + * <p>Gets a metrics configuration (specified by the metrics configuration ID) from + * the bucket. Note that this doesn't include the daily storage metrics.</p> <p> To + * use this operation, you must have permissions to perform the + * <code>s3:GetMetricsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> For information + * about CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>GetBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketMetricsConfigurationOutcomeCallable GetBucketMetricsConfigurationCallable(const Model::GetBucketMetricsConfigurationRequest& request) const; + + /** + * <p>Gets a metrics configuration (specified by the metrics configuration ID) from + * the bucket. Note that this doesn't include the daily storage metrics.</p> <p> To + * use this operation, you must have permissions to perform the + * <code>s3:GetMetricsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> For information + * about CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>GetBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketMetricsConfigurationAsync(const Model::GetBucketMetricsConfigurationRequest& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the notification configuration of a bucket.</p> <p>If notifications + * are not enabled on the bucket, the operation returns an empty + * <code>NotificationConfiguration</code> element.</p> <p>By default, you must be + * the bucket owner to read the notification configuration of a bucket. However, + * the bucket owner can use a bucket policy to grant permission to other users to + * read this configuration with the <code>s3:GetBucketNotification</code> + * permission.</p> <p>For more information about setting and reading the + * notification configuration on a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting + * Up Notification of Bucket Events</a>. For more information about bucket + * policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies</a>.</p> <p>The following operation is related to + * <code>GetBucketNotification</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html">PutBucketNotification</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketNotificationConfigurationOutcome GetBucketNotificationConfiguration(const Model::GetBucketNotificationConfigurationRequest& request) const; + + /** + * <p>Returns the notification configuration of a bucket.</p> <p>If notifications + * are not enabled on the bucket, the operation returns an empty + * <code>NotificationConfiguration</code> element.</p> <p>By default, you must be + * the bucket owner to read the notification configuration of a bucket. However, + * the bucket owner can use a bucket policy to grant permission to other users to + * read this configuration with the <code>s3:GetBucketNotification</code> + * permission.</p> <p>For more information about setting and reading the + * notification configuration on a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting + * Up Notification of Bucket Events</a>. For more information about bucket + * policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies</a>.</p> <p>The following operation is related to + * <code>GetBucketNotification</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html">PutBucketNotification</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketNotificationConfigurationOutcomeCallable GetBucketNotificationConfigurationCallable(const Model::GetBucketNotificationConfigurationRequest& request) const; + + /** + * <p>Returns the notification configuration of a bucket.</p> <p>If notifications + * are not enabled on the bucket, the operation returns an empty + * <code>NotificationConfiguration</code> element.</p> <p>By default, you must be + * the bucket owner to read the notification configuration of a bucket. However, + * the bucket owner can use a bucket policy to grant permission to other users to + * read this configuration with the <code>s3:GetBucketNotification</code> + * permission.</p> <p>For more information about setting and reading the + * notification configuration on a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting + * Up Notification of Bucket Events</a>. For more information about bucket + * policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies</a>.</p> <p>The following operation is related to + * <code>GetBucketNotification</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html">PutBucketNotification</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketNotificationConfigurationAsync(const Model::GetBucketNotificationConfigurationRequest& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this + * operation, you must have the <code>s3:GetBucketOwnershipControls</code> + * permission. For more information about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>GetBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>PutBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketOwnershipControlsOutcome GetBucketOwnershipControls(const Model::GetBucketOwnershipControlsRequest& request) const; + + /** + * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this + * operation, you must have the <code>s3:GetBucketOwnershipControls</code> + * permission. For more information about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>GetBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>PutBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketOwnershipControlsOutcomeCallable GetBucketOwnershipControlsCallable(const Model::GetBucketOwnershipControlsRequest& request) const; + + /** + * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this + * operation, you must have the <code>s3:GetBucketOwnershipControls</code> + * permission. For more information about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>GetBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>PutBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketOwnershipControlsAsync(const Model::GetBucketOwnershipControlsRequest& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the policy of a specified bucket. If you are using an identity other + * than the root user of the AWS account that owns the bucket, the calling identity + * must have the <code>GetBucketPolicy</code> permissions on the specified bucket + * and belong to the bucket owner's account in order to use this operation.</p> + * <p>If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns + * a <code>403 Access Denied</code> error. If you have the correct permissions, but + * you're not using an identity that belongs to the bucket owner's account, Amazon + * S3 returns a <code>405 Method Not Allowed</code> error.</p> <p>As a + * security precaution, the root user of the AWS account that owns a bucket can + * always use this operation, even if the policy explicitly denies the root user + * the ability to perform this action.</p> <p>For more information + * about bucket policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>The following operation is related + * to <code>GetBucketPolicy</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketPolicyOutcome GetBucketPolicy(const Model::GetBucketPolicyRequest& request) const; + + /** + * <p>Returns the policy of a specified bucket. If you are using an identity other + * than the root user of the AWS account that owns the bucket, the calling identity + * must have the <code>GetBucketPolicy</code> permissions on the specified bucket + * and belong to the bucket owner's account in order to use this operation.</p> + * <p>If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns + * a <code>403 Access Denied</code> error. If you have the correct permissions, but + * you're not using an identity that belongs to the bucket owner's account, Amazon + * S3 returns a <code>405 Method Not Allowed</code> error.</p> <p>As a + * security precaution, the root user of the AWS account that owns a bucket can + * always use this operation, even if the policy explicitly denies the root user + * the ability to perform this action.</p> <p>For more information + * about bucket policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>The following operation is related + * to <code>GetBucketPolicy</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketPolicyOutcomeCallable GetBucketPolicyCallable(const Model::GetBucketPolicyRequest& request) const; + + /** + * <p>Returns the policy of a specified bucket. If you are using an identity other + * than the root user of the AWS account that owns the bucket, the calling identity + * must have the <code>GetBucketPolicy</code> permissions on the specified bucket + * and belong to the bucket owner's account in order to use this operation.</p> + * <p>If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns + * a <code>403 Access Denied</code> error. If you have the correct permissions, but + * you're not using an identity that belongs to the bucket owner's account, Amazon + * S3 returns a <code>405 Method Not Allowed</code> error.</p> <p>As a + * security precaution, the root user of the AWS account that owns a bucket can + * always use this operation, even if the policy explicitly denies the root user + * the ability to perform this action.</p> <p>For more information + * about bucket policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>The following operation is related + * to <code>GetBucketPolicy</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketPolicyAsync(const Model::GetBucketPolicyRequest& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Retrieves the policy status for an Amazon S3 bucket, indicating whether the + * bucket is public. In order to use this operation, you must have the + * <code>s3:GetBucketPolicyStatus</code> permission. For more information about + * Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p> For more information about when Amazon S3 + * considers a bucket 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>. </p> <p>The following operations are related to + * <code>GetBucketPolicyStatus</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketPolicyStatusOutcome GetBucketPolicyStatus(const Model::GetBucketPolicyStatusRequest& request) const; + + /** + * <p>Retrieves the policy status for an Amazon S3 bucket, indicating whether the + * bucket is public. In order to use this operation, you must have the + * <code>s3:GetBucketPolicyStatus</code> permission. For more information about + * Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p> For more information about when Amazon S3 + * considers a bucket 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>. </p> <p>The following operations are related to + * <code>GetBucketPolicyStatus</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketPolicyStatusOutcomeCallable GetBucketPolicyStatusCallable(const Model::GetBucketPolicyStatusRequest& request) const; + + /** + * <p>Retrieves the policy status for an Amazon S3 bucket, indicating whether the + * bucket is public. In order to use this operation, you must have the + * <code>s3:GetBucketPolicyStatus</code> permission. For more information about + * Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p> For more information about when Amazon S3 + * considers a bucket 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>. </p> <p>The following operations are related to + * <code>GetBucketPolicyStatus</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketPolicyStatusAsync(const Model::GetBucketPolicyStatusRequest& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the replication configuration of a bucket.</p> <p> It can take + * a while to propagate the put or delete a replication configuration to all Amazon + * S3 systems. Therefore, a get request soon after put or delete can return a wrong + * result. </p> <p> For information about replication configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> <p>This + * operation requires permissions for the + * <code>s3:GetReplicationConfiguration</code> action. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>If you include the + * <code>Filter</code> element in a replication configuration, you must also + * include the <code>DeleteMarkerReplication</code> and <code>Priority</code> + * elements. The response also returns those elements.</p> <p>For information about + * <code>GetBucketReplication</code> errors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List + * of replication-related error codes</a> </p> <p>The following operations are + * related to <code>GetBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketReplicationOutcome GetBucketReplication(const Model::GetBucketReplicationRequest& request) const; + + /** + * <p>Returns the replication configuration of a bucket.</p> <p> It can take + * a while to propagate the put or delete a replication configuration to all Amazon + * S3 systems. Therefore, a get request soon after put or delete can return a wrong + * result. </p> <p> For information about replication configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> <p>This + * operation requires permissions for the + * <code>s3:GetReplicationConfiguration</code> action. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>If you include the + * <code>Filter</code> element in a replication configuration, you must also + * include the <code>DeleteMarkerReplication</code> and <code>Priority</code> + * elements. The response also returns those elements.</p> <p>For information about + * <code>GetBucketReplication</code> errors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List + * of replication-related error codes</a> </p> <p>The following operations are + * related to <code>GetBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketReplicationOutcomeCallable GetBucketReplicationCallable(const Model::GetBucketReplicationRequest& request) const; + + /** + * <p>Returns the replication configuration of a bucket.</p> <p> It can take + * a while to propagate the put or delete a replication configuration to all Amazon + * S3 systems. Therefore, a get request soon after put or delete can return a wrong + * result. </p> <p> For information about replication configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> <p>This + * operation requires permissions for the + * <code>s3:GetReplicationConfiguration</code> action. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>If you include the + * <code>Filter</code> element in a replication configuration, you must also + * include the <code>DeleteMarkerReplication</code> and <code>Priority</code> + * elements. The response also returns those elements.</p> <p>For information about + * <code>GetBucketReplication</code> errors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List + * of replication-related error codes</a> </p> <p>The following operations are + * related to <code>GetBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html">PutBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketReplicationAsync(const Model::GetBucketReplicationRequest& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the request payment configuration of a bucket. To use this version of + * the operation, you must be the bucket owner. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester + * Pays Buckets</a>.</p> <p>The following operations are related to + * <code>GetBucketRequestPayment</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketRequestPaymentOutcome GetBucketRequestPayment(const Model::GetBucketRequestPaymentRequest& request) const; + + /** + * <p>Returns the request payment configuration of a bucket. To use this version of + * the operation, you must be the bucket owner. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester + * Pays Buckets</a>.</p> <p>The following operations are related to + * <code>GetBucketRequestPayment</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketRequestPaymentOutcomeCallable GetBucketRequestPaymentCallable(const Model::GetBucketRequestPaymentRequest& request) const; + + /** + * <p>Returns the request payment configuration of a bucket. To use this version of + * the operation, you must be the bucket owner. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester + * Pays Buckets</a>.</p> <p>The following operations are related to + * <code>GetBucketRequestPayment</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketRequestPaymentAsync(const Model::GetBucketRequestPaymentRequest& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the tag set associated with the bucket.</p> <p>To use this operation, + * you must have permission to perform the <code>s3:GetBucketTagging</code> action. + * By default, the bucket owner has this permission and can grant this permission + * to others.</p> <p> <code>GetBucketTagging</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>NoSuchTagSetError</code> </p> <ul> + * <li> <p>Description: There is no tag set associated with the bucket.</p> </li> + * </ul> </li> </ul> <p>The following operations are related to + * <code>GetBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketTaggingOutcome GetBucketTagging(const Model::GetBucketTaggingRequest& request) const; + + /** + * <p>Returns the tag set associated with the bucket.</p> <p>To use this operation, + * you must have permission to perform the <code>s3:GetBucketTagging</code> action. + * By default, the bucket owner has this permission and can grant this permission + * to others.</p> <p> <code>GetBucketTagging</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>NoSuchTagSetError</code> </p> <ul> + * <li> <p>Description: There is no tag set associated with the bucket.</p> </li> + * </ul> </li> </ul> <p>The following operations are related to + * <code>GetBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketTaggingOutcomeCallable GetBucketTaggingCallable(const Model::GetBucketTaggingRequest& request) const; + + /** + * <p>Returns the tag set associated with the bucket.</p> <p>To use this operation, + * you must have permission to perform the <code>s3:GetBucketTagging</code> action. + * By default, the bucket owner has this permission and can grant this permission + * to others.</p> <p> <code>GetBucketTagging</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>NoSuchTagSetError</code> </p> <ul> + * <li> <p>Description: There is no tag set associated with the bucket.</p> </li> + * </ul> </li> </ul> <p>The following operations are related to + * <code>GetBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html">PutBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketTaggingAsync(const Model::GetBucketTaggingRequest& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the versioning state of a bucket.</p> <p>To retrieve the versioning + * state of a bucket, you must be the bucket owner.</p> <p>This implementation also + * returns the MFA Delete status of the versioning state. If the MFA Delete status + * is <code>enabled</code>, the bucket owner must use an authentication device to + * change the versioning state of the bucket.</p> <p>The following operations are + * related to <code>GetBucketVersioning</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketVersioningOutcome GetBucketVersioning(const Model::GetBucketVersioningRequest& request) const; + + /** + * <p>Returns the versioning state of a bucket.</p> <p>To retrieve the versioning + * state of a bucket, you must be the bucket owner.</p> <p>This implementation also + * returns the MFA Delete status of the versioning state. If the MFA Delete status + * is <code>enabled</code>, the bucket owner must use an authentication device to + * change the versioning state of the bucket.</p> <p>The following operations are + * related to <code>GetBucketVersioning</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketVersioningOutcomeCallable GetBucketVersioningCallable(const Model::GetBucketVersioningRequest& request) const; + + /** + * <p>Returns the versioning state of a bucket.</p> <p>To retrieve the versioning + * state of a bucket, you must be the bucket owner.</p> <p>This implementation also + * returns the MFA Delete status of the versioning state. If the MFA Delete status + * is <code>enabled</code>, the bucket owner must use an authentication device to + * change the versioning state of the bucket.</p> <p>The following operations are + * related to <code>GetBucketVersioning</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketVersioningAsync(const Model::GetBucketVersioningRequest& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the website configuration for a bucket. To host website on Amazon S3, + * you can configure a bucket as website by adding a website configuration. For + * more information about hosting websites, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>. </p> <p>This GET operation requires the + * <code>S3:GetBucketWebsite</code> permission. By default, only the bucket owner + * can read the bucket website configuration. However, bucket owners can allow + * other users to read the website configuration by writing a bucket policy + * granting them the <code>S3:GetBucketWebsite</code> permission.</p> <p>The + * following operations are related to <code>DeleteBucketWebsite</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html">DeleteBucketWebsite</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite">AWS + * API Reference</a></p> + */ + virtual Model::GetBucketWebsiteOutcome GetBucketWebsite(const Model::GetBucketWebsiteRequest& request) const; + + /** + * <p>Returns the website configuration for a bucket. To host website on Amazon S3, + * you can configure a bucket as website by adding a website configuration. For + * more information about hosting websites, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>. </p> <p>This GET operation requires the + * <code>S3:GetBucketWebsite</code> permission. By default, only the bucket owner + * can read the bucket website configuration. However, bucket owners can allow + * other users to read the website configuration by writing a bucket policy + * granting them the <code>S3:GetBucketWebsite</code> permission.</p> <p>The + * following operations are related to <code>DeleteBucketWebsite</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html">DeleteBucketWebsite</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetBucketWebsiteOutcomeCallable GetBucketWebsiteCallable(const Model::GetBucketWebsiteRequest& request) const; + + /** + * <p>Returns the website configuration for a bucket. To host website on Amazon S3, + * you can configure a bucket as website by adding a website configuration. For + * more information about hosting websites, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>. </p> <p>This GET operation requires the + * <code>S3:GetBucketWebsite</code> permission. By default, only the bucket owner + * can read the bucket website configuration. However, bucket owners can allow + * other users to read the website configuration by writing a bucket policy + * granting them the <code>S3:GetBucketWebsite</code> permission.</p> <p>The + * following operations are related to <code>DeleteBucketWebsite</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html">DeleteBucketWebsite</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html">PutBucketWebsite</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetBucketWebsiteAsync(const Model::GetBucketWebsiteRequest& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Retrieves objects from Amazon S3. To use <code>GET</code>, you must have + * <code>READ</code> access to the object. If you grant <code>READ</code> access to + * the anonymous user, you can return the object without using an authorization + * header.</p> <p>An Amazon S3 bucket has no directory hierarchy such as you would + * find in a typical computer file system. You can, however, create a logical + * hierarchy by using object key names that imply a folder structure. For example, + * instead of naming an object <code>sample.jpg</code>, you can name it + * <code>photos/2006/February/sample.jpg</code>.</p> <p>To get an object from such + * a logical hierarchy, specify the full key name for the object in the + * <code>GET</code> operation. For a virtual hosted-style request example, if you + * have the object <code>photos/2006/February/sample.jpg</code>, specify the + * resource as <code>/photos/2006/February/sample.jpg</code>. For a path-style + * request example, if you have the object + * <code>photos/2006/February/sample.jpg</code> in the bucket named + * <code>examplebucket</code>, specify the resource as + * <code>/examplebucket/photos/2006/February/sample.jpg</code>. For more + * information about request types, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP + * Host Header Bucket Specification</a>.</p> <p>To distribute large files to many + * people, you can save bandwidth costs by using BitTorrent. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon S3 + * Torrent</a>. For more information about returning the ACL of an object, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a>.</p> + * <p>If the object you are retrieving is stored in the S3 Glacier or S3 Glacier + * Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 + * Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you + * must first restore a copy using <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>. + * Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. + * For information about restoring archived objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring + * Archived Objects</a>.</p> <p>Encryption request headers, like + * <code>x-amz-server-side-encryption</code>, should not be sent for GET requests + * if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) + * or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If + * your object does use these types of keys, you’ll get an HTTP 400 BadRequest + * error.</p> <p>If you encrypt an object by using server-side encryption with + * customer-provided encryption keys (SSE-C) when you store the object in Amazon + * S3, then when you GET the object, you must use the following headers:</p> <ul> + * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <p>Assuming you + * have permission to read object tags (permission for the + * <code>s3:GetObjectVersionTagging</code> action), the response also returns the + * <code>x-amz-tagging-count</code> header that provides the count of number of + * tags associated with the object. You can use <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * to retrieve the tag set associated with an object.</p> <p> <b>Permissions</b> + * </p> <p>You need the <code>s3:GetObject</code> permission for this operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. If the object you request does not exist, the error + * Amazon S3 returns depends on whether you also have the + * <code>s3:ListBucket</code> permission.</p> <ul> <li> <p>If you have the + * <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will return an + * HTTP status code 404 ("no such key") error.</p> </li> <li> <p>If you don’t have + * the <code>s3:ListBucket</code> permission, Amazon S3 will return an HTTP status + * code 403 ("access denied") error.</p> </li> </ul> <p> <b>Versioning</b> </p> + * <p>By default, the GET operation returns the current version of an object. To + * return a different version, use the <code>versionId</code> subresource.</p> + * <p>If the current version of the object is a delete marker, Amazon S3 + * behaves as if the object was deleted and includes <code>x-amz-delete-marker: + * true</code> in the response.</p> <p>For more information about + * versioning, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html">PutBucketVersioning</a>. + * </p> <p> <b>Overriding Response Header Values</b> </p> <p>There are times when + * you want to override certain response header values in a GET response. For + * example, you might override the Content-Disposition response header value in + * your GET request.</p> <p>You can override values for a set of response headers + * using the following query parameters. These response header values are sent only + * on a successful request, that is, when status code 200 OK is returned. The set + * of headers you can override using these parameters is a subset of the headers + * that Amazon S3 accepts when you create an object. The response headers that you + * can override for the GET response are <code>Content-Type</code>, + * <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, + * <code>Content-Disposition</code>, and <code>Content-Encoding</code>. To override + * these header values in the GET response, you use the following request + * parameters.</p> <p>You must sign the request, either using an + * Authorization header or a presigned URL, when using these parameters. They + * cannot be used with an unsigned (anonymous) request.</p> <ul> <li> <p> + * <code>response-content-type</code> </p> </li> <li> <p> + * <code>response-content-language</code> </p> </li> <li> <p> + * <code>response-expires</code> </p> </li> <li> <p> + * <code>response-cache-control</code> </p> </li> <li> <p> + * <code>response-content-disposition</code> </p> </li> <li> <p> + * <code>response-content-encoding</code> </p> </li> </ul> <p> <b>Additional + * Considerations about Request Headers</b> </p> <p>If both of the + * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present + * in the request as follows: <code>If-Match</code> condition evaluates to + * <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to + * <code>false</code>; then, S3 returns 200 OK and the data requested. </p> <p>If + * both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> + * headers are present in the request as follows:<code> If-None-Match</code> + * condition evaluates to <code>false</code>, and; <code>If-Modified-Since</code> + * condition evaluates to <code>true</code>; then, S3 returns 304 Not Modified + * response code.</p> <p>For more information about conditional requests, see <a + * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p>The following + * operations are related to <code>GetObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject">AWS API + * Reference</a></p> + */ + virtual Model::GetObjectOutcome GetObject(const Model::GetObjectRequest& request) const; + + /** + * <p>Retrieves objects from Amazon S3. To use <code>GET</code>, you must have + * <code>READ</code> access to the object. If you grant <code>READ</code> access to + * the anonymous user, you can return the object without using an authorization + * header.</p> <p>An Amazon S3 bucket has no directory hierarchy such as you would + * find in a typical computer file system. You can, however, create a logical + * hierarchy by using object key names that imply a folder structure. For example, + * instead of naming an object <code>sample.jpg</code>, you can name it + * <code>photos/2006/February/sample.jpg</code>.</p> <p>To get an object from such + * a logical hierarchy, specify the full key name for the object in the + * <code>GET</code> operation. For a virtual hosted-style request example, if you + * have the object <code>photos/2006/February/sample.jpg</code>, specify the + * resource as <code>/photos/2006/February/sample.jpg</code>. For a path-style + * request example, if you have the object + * <code>photos/2006/February/sample.jpg</code> in the bucket named + * <code>examplebucket</code>, specify the resource as + * <code>/examplebucket/photos/2006/February/sample.jpg</code>. For more + * information about request types, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP + * Host Header Bucket Specification</a>.</p> <p>To distribute large files to many + * people, you can save bandwidth costs by using BitTorrent. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon S3 + * Torrent</a>. For more information about returning the ACL of an object, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a>.</p> + * <p>If the object you are retrieving is stored in the S3 Glacier or S3 Glacier + * Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 + * Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you + * must first restore a copy using <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>. + * Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. + * For information about restoring archived objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring + * Archived Objects</a>.</p> <p>Encryption request headers, like + * <code>x-amz-server-side-encryption</code>, should not be sent for GET requests + * if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) + * or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If + * your object does use these types of keys, you’ll get an HTTP 400 BadRequest + * error.</p> <p>If you encrypt an object by using server-side encryption with + * customer-provided encryption keys (SSE-C) when you store the object in Amazon + * S3, then when you GET the object, you must use the following headers:</p> <ul> + * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <p>Assuming you + * have permission to read object tags (permission for the + * <code>s3:GetObjectVersionTagging</code> action), the response also returns the + * <code>x-amz-tagging-count</code> header that provides the count of number of + * tags associated with the object. You can use <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * to retrieve the tag set associated with an object.</p> <p> <b>Permissions</b> + * </p> <p>You need the <code>s3:GetObject</code> permission for this operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. If the object you request does not exist, the error + * Amazon S3 returns depends on whether you also have the + * <code>s3:ListBucket</code> permission.</p> <ul> <li> <p>If you have the + * <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will return an + * HTTP status code 404 ("no such key") error.</p> </li> <li> <p>If you don’t have + * the <code>s3:ListBucket</code> permission, Amazon S3 will return an HTTP status + * code 403 ("access denied") error.</p> </li> </ul> <p> <b>Versioning</b> </p> + * <p>By default, the GET operation returns the current version of an object. To + * return a different version, use the <code>versionId</code> subresource.</p> + * <p>If the current version of the object is a delete marker, Amazon S3 + * behaves as if the object was deleted and includes <code>x-amz-delete-marker: + * true</code> in the response.</p> <p>For more information about + * versioning, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html">PutBucketVersioning</a>. + * </p> <p> <b>Overriding Response Header Values</b> </p> <p>There are times when + * you want to override certain response header values in a GET response. For + * example, you might override the Content-Disposition response header value in + * your GET request.</p> <p>You can override values for a set of response headers + * using the following query parameters. These response header values are sent only + * on a successful request, that is, when status code 200 OK is returned. The set + * of headers you can override using these parameters is a subset of the headers + * that Amazon S3 accepts when you create an object. The response headers that you + * can override for the GET response are <code>Content-Type</code>, + * <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, + * <code>Content-Disposition</code>, and <code>Content-Encoding</code>. To override + * these header values in the GET response, you use the following request + * parameters.</p> <p>You must sign the request, either using an + * Authorization header or a presigned URL, when using these parameters. They + * cannot be used with an unsigned (anonymous) request.</p> <ul> <li> <p> + * <code>response-content-type</code> </p> </li> <li> <p> + * <code>response-content-language</code> </p> </li> <li> <p> + * <code>response-expires</code> </p> </li> <li> <p> + * <code>response-cache-control</code> </p> </li> <li> <p> + * <code>response-content-disposition</code> </p> </li> <li> <p> + * <code>response-content-encoding</code> </p> </li> </ul> <p> <b>Additional + * Considerations about Request Headers</b> </p> <p>If both of the + * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present + * in the request as follows: <code>If-Match</code> condition evaluates to + * <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to + * <code>false</code>; then, S3 returns 200 OK and the data requested. </p> <p>If + * both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> + * headers are present in the request as follows:<code> If-None-Match</code> + * condition evaluates to <code>false</code>, and; <code>If-Modified-Since</code> + * condition evaluates to <code>true</code>; then, S3 returns 304 Not Modified + * response code.</p> <p>For more information about conditional requests, see <a + * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p>The following + * operations are related to <code>GetObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetObjectOutcomeCallable GetObjectCallable(const Model::GetObjectRequest& request) const; + + /** + * <p>Retrieves objects from Amazon S3. To use <code>GET</code>, you must have + * <code>READ</code> access to the object. If you grant <code>READ</code> access to + * the anonymous user, you can return the object without using an authorization + * header.</p> <p>An Amazon S3 bucket has no directory hierarchy such as you would + * find in a typical computer file system. You can, however, create a logical + * hierarchy by using object key names that imply a folder structure. For example, + * instead of naming an object <code>sample.jpg</code>, you can name it + * <code>photos/2006/February/sample.jpg</code>.</p> <p>To get an object from such + * a logical hierarchy, specify the full key name for the object in the + * <code>GET</code> operation. For a virtual hosted-style request example, if you + * have the object <code>photos/2006/February/sample.jpg</code>, specify the + * resource as <code>/photos/2006/February/sample.jpg</code>. For a path-style + * request example, if you have the object + * <code>photos/2006/February/sample.jpg</code> in the bucket named + * <code>examplebucket</code>, specify the resource as + * <code>/examplebucket/photos/2006/February/sample.jpg</code>. For more + * information about request types, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP + * Host Header Bucket Specification</a>.</p> <p>To distribute large files to many + * people, you can save bandwidth costs by using BitTorrent. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon S3 + * Torrent</a>. For more information about returning the ACL of an object, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a>.</p> + * <p>If the object you are retrieving is stored in the S3 Glacier or S3 Glacier + * Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 + * Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you + * must first restore a copy using <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a>. + * Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. + * For information about restoring archived objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring + * Archived Objects</a>.</p> <p>Encryption request headers, like + * <code>x-amz-server-side-encryption</code>, should not be sent for GET requests + * if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) + * or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If + * your object does use these types of keys, you’ll get an HTTP 400 BadRequest + * error.</p> <p>If you encrypt an object by using server-side encryption with + * customer-provided encryption keys (SSE-C) when you store the object in Amazon + * S3, then when you GET the object, you must use the following headers:</p> <ul> + * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> <p>Assuming you + * have permission to read object tags (permission for the + * <code>s3:GetObjectVersionTagging</code> action), the response also returns the + * <code>x-amz-tagging-count</code> header that provides the count of number of + * tags associated with the object. You can use <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * to retrieve the tag set associated with an object.</p> <p> <b>Permissions</b> + * </p> <p>You need the <code>s3:GetObject</code> permission for this operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. If the object you request does not exist, the error + * Amazon S3 returns depends on whether you also have the + * <code>s3:ListBucket</code> permission.</p> <ul> <li> <p>If you have the + * <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will return an + * HTTP status code 404 ("no such key") error.</p> </li> <li> <p>If you don’t have + * the <code>s3:ListBucket</code> permission, Amazon S3 will return an HTTP status + * code 403 ("access denied") error.</p> </li> </ul> <p> <b>Versioning</b> </p> + * <p>By default, the GET operation returns the current version of an object. To + * return a different version, use the <code>versionId</code> subresource.</p> + * <p>If the current version of the object is a delete marker, Amazon S3 + * behaves as if the object was deleted and includes <code>x-amz-delete-marker: + * true</code> in the response.</p> <p>For more information about + * versioning, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html">PutBucketVersioning</a>. + * </p> <p> <b>Overriding Response Header Values</b> </p> <p>There are times when + * you want to override certain response header values in a GET response. For + * example, you might override the Content-Disposition response header value in + * your GET request.</p> <p>You can override values for a set of response headers + * using the following query parameters. These response header values are sent only + * on a successful request, that is, when status code 200 OK is returned. The set + * of headers you can override using these parameters is a subset of the headers + * that Amazon S3 accepts when you create an object. The response headers that you + * can override for the GET response are <code>Content-Type</code>, + * <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, + * <code>Content-Disposition</code>, and <code>Content-Encoding</code>. To override + * these header values in the GET response, you use the following request + * parameters.</p> <p>You must sign the request, either using an + * Authorization header or a presigned URL, when using these parameters. They + * cannot be used with an unsigned (anonymous) request.</p> <ul> <li> <p> + * <code>response-content-type</code> </p> </li> <li> <p> + * <code>response-content-language</code> </p> </li> <li> <p> + * <code>response-expires</code> </p> </li> <li> <p> + * <code>response-cache-control</code> </p> </li> <li> <p> + * <code>response-content-disposition</code> </p> </li> <li> <p> + * <code>response-content-encoding</code> </p> </li> </ul> <p> <b>Additional + * Considerations about Request Headers</b> </p> <p>If both of the + * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present + * in the request as follows: <code>If-Match</code> condition evaluates to + * <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to + * <code>false</code>; then, S3 returns 200 OK and the data requested. </p> <p>If + * both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> + * headers are present in the request as follows:<code> If-None-Match</code> + * condition evaluates to <code>false</code>, and; <code>If-Modified-Since</code> + * condition evaluates to <code>true</code>; then, S3 returns 304 Not Modified + * response code.</p> <p>For more information about conditional requests, see <a + * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p>The following + * operations are related to <code>GetObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetObjectAsync(const Model::GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the access control list (ACL) of an object. To use this operation, + * you must have <code>READ_ACP</code> access to the object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p> <b>Versioning</b> </p> <p>By + * default, GET returns ACL information about the current version of an object. To + * return ACL information about a different version, use the versionId + * subresource.</p> <p>The following operations are related to + * <code>GetObjectAcl</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl">AWS API + * Reference</a></p> + */ + virtual Model::GetObjectAclOutcome GetObjectAcl(const Model::GetObjectAclRequest& request) const; + + /** + * <p>Returns the access control list (ACL) of an object. To use this operation, + * you must have <code>READ_ACP</code> access to the object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p> <b>Versioning</b> </p> <p>By + * default, GET returns ACL information about the current version of an object. To + * return ACL information about a different version, use the versionId + * subresource.</p> <p>The following operations are related to + * <code>GetObjectAcl</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetObjectAclOutcomeCallable GetObjectAclCallable(const Model::GetObjectAclRequest& request) const; + + /** + * <p>Returns the access control list (ACL) of an object. To use this operation, + * you must have <code>READ_ACP</code> access to the object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p> <b>Versioning</b> </p> <p>By + * default, GET returns ACL information about the current version of an object. To + * return ACL information about a different version, use the versionId + * subresource.</p> <p>The following operations are related to + * <code>GetObjectAcl</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetObjectAclAsync(const Model::GetObjectAclRequest& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Gets an object's current Legal Hold status. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on + * Outposts.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold">AWS + * API Reference</a></p> + */ + virtual Model::GetObjectLegalHoldOutcome GetObjectLegalHold(const Model::GetObjectLegalHoldRequest& request) const; + + /** + * <p>Gets an object's current Legal Hold status. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on + * Outposts.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetObjectLegalHoldOutcomeCallable GetObjectLegalHoldCallable(const Model::GetObjectLegalHoldRequest& request) const; + + /** + * <p>Gets an object's current Legal Hold status. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on + * Outposts.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetObjectLegalHoldAsync(const Model::GetObjectLegalHoldRequest& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Gets the Object Lock configuration for a bucket. The rule specified in the + * Object Lock configuration will be applied by default to every new object placed + * in the specified bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::GetObjectLockConfigurationOutcome GetObjectLockConfiguration(const Model::GetObjectLockConfigurationRequest& request) const; + + /** + * <p>Gets the Object Lock configuration for a bucket. The rule specified in the + * Object Lock configuration will be applied by default to every new object placed + * in the specified bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetObjectLockConfigurationOutcomeCallable GetObjectLockConfigurationCallable(const Model::GetObjectLockConfigurationRequest& request) const; + + /** + * <p>Gets the Object Lock configuration for a bucket. The rule specified in the + * Object Lock configuration will be applied by default to every new object placed + * in the specified bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetObjectLockConfigurationAsync(const Model::GetObjectLockConfigurationRequest& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Retrieves an object's retention settings. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on + * Outposts.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention">AWS + * API Reference</a></p> + */ + virtual Model::GetObjectRetentionOutcome GetObjectRetention(const Model::GetObjectRetentionRequest& request) const; + + /** + * <p>Retrieves an object's retention settings. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on + * Outposts.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetObjectRetentionOutcomeCallable GetObjectRetentionCallable(const Model::GetObjectRetentionRequest& request) const; + + /** + * <p>Retrieves an object's retention settings. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a>.</p> <p>This action is not supported by Amazon S3 on + * Outposts.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetObjectRetentionAsync(const Model::GetObjectRetentionRequest& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns the tag-set of an object. You send the GET request against the + * tagging subresource associated with the object.</p> <p>To use this operation, + * you must have permission to perform the <code>s3:GetObjectTagging</code> action. + * By default, the GET operation returns information about current version of an + * object. For a versioned bucket, you can have multiple versions of an object in + * your bucket. To retrieve tags of any other version, use the versionId query + * parameter. You also need permission for the + * <code>s3:GetObjectVersionTagging</code> action.</p> <p> By default, the bucket + * owner has this permission and can grant this permission to others.</p> <p> For + * information about the Amazon S3 object tagging feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</p> <p>The following operation is related to + * <code>GetObjectTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging">AWS + * API Reference</a></p> + */ + virtual Model::GetObjectTaggingOutcome GetObjectTagging(const Model::GetObjectTaggingRequest& request) const; + + /** + * <p>Returns the tag-set of an object. You send the GET request against the + * tagging subresource associated with the object.</p> <p>To use this operation, + * you must have permission to perform the <code>s3:GetObjectTagging</code> action. + * By default, the GET operation returns information about current version of an + * object. For a versioned bucket, you can have multiple versions of an object in + * your bucket. To retrieve tags of any other version, use the versionId query + * parameter. You also need permission for the + * <code>s3:GetObjectVersionTagging</code> action.</p> <p> By default, the bucket + * owner has this permission and can grant this permission to others.</p> <p> For + * information about the Amazon S3 object tagging feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</p> <p>The following operation is related to + * <code>GetObjectTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetObjectTaggingOutcomeCallable GetObjectTaggingCallable(const Model::GetObjectTaggingRequest& request) const; + + /** + * <p>Returns the tag-set of an object. You send the GET request against the + * tagging subresource associated with the object.</p> <p>To use this operation, + * you must have permission to perform the <code>s3:GetObjectTagging</code> action. + * By default, the GET operation returns information about current version of an + * object. For a versioned bucket, you can have multiple versions of an object in + * your bucket. To retrieve tags of any other version, use the versionId query + * parameter. You also need permission for the + * <code>s3:GetObjectVersionTagging</code> action.</p> <p> By default, the bucket + * owner has this permission and can grant this permission to others.</p> <p> For + * information about the Amazon S3 object tagging feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</p> <p>The following operation is related to + * <code>GetObjectTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html">PutObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetObjectTaggingAsync(const Model::GetObjectTaggingRequest& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns torrent files from a bucket. BitTorrent can save you bandwidth when + * you're distributing large files. For more information about BitTorrent, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Using + * BitTorrent with Amazon S3</a>.</p> <p>You can get torrent only for + * objects that are less than 5 GB in size, and that are not encrypted using + * server-side encryption with a customer-provided encryption key.</p> + * <p>To use GET, you must have READ access to the object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p>The following operation is + * related to <code>GetObjectTorrent</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent">AWS + * API Reference</a></p> + */ + virtual Model::GetObjectTorrentOutcome GetObjectTorrent(const Model::GetObjectTorrentRequest& request) const; + + /** + * <p>Returns torrent files from a bucket. BitTorrent can save you bandwidth when + * you're distributing large files. For more information about BitTorrent, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Using + * BitTorrent with Amazon S3</a>.</p> <p>You can get torrent only for + * objects that are less than 5 GB in size, and that are not encrypted using + * server-side encryption with a customer-provided encryption key.</p> + * <p>To use GET, you must have READ access to the object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p>The following operation is + * related to <code>GetObjectTorrent</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetObjectTorrentOutcomeCallable GetObjectTorrentCallable(const Model::GetObjectTorrentRequest& request) const; + + /** + * <p>Returns torrent files from a bucket. BitTorrent can save you bandwidth when + * you're distributing large files. For more information about BitTorrent, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Using + * BitTorrent with Amazon S3</a>.</p> <p>You can get torrent only for + * objects that are less than 5 GB in size, and that are not encrypted using + * server-side encryption with a customer-provided encryption key.</p> + * <p>To use GET, you must have READ access to the object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p>The following operation is + * related to <code>GetObjectTorrent</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetObjectTorrentAsync(const Model::GetObjectTorrentRequest& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 + * bucket. To use this operation, you must have the + * <code>s3:GetBucketPublicAccessBlock</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the + * <code>PublicAccessBlock</code> configuration for a bucket or an object, it + * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or + * the bucket that contains the object) and the bucket owner's account. If the + * <code>PublicAccessBlock</code> settings are different between the bucket and the + * account, Amazon S3 uses the most restrictive combination of the bucket-level and + * account-level settings.</p> <p>For more information about when + * Amazon S3 considers a bucket or an 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>.</p> <p>The following operations are related to + * <code>GetPublicAccessBlock</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock">AWS + * API Reference</a></p> + */ + virtual Model::GetPublicAccessBlockOutcome GetPublicAccessBlock(const Model::GetPublicAccessBlockRequest& request) const; + + /** + * <p>Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 + * bucket. To use this operation, you must have the + * <code>s3:GetBucketPublicAccessBlock</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the + * <code>PublicAccessBlock</code> configuration for a bucket or an object, it + * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or + * the bucket that contains the object) and the bucket owner's account. If the + * <code>PublicAccessBlock</code> settings are different between the bucket and the + * account, Amazon S3 uses the most restrictive combination of the bucket-level and + * account-level settings.</p> <p>For more information about when + * Amazon S3 considers a bucket or an 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>.</p> <p>The following operations are related to + * <code>GetPublicAccessBlock</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::GetPublicAccessBlockOutcomeCallable GetPublicAccessBlockCallable(const Model::GetPublicAccessBlockRequest& request) const; + + /** + * <p>Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 + * bucket. To use this operation, you must have the + * <code>s3:GetBucketPublicAccessBlock</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the + * <code>PublicAccessBlock</code> configuration for a bucket or an object, it + * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or + * the bucket that contains the object) and the bucket owner's account. If the + * <code>PublicAccessBlock</code> settings are different between the bucket and the + * account, Amazon S3 uses the most restrictive combination of the bucket-level and + * account-level settings.</p> <p>For more information about when + * Amazon S3 considers a bucket or an 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>.</p> <p>The following operations are related to + * <code>GetPublicAccessBlock</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html">PutPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void GetPublicAccessBlockAsync(const Model::GetPublicAccessBlockRequest& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This operation is useful to determine if a bucket exists and you have + * permission to access it. The operation returns a <code>200 OK</code> if the + * bucket exists and you have permission to access it. Otherwise, the operation + * might return responses such as <code>404 Not Found</code> and <code>403 + * Forbidden</code>. </p> <p>To use this operation, you must have permissions to + * perform the <code>s3:ListBucket</code> action. The bucket owner has this + * permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket">AWS + * API Reference</a></p> + */ + virtual Model::HeadBucketOutcome HeadBucket(const Model::HeadBucketRequest& request) const; + + /** + * <p>This operation is useful to determine if a bucket exists and you have + * permission to access it. The operation returns a <code>200 OK</code> if the + * bucket exists and you have permission to access it. Otherwise, the operation + * might return responses such as <code>404 Not Found</code> and <code>403 + * Forbidden</code>. </p> <p>To use this operation, you must have permissions to + * perform the <code>s3:ListBucket</code> action. The bucket owner has this + * permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::HeadBucketOutcomeCallable HeadBucketCallable(const Model::HeadBucketRequest& request) const; + + /** + * <p>This operation is useful to determine if a bucket exists and you have + * permission to access it. The operation returns a <code>200 OK</code> if the + * bucket exists and you have permission to access it. Otherwise, the operation + * might return responses such as <code>404 Not Found</code> and <code>403 + * Forbidden</code>. </p> <p>To use this operation, you must have permissions to + * perform the <code>s3:ListBucket</code> action. The bucket owner has this + * permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void HeadBucketAsync(const Model::HeadBucketRequest& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>The HEAD operation retrieves metadata from an object without returning the + * object itself. This operation is useful if you're only interested in an object's + * metadata. To use HEAD, you must have READ access to the object.</p> <p>A + * <code>HEAD</code> request has the same options as a <code>GET</code> operation + * on an object. The response is identical to the <code>GET</code> response except + * that there is no response body.</p> <p>If you encrypt an object by using + * server-side encryption with customer-provided encryption keys (SSE-C) when you + * store the object in Amazon S3, then when you retrieve the metadata from the + * object, you must use the following headers:</p> <ul> <li> + * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> + * <p>Encryption request headers, like <code>x-amz-server-side-encryption</code>, + * should not be sent for GET requests if your object uses server-side encryption + * with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon + * S3–managed encryption keys (SSE-S3). If your object does use these types of + * keys, you’ll get an HTTP 400 BadRequest error.</p> <p>Request headers + * are limited to 8 KB in size. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common + * Request Headers</a>.</p> <p>Consider the following when using request + * headers:</p> <ul> <li> <p> Consideration 1 – If both of the + * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present + * in the request as follows:</p> <ul> <li> <p> <code>If-Match</code> condition + * evaluates to <code>true</code>, and;</p> </li> <li> <p> + * <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;</p> + * </li> </ul> <p>Then Amazon S3 returns <code>200 OK</code> and the data + * requested.</p> </li> <li> <p> Consideration 2 – If both of the + * <code>If-None-Match</code> and <code>If-Modified-Since</code> headers are + * present in the request as follows:</p> <ul> <li> <p> <code>If-None-Match</code> + * condition evaluates to <code>false</code>, and;</p> </li> <li> <p> + * <code>If-Modified-Since</code> condition evaluates to <code>true</code>;</p> + * </li> </ul> <p>Then Amazon S3 returns the <code>304 Not Modified</code> response + * code.</p> </li> </ul> <p>For more information about conditional requests, see <a + * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p> + * <b>Permissions</b> </p> <p>You need the <code>s3:GetObject</code> permission for + * this operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. If the object you request does not exist, the error + * Amazon S3 returns depends on whether you also have the s3:ListBucket + * permission.</p> <ul> <li> <p>If you have the <code>s3:ListBucket</code> + * permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such + * key") error.</p> </li> <li> <p>If you don’t have the <code>s3:ListBucket</code> + * permission, Amazon S3 returns an HTTP status code 403 ("access denied") + * error.</p> </li> </ul> <p>The following operation is related to + * <code>HeadObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject">AWS API + * Reference</a></p> + */ + virtual Model::HeadObjectOutcome HeadObject(const Model::HeadObjectRequest& request) const; + + /** + * <p>The HEAD operation retrieves metadata from an object without returning the + * object itself. This operation is useful if you're only interested in an object's + * metadata. To use HEAD, you must have READ access to the object.</p> <p>A + * <code>HEAD</code> request has the same options as a <code>GET</code> operation + * on an object. The response is identical to the <code>GET</code> response except + * that there is no response body.</p> <p>If you encrypt an object by using + * server-side encryption with customer-provided encryption keys (SSE-C) when you + * store the object in Amazon S3, then when you retrieve the metadata from the + * object, you must use the following headers:</p> <ul> <li> + * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> + * <p>Encryption request headers, like <code>x-amz-server-side-encryption</code>, + * should not be sent for GET requests if your object uses server-side encryption + * with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon + * S3–managed encryption keys (SSE-S3). If your object does use these types of + * keys, you’ll get an HTTP 400 BadRequest error.</p> <p>Request headers + * are limited to 8 KB in size. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common + * Request Headers</a>.</p> <p>Consider the following when using request + * headers:</p> <ul> <li> <p> Consideration 1 – If both of the + * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present + * in the request as follows:</p> <ul> <li> <p> <code>If-Match</code> condition + * evaluates to <code>true</code>, and;</p> </li> <li> <p> + * <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;</p> + * </li> </ul> <p>Then Amazon S3 returns <code>200 OK</code> and the data + * requested.</p> </li> <li> <p> Consideration 2 – If both of the + * <code>If-None-Match</code> and <code>If-Modified-Since</code> headers are + * present in the request as follows:</p> <ul> <li> <p> <code>If-None-Match</code> + * condition evaluates to <code>false</code>, and;</p> </li> <li> <p> + * <code>If-Modified-Since</code> condition evaluates to <code>true</code>;</p> + * </li> </ul> <p>Then Amazon S3 returns the <code>304 Not Modified</code> response + * code.</p> </li> </ul> <p>For more information about conditional requests, see <a + * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p> + * <b>Permissions</b> </p> <p>You need the <code>s3:GetObject</code> permission for + * this operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. If the object you request does not exist, the error + * Amazon S3 returns depends on whether you also have the s3:ListBucket + * permission.</p> <ul> <li> <p>If you have the <code>s3:ListBucket</code> + * permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such + * key") error.</p> </li> <li> <p>If you don’t have the <code>s3:ListBucket</code> + * permission, Amazon S3 returns an HTTP status code 403 ("access denied") + * error.</p> </li> </ul> <p>The following operation is related to + * <code>HeadObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::HeadObjectOutcomeCallable HeadObjectCallable(const Model::HeadObjectRequest& request) const; + + /** + * <p>The HEAD operation retrieves metadata from an object without returning the + * object itself. This operation is useful if you're only interested in an object's + * metadata. To use HEAD, you must have READ access to the object.</p> <p>A + * <code>HEAD</code> request has the same options as a <code>GET</code> operation + * on an object. The response is identical to the <code>GET</code> response except + * that there is no response body.</p> <p>If you encrypt an object by using + * server-side encryption with customer-provided encryption keys (SSE-C) when you + * store the object in Amazon S3, then when you retrieve the metadata from the + * object, you must use the following headers:</p> <ul> <li> + * <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p>For more + * information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a>.</p> + * <p>Encryption request headers, like <code>x-amz-server-side-encryption</code>, + * should not be sent for GET requests if your object uses server-side encryption + * with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon + * S3–managed encryption keys (SSE-S3). If your object does use these types of + * keys, you’ll get an HTTP 400 BadRequest error.</p> <p>Request headers + * are limited to 8 KB in size. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common + * Request Headers</a>.</p> <p>Consider the following when using request + * headers:</p> <ul> <li> <p> Consideration 1 – If both of the + * <code>If-Match</code> and <code>If-Unmodified-Since</code> headers are present + * in the request as follows:</p> <ul> <li> <p> <code>If-Match</code> condition + * evaluates to <code>true</code>, and;</p> </li> <li> <p> + * <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;</p> + * </li> </ul> <p>Then Amazon S3 returns <code>200 OK</code> and the data + * requested.</p> </li> <li> <p> Consideration 2 – If both of the + * <code>If-None-Match</code> and <code>If-Modified-Since</code> headers are + * present in the request as follows:</p> <ul> <li> <p> <code>If-None-Match</code> + * condition evaluates to <code>false</code>, and;</p> </li> <li> <p> + * <code>If-Modified-Since</code> condition evaluates to <code>true</code>;</p> + * </li> </ul> <p>Then Amazon S3 returns the <code>304 Not Modified</code> response + * code.</p> </li> </ul> <p>For more information about conditional requests, see <a + * href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p> <p> + * <b>Permissions</b> </p> <p>You need the <code>s3:GetObject</code> permission for + * this operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. If the object you request does not exist, the error + * Amazon S3 returns depends on whether you also have the s3:ListBucket + * permission.</p> <ul> <li> <p>If you have the <code>s3:ListBucket</code> + * permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such + * key") error.</p> </li> <li> <p>If you don’t have the <code>s3:ListBucket</code> + * permission, Amazon S3 returns an HTTP status code 403 ("access denied") + * error.</p> </li> </ul> <p>The following operation is related to + * <code>HeadObject</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void HeadObjectAsync(const Model::HeadObjectRequest& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Lists the analytics configurations for the bucket. You can have up to 1,000 + * analytics configurations per bucket.</p> <p>This operation supports list + * pagination and does not return more than 100 configurations at a time. You + * should always check the <code>IsTruncated</code> element in the response. If + * there are no more configurations to list, <code>IsTruncated</code> is set to + * false. If there are more configurations to list, <code>IsTruncated</code> is set + * to true, and there will be a value in <code>NextContinuationToken</code>. You + * use the <code>NextContinuationToken</code> value to continue the pagination of + * the list by passing the value in continuation-token in the request to + * <code>GET</code> the next page.</p> <p>To use this operation, you must have + * permissions to perform the <code>s3:GetAnalyticsConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * Amazon S3 analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are + * related to <code>ListBucketAnalyticsConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations">AWS + * API Reference</a></p> + */ + virtual Model::ListBucketAnalyticsConfigurationsOutcome ListBucketAnalyticsConfigurations(const Model::ListBucketAnalyticsConfigurationsRequest& request) const; + + /** + * <p>Lists the analytics configurations for the bucket. You can have up to 1,000 + * analytics configurations per bucket.</p> <p>This operation supports list + * pagination and does not return more than 100 configurations at a time. You + * should always check the <code>IsTruncated</code> element in the response. If + * there are no more configurations to list, <code>IsTruncated</code> is set to + * false. If there are more configurations to list, <code>IsTruncated</code> is set + * to true, and there will be a value in <code>NextContinuationToken</code>. You + * use the <code>NextContinuationToken</code> value to continue the pagination of + * the list by passing the value in continuation-token in the request to + * <code>GET</code> the next page.</p> <p>To use this operation, you must have + * permissions to perform the <code>s3:GetAnalyticsConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * Amazon S3 analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are + * related to <code>ListBucketAnalyticsConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListBucketAnalyticsConfigurationsOutcomeCallable ListBucketAnalyticsConfigurationsCallable(const Model::ListBucketAnalyticsConfigurationsRequest& request) const; + + /** + * <p>Lists the analytics configurations for the bucket. You can have up to 1,000 + * analytics configurations per bucket.</p> <p>This operation supports list + * pagination and does not return more than 100 configurations at a time. You + * should always check the <code>IsTruncated</code> element in the response. If + * there are no more configurations to list, <code>IsTruncated</code> is set to + * false. If there are more configurations to list, <code>IsTruncated</code> is set + * to true, and there will be a value in <code>NextContinuationToken</code>. You + * use the <code>NextContinuationToken</code> value to continue the pagination of + * the list by passing the value in continuation-token in the request to + * <code>GET</code> the next page.</p> <p>To use this operation, you must have + * permissions to perform the <code>s3:GetAnalyticsConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * Amazon S3 analytics feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>The following operations are + * related to <code>ListBucketAnalyticsConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html">PutBucketAnalyticsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListBucketAnalyticsConfigurationsAsync(const Model::ListBucketAnalyticsConfigurationsRequest& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>ListBucketIntelligentTieringConfigurations</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations">AWS + * API Reference</a></p> + */ + virtual Model::ListBucketIntelligentTieringConfigurationsOutcome ListBucketIntelligentTieringConfigurations(const Model::ListBucketIntelligentTieringConfigurationsRequest& request) const; + + /** + * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>ListBucketIntelligentTieringConfigurations</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListBucketIntelligentTieringConfigurationsOutcomeCallable ListBucketIntelligentTieringConfigurationsCallable(const Model::ListBucketIntelligentTieringConfigurationsRequest& request) const; + + /** + * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>ListBucketIntelligentTieringConfigurations</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html">PutBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListBucketIntelligentTieringConfigurationsAsync(const Model::ListBucketIntelligentTieringConfigurationsRequest& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns a list of inventory configurations for the bucket. You can have up to + * 1,000 analytics configurations per bucket.</p> <p>This operation supports list + * pagination and does not return more than 100 configurations at a time. Always + * check the <code>IsTruncated</code> element in the response. If there are no more + * configurations to list, <code>IsTruncated</code> is set to false. If there are + * more configurations to list, <code>IsTruncated</code> is set to true, and there + * is a value in <code>NextContinuationToken</code>. You use the + * <code>NextContinuationToken</code> value to continue the pagination of the list + * by passing the value in continuation-token in the request to <code>GET</code> + * the next page.</p> <p> To use this operation, you must have permissions to + * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a> </p> <p>The following operations are related to + * <code>ListBucketInventoryConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations">AWS + * API Reference</a></p> + */ + virtual Model::ListBucketInventoryConfigurationsOutcome ListBucketInventoryConfigurations(const Model::ListBucketInventoryConfigurationsRequest& request) const; + + /** + * <p>Returns a list of inventory configurations for the bucket. You can have up to + * 1,000 analytics configurations per bucket.</p> <p>This operation supports list + * pagination and does not return more than 100 configurations at a time. Always + * check the <code>IsTruncated</code> element in the response. If there are no more + * configurations to list, <code>IsTruncated</code> is set to false. If there are + * more configurations to list, <code>IsTruncated</code> is set to true, and there + * is a value in <code>NextContinuationToken</code>. You use the + * <code>NextContinuationToken</code> value to continue the pagination of the list + * by passing the value in continuation-token in the request to <code>GET</code> + * the next page.</p> <p> To use this operation, you must have permissions to + * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a> </p> <p>The following operations are related to + * <code>ListBucketInventoryConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListBucketInventoryConfigurationsOutcomeCallable ListBucketInventoryConfigurationsCallable(const Model::ListBucketInventoryConfigurationsRequest& request) const; + + /** + * <p>Returns a list of inventory configurations for the bucket. You can have up to + * 1,000 analytics configurations per bucket.</p> <p>This operation supports list + * pagination and does not return more than 100 configurations at a time. Always + * check the <code>IsTruncated</code> element in the response. If there are no more + * configurations to list, <code>IsTruncated</code> is set to false. If there are + * more configurations to list, <code>IsTruncated</code> is set to true, and there + * is a value in <code>NextContinuationToken</code>. You use the + * <code>NextContinuationToken</code> value to continue the pagination of the list + * by passing the value in continuation-token in the request to <code>GET</code> + * the next page.</p> <p> To use this operation, you must have permissions to + * perform the <code>s3:GetInventoryConfiguration</code> action. The bucket owner + * has this permission by default. The bucket owner can grant this permission to + * others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * the Amazon S3 inventory feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a> </p> <p>The following operations are related to + * <code>ListBucketInventoryConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html">PutBucketInventoryConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListBucketInventoryConfigurationsAsync(const Model::ListBucketInventoryConfigurationsRequest& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Lists the metrics configurations for the bucket. The metrics configurations + * are only for the request metrics of the bucket and do not provide information on + * daily storage metrics. You can have up to 1,000 configurations per bucket.</p> + * <p>This operation supports list pagination and does not return more than 100 + * configurations at a time. Always check the <code>IsTruncated</code> element in + * the response. If there are no more configurations to list, + * <code>IsTruncated</code> is set to false. If there are more configurations to + * list, <code>IsTruncated</code> is set to true, and there is a value in + * <code>NextContinuationToken</code>. You use the + * <code>NextContinuationToken</code> value to continue the pagination of the list + * by passing the value in <code>continuation-token</code> in the request to + * <code>GET</code> the next page.</p> <p>To use this operation, you must have + * permissions to perform the <code>s3:GetMetricsConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For more information + * about metrics configurations and CloudWatch request metrics, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>ListBucketMetricsConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations">AWS + * API Reference</a></p> + */ + virtual Model::ListBucketMetricsConfigurationsOutcome ListBucketMetricsConfigurations(const Model::ListBucketMetricsConfigurationsRequest& request) const; + + /** + * <p>Lists the metrics configurations for the bucket. The metrics configurations + * are only for the request metrics of the bucket and do not provide information on + * daily storage metrics. You can have up to 1,000 configurations per bucket.</p> + * <p>This operation supports list pagination and does not return more than 100 + * configurations at a time. Always check the <code>IsTruncated</code> element in + * the response. If there are no more configurations to list, + * <code>IsTruncated</code> is set to false. If there are more configurations to + * list, <code>IsTruncated</code> is set to true, and there is a value in + * <code>NextContinuationToken</code>. You use the + * <code>NextContinuationToken</code> value to continue the pagination of the list + * by passing the value in <code>continuation-token</code> in the request to + * <code>GET</code> the next page.</p> <p>To use this operation, you must have + * permissions to perform the <code>s3:GetMetricsConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For more information + * about metrics configurations and CloudWatch request metrics, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>ListBucketMetricsConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListBucketMetricsConfigurationsOutcomeCallable ListBucketMetricsConfigurationsCallable(const Model::ListBucketMetricsConfigurationsRequest& request) const; + + /** + * <p>Lists the metrics configurations for the bucket. The metrics configurations + * are only for the request metrics of the bucket and do not provide information on + * daily storage metrics. You can have up to 1,000 configurations per bucket.</p> + * <p>This operation supports list pagination and does not return more than 100 + * configurations at a time. Always check the <code>IsTruncated</code> element in + * the response. If there are no more configurations to list, + * <code>IsTruncated</code> is set to false. If there are more configurations to + * list, <code>IsTruncated</code> is set to true, and there is a value in + * <code>NextContinuationToken</code>. You use the + * <code>NextContinuationToken</code> value to continue the pagination of the list + * by passing the value in <code>continuation-token</code> in the request to + * <code>GET</code> the next page.</p> <p>To use this operation, you must have + * permissions to perform the <code>s3:GetMetricsConfiguration</code> action. The + * bucket owner has this permission by default. The bucket owner can grant this + * permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For more information + * about metrics configurations and CloudWatch request metrics, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>ListBucketMetricsConfigurations</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html">GetBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListBucketMetricsConfigurationsAsync(const Model::ListBucketMetricsConfigurationsRequest& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns a list of all buckets owned by the authenticated sender of the + * request.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets">AWS API + * Reference</a></p> + */ + virtual Model::ListBucketsOutcome ListBuckets() const; + + /** + * <p>Returns a list of all buckets owned by the authenticated sender of the + * request.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListBucketsOutcomeCallable ListBucketsCallable() const; + + /** + * <p>Returns a list of all buckets owned by the authenticated sender of the + * request.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListBucketsAsync(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + /** + * <p>This operation lists in-progress multipart uploads. An in-progress multipart + * upload is a multipart upload that has been initiated using the Initiate + * Multipart Upload request, but has not yet been completed or aborted.</p> <p>This + * operation returns at most 1,000 multipart uploads in the response. 1,000 + * multipart uploads is the maximum number of uploads a response can include, which + * is also the default value. You can further limit the number of uploads in a + * response by specifying the <code>max-uploads</code> parameter in the response. + * If additional multipart uploads satisfy the list criteria, the response will + * contain an <code>IsTruncated</code> element with the value true. To list the + * additional multipart uploads, use the <code>key-marker</code> and + * <code>upload-id-marker</code> request parameters.</p> <p>In the response, the + * uploads are sorted by key. If your application has initiated more than one + * multipart upload using the same object key, then uploads in the response are + * first sorted by key. Additionally, uploads are sorted in ascending order within + * each key by the upload initiation time.</p> <p>For more information on multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information on permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>ListMultipartUploads</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads">AWS + * API Reference</a></p> + */ + virtual Model::ListMultipartUploadsOutcome ListMultipartUploads(const Model::ListMultipartUploadsRequest& request) const; + + /** + * <p>This operation lists in-progress multipart uploads. An in-progress multipart + * upload is a multipart upload that has been initiated using the Initiate + * Multipart Upload request, but has not yet been completed or aborted.</p> <p>This + * operation returns at most 1,000 multipart uploads in the response. 1,000 + * multipart uploads is the maximum number of uploads a response can include, which + * is also the default value. You can further limit the number of uploads in a + * response by specifying the <code>max-uploads</code> parameter in the response. + * If additional multipart uploads satisfy the list criteria, the response will + * contain an <code>IsTruncated</code> element with the value true. To list the + * additional multipart uploads, use the <code>key-marker</code> and + * <code>upload-id-marker</code> request parameters.</p> <p>In the response, the + * uploads are sorted by key. If your application has initiated more than one + * multipart upload using the same object key, then uploads in the response are + * first sorted by key. Additionally, uploads are sorted in ascending order within + * each key by the upload initiation time.</p> <p>For more information on multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information on permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>ListMultipartUploads</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListMultipartUploadsOutcomeCallable ListMultipartUploadsCallable(const Model::ListMultipartUploadsRequest& request) const; + + /** + * <p>This operation lists in-progress multipart uploads. An in-progress multipart + * upload is a multipart upload that has been initiated using the Initiate + * Multipart Upload request, but has not yet been completed or aborted.</p> <p>This + * operation returns at most 1,000 multipart uploads in the response. 1,000 + * multipart uploads is the maximum number of uploads a response can include, which + * is also the default value. You can further limit the number of uploads in a + * response by specifying the <code>max-uploads</code> parameter in the response. + * If additional multipart uploads satisfy the list criteria, the response will + * contain an <code>IsTruncated</code> element with the value true. To list the + * additional multipart uploads, use the <code>key-marker</code> and + * <code>upload-id-marker</code> request parameters.</p> <p>In the response, the + * uploads are sorted by key. If your application has initiated more than one + * multipart upload using the same object key, then uploads in the response are + * first sorted by key. Additionally, uploads are sorted in ascending order within + * each key by the upload initiation time.</p> <p>For more information on multipart + * uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information on permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>ListMultipartUploads</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListMultipartUploadsAsync(const Model::ListMultipartUploadsRequest& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns metadata about all versions of the objects in a bucket. You can also + * use request parameters as selection criteria to return metadata about a subset + * of all the object versions. </p> <p> A 200 OK response can contain valid + * or invalid XML. Make sure to design your application to parse the contents of + * the response and handle it appropriately.</p> <p>To use this operation, + * you must have READ access to the bucket.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> <p>The following operations are related to + * <code>ListObjectVersions</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions">AWS + * API Reference</a></p> + */ + virtual Model::ListObjectVersionsOutcome ListObjectVersions(const Model::ListObjectVersionsRequest& request) const; + + /** + * <p>Returns metadata about all versions of the objects in a bucket. You can also + * use request parameters as selection criteria to return metadata about a subset + * of all the object versions. </p> <p> A 200 OK response can contain valid + * or invalid XML. Make sure to design your application to parse the contents of + * the response and handle it appropriately.</p> <p>To use this operation, + * you must have READ access to the bucket.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> <p>The following operations are related to + * <code>ListObjectVersions</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListObjectVersionsOutcomeCallable ListObjectVersionsCallable(const Model::ListObjectVersionsRequest& request) const; + + /** + * <p>Returns metadata about all versions of the objects in a bucket. You can also + * use request parameters as selection criteria to return metadata about a subset + * of all the object versions. </p> <p> A 200 OK response can contain valid + * or invalid XML. Make sure to design your application to parse the contents of + * the response and handle it appropriately.</p> <p>To use this operation, + * you must have READ access to the bucket.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> <p>The following operations are related to + * <code>ListObjectVersions</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListObjectVersionsAsync(const Model::ListObjectVersionsRequest& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the + * request parameters as selection criteria to return a subset of the objects in a + * bucket. A 200 OK response can contain valid or invalid XML. Be sure to design + * your application to parse the contents of the response and handle it + * appropriately.</p> <p>This API has been revised. We recommend that + * you use the newer version, <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a>, + * when developing applications. For backward compatibility, Amazon S3 continues to + * support <code>ListObjects</code>.</p> <p>The following operations + * are related to <code>ListObjects</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects">AWS API + * Reference</a></p> + */ + virtual Model::ListObjectsOutcome ListObjects(const Model::ListObjectsRequest& request) const; + + /** + * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the + * request parameters as selection criteria to return a subset of the objects in a + * bucket. A 200 OK response can contain valid or invalid XML. Be sure to design + * your application to parse the contents of the response and handle it + * appropriately.</p> <p>This API has been revised. We recommend that + * you use the newer version, <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a>, + * when developing applications. For backward compatibility, Amazon S3 continues to + * support <code>ListObjects</code>.</p> <p>The following operations + * are related to <code>ListObjects</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListObjectsOutcomeCallable ListObjectsCallable(const Model::ListObjectsRequest& request) const; + + /** + * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the + * request parameters as selection criteria to return a subset of the objects in a + * bucket. A 200 OK response can contain valid or invalid XML. Be sure to design + * your application to parse the contents of the response and handle it + * appropriately.</p> <p>This API has been revised. We recommend that + * you use the newer version, <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a>, + * when developing applications. For backward compatibility, Amazon S3 continues to + * support <code>ListObjects</code>.</p> <p>The following operations + * are related to <code>ListObjects</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListObjectsAsync(const Model::ListObjectsRequest& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the + * request parameters as selection criteria to return a subset of the objects in a + * bucket. A <code>200 OK</code> response can contain valid or invalid XML. Make + * sure to design your application to parse the contents of the response and handle + * it appropriately.</p> <p>To use this operation, you must have READ access to the + * bucket.</p> <p>To use this operation in an AWS Identity and Access Management + * (IAM) policy, you must have permissions to perform the + * <code>s3:ListBucket</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>This + * section describes the latest revision of the API. We recommend that you use this + * revised API for application development. For backward compatibility, Amazon S3 + * continues to support the prior version of this API, <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a>.</p> + * <p>To get a list of your buckets, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a>.</p> + * <p>The following operations are related to <code>ListObjectsV2</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2">AWS + * API Reference</a></p> + */ + virtual Model::ListObjectsV2Outcome ListObjectsV2(const Model::ListObjectsV2Request& request) const; + + /** + * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the + * request parameters as selection criteria to return a subset of the objects in a + * bucket. A <code>200 OK</code> response can contain valid or invalid XML. Make + * sure to design your application to parse the contents of the response and handle + * it appropriately.</p> <p>To use this operation, you must have READ access to the + * bucket.</p> <p>To use this operation in an AWS Identity and Access Management + * (IAM) policy, you must have permissions to perform the + * <code>s3:ListBucket</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>This + * section describes the latest revision of the API. We recommend that you use this + * revised API for application development. For backward compatibility, Amazon S3 + * continues to support the prior version of this API, <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a>.</p> + * <p>To get a list of your buckets, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a>.</p> + * <p>The following operations are related to <code>ListObjectsV2</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListObjectsV2OutcomeCallable ListObjectsV2Callable(const Model::ListObjectsV2Request& request) const; + + /** + * <p>Returns some or all (up to 1,000) of the objects in a bucket. You can use the + * request parameters as selection criteria to return a subset of the objects in a + * bucket. A <code>200 OK</code> response can contain valid or invalid XML. Make + * sure to design your application to parse the contents of the response and handle + * it appropriately.</p> <p>To use this operation, you must have READ access to the + * bucket.</p> <p>To use this operation in an AWS Identity and Access Management + * (IAM) policy, you must have permissions to perform the + * <code>s3:ListBucket</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>This + * section describes the latest revision of the API. We recommend that you use this + * revised API for application development. For backward compatibility, Amazon S3 + * continues to support the prior version of this API, <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a>.</p> + * <p>To get a list of your buckets, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a>.</p> + * <p>The following operations are related to <code>ListObjectsV2</code>:</p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListObjectsV2Async(const Model::ListObjectsV2Request& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Lists the parts that have been uploaded for a specific multipart upload. This + * operation must include the upload ID, which you obtain by sending the initiate + * multipart upload request (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>). + * This request returns a maximum of 1,000 uploaded parts. The default number of + * parts returned is 1,000 parts. You can restrict the number of parts returned by + * specifying the <code>max-parts</code> request parameter. If your multipart + * upload consists of more than 1,000 parts, the response returns an + * <code>IsTruncated</code> field with the value of true, and a + * <code>NextPartNumberMarker</code> element. In subsequent <code>ListParts</code> + * requests you can include the part-number-marker query string parameter and set + * its value to the <code>NextPartNumberMarker</code> field value from the previous + * response.</p> <p>For more information on multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information on permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>ListParts</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts">AWS API + * Reference</a></p> + */ + virtual Model::ListPartsOutcome ListParts(const Model::ListPartsRequest& request) const; + + /** + * <p>Lists the parts that have been uploaded for a specific multipart upload. This + * operation must include the upload ID, which you obtain by sending the initiate + * multipart upload request (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>). + * This request returns a maximum of 1,000 uploaded parts. The default number of + * parts returned is 1,000 parts. You can restrict the number of parts returned by + * specifying the <code>max-parts</code> request parameter. If your multipart + * upload consists of more than 1,000 parts, the response returns an + * <code>IsTruncated</code> field with the value of true, and a + * <code>NextPartNumberMarker</code> element. In subsequent <code>ListParts</code> + * requests you can include the part-number-marker query string parameter and set + * its value to the <code>NextPartNumberMarker</code> field value from the previous + * response.</p> <p>For more information on multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information on permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>ListParts</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::ListPartsOutcomeCallable ListPartsCallable(const Model::ListPartsRequest& request) const; + + /** + * <p>Lists the parts that have been uploaded for a specific multipart upload. This + * operation must include the upload ID, which you obtain by sending the initiate + * multipart upload request (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>). + * This request returns a maximum of 1,000 uploaded parts. The default number of + * parts returned is 1,000 parts. You can restrict the number of parts returned by + * specifying the <code>max-parts</code> request parameter. If your multipart + * upload consists of more than 1,000 parts, the response returns an + * <code>IsTruncated</code> field with the value of true, and a + * <code>NextPartNumberMarker</code> element. In subsequent <code>ListParts</code> + * requests you can include the part-number-marker query string parameter and set + * its value to the <code>NextPartNumberMarker</code> field value from the previous + * response.</p> <p>For more information on multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a>.</p> <p>For information on permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a>.</p> <p>The following operations are related to + * <code>ListParts</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void ListPartsAsync(const Model::ListPartsRequest& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer + * Acceleration is a bucket-level feature that enables you to perform faster data + * transfers to Amazon S3.</p> <p> To use this operation, you must have permission + * to perform the s3:PutAccelerateConfiguration action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> The Transfer + * Acceleration state of a bucket can be set to one of the following two + * values:</p> <ul> <li> <p> Enabled – Enables accelerated data transfers to the + * bucket.</p> </li> <li> <p> Suspended – Disables accelerated data transfers to + * the bucket.</p> </li> </ul> <p>The <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> + * operation returns the transfer acceleration state of a bucket.</p> <p>After + * setting the Transfer Acceleration state of a bucket to Enabled, it might take up + * to thirty minutes before the data transfer rates to the bucket increase.</p> <p> + * The name of the bucket used for Transfer Acceleration must be DNS-compliant and + * must not contain periods (".").</p> <p> For more information about transfer + * acceleration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a>.</p> <p>The following operations are related to + * <code>PutBucketAccelerateConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketAccelerateConfigurationOutcome PutBucketAccelerateConfiguration(const Model::PutBucketAccelerateConfigurationRequest& request) const; + + /** + * <p>Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer + * Acceleration is a bucket-level feature that enables you to perform faster data + * transfers to Amazon S3.</p> <p> To use this operation, you must have permission + * to perform the s3:PutAccelerateConfiguration action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> The Transfer + * Acceleration state of a bucket can be set to one of the following two + * values:</p> <ul> <li> <p> Enabled – Enables accelerated data transfers to the + * bucket.</p> </li> <li> <p> Suspended – Disables accelerated data transfers to + * the bucket.</p> </li> </ul> <p>The <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> + * operation returns the transfer acceleration state of a bucket.</p> <p>After + * setting the Transfer Acceleration state of a bucket to Enabled, it might take up + * to thirty minutes before the data transfer rates to the bucket increase.</p> <p> + * The name of the bucket used for Transfer Acceleration must be DNS-compliant and + * must not contain periods (".").</p> <p> For more information about transfer + * acceleration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a>.</p> <p>The following operations are related to + * <code>PutBucketAccelerateConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketAccelerateConfigurationOutcomeCallable PutBucketAccelerateConfigurationCallable(const Model::PutBucketAccelerateConfigurationRequest& request) const; + + /** + * <p>Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer + * Acceleration is a bucket-level feature that enables you to perform faster data + * transfers to Amazon S3.</p> <p> To use this operation, you must have permission + * to perform the s3:PutAccelerateConfiguration action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> The Transfer + * Acceleration state of a bucket can be set to one of the following two + * values:</p> <ul> <li> <p> Enabled – Enables accelerated data transfers to the + * bucket.</p> </li> <li> <p> Suspended – Disables accelerated data transfers to + * the bucket.</p> </li> </ul> <p>The <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> + * operation returns the transfer acceleration state of a bucket.</p> <p>After + * setting the Transfer Acceleration state of a bucket to Enabled, it might take up + * to thirty minutes before the data transfer rates to the bucket increase.</p> <p> + * The name of the bucket used for Transfer Acceleration must be DNS-compliant and + * must not contain periods (".").</p> <p> For more information about transfer + * acceleration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer + * Acceleration</a>.</p> <p>The following operations are related to + * <code>PutBucketAccelerateConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html">GetBucketAccelerateConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketAccelerateConfigurationAsync(const Model::PutBucketAccelerateConfigurationRequest& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the permissions on an existing bucket using access control lists (ACL). + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. To set the ACL of a bucket, you must have <code>WRITE_ACP</code> + * permission.</p> <p>You can use one of the following two ways to set a bucket's + * permissions:</p> <ul> <li> <p>Specify the ACL in the request body</p> </li> <li> + * <p>Specify permissions using request headers</p> </li> </ul> <p>You + * cannot specify access permission using both the body and the request + * headers.</p> <p>Depending on your application needs, you may choose to + * set the ACL on a bucket using either the request body or the headers. For + * example, if you have an existing application that updates a bucket ACL using the + * request body, then you can continue to use that approach.</p> <p> <b>Access + * Permissions</b> </p> <p>You can set access permissions using one of the + * following methods:</p> <ul> <li> <p>Specify a canned ACL with the + * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined + * ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of + * grantees and permissions. Specify the canned ACL name as the value of + * <code>x-amz-acl</code>. If you use this header, you cannot use other access + * control-specific headers in your request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. When using these headers, you specify explicit access permissions and + * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If + * you use these ACL-specific headers, you cannot use the <code>x-amz-acl</code> + * header to set a canned ACL. These parameters map to the set of permissions that + * Amazon S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-write</code> header grants create, + * overwrite, and delete objects permission to LogDelivery group predefined by + * Amazon S3 and two AWS accounts identified by their email addresses.</p> <p> + * <code>x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", + * id="111122223333", id="555566667777" </code> </p> </li> </ul> <p>You can use + * either a canned ACL or specify access permissions explicitly. You cannot do + * both.</p> <p> <b>Grantee Values</b> </p> <p>You can specify the person (grantee) + * to whom you're assigning access rights (using request elements) in the following + * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request</p> </li> <li> <p>By URI:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser. </p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl">AWS API + * Reference</a></p> + */ + virtual Model::PutBucketAclOutcome PutBucketAcl(const Model::PutBucketAclRequest& request) const; + + /** + * <p>Sets the permissions on an existing bucket using access control lists (ACL). + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. To set the ACL of a bucket, you must have <code>WRITE_ACP</code> + * permission.</p> <p>You can use one of the following two ways to set a bucket's + * permissions:</p> <ul> <li> <p>Specify the ACL in the request body</p> </li> <li> + * <p>Specify permissions using request headers</p> </li> </ul> <p>You + * cannot specify access permission using both the body and the request + * headers.</p> <p>Depending on your application needs, you may choose to + * set the ACL on a bucket using either the request body or the headers. For + * example, if you have an existing application that updates a bucket ACL using the + * request body, then you can continue to use that approach.</p> <p> <b>Access + * Permissions</b> </p> <p>You can set access permissions using one of the + * following methods:</p> <ul> <li> <p>Specify a canned ACL with the + * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined + * ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of + * grantees and permissions. Specify the canned ACL name as the value of + * <code>x-amz-acl</code>. If you use this header, you cannot use other access + * control-specific headers in your request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. When using these headers, you specify explicit access permissions and + * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If + * you use these ACL-specific headers, you cannot use the <code>x-amz-acl</code> + * header to set a canned ACL. These parameters map to the set of permissions that + * Amazon S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-write</code> header grants create, + * overwrite, and delete objects permission to LogDelivery group predefined by + * Amazon S3 and two AWS accounts identified by their email addresses.</p> <p> + * <code>x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", + * id="111122223333", id="555566667777" </code> </p> </li> </ul> <p>You can use + * either a canned ACL or specify access permissions explicitly. You cannot do + * both.</p> <p> <b>Grantee Values</b> </p> <p>You can specify the person (grantee) + * to whom you're assigning access rights (using request elements) in the following + * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request</p> </li> <li> <p>By URI:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser. </p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketAclOutcomeCallable PutBucketAclCallable(const Model::PutBucketAclRequest& request) const; + + /** + * <p>Sets the permissions on an existing bucket using access control lists (ACL). + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using + * ACLs</a>. To set the ACL of a bucket, you must have <code>WRITE_ACP</code> + * permission.</p> <p>You can use one of the following two ways to set a bucket's + * permissions:</p> <ul> <li> <p>Specify the ACL in the request body</p> </li> <li> + * <p>Specify permissions using request headers</p> </li> </ul> <p>You + * cannot specify access permission using both the body and the request + * headers.</p> <p>Depending on your application needs, you may choose to + * set the ACL on a bucket using either the request body or the headers. For + * example, if you have an existing application that updates a bucket ACL using the + * request body, then you can continue to use that approach.</p> <p> <b>Access + * Permissions</b> </p> <p>You can set access permissions using one of the + * following methods:</p> <ul> <li> <p>Specify a canned ACL with the + * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined + * ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of + * grantees and permissions. Specify the canned ACL name as the value of + * <code>x-amz-acl</code>. If you use this header, you cannot use other access + * control-specific headers in your request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. When using these headers, you specify explicit access permissions and + * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If + * you use these ACL-specific headers, you cannot use the <code>x-amz-acl</code> + * header to set a canned ACL. These parameters map to the set of permissions that + * Amazon S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-write</code> header grants create, + * overwrite, and delete objects permission to LogDelivery group predefined by + * Amazon S3 and two AWS accounts identified by their email addresses.</p> <p> + * <code>x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", + * id="111122223333", id="555566667777" </code> </p> </li> </ul> <p>You can use + * either a canned ACL or specify access permissions explicitly. You cannot do + * both.</p> <p> <b>Grantee Values</b> </p> <p>You can specify the person (grantee) + * to whom you're assigning access rights (using request elements) in the following + * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request</p> </li> <li> <p>By URI:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser. </p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html">GetObjectAcl</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketAclAsync(const Model::PutBucketAclRequest& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets an analytics configuration for the bucket (specified by the analytics + * configuration ID). You can have up to 1,000 analytics configurations per + * bucket.</p> <p>You can choose to have storage class analysis export analysis + * reports sent to a comma-separated values (CSV) flat file. See the + * <code>DataExport</code> request element. Reports are updated daily and are based + * on the object filters that you configure. When selecting data export, you + * specify a destination bucket and an optional destination prefix where the file + * is written. You can export the data to a destination bucket in a different + * account. However, the destination bucket must be in the same Region as the + * bucket that you are making the PUT analytics configuration to. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>You must create a + * bucket policy on the destination bucket where the exported file is written to + * grant permissions to Amazon S3 to write objects to the bucket. For an example + * policy, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9">Granting + * Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> + * <p>To use this operation, you must have permissions to perform the + * <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p class="title"> + * <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>HTTP Error: HTTP 400 Bad + * Request</i> </p> </li> <li> <p> <i>Code: InvalidArgument</i> </p> </li> <li> <p> + * <i>Cause: Invalid argument.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>HTTP Error: HTTP 400 Bad Request</i> </p> </li> <li> <p> <i>Code: + * TooManyConfigurations</i> </p> </li> <li> <p> <i>Cause: You are attempting to + * create a new configuration but have already reached the 1,000-configuration + * limit.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>HTTP Error: HTTP 403 + * Forbidden</i> </p> </li> <li> <p> <i>Code: AccessDenied</i> </p> </li> <li> <p> + * <i>Cause: You are not the owner of the specified bucket, or you do not have the + * s3:PutAnalyticsConfiguration bucket permission to set the configuration on the + * bucket.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketAnalyticsConfigurationOutcome PutBucketAnalyticsConfiguration(const Model::PutBucketAnalyticsConfigurationRequest& request) const; + + /** + * <p>Sets an analytics configuration for the bucket (specified by the analytics + * configuration ID). You can have up to 1,000 analytics configurations per + * bucket.</p> <p>You can choose to have storage class analysis export analysis + * reports sent to a comma-separated values (CSV) flat file. See the + * <code>DataExport</code> request element. Reports are updated daily and are based + * on the object filters that you configure. When selecting data export, you + * specify a destination bucket and an optional destination prefix where the file + * is written. You can export the data to a destination bucket in a different + * account. However, the destination bucket must be in the same Region as the + * bucket that you are making the PUT analytics configuration to. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>You must create a + * bucket policy on the destination bucket where the exported file is written to + * grant permissions to Amazon S3 to write objects to the bucket. For an example + * policy, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9">Granting + * Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> + * <p>To use this operation, you must have permissions to perform the + * <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p class="title"> + * <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>HTTP Error: HTTP 400 Bad + * Request</i> </p> </li> <li> <p> <i>Code: InvalidArgument</i> </p> </li> <li> <p> + * <i>Cause: Invalid argument.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>HTTP Error: HTTP 400 Bad Request</i> </p> </li> <li> <p> <i>Code: + * TooManyConfigurations</i> </p> </li> <li> <p> <i>Cause: You are attempting to + * create a new configuration but have already reached the 1,000-configuration + * limit.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>HTTP Error: HTTP 403 + * Forbidden</i> </p> </li> <li> <p> <i>Code: AccessDenied</i> </p> </li> <li> <p> + * <i>Cause: You are not the owner of the specified bucket, or you do not have the + * s3:PutAnalyticsConfiguration bucket permission to set the configuration on the + * bucket.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketAnalyticsConfigurationOutcomeCallable PutBucketAnalyticsConfigurationCallable(const Model::PutBucketAnalyticsConfigurationRequest& request) const; + + /** + * <p>Sets an analytics configuration for the bucket (specified by the analytics + * configuration ID). You can have up to 1,000 analytics configurations per + * bucket.</p> <p>You can choose to have storage class analysis export analysis + * reports sent to a comma-separated values (CSV) flat file. See the + * <code>DataExport</code> request element. Reports are updated daily and are based + * on the object filters that you configure. When selecting data export, you + * specify a destination bucket and an optional destination prefix where the file + * is written. You can export the data to a destination bucket in a different + * account. However, the destination bucket must be in the same Region as the + * bucket that you are making the PUT analytics configuration to. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon + * S3 Analytics – Storage Class Analysis</a>. </p> <p>You must create a + * bucket policy on the destination bucket where the exported file is written to + * grant permissions to Amazon S3 to write objects to the bucket. For an example + * policy, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9">Granting + * Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> + * <p>To use this operation, you must have permissions to perform the + * <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p class="title"> + * <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>HTTP Error: HTTP 400 Bad + * Request</i> </p> </li> <li> <p> <i>Code: InvalidArgument</i> </p> </li> <li> <p> + * <i>Cause: Invalid argument.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>HTTP Error: HTTP 400 Bad Request</i> </p> </li> <li> <p> <i>Code: + * TooManyConfigurations</i> </p> </li> <li> <p> <i>Cause: You are attempting to + * create a new configuration but have already reached the 1,000-configuration + * limit.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>HTTP Error: HTTP 403 + * Forbidden</i> </p> </li> <li> <p> <i>Code: AccessDenied</i> </p> </li> <li> <p> + * <i>Cause: You are not the owner of the specified bucket, or you do not have the + * s3:PutAnalyticsConfiguration bucket permission to set the configuration on the + * bucket.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html">GetBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html">DeleteBucketAnalyticsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html">ListBucketAnalyticsConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketAnalyticsConfigurationAsync(const Model::PutBucketAnalyticsConfigurationRequest& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the <code>cors</code> configuration for your bucket. If the + * configuration exists, Amazon S3 replaces it.</p> <p>To use this operation, you + * must be allowed to perform the <code>s3:PutBucketCORS</code> action. By default, + * the bucket owner has this permission and can grant it to others.</p> <p>You set + * this configuration on a bucket so that the bucket can service cross-origin + * requests. For example, you might want to enable a request whose origin is + * <code>http://www.example.com</code> to access your Amazon S3 bucket at + * <code>my.example.bucket.com</code> by using the browser's + * <code>XMLHttpRequest</code> capability.</p> <p>To enable cross-origin resource + * sharing (CORS) on a bucket, you add the <code>cors</code> subresource to the + * bucket. The <code>cors</code> subresource is an XML document in which you + * configure rules that identify origins and the HTTP methods that can be executed + * on your bucket. The document is limited to 64 KB in size. </p> <p>When Amazon S3 + * receives a cross-origin request (or a pre-flight OPTIONS request) against a + * bucket, it evaluates the <code>cors</code> configuration on the bucket and uses + * the first <code>CORSRule</code> rule that matches the incoming browser request + * to enable a cross-origin request. For a rule to match, the following conditions + * must be met:</p> <ul> <li> <p>The request's <code>Origin</code> header must + * match <code>AllowedOrigin</code> elements.</p> </li> <li> <p>The request method + * (for example, GET, PUT, HEAD, and so on) or the + * <code>Access-Control-Request-Method</code> header in case of a pre-flight + * <code>OPTIONS</code> request must be one of the <code>AllowedMethod</code> + * elements. </p> </li> <li> <p>Every header specified in the + * <code>Access-Control-Request-Headers</code> request header of a pre-flight + * request must match an <code>AllowedHeader</code> element. </p> </li> </ul> <p> + * For more information about CORS, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html">GetBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketCorsOutcome PutBucketCors(const Model::PutBucketCorsRequest& request) const; + + /** + * <p>Sets the <code>cors</code> configuration for your bucket. If the + * configuration exists, Amazon S3 replaces it.</p> <p>To use this operation, you + * must be allowed to perform the <code>s3:PutBucketCORS</code> action. By default, + * the bucket owner has this permission and can grant it to others.</p> <p>You set + * this configuration on a bucket so that the bucket can service cross-origin + * requests. For example, you might want to enable a request whose origin is + * <code>http://www.example.com</code> to access your Amazon S3 bucket at + * <code>my.example.bucket.com</code> by using the browser's + * <code>XMLHttpRequest</code> capability.</p> <p>To enable cross-origin resource + * sharing (CORS) on a bucket, you add the <code>cors</code> subresource to the + * bucket. The <code>cors</code> subresource is an XML document in which you + * configure rules that identify origins and the HTTP methods that can be executed + * on your bucket. The document is limited to 64 KB in size. </p> <p>When Amazon S3 + * receives a cross-origin request (or a pre-flight OPTIONS request) against a + * bucket, it evaluates the <code>cors</code> configuration on the bucket and uses + * the first <code>CORSRule</code> rule that matches the incoming browser request + * to enable a cross-origin request. For a rule to match, the following conditions + * must be met:</p> <ul> <li> <p>The request's <code>Origin</code> header must + * match <code>AllowedOrigin</code> elements.</p> </li> <li> <p>The request method + * (for example, GET, PUT, HEAD, and so on) or the + * <code>Access-Control-Request-Method</code> header in case of a pre-flight + * <code>OPTIONS</code> request must be one of the <code>AllowedMethod</code> + * elements. </p> </li> <li> <p>Every header specified in the + * <code>Access-Control-Request-Headers</code> request header of a pre-flight + * request must match an <code>AllowedHeader</code> element. </p> </li> </ul> <p> + * For more information about CORS, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html">GetBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketCorsOutcomeCallable PutBucketCorsCallable(const Model::PutBucketCorsRequest& request) const; + + /** + * <p>Sets the <code>cors</code> configuration for your bucket. If the + * configuration exists, Amazon S3 replaces it.</p> <p>To use this operation, you + * must be allowed to perform the <code>s3:PutBucketCORS</code> action. By default, + * the bucket owner has this permission and can grant it to others.</p> <p>You set + * this configuration on a bucket so that the bucket can service cross-origin + * requests. For example, you might want to enable a request whose origin is + * <code>http://www.example.com</code> to access your Amazon S3 bucket at + * <code>my.example.bucket.com</code> by using the browser's + * <code>XMLHttpRequest</code> capability.</p> <p>To enable cross-origin resource + * sharing (CORS) on a bucket, you add the <code>cors</code> subresource to the + * bucket. The <code>cors</code> subresource is an XML document in which you + * configure rules that identify origins and the HTTP methods that can be executed + * on your bucket. The document is limited to 64 KB in size. </p> <p>When Amazon S3 + * receives a cross-origin request (or a pre-flight OPTIONS request) against a + * bucket, it evaluates the <code>cors</code> configuration on the bucket and uses + * the first <code>CORSRule</code> rule that matches the incoming browser request + * to enable a cross-origin request. For a rule to match, the following conditions + * must be met:</p> <ul> <li> <p>The request's <code>Origin</code> header must + * match <code>AllowedOrigin</code> elements.</p> </li> <li> <p>The request method + * (for example, GET, PUT, HEAD, and so on) or the + * <code>Access-Control-Request-Method</code> header in case of a pre-flight + * <code>OPTIONS</code> request must be one of the <code>AllowedMethod</code> + * elements. </p> </li> <li> <p>Every header specified in the + * <code>Access-Control-Request-Headers</code> request header of a pre-flight + * request must match an <code>AllowedHeader</code> element. </p> </li> </ul> <p> + * For more information about CORS, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p class="title"> <b>Related Resources</b> </p> <ul> + * <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html">GetBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html">DeleteBucketCors</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html">RESTOPTIONSobject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketCorsAsync(const Model::PutBucketCorsRequest& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This operation uses the <code>encryption</code> subresource to configure + * default encryption and Amazon S3 Bucket Key for an existing bucket.</p> + * <p>Default encryption for a bucket can use server-side encryption with Amazon + * S3-managed keys (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you + * specify default encryption using SSE-KMS, you can also configure Amazon S3 + * Bucket Key. For information about default encryption, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 default bucket encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>. For more information about S3 Bucket Keys, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p>This operation requires AWS Signature Version 4. For more + * information, see <a href="sig-v4-authenticating-requests.html"> Authenticating + * Requests (AWS Signature Version 4)</a>. </p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the Amazon Simple Storage + * Service Developer Guide. </p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketEncryptionOutcome PutBucketEncryption(const Model::PutBucketEncryptionRequest& request) const; + + /** + * <p>This operation uses the <code>encryption</code> subresource to configure + * default encryption and Amazon S3 Bucket Key for an existing bucket.</p> + * <p>Default encryption for a bucket can use server-side encryption with Amazon + * S3-managed keys (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you + * specify default encryption using SSE-KMS, you can also configure Amazon S3 + * Bucket Key. For information about default encryption, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 default bucket encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>. For more information about S3 Bucket Keys, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p>This operation requires AWS Signature Version 4. For more + * information, see <a href="sig-v4-authenticating-requests.html"> Authenticating + * Requests (AWS Signature Version 4)</a>. </p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the Amazon Simple Storage + * Service Developer Guide. </p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketEncryptionOutcomeCallable PutBucketEncryptionCallable(const Model::PutBucketEncryptionRequest& request) const; + + /** + * <p>This operation uses the <code>encryption</code> subresource to configure + * default encryption and Amazon S3 Bucket Key for an existing bucket.</p> + * <p>Default encryption for a bucket can use server-side encryption with Amazon + * S3-managed keys (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you + * specify default encryption using SSE-KMS, you can also configure Amazon S3 + * Bucket Key. For information about default encryption, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 default bucket encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>. For more information about S3 Bucket Keys, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p>This operation requires AWS Signature Version 4. For more + * information, see <a href="sig-v4-authenticating-requests.html"> Authenticating + * Requests (AWS Signature Version 4)</a>. </p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutEncryptionConfiguration</code> action. The bucket owner has this + * permission by default. The bucket owner can grant this permission to others. For + * more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the Amazon Simple Storage + * Service Developer Guide. </p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html">GetBucketEncryption</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html">DeleteBucketEncryption</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketEncryptionAsync(const Model::PutBucketEncryptionRequest& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>PutBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketIntelligentTieringConfigurationOutcome PutBucketIntelligentTieringConfiguration(const Model::PutBucketIntelligentTieringConfigurationRequest& request) const; + + /** + * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>PutBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketIntelligentTieringConfigurationOutcomeCallable PutBucketIntelligentTieringConfigurationCallable(const Model::PutBucketIntelligentTieringConfigurationRequest& request) const; + + /** + * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket.</p> + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead. S3 Intelligent-Tiering delivers + * automatic cost savings by moving data between access tiers, when access patterns + * change.</p> <p>The S3 Intelligent-Tiering storage class is suitable for objects + * larger than 128 KB that you plan to store for at least 30 days. If the size of + * an object is less than 128 KB, it is not eligible for auto-tiering. Smaller + * objects can be stored, but they are always charged at the frequent access tier + * rates in the S3 Intelligent-Tiering storage class. </p> <p>If you delete an + * object before the end of the 30-day minimum storage duration period, you are + * charged for 30 days. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p> <p>Operations related to + * <code>PutBucketIntelligentTieringConfiguration</code> include: </p> <ul> <li> + * <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html">DeleteBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html">GetBucketIntelligentTieringConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html">ListBucketIntelligentTieringConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketIntelligentTieringConfigurationAsync(const Model::PutBucketIntelligentTieringConfigurationRequest& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This implementation of the <code>PUT</code> operation adds an inventory + * configuration (identified by the inventory ID) to the bucket. You can have up to + * 1,000 inventory configurations per bucket. </p> <p>Amazon S3 inventory generates + * inventories of the objects in the bucket on a daily or weekly basis, and the + * results are published to a flat file. The bucket that is inventoried is called + * the <i>source</i> bucket, and the bucket where the inventory flat file is stored + * is called the <i>destination</i> bucket. The <i>destination</i> bucket must be + * in the same AWS Region as the <i>source</i> bucket. </p> <p>When you configure + * an inventory for a <i>source</i> bucket, you specify the <i>destination</i> + * bucket where you want the inventory to be stored, and whether to generate the + * inventory daily or weekly. You can also configure what object metadata to + * include and whether to inventory all object versions or only current versions. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a> in the Amazon Simple Storage Service Developer Guide.</p> + * <p>You must create a bucket policy on the <i>destination</i> bucket + * to grant permissions to Amazon S3 to write objects to the bucket in the defined + * location. For an example policy, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9"> + * Granting Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> + * <p>To use this operation, you must have permissions to perform the + * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this + * permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the Amazon Simple Storage + * Service Developer Guide.</p> <p class="title"> <b>Special Errors</b> </p> <ul> + * <li> <p class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> <li> <p> + * <i>Code:</i> InvalidArgument</p> </li> <li> <p> <i>Cause:</i> Invalid + * Argument</p> </li> </ul> </li> <li> <p class="title"> <b>HTTP 400 Bad Request + * Error</b> </p> <ul> <li> <p> <i>Code:</i> TooManyConfigurations</p> </li> <li> + * <p> <i>Cause:</i> You are attempting to create a new configuration but have + * already reached the 1,000-configuration limit. </p> </li> </ul> </li> <li> <p + * class="title"> <b>HTTP 403 Forbidden Error</b> </p> <ul> <li> <p> <i>Code:</i> + * AccessDenied</p> </li> <li> <p> <i>Cause:</i> You are not the owner of the + * specified bucket, or you do not have the + * <code>s3:PutInventoryConfiguration</code> bucket permission to set the + * configuration on the bucket. </p> </li> </ul> </li> </ul> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketInventoryConfigurationOutcome PutBucketInventoryConfiguration(const Model::PutBucketInventoryConfigurationRequest& request) const; + + /** + * <p>This implementation of the <code>PUT</code> operation adds an inventory + * configuration (identified by the inventory ID) to the bucket. You can have up to + * 1,000 inventory configurations per bucket. </p> <p>Amazon S3 inventory generates + * inventories of the objects in the bucket on a daily or weekly basis, and the + * results are published to a flat file. The bucket that is inventoried is called + * the <i>source</i> bucket, and the bucket where the inventory flat file is stored + * is called the <i>destination</i> bucket. The <i>destination</i> bucket must be + * in the same AWS Region as the <i>source</i> bucket. </p> <p>When you configure + * an inventory for a <i>source</i> bucket, you specify the <i>destination</i> + * bucket where you want the inventory to be stored, and whether to generate the + * inventory daily or weekly. You can also configure what object metadata to + * include and whether to inventory all object versions or only current versions. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a> in the Amazon Simple Storage Service Developer Guide.</p> + * <p>You must create a bucket policy on the <i>destination</i> bucket + * to grant permissions to Amazon S3 to write objects to the bucket in the defined + * location. For an example policy, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9"> + * Granting Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> + * <p>To use this operation, you must have permissions to perform the + * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this + * permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the Amazon Simple Storage + * Service Developer Guide.</p> <p class="title"> <b>Special Errors</b> </p> <ul> + * <li> <p class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> <li> <p> + * <i>Code:</i> InvalidArgument</p> </li> <li> <p> <i>Cause:</i> Invalid + * Argument</p> </li> </ul> </li> <li> <p class="title"> <b>HTTP 400 Bad Request + * Error</b> </p> <ul> <li> <p> <i>Code:</i> TooManyConfigurations</p> </li> <li> + * <p> <i>Cause:</i> You are attempting to create a new configuration but have + * already reached the 1,000-configuration limit. </p> </li> </ul> </li> <li> <p + * class="title"> <b>HTTP 403 Forbidden Error</b> </p> <ul> <li> <p> <i>Code:</i> + * AccessDenied</p> </li> <li> <p> <i>Cause:</i> You are not the owner of the + * specified bucket, or you do not have the + * <code>s3:PutInventoryConfiguration</code> bucket permission to set the + * configuration on the bucket. </p> </li> </ul> </li> </ul> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketInventoryConfigurationOutcomeCallable PutBucketInventoryConfigurationCallable(const Model::PutBucketInventoryConfigurationRequest& request) const; + + /** + * <p>This implementation of the <code>PUT</code> operation adds an inventory + * configuration (identified by the inventory ID) to the bucket. You can have up to + * 1,000 inventory configurations per bucket. </p> <p>Amazon S3 inventory generates + * inventories of the objects in the bucket on a daily or weekly basis, and the + * results are published to a flat file. The bucket that is inventoried is called + * the <i>source</i> bucket, and the bucket where the inventory flat file is stored + * is called the <i>destination</i> bucket. The <i>destination</i> bucket must be + * in the same AWS Region as the <i>source</i> bucket. </p> <p>When you configure + * an inventory for a <i>source</i> bucket, you specify the <i>destination</i> + * bucket where you want the inventory to be stored, and whether to generate the + * inventory daily or weekly. You can also configure what object metadata to + * include and whether to inventory all object versions or only current versions. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon + * S3 Inventory</a> in the Amazon Simple Storage Service Developer Guide.</p> + * <p>You must create a bucket policy on the <i>destination</i> bucket + * to grant permissions to Amazon S3 to write objects to the bucket in the defined + * location. For an example policy, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9"> + * Granting Permissions for Amazon S3 Inventory and Storage Class Analysis</a>.</p> + * <p>To use this operation, you must have permissions to perform the + * <code>s3:PutInventoryConfiguration</code> action. The bucket owner has this + * permission by default and can grant this permission to others. For more + * information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the Amazon Simple Storage + * Service Developer Guide.</p> <p class="title"> <b>Special Errors</b> </p> <ul> + * <li> <p class="title"> <b>HTTP 400 Bad Request Error</b> </p> <ul> <li> <p> + * <i>Code:</i> InvalidArgument</p> </li> <li> <p> <i>Cause:</i> Invalid + * Argument</p> </li> </ul> </li> <li> <p class="title"> <b>HTTP 400 Bad Request + * Error</b> </p> <ul> <li> <p> <i>Code:</i> TooManyConfigurations</p> </li> <li> + * <p> <i>Cause:</i> You are attempting to create a new configuration but have + * already reached the 1,000-configuration limit. </p> </li> </ul> </li> <li> <p + * class="title"> <b>HTTP 403 Forbidden Error</b> </p> <ul> <li> <p> <i>Code:</i> + * AccessDenied</p> </li> <li> <p> <i>Cause:</i> You are not the owner of the + * specified bucket, or you do not have the + * <code>s3:PutInventoryConfiguration</code> bucket permission to set the + * configuration on the bucket. </p> </li> </ul> </li> </ul> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html">GetBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html">DeleteBucketInventoryConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html">ListBucketInventoryConfigurations</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketInventoryConfigurationAsync(const Model::PutBucketInventoryConfigurationRequest& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Creates a new lifecycle configuration for the bucket or replaces an existing + * lifecycle configuration. For information about lifecycle configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>Bucket + * lifecycle configuration now supports specifying a lifecycle rule using an object + * key name prefix, one or more object tags, or a combination of both. Accordingly, + * this section describes the latest API. The previous version of the API supported + * filtering based only on an object key name prefix, which is supported for + * backward compatibility. For the related API description, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>.</p> + * <p> <b>Rules</b> </p> <p>You specify the lifecycle configuration in your + * request body. The lifecycle configuration is specified as XML consisting of one + * or more rules. Each rule consists of the following:</p> <ul> <li> <p>Filter + * identifying a subset of objects to which the rule applies. The filter can be + * based on a key name prefix, object tags, or a combination of both.</p> </li> + * <li> <p>Status whether the rule is in effect.</p> </li> <li> <p>One or more + * lifecycle transition and expiration actions that you want Amazon S3 to perform + * on the objects identified by the filter. If the state of your bucket is + * versioning-enabled or versioning-suspended, you can have many versions of the + * same object (one current version and zero or more noncurrent versions). Amazon + * S3 provides predefined actions that you can specify for current and noncurrent + * object versions.</p> </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle + * Configuration Elements</a>.</p> <p> <b>Permissions</b> </p> <p>By default, all + * Amazon S3 resources are private, including buckets, objects, and related + * subresources (for example, lifecycle configuration and website configuration). + * Only the resource owner (that is, the AWS account that created it) can access + * the resource. The resource owner can optionally grant access permissions to + * others by writing an access policy. For this operation, a user must get the + * s3:PutLifecycleConfiguration permission.</p> <p>You can also explicitly deny + * permissions. Explicit deny also supersedes any other permissions. If you want to + * block users or accounts from removing or deleting objects from your bucket, you + * must deny them permissions for the following actions:</p> <ul> <li> + * <p>s3:DeleteObject</p> </li> <li> <p>s3:DeleteObjectVersion</p> </li> <li> + * <p>s3:PutLifecycleConfiguration</p> </li> </ul> <p>For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following are + * related to <code>PutBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples + * of Lifecycle Configuration</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketLifecycleConfigurationOutcome PutBucketLifecycleConfiguration(const Model::PutBucketLifecycleConfigurationRequest& request) const; + + /** + * <p>Creates a new lifecycle configuration for the bucket or replaces an existing + * lifecycle configuration. For information about lifecycle configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>Bucket + * lifecycle configuration now supports specifying a lifecycle rule using an object + * key name prefix, one or more object tags, or a combination of both. Accordingly, + * this section describes the latest API. The previous version of the API supported + * filtering based only on an object key name prefix, which is supported for + * backward compatibility. For the related API description, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>.</p> + * <p> <b>Rules</b> </p> <p>You specify the lifecycle configuration in your + * request body. The lifecycle configuration is specified as XML consisting of one + * or more rules. Each rule consists of the following:</p> <ul> <li> <p>Filter + * identifying a subset of objects to which the rule applies. The filter can be + * based on a key name prefix, object tags, or a combination of both.</p> </li> + * <li> <p>Status whether the rule is in effect.</p> </li> <li> <p>One or more + * lifecycle transition and expiration actions that you want Amazon S3 to perform + * on the objects identified by the filter. If the state of your bucket is + * versioning-enabled or versioning-suspended, you can have many versions of the + * same object (one current version and zero or more noncurrent versions). Amazon + * S3 provides predefined actions that you can specify for current and noncurrent + * object versions.</p> </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle + * Configuration Elements</a>.</p> <p> <b>Permissions</b> </p> <p>By default, all + * Amazon S3 resources are private, including buckets, objects, and related + * subresources (for example, lifecycle configuration and website configuration). + * Only the resource owner (that is, the AWS account that created it) can access + * the resource. The resource owner can optionally grant access permissions to + * others by writing an access policy. For this operation, a user must get the + * s3:PutLifecycleConfiguration permission.</p> <p>You can also explicitly deny + * permissions. Explicit deny also supersedes any other permissions. If you want to + * block users or accounts from removing or deleting objects from your bucket, you + * must deny them permissions for the following actions:</p> <ul> <li> + * <p>s3:DeleteObject</p> </li> <li> <p>s3:DeleteObjectVersion</p> </li> <li> + * <p>s3:PutLifecycleConfiguration</p> </li> </ul> <p>For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following are + * related to <code>PutBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples + * of Lifecycle Configuration</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketLifecycleConfigurationOutcomeCallable PutBucketLifecycleConfigurationCallable(const Model::PutBucketLifecycleConfigurationRequest& request) const; + + /** + * <p>Creates a new lifecycle configuration for the bucket or replaces an existing + * lifecycle configuration. For information about lifecycle configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>Bucket + * lifecycle configuration now supports specifying a lifecycle rule using an object + * key name prefix, one or more object tags, or a combination of both. Accordingly, + * this section describes the latest API. The previous version of the API supported + * filtering based only on an object key name prefix, which is supported for + * backward compatibility. For the related API description, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>.</p> + * <p> <b>Rules</b> </p> <p>You specify the lifecycle configuration in your + * request body. The lifecycle configuration is specified as XML consisting of one + * or more rules. Each rule consists of the following:</p> <ul> <li> <p>Filter + * identifying a subset of objects to which the rule applies. The filter can be + * based on a key name prefix, object tags, or a combination of both.</p> </li> + * <li> <p>Status whether the rule is in effect.</p> </li> <li> <p>One or more + * lifecycle transition and expiration actions that you want Amazon S3 to perform + * on the objects identified by the filter. If the state of your bucket is + * versioning-enabled or versioning-suspended, you can have many versions of the + * same object (one current version and zero or more noncurrent versions). Amazon + * S3 provides predefined actions that you can specify for current and noncurrent + * object versions.</p> </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle + * Configuration Elements</a>.</p> <p> <b>Permissions</b> </p> <p>By default, all + * Amazon S3 resources are private, including buckets, objects, and related + * subresources (for example, lifecycle configuration and website configuration). + * Only the resource owner (that is, the AWS account that created it) can access + * the resource. The resource owner can optionally grant access permissions to + * others by writing an access policy. For this operation, a user must get the + * s3:PutLifecycleConfiguration permission.</p> <p>You can also explicitly deny + * permissions. Explicit deny also supersedes any other permissions. If you want to + * block users or accounts from removing or deleting objects from your bucket, you + * must deny them permissions for the following actions:</p> <ul> <li> + * <p>s3:DeleteObject</p> </li> <li> <p>s3:DeleteObjectVersion</p> </li> <li> + * <p>s3:PutLifecycleConfiguration</p> </li> </ul> <p>For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>The following are + * related to <code>PutBucketLifecycleConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples + * of Lifecycle Configuration</a> </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html">DeleteBucketLifecycle</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketLifecycleConfigurationAsync(const Model::PutBucketLifecycleConfigurationRequest& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Set the logging parameters for a bucket and to specify permissions for who + * can view and modify the logging parameters. All logs are saved to buckets in the + * same AWS Region as the source bucket. To set the logging status of a bucket, you + * must be the bucket owner.</p> <p>The bucket owner is automatically granted + * FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to + * grant access to other people. The <code>Permissions</code> request element + * specifies the kind of access the grantee has to the logs.</p> <p> <b>Grantee + * Values</b> </p> <p>You can specify the person (grantee) to whom you're assigning + * access rights (using request elements) in the following ways:</p> <ul> <li> + * <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request.</p> </li> <li> <p>By Email address:</p> <p> <code> <Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser.</p> </li> <li> <p>By URI:</p> + * <p> <code><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> </ul> <p>To enable logging, you use LoggingEnabled and its children + * request elements. To disable logging, you use an empty BucketLoggingStatus + * request element:</p> <p> <code><BucketLoggingStatus + * xmlns="http://doc.s3.amazonaws.com/2006-03-01" /></code> </p> <p>For more + * information about server access logging, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server + * Access Logging</a>. </p> <p>For more information about creating a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. + * For more information about returning the logging status of a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p> + * <p>The following operations are related to <code>PutBucketLogging</code>:</p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketLoggingOutcome PutBucketLogging(const Model::PutBucketLoggingRequest& request) const; + + /** + * <p>Set the logging parameters for a bucket and to specify permissions for who + * can view and modify the logging parameters. All logs are saved to buckets in the + * same AWS Region as the source bucket. To set the logging status of a bucket, you + * must be the bucket owner.</p> <p>The bucket owner is automatically granted + * FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to + * grant access to other people. The <code>Permissions</code> request element + * specifies the kind of access the grantee has to the logs.</p> <p> <b>Grantee + * Values</b> </p> <p>You can specify the person (grantee) to whom you're assigning + * access rights (using request elements) in the following ways:</p> <ul> <li> + * <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request.</p> </li> <li> <p>By Email address:</p> <p> <code> <Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser.</p> </li> <li> <p>By URI:</p> + * <p> <code><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> </ul> <p>To enable logging, you use LoggingEnabled and its children + * request elements. To disable logging, you use an empty BucketLoggingStatus + * request element:</p> <p> <code><BucketLoggingStatus + * xmlns="http://doc.s3.amazonaws.com/2006-03-01" /></code> </p> <p>For more + * information about server access logging, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server + * Access Logging</a>. </p> <p>For more information about creating a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. + * For more information about returning the logging status of a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p> + * <p>The following operations are related to <code>PutBucketLogging</code>:</p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketLoggingOutcomeCallable PutBucketLoggingCallable(const Model::PutBucketLoggingRequest& request) const; + + /** + * <p>Set the logging parameters for a bucket and to specify permissions for who + * can view and modify the logging parameters. All logs are saved to buckets in the + * same AWS Region as the source bucket. To set the logging status of a bucket, you + * must be the bucket owner.</p> <p>The bucket owner is automatically granted + * FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to + * grant access to other people. The <code>Permissions</code> request element + * specifies the kind of access the grantee has to the logs.</p> <p> <b>Grantee + * Values</b> </p> <p>You can specify the person (grantee) to whom you're assigning + * access rights (using request elements) in the following ways:</p> <ul> <li> + * <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request.</p> </li> <li> <p>By Email address:</p> <p> <code> <Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser.</p> </li> <li> <p>By URI:</p> + * <p> <code><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> </ul> <p>To enable logging, you use LoggingEnabled and its children + * request elements. To disable logging, you use an empty BucketLoggingStatus + * request element:</p> <p> <code><BucketLoggingStatus + * xmlns="http://doc.s3.amazonaws.com/2006-03-01" /></code> </p> <p>For more + * information about server access logging, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server + * Access Logging</a>. </p> <p>For more information about creating a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. + * For more information about returning the logging status of a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p> + * <p>The following operations are related to <code>PutBucketLogging</code>:</p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketLoggingAsync(const Model::PutBucketLoggingRequest& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets a metrics configuration (specified by the metrics configuration ID) for + * the bucket. You can have up to 1,000 metrics configurations per bucket. If + * you're updating an existing metrics configuration, note that this is a full + * replacement of the existing metrics configuration. If you don't include the + * elements you want to keep, they are erased.</p> <p>To use this operation, you + * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> + * action. The bucket owner has this permission by default. The bucket owner can + * grant this permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>PutBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> </ul> <p> <code>GetBucketLifecycle</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>TooManyConfigurations</code> </p> <ul> + * <li> <p>Description: You are attempting to create a new configuration but have + * already reached the 1,000-configuration limit.</p> </li> <li> <p>HTTP Status + * Code: HTTP 400 Bad Request</p> </li> </ul> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketMetricsConfigurationOutcome PutBucketMetricsConfiguration(const Model::PutBucketMetricsConfigurationRequest& request) const; + + /** + * <p>Sets a metrics configuration (specified by the metrics configuration ID) for + * the bucket. You can have up to 1,000 metrics configurations per bucket. If + * you're updating an existing metrics configuration, note that this is a full + * replacement of the existing metrics configuration. If you don't include the + * elements you want to keep, they are erased.</p> <p>To use this operation, you + * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> + * action. The bucket owner has this permission by default. The bucket owner can + * grant this permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>PutBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> </ul> <p> <code>GetBucketLifecycle</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>TooManyConfigurations</code> </p> <ul> + * <li> <p>Description: You are attempting to create a new configuration but have + * already reached the 1,000-configuration limit.</p> </li> <li> <p>HTTP Status + * Code: HTTP 400 Bad Request</p> </li> </ul> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketMetricsConfigurationOutcomeCallable PutBucketMetricsConfigurationCallable(const Model::PutBucketMetricsConfigurationRequest& request) const; + + /** + * <p>Sets a metrics configuration (specified by the metrics configuration ID) for + * the bucket. You can have up to 1,000 metrics configurations per bucket. If + * you're updating an existing metrics configuration, note that this is a full + * replacement of the existing metrics configuration. If you don't include the + * elements you want to keep, they are erased.</p> <p>To use this operation, you + * must have permissions to perform the <code>s3:PutMetricsConfiguration</code> + * action. The bucket owner has this permission by default. The bucket owner can + * grant this permission to others. For more information about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p>For information about + * CloudWatch request metrics for Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring + * Metrics with Amazon CloudWatch</a>.</p> <p>The following operations are related + * to <code>PutBucketMetricsConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html">DeleteBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html">PutBucketMetricsConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html">ListBucketMetricsConfigurations</a> + * </p> </li> </ul> <p> <code>GetBucketLifecycle</code> has the following special + * error:</p> <ul> <li> <p>Error code: <code>TooManyConfigurations</code> </p> <ul> + * <li> <p>Description: You are attempting to create a new configuration but have + * already reached the 1,000-configuration limit.</p> </li> <li> <p>HTTP Status + * Code: HTTP 400 Bad Request</p> </li> </ul> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketMetricsConfigurationAsync(const Model::PutBucketMetricsConfigurationRequest& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Enables notifications of specified events for a bucket. For more information + * about event notifications, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a>.</p> <p>Using this API, you can replace an existing + * notification configuration. The configuration is an XML file that defines the + * event types that you want Amazon S3 to publish and the destination where you + * want Amazon S3 to publish an event notification when it detects an event of the + * specified type.</p> <p>By default, your bucket has no event notifications + * configured. That is, the notification configuration will be an empty + * <code>NotificationConfiguration</code>.</p> <p> + * <code><NotificationConfiguration></code> </p> <p> + * <code></NotificationConfiguration></code> </p> <p>This operation replaces + * the existing notification configuration with the configuration you include in + * the request body.</p> <p>After Amazon S3 receives this request, it first + * verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon + * Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner + * has permission to publish to it by sending a test notification. In the case of + * AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions + * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Notifications for Amazon S3 Events</a>.</p> <p>You can disable notifications by + * adding the empty NotificationConfiguration element.</p> <p>By default, only the + * bucket owner can configure notifications on a bucket. However, bucket owners can + * use a bucket policy to grant permission to other users to set this configuration + * with <code>s3:PutBucketNotification</code> permission.</p> <p>The PUT + * notification is an atomic operation. For example, suppose your notification + * configuration includes SNS topic, SQS queue, and Lambda function configurations. + * When you send a PUT request with this configuration, Amazon S3 sends test + * messages to your SNS topic. If the message fails, the entire PUT operation will + * fail, and Amazon S3 will not add the configuration to your bucket.</p> + * <p> <b>Responses</b> </p> <p>If the configuration in the request body includes + * only one <code>TopicConfiguration</code> specifying only the + * <code>s3:ReducedRedundancyLostObject</code> event type, the response will also + * include the <code>x-amz-sns-test-message-id</code> header containing the message + * ID of the test notification sent to the topic.</p> <p>The following operation is + * related to <code>PutBucketNotificationConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketNotificationConfigurationOutcome PutBucketNotificationConfiguration(const Model::PutBucketNotificationConfigurationRequest& request) const; + + /** + * <p>Enables notifications of specified events for a bucket. For more information + * about event notifications, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a>.</p> <p>Using this API, you can replace an existing + * notification configuration. The configuration is an XML file that defines the + * event types that you want Amazon S3 to publish and the destination where you + * want Amazon S3 to publish an event notification when it detects an event of the + * specified type.</p> <p>By default, your bucket has no event notifications + * configured. That is, the notification configuration will be an empty + * <code>NotificationConfiguration</code>.</p> <p> + * <code><NotificationConfiguration></code> </p> <p> + * <code></NotificationConfiguration></code> </p> <p>This operation replaces + * the existing notification configuration with the configuration you include in + * the request body.</p> <p>After Amazon S3 receives this request, it first + * verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon + * Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner + * has permission to publish to it by sending a test notification. In the case of + * AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions + * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Notifications for Amazon S3 Events</a>.</p> <p>You can disable notifications by + * adding the empty NotificationConfiguration element.</p> <p>By default, only the + * bucket owner can configure notifications on a bucket. However, bucket owners can + * use a bucket policy to grant permission to other users to set this configuration + * with <code>s3:PutBucketNotification</code> permission.</p> <p>The PUT + * notification is an atomic operation. For example, suppose your notification + * configuration includes SNS topic, SQS queue, and Lambda function configurations. + * When you send a PUT request with this configuration, Amazon S3 sends test + * messages to your SNS topic. If the message fails, the entire PUT operation will + * fail, and Amazon S3 will not add the configuration to your bucket.</p> + * <p> <b>Responses</b> </p> <p>If the configuration in the request body includes + * only one <code>TopicConfiguration</code> specifying only the + * <code>s3:ReducedRedundancyLostObject</code> event type, the response will also + * include the <code>x-amz-sns-test-message-id</code> header containing the message + * ID of the test notification sent to the topic.</p> <p>The following operation is + * related to <code>PutBucketNotificationConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketNotificationConfigurationOutcomeCallable PutBucketNotificationConfigurationCallable(const Model::PutBucketNotificationConfigurationRequest& request) const; + + /** + * <p>Enables notifications of specified events for a bucket. For more information + * about event notifications, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a>.</p> <p>Using this API, you can replace an existing + * notification configuration. The configuration is an XML file that defines the + * event types that you want Amazon S3 to publish and the destination where you + * want Amazon S3 to publish an event notification when it detects an event of the + * specified type.</p> <p>By default, your bucket has no event notifications + * configured. That is, the notification configuration will be an empty + * <code>NotificationConfiguration</code>.</p> <p> + * <code><NotificationConfiguration></code> </p> <p> + * <code></NotificationConfiguration></code> </p> <p>This operation replaces + * the existing notification configuration with the configuration you include in + * the request body.</p> <p>After Amazon S3 receives this request, it first + * verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon + * Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner + * has permission to publish to it by sending a test notification. In the case of + * AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions + * grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Notifications for Amazon S3 Events</a>.</p> <p>You can disable notifications by + * adding the empty NotificationConfiguration element.</p> <p>By default, only the + * bucket owner can configure notifications on a bucket. However, bucket owners can + * use a bucket policy to grant permission to other users to set this configuration + * with <code>s3:PutBucketNotification</code> permission.</p> <p>The PUT + * notification is an atomic operation. For example, suppose your notification + * configuration includes SNS topic, SQS queue, and Lambda function configurations. + * When you send a PUT request with this configuration, Amazon S3 sends test + * messages to your SNS topic. If the message fails, the entire PUT operation will + * fail, and Amazon S3 will not add the configuration to your bucket.</p> + * <p> <b>Responses</b> </p> <p>If the configuration in the request body includes + * only one <code>TopicConfiguration</code> specifying only the + * <code>s3:ReducedRedundancyLostObject</code> event type, the response will also + * include the <code>x-amz-sns-test-message-id</code> header containing the message + * ID of the test notification sent to the topic.</p> <p>The following operation is + * related to <code>PutBucketNotificationConfiguration</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketNotificationConfigurationAsync(const Model::PutBucketNotificationConfigurationRequest& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. + * To use this operation, you must have the + * <code>s3:PutBucketOwnershipControls</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>PutBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketOwnershipControlsOutcome PutBucketOwnershipControls(const Model::PutBucketOwnershipControlsRequest& request) const; + + /** + * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. + * To use this operation, you must have the + * <code>s3:PutBucketOwnershipControls</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>PutBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketOwnershipControlsOutcomeCallable PutBucketOwnershipControlsCallable(const Model::PutBucketOwnershipControlsRequest& request) const; + + /** + * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. + * To use this operation, you must have the + * <code>s3:PutBucketOwnershipControls</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>. </p> <p>For information about Amazon S3 Object + * Ownership, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using + * Object Ownership</a>. </p> <p>The following operations are related to + * <code>PutBucketOwnershipControls</code>:</p> <ul> <li> <p> + * <a>GetBucketOwnershipControls</a> </p> </li> <li> <p> + * <a>DeleteBucketOwnershipControls</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketOwnershipControlsAsync(const Model::PutBucketOwnershipControlsRequest& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using + * an identity other than the root user of the AWS account that owns the bucket, + * the calling identity must have the <code>PutBucketPolicy</code> permissions on + * the specified bucket and belong to the bucket owner's account in order to use + * this operation.</p> <p>If you don't have <code>PutBucketPolicy</code> + * permissions, Amazon S3 returns a <code>403 Access Denied</code> error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a <code>405 Method Not + * Allowed</code> error.</p> <p> As a security precaution, the root + * user of the AWS account that owns a bucket can always use this operation, even + * if the policy explicitly denies the root user the ability to perform this + * action. </p> <p>For more information about bucket policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>The following operations are + * related to <code>PutBucketPolicy</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketPolicyOutcome PutBucketPolicy(const Model::PutBucketPolicyRequest& request) const; + + /** + * <p>Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using + * an identity other than the root user of the AWS account that owns the bucket, + * the calling identity must have the <code>PutBucketPolicy</code> permissions on + * the specified bucket and belong to the bucket owner's account in order to use + * this operation.</p> <p>If you don't have <code>PutBucketPolicy</code> + * permissions, Amazon S3 returns a <code>403 Access Denied</code> error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a <code>405 Method Not + * Allowed</code> error.</p> <p> As a security precaution, the root + * user of the AWS account that owns a bucket can always use this operation, even + * if the policy explicitly denies the root user the ability to perform this + * action. </p> <p>For more information about bucket policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>The following operations are + * related to <code>PutBucketPolicy</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketPolicyOutcomeCallable PutBucketPolicyCallable(const Model::PutBucketPolicyRequest& request) const; + + /** + * <p>Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using + * an identity other than the root user of the AWS account that owns the bucket, + * the calling identity must have the <code>PutBucketPolicy</code> permissions on + * the specified bucket and belong to the bucket owner's account in order to use + * this operation.</p> <p>If you don't have <code>PutBucketPolicy</code> + * permissions, Amazon S3 returns a <code>403 Access Denied</code> error. If you + * have the correct permissions, but you're not using an identity that belongs to + * the bucket owner's account, Amazon S3 returns a <code>405 Method Not + * Allowed</code> error.</p> <p> As a security precaution, the root + * user of the AWS account that owns a bucket can always use this operation, even + * if the policy explicitly denies the root user the ability to perform this + * action. </p> <p>For more information about bucket policies, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using + * Bucket Policies and User Policies</a>.</p> <p>The following operations are + * related to <code>PutBucketPolicy</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketPolicyAsync(const Model::PutBucketPolicyRequest& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p> Creates a replication configuration or replaces an existing one. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon S3 Developer Guide</i>. </p> <p>To perform this + * operation, the user or role performing the operation must have the <a + * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a> + * permission.</p> <p>Specify the replication configuration in the request + * body. In the replication configuration, you provide the name of the destination + * bucket or buckets where you want Amazon S3 to replicate objects, the IAM role + * that Amazon S3 can assume to replicate objects on your behalf, and other + * relevant information.</p> <p>A replication configuration must include at least + * one rule, and can contain a maximum of 1,000. Each rule identifies a subset of + * objects to replicate by filtering the objects in the source bucket. To choose + * additional subsets of objects to replicate, add a rule for each subset.</p> + * <p>To specify a subset of the objects in the source bucket to apply a + * replication rule to, add the Filter element as a child of the Rule element. You + * can filter objects based on an object key prefix, one or more object tags, or + * both. When you add the Filter element in the configuration, you must also add + * the following elements: <code>DeleteMarkerReplication</code>, + * <code>Status</code>, and <code>Priority</code>.</p> <p>If you are using + * an earlier version of the replication configuration, Amazon S3 handles + * replication of delete markers differently. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward + * Compatibility</a>.</p> <p>For information about enabling versioning on a + * bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using + * Versioning</a>.</p> <p>By default, a resource owner, in this case the AWS + * account that created the bucket, can perform this operation. The resource owner + * can also grant others permissions to perform the operation. For more information + * about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> <b>Handling + * Replication of Encrypted Objects</b> </p> <p>By default, Amazon S3 doesn't + * replicate objects that are stored at rest using server-side encryption with CMKs + * stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: + * <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>, + * <code>Status</code>, <code>EncryptionConfiguration</code>, and + * <code>ReplicaKmsKeyID</code>. For information about replication configuration, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating + * Objects Created with SSE Using CMKs stored in AWS KMS</a>.</p> <p>For + * information on <code>PutBucketReplication</code> errors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List + * of replication-related error codes</a> </p> <p>The following operations are + * related to <code>PutBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketReplicationOutcome PutBucketReplication(const Model::PutBucketReplicationRequest& request) const; + + /** + * <p> Creates a replication configuration or replaces an existing one. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon S3 Developer Guide</i>. </p> <p>To perform this + * operation, the user or role performing the operation must have the <a + * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a> + * permission.</p> <p>Specify the replication configuration in the request + * body. In the replication configuration, you provide the name of the destination + * bucket or buckets where you want Amazon S3 to replicate objects, the IAM role + * that Amazon S3 can assume to replicate objects on your behalf, and other + * relevant information.</p> <p>A replication configuration must include at least + * one rule, and can contain a maximum of 1,000. Each rule identifies a subset of + * objects to replicate by filtering the objects in the source bucket. To choose + * additional subsets of objects to replicate, add a rule for each subset.</p> + * <p>To specify a subset of the objects in the source bucket to apply a + * replication rule to, add the Filter element as a child of the Rule element. You + * can filter objects based on an object key prefix, one or more object tags, or + * both. When you add the Filter element in the configuration, you must also add + * the following elements: <code>DeleteMarkerReplication</code>, + * <code>Status</code>, and <code>Priority</code>.</p> <p>If you are using + * an earlier version of the replication configuration, Amazon S3 handles + * replication of delete markers differently. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward + * Compatibility</a>.</p> <p>For information about enabling versioning on a + * bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using + * Versioning</a>.</p> <p>By default, a resource owner, in this case the AWS + * account that created the bucket, can perform this operation. The resource owner + * can also grant others permissions to perform the operation. For more information + * about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> <b>Handling + * Replication of Encrypted Objects</b> </p> <p>By default, Amazon S3 doesn't + * replicate objects that are stored at rest using server-side encryption with CMKs + * stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: + * <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>, + * <code>Status</code>, <code>EncryptionConfiguration</code>, and + * <code>ReplicaKmsKeyID</code>. For information about replication configuration, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating + * Objects Created with SSE Using CMKs stored in AWS KMS</a>.</p> <p>For + * information on <code>PutBucketReplication</code> errors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List + * of replication-related error codes</a> </p> <p>The following operations are + * related to <code>PutBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketReplicationOutcomeCallable PutBucketReplicationCallable(const Model::PutBucketReplicationRequest& request) const; + + /** + * <p> Creates a replication configuration or replaces an existing one. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon S3 Developer Guide</i>. </p> <p>To perform this + * operation, the user or role performing the operation must have the <a + * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a> + * permission.</p> <p>Specify the replication configuration in the request + * body. In the replication configuration, you provide the name of the destination + * bucket or buckets where you want Amazon S3 to replicate objects, the IAM role + * that Amazon S3 can assume to replicate objects on your behalf, and other + * relevant information.</p> <p>A replication configuration must include at least + * one rule, and can contain a maximum of 1,000. Each rule identifies a subset of + * objects to replicate by filtering the objects in the source bucket. To choose + * additional subsets of objects to replicate, add a rule for each subset.</p> + * <p>To specify a subset of the objects in the source bucket to apply a + * replication rule to, add the Filter element as a child of the Rule element. You + * can filter objects based on an object key prefix, one or more object tags, or + * both. When you add the Filter element in the configuration, you must also add + * the following elements: <code>DeleteMarkerReplication</code>, + * <code>Status</code>, and <code>Priority</code>.</p> <p>If you are using + * an earlier version of the replication configuration, Amazon S3 handles + * replication of delete markers differently. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward + * Compatibility</a>.</p> <p>For information about enabling versioning on a + * bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using + * Versioning</a>.</p> <p>By default, a resource owner, in this case the AWS + * account that created the bucket, can perform this operation. The resource owner + * can also grant others permissions to perform the operation. For more information + * about permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> <b>Handling + * Replication of Encrypted Objects</b> </p> <p>By default, Amazon S3 doesn't + * replicate objects that are stored at rest using server-side encryption with CMKs + * stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: + * <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>, + * <code>Status</code>, <code>EncryptionConfiguration</code>, and + * <code>ReplicaKmsKeyID</code>. For information about replication configuration, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating + * Objects Created with SSE Using CMKs stored in AWS KMS</a>.</p> <p>For + * information on <code>PutBucketReplication</code> errors, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList">List + * of replication-related error codes</a> </p> <p>The following operations are + * related to <code>PutBucketReplication</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html">GetBucketReplication</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html">DeleteBucketReplication</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketReplicationAsync(const Model::PutBucketReplicationRequest& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the request payment configuration for a bucket. By default, the bucket + * owner pays for downloads from the bucket. This configuration parameter enables + * the bucket owner (only) to specify that the person requesting the download will + * be charged for the download. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester + * Pays Buckets</a>.</p> <p>The following operations are related to + * <code>PutBucketRequestPayment</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html">GetBucketRequestPayment</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketRequestPaymentOutcome PutBucketRequestPayment(const Model::PutBucketRequestPaymentRequest& request) const; + + /** + * <p>Sets the request payment configuration for a bucket. By default, the bucket + * owner pays for downloads from the bucket. This configuration parameter enables + * the bucket owner (only) to specify that the person requesting the download will + * be charged for the download. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester + * Pays Buckets</a>.</p> <p>The following operations are related to + * <code>PutBucketRequestPayment</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html">GetBucketRequestPayment</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketRequestPaymentOutcomeCallable PutBucketRequestPaymentCallable(const Model::PutBucketRequestPaymentRequest& request) const; + + /** + * <p>Sets the request payment configuration for a bucket. By default, the bucket + * owner pays for downloads from the bucket. This configuration parameter enables + * the bucket owner (only) to specify that the person requesting the download will + * be charged for the download. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester + * Pays Buckets</a>.</p> <p>The following operations are related to + * <code>PutBucketRequestPayment</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html">GetBucketRequestPayment</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketRequestPaymentAsync(const Model::PutBucketRequestPaymentRequest& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the tags for a bucket.</p> <p>Use tags to organize your AWS bill to + * reflect your own cost structure. To do this, sign up to get your AWS account + * bill with tag key values included. Then, to see the cost of combined resources, + * organize your billing information according to resources with the same tag key + * values. For example, you can tag several resources with a specific application + * name, and then organize your billing information to see the total cost of that + * application across several services. For more information, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost + * Allocation and Tagging</a>.</p> <p>Within a bucket, if you add a tag that + * has the same key as an existing tag, the new value overwrites the old value. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using + * Cost Allocation in Amazon S3 Bucket Tags</a>.</p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutBucketTagging</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> + * <code>PutBucketTagging</code> has the following special errors:</p> <ul> <li> + * <p>Error code: <code>InvalidTagError</code> </p> <ul> <li> <p>Description: The + * tag provided was not a valid tag. This error can occur if the tag did not pass + * input validation. For information about tag restrictions, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">User-Defined + * Tag Restrictions</a> and <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html">AWS-Generated + * Cost Allocation Tag Restrictions</a>.</p> </li> </ul> </li> <li> <p>Error code: + * <code>MalformedXMLError</code> </p> <ul> <li> <p>Description: The XML provided + * does not match the schema.</p> </li> </ul> </li> <li> <p>Error code: + * <code>OperationAbortedError </code> </p> <ul> <li> <p>Description: A conflicting + * conditional operation is currently in progress against this resource. Please try + * again.</p> </li> </ul> </li> <li> <p>Error code: <code>InternalError</code> </p> + * <ul> <li> <p>Description: The service was unable to apply the provided tag to + * the bucket.</p> </li> </ul> </li> </ul> <p>The following operations are related + * to <code>PutBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketTaggingOutcome PutBucketTagging(const Model::PutBucketTaggingRequest& request) const; + + /** + * <p>Sets the tags for a bucket.</p> <p>Use tags to organize your AWS bill to + * reflect your own cost structure. To do this, sign up to get your AWS account + * bill with tag key values included. Then, to see the cost of combined resources, + * organize your billing information according to resources with the same tag key + * values. For example, you can tag several resources with a specific application + * name, and then organize your billing information to see the total cost of that + * application across several services. For more information, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost + * Allocation and Tagging</a>.</p> <p>Within a bucket, if you add a tag that + * has the same key as an existing tag, the new value overwrites the old value. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using + * Cost Allocation in Amazon S3 Bucket Tags</a>.</p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutBucketTagging</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> + * <code>PutBucketTagging</code> has the following special errors:</p> <ul> <li> + * <p>Error code: <code>InvalidTagError</code> </p> <ul> <li> <p>Description: The + * tag provided was not a valid tag. This error can occur if the tag did not pass + * input validation. For information about tag restrictions, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">User-Defined + * Tag Restrictions</a> and <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html">AWS-Generated + * Cost Allocation Tag Restrictions</a>.</p> </li> </ul> </li> <li> <p>Error code: + * <code>MalformedXMLError</code> </p> <ul> <li> <p>Description: The XML provided + * does not match the schema.</p> </li> </ul> </li> <li> <p>Error code: + * <code>OperationAbortedError </code> </p> <ul> <li> <p>Description: A conflicting + * conditional operation is currently in progress against this resource. Please try + * again.</p> </li> </ul> </li> <li> <p>Error code: <code>InternalError</code> </p> + * <ul> <li> <p>Description: The service was unable to apply the provided tag to + * the bucket.</p> </li> </ul> </li> </ul> <p>The following operations are related + * to <code>PutBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketTaggingOutcomeCallable PutBucketTaggingCallable(const Model::PutBucketTaggingRequest& request) const; + + /** + * <p>Sets the tags for a bucket.</p> <p>Use tags to organize your AWS bill to + * reflect your own cost structure. To do this, sign up to get your AWS account + * bill with tag key values included. Then, to see the cost of combined resources, + * organize your billing information according to resources with the same tag key + * values. For example, you can tag several resources with a specific application + * name, and then organize your billing information to see the total cost of that + * application across several services. For more information, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost + * Allocation and Tagging</a>.</p> <p>Within a bucket, if you add a tag that + * has the same key as an existing tag, the new value overwrites the old value. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using + * Cost Allocation in Amazon S3 Bucket Tags</a>.</p> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:PutBucketTagging</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a>.</p> <p> + * <code>PutBucketTagging</code> has the following special errors:</p> <ul> <li> + * <p>Error code: <code>InvalidTagError</code> </p> <ul> <li> <p>Description: The + * tag provided was not a valid tag. This error can occur if the tag did not pass + * input validation. For information about tag restrictions, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">User-Defined + * Tag Restrictions</a> and <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html">AWS-Generated + * Cost Allocation Tag Restrictions</a>.</p> </li> </ul> </li> <li> <p>Error code: + * <code>MalformedXMLError</code> </p> <ul> <li> <p>Description: The XML provided + * does not match the schema.</p> </li> </ul> </li> <li> <p>Error code: + * <code>OperationAbortedError </code> </p> <ul> <li> <p>Description: A conflicting + * conditional operation is currently in progress against this resource. Please try + * again.</p> </li> </ul> </li> <li> <p>Error code: <code>InternalError</code> </p> + * <ul> <li> <p>Description: The service was unable to apply the provided tag to + * the bucket.</p> </li> </ul> </li> </ul> <p>The following operations are related + * to <code>PutBucketTagging</code>:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html">GetBucketTagging</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html">DeleteBucketTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketTaggingAsync(const Model::PutBucketTaggingRequest& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the versioning state of an existing bucket. To set the versioning state, + * you must be the bucket owner.</p> <p>You can set the versioning state with one + * of the following values:</p> <p> <b>Enabled</b>—Enables versioning for the + * objects in the bucket. All objects added to the bucket receive a unique version + * ID.</p> <p> <b>Suspended</b>—Disables versioning for the objects in the bucket. + * All objects added to the bucket receive the version ID null.</p> <p>If the + * versioning state has never been set on a bucket, it has no versioning state; a + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> + * request does not return a versioning state value.</p> <p>If the bucket owner + * enables MFA Delete in the bucket versioning configuration, the bucket owner must + * include the <code>x-amz-mfa request</code> header and the <code>Status</code> + * and the <code>MfaDelete</code> request elements in a request to set the + * versioning state of the bucket.</p> <p>If you have an object + * expiration lifecycle policy in your non-versioned bucket and you want to + * maintain the same permanent delete behavior when you enable versioning, you must + * add a noncurrent expiration policy. The noncurrent expiration lifecycle policy + * will manage the deletes of the noncurrent object versions in the version-enabled + * bucket. (A version-enabled bucket maintains one current and zero or more + * noncurrent object versions.) For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config">Lifecycle + * and Versioning</a>.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketVersioningOutcome PutBucketVersioning(const Model::PutBucketVersioningRequest& request) const; + + /** + * <p>Sets the versioning state of an existing bucket. To set the versioning state, + * you must be the bucket owner.</p> <p>You can set the versioning state with one + * of the following values:</p> <p> <b>Enabled</b>—Enables versioning for the + * objects in the bucket. All objects added to the bucket receive a unique version + * ID.</p> <p> <b>Suspended</b>—Disables versioning for the objects in the bucket. + * All objects added to the bucket receive the version ID null.</p> <p>If the + * versioning state has never been set on a bucket, it has no versioning state; a + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> + * request does not return a versioning state value.</p> <p>If the bucket owner + * enables MFA Delete in the bucket versioning configuration, the bucket owner must + * include the <code>x-amz-mfa request</code> header and the <code>Status</code> + * and the <code>MfaDelete</code> request elements in a request to set the + * versioning state of the bucket.</p> <p>If you have an object + * expiration lifecycle policy in your non-versioned bucket and you want to + * maintain the same permanent delete behavior when you enable versioning, you must + * add a noncurrent expiration policy. The noncurrent expiration lifecycle policy + * will manage the deletes of the noncurrent object versions in the version-enabled + * bucket. (A version-enabled bucket maintains one current and zero or more + * noncurrent object versions.) For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config">Lifecycle + * and Versioning</a>.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketVersioningOutcomeCallable PutBucketVersioningCallable(const Model::PutBucketVersioningRequest& request) const; + + /** + * <p>Sets the versioning state of an existing bucket. To set the versioning state, + * you must be the bucket owner.</p> <p>You can set the versioning state with one + * of the following values:</p> <p> <b>Enabled</b>—Enables versioning for the + * objects in the bucket. All objects added to the bucket receive a unique version + * ID.</p> <p> <b>Suspended</b>—Disables versioning for the objects in the bucket. + * All objects added to the bucket receive the version ID null.</p> <p>If the + * versioning state has never been set on a bucket, it has no versioning state; a + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> + * request does not return a versioning state value.</p> <p>If the bucket owner + * enables MFA Delete in the bucket versioning configuration, the bucket owner must + * include the <code>x-amz-mfa request</code> header and the <code>Status</code> + * and the <code>MfaDelete</code> request elements in a request to set the + * versioning state of the bucket.</p> <p>If you have an object + * expiration lifecycle policy in your non-versioned bucket and you want to + * maintain the same permanent delete behavior when you enable versioning, you must + * add a noncurrent expiration policy. The noncurrent expiration lifecycle policy + * will manage the deletes of the noncurrent object versions in the version-enabled + * bucket. (A version-enabled bucket maintains one current and zero or more + * noncurrent object versions.) For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config">Lifecycle + * and Versioning</a>.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html">DeleteBucket</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketVersioningAsync(const Model::PutBucketVersioningRequest& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the configuration of the website that is specified in the + * <code>website</code> subresource. To configure a bucket as a website, you can + * add this subresource on the bucket with website configuration information such + * as the file name of the index document and any redirect rules. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>.</p> <p>This PUT operation requires the + * <code>S3:PutBucketWebsite</code> permission. By default, only the bucket owner + * can configure the website attached to a bucket; however, bucket owners can allow + * other users to set the website configuration by writing a bucket policy that + * grants them the <code>S3:PutBucketWebsite</code> permission.</p> <p>To redirect + * all website requests sent to the bucket's website endpoint, you add a website + * configuration with the following elements. Because all requests are sent to + * another website, you don't need to provide index document name for the + * bucket.</p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> <p> + * <code>RedirectAllRequestsTo</code> </p> </li> <li> <p> <code>HostName</code> + * </p> </li> <li> <p> <code>Protocol</code> </p> </li> </ul> <p>If you want + * granular control over redirects, you can use the following elements to add + * routing rules that describe conditions for redirecting requests and information + * about the redirect destination. In this case, the website configuration must + * provide an index document for the bucket, because some requests might not be + * redirected. </p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> + * <p> <code>IndexDocument</code> </p> </li> <li> <p> <code>Suffix</code> </p> + * </li> <li> <p> <code>ErrorDocument</code> </p> </li> <li> <p> <code>Key</code> + * </p> </li> <li> <p> <code>RoutingRules</code> </p> </li> <li> <p> + * <code>RoutingRule</code> </p> </li> <li> <p> <code>Condition</code> </p> </li> + * <li> <p> <code>HttpErrorCodeReturnedEquals</code> </p> </li> <li> <p> + * <code>KeyPrefixEquals</code> </p> </li> <li> <p> <code>Redirect</code> </p> + * </li> <li> <p> <code>Protocol</code> </p> </li> <li> <p> <code>HostName</code> + * </p> </li> <li> <p> <code>ReplaceKeyPrefixWith</code> </p> </li> <li> <p> + * <code>ReplaceKeyWith</code> </p> </li> <li> <p> <code>HttpRedirectCode</code> + * </p> </li> </ul> <p>Amazon S3 has a limitation of 50 routing rules per website + * configuration. If you require more than 50 routing rules, you can use object + * redirect. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">Configuring + * an Object Redirect</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite">AWS + * API Reference</a></p> + */ + virtual Model::PutBucketWebsiteOutcome PutBucketWebsite(const Model::PutBucketWebsiteRequest& request) const; + + /** + * <p>Sets the configuration of the website that is specified in the + * <code>website</code> subresource. To configure a bucket as a website, you can + * add this subresource on the bucket with website configuration information such + * as the file name of the index document and any redirect rules. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>.</p> <p>This PUT operation requires the + * <code>S3:PutBucketWebsite</code> permission. By default, only the bucket owner + * can configure the website attached to a bucket; however, bucket owners can allow + * other users to set the website configuration by writing a bucket policy that + * grants them the <code>S3:PutBucketWebsite</code> permission.</p> <p>To redirect + * all website requests sent to the bucket's website endpoint, you add a website + * configuration with the following elements. Because all requests are sent to + * another website, you don't need to provide index document name for the + * bucket.</p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> <p> + * <code>RedirectAllRequestsTo</code> </p> </li> <li> <p> <code>HostName</code> + * </p> </li> <li> <p> <code>Protocol</code> </p> </li> </ul> <p>If you want + * granular control over redirects, you can use the following elements to add + * routing rules that describe conditions for redirecting requests and information + * about the redirect destination. In this case, the website configuration must + * provide an index document for the bucket, because some requests might not be + * redirected. </p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> + * <p> <code>IndexDocument</code> </p> </li> <li> <p> <code>Suffix</code> </p> + * </li> <li> <p> <code>ErrorDocument</code> </p> </li> <li> <p> <code>Key</code> + * </p> </li> <li> <p> <code>RoutingRules</code> </p> </li> <li> <p> + * <code>RoutingRule</code> </p> </li> <li> <p> <code>Condition</code> </p> </li> + * <li> <p> <code>HttpErrorCodeReturnedEquals</code> </p> </li> <li> <p> + * <code>KeyPrefixEquals</code> </p> </li> <li> <p> <code>Redirect</code> </p> + * </li> <li> <p> <code>Protocol</code> </p> </li> <li> <p> <code>HostName</code> + * </p> </li> <li> <p> <code>ReplaceKeyPrefixWith</code> </p> </li> <li> <p> + * <code>ReplaceKeyWith</code> </p> </li> <li> <p> <code>HttpRedirectCode</code> + * </p> </li> </ul> <p>Amazon S3 has a limitation of 50 routing rules per website + * configuration. If you require more than 50 routing rules, you can use object + * redirect. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">Configuring + * an Object Redirect</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutBucketWebsiteOutcomeCallable PutBucketWebsiteCallable(const Model::PutBucketWebsiteRequest& request) const; + + /** + * <p>Sets the configuration of the website that is specified in the + * <code>website</code> subresource. To configure a bucket as a website, you can + * add this subresource on the bucket with website configuration information such + * as the file name of the index document and any redirect rules. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a>.</p> <p>This PUT operation requires the + * <code>S3:PutBucketWebsite</code> permission. By default, only the bucket owner + * can configure the website attached to a bucket; however, bucket owners can allow + * other users to set the website configuration by writing a bucket policy that + * grants them the <code>S3:PutBucketWebsite</code> permission.</p> <p>To redirect + * all website requests sent to the bucket's website endpoint, you add a website + * configuration with the following elements. Because all requests are sent to + * another website, you don't need to provide index document name for the + * bucket.</p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> <p> + * <code>RedirectAllRequestsTo</code> </p> </li> <li> <p> <code>HostName</code> + * </p> </li> <li> <p> <code>Protocol</code> </p> </li> </ul> <p>If you want + * granular control over redirects, you can use the following elements to add + * routing rules that describe conditions for redirecting requests and information + * about the redirect destination. In this case, the website configuration must + * provide an index document for the bucket, because some requests might not be + * redirected. </p> <ul> <li> <p> <code>WebsiteConfiguration</code> </p> </li> <li> + * <p> <code>IndexDocument</code> </p> </li> <li> <p> <code>Suffix</code> </p> + * </li> <li> <p> <code>ErrorDocument</code> </p> </li> <li> <p> <code>Key</code> + * </p> </li> <li> <p> <code>RoutingRules</code> </p> </li> <li> <p> + * <code>RoutingRule</code> </p> </li> <li> <p> <code>Condition</code> </p> </li> + * <li> <p> <code>HttpErrorCodeReturnedEquals</code> </p> </li> <li> <p> + * <code>KeyPrefixEquals</code> </p> </li> <li> <p> <code>Redirect</code> </p> + * </li> <li> <p> <code>Protocol</code> </p> </li> <li> <p> <code>HostName</code> + * </p> </li> <li> <p> <code>ReplaceKeyPrefixWith</code> </p> </li> <li> <p> + * <code>ReplaceKeyWith</code> </p> </li> <li> <p> <code>HttpRedirectCode</code> + * </p> </li> </ul> <p>Amazon S3 has a limitation of 50 routing rules per website + * configuration. If you require more than 50 routing rules, you can use object + * redirect. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">Configuring + * an Object Redirect</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutBucketWebsiteAsync(const Model::PutBucketWebsiteRequest& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Adds an object to a bucket. You must have WRITE permissions on a bucket to + * add an object to it.</p> <p>Amazon S3 never adds partial objects; if you receive + * a success response, Amazon S3 added the entire object to the bucket.</p> + * <p>Amazon S3 is a distributed system. If it receives multiple write requests for + * the same object simultaneously, it overwrites all but the last object written. + * Amazon S3 does not provide object locking; if you need this, make sure to build + * it into your application layer or use versioning instead.</p> <p>To ensure that + * data is not corrupted traversing the network, use the <code>Content-MD5</code> + * header. When you use this header, Amazon S3 checks the object against the + * provided MD5 value and, if they do not match, returns an error. Additionally, + * you can calculate the MD5 while putting an object to Amazon S3 and compare the + * returned ETag to the calculated MD5 value.</p> <p> The + * <code>Content-MD5</code> header is required for any request to upload an object + * with a retention period configured using Amazon S3 Object Lock. For more + * information about Amazon S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html">Amazon + * S3 Object Lock Overview</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>. </p> <p> <b>Server-side Encryption</b> </p> <p>You can + * optionally request server-side encryption. With server-side encryption, Amazon + * S3 encrypts your data as it writes it to disks in its data centers and decrypts + * the data when you access it. You have the option to provide your own encryption + * key or use AWS managed encryption keys (SSE-S3 or SSE-KMS). For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using + * Server-Side Encryption</a>.</p> <p>If you request server-side encryption using + * AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the + * object-level. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p> <b>Access Control List (ACL)-Specific Request Headers</b> </p> <p>You can + * use headers to grant ACL- based permissions. By default, all objects are + * private. Only the owner has full access control. When adding a new object, you + * can grant permissions to individual AWS accounts or to predefined groups defined + * by Amazon S3. These permissions are then added to the ACL on the object. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing + * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>By + * default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> + * <b>Versioning</b> </p> <p>If you enable versioning for a bucket, Amazon S3 + * automatically generates a unique version ID for the object being stored. Amazon + * S3 returns this ID in the response. When you enable versioning for a bucket, if + * Amazon S3 receives multiple write requests for the same object simultaneously, + * it stores all of the objects.</p> <p>For more information about versioning, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding + * Objects to Versioning Enabled Buckets</a>. For information about returning the + * versioning state of a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>. + * </p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject">AWS API + * Reference</a></p> + */ + virtual Model::PutObjectOutcome PutObject(const Model::PutObjectRequest& request) const; + + /** + * <p>Adds an object to a bucket. You must have WRITE permissions on a bucket to + * add an object to it.</p> <p>Amazon S3 never adds partial objects; if you receive + * a success response, Amazon S3 added the entire object to the bucket.</p> + * <p>Amazon S3 is a distributed system. If it receives multiple write requests for + * the same object simultaneously, it overwrites all but the last object written. + * Amazon S3 does not provide object locking; if you need this, make sure to build + * it into your application layer or use versioning instead.</p> <p>To ensure that + * data is not corrupted traversing the network, use the <code>Content-MD5</code> + * header. When you use this header, Amazon S3 checks the object against the + * provided MD5 value and, if they do not match, returns an error. Additionally, + * you can calculate the MD5 while putting an object to Amazon S3 and compare the + * returned ETag to the calculated MD5 value.</p> <p> The + * <code>Content-MD5</code> header is required for any request to upload an object + * with a retention period configured using Amazon S3 Object Lock. For more + * information about Amazon S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html">Amazon + * S3 Object Lock Overview</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>. </p> <p> <b>Server-side Encryption</b> </p> <p>You can + * optionally request server-side encryption. With server-side encryption, Amazon + * S3 encrypts your data as it writes it to disks in its data centers and decrypts + * the data when you access it. You have the option to provide your own encryption + * key or use AWS managed encryption keys (SSE-S3 or SSE-KMS). For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using + * Server-Side Encryption</a>.</p> <p>If you request server-side encryption using + * AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the + * object-level. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p> <b>Access Control List (ACL)-Specific Request Headers</b> </p> <p>You can + * use headers to grant ACL- based permissions. By default, all objects are + * private. Only the owner has full access control. When adding a new object, you + * can grant permissions to individual AWS accounts or to predefined groups defined + * by Amazon S3. These permissions are then added to the ACL on the object. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing + * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>By + * default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> + * <b>Versioning</b> </p> <p>If you enable versioning for a bucket, Amazon S3 + * automatically generates a unique version ID for the object being stored. Amazon + * S3 returns this ID in the response. When you enable versioning for a bucket, if + * Amazon S3 receives multiple write requests for the same object simultaneously, + * it stores all of the objects.</p> <p>For more information about versioning, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding + * Objects to Versioning Enabled Buckets</a>. For information about returning the + * versioning state of a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>. + * </p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutObjectOutcomeCallable PutObjectCallable(const Model::PutObjectRequest& request) const; + + /** + * <p>Adds an object to a bucket. You must have WRITE permissions on a bucket to + * add an object to it.</p> <p>Amazon S3 never adds partial objects; if you receive + * a success response, Amazon S3 added the entire object to the bucket.</p> + * <p>Amazon S3 is a distributed system. If it receives multiple write requests for + * the same object simultaneously, it overwrites all but the last object written. + * Amazon S3 does not provide object locking; if you need this, make sure to build + * it into your application layer or use versioning instead.</p> <p>To ensure that + * data is not corrupted traversing the network, use the <code>Content-MD5</code> + * header. When you use this header, Amazon S3 checks the object against the + * provided MD5 value and, if they do not match, returns an error. Additionally, + * you can calculate the MD5 while putting an object to Amazon S3 and compare the + * returned ETag to the calculated MD5 value.</p> <p> The + * <code>Content-MD5</code> header is required for any request to upload an object + * with a retention period configured using Amazon S3 Object Lock. For more + * information about Amazon S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html">Amazon + * S3 Object Lock Overview</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>. </p> <p> <b>Server-side Encryption</b> </p> <p>You can + * optionally request server-side encryption. With server-side encryption, Amazon + * S3 encrypts your data as it writes it to disks in its data centers and decrypts + * the data when you access it. You have the option to provide your own encryption + * key or use AWS managed encryption keys (SSE-S3 or SSE-KMS). For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using + * Server-Side Encryption</a>.</p> <p>If you request server-side encryption using + * AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the + * object-level. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * <p> <b>Access Control List (ACL)-Specific Request Headers</b> </p> <p>You can + * use headers to grant ACL- based permissions. By default, all objects are + * private. Only the owner has full access control. When adding a new object, you + * can grant permissions to individual AWS accounts or to predefined groups defined + * by Amazon S3. These permissions are then added to the ACL on the object. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing + * ACLs Using the REST API</a>. </p> <p> <b>Storage Class Options</b> </p> <p>By + * default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> <p> + * <b>Versioning</b> </p> <p>If you enable versioning for a bucket, Amazon S3 + * automatically generates a unique version ID for the object being stored. Amazon + * S3 returns this ID in the response. When you enable versioning for a bucket, if + * Amazon S3 receives multiple write requests for the same object simultaneously, + * it stores all of the objects.</p> <p>For more information about versioning, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding + * Objects to Versioning Enabled Buckets</a>. For information about returning the + * versioning state of a bucket, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>. + * </p> <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html">DeleteObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutObjectAsync(const Model::PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Uses the <code>acl</code> subresource to set the access control list (ACL) + * permissions for a new or existing object in an S3 bucket. You must have + * <code>WRITE_ACP</code> permission to set the ACL of an object. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions">What + * permissions can I grant?</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + * <p>Depending on your application needs, you can choose to set the ACL on an + * object using either the request body or the headers. For example, if you have an + * existing application that updates a bucket ACL using the request body, you can + * continue to use that approach. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> in the <i>Amazon S3 Developer Guide</i>.</p> <p> + * <b>Access Permissions</b> </p> <p>You can set access permissions using one of + * the following methods:</p> <ul> <li> <p>Specify a canned ACL with the + * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined + * ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and + * permissions. Specify the canned ACL name as the value of <code>x-amz-ac</code>l. + * If you use this header, you cannot use other access control-specific headers in + * your request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. When using these headers, you specify explicit access permissions and + * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If + * you use these ACL-specific headers, you cannot use <code>x-amz-acl</code> header + * to set a canned ACL. These parameters map to the set of permissions that Amazon + * S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants list objects + * permission to the two AWS accounts identified by their email addresses.</p> <p> + * <code>x-amz-grant-read: emailAddress="xyz@amazon.com", + * emailAddress="abc@amazon.com" </code> </p> </li> </ul> <p>You can use either a + * canned ACL or specify access permissions explicitly. You cannot do both.</p> <p> + * <b>Grantee Values</b> </p> <p>You can specify the person (grantee) to whom + * you're assigning access rights (using request elements) in the following + * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request.</p> </li> <li> <p>By URI:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser.</p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p> + * <b>Versioning</b> </p> <p>The ACL of an object is set at the object version + * level. By default, PUT sets the ACL of the current version of an object. To set + * the ACL of a different version, use the <code>versionId</code> subresource.</p> + * <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl">AWS API + * Reference</a></p> + */ + virtual Model::PutObjectAclOutcome PutObjectAcl(const Model::PutObjectAclRequest& request) const; + + /** + * <p>Uses the <code>acl</code> subresource to set the access control list (ACL) + * permissions for a new or existing object in an S3 bucket. You must have + * <code>WRITE_ACP</code> permission to set the ACL of an object. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions">What + * permissions can I grant?</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + * <p>Depending on your application needs, you can choose to set the ACL on an + * object using either the request body or the headers. For example, if you have an + * existing application that updates a bucket ACL using the request body, you can + * continue to use that approach. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> in the <i>Amazon S3 Developer Guide</i>.</p> <p> + * <b>Access Permissions</b> </p> <p>You can set access permissions using one of + * the following methods:</p> <ul> <li> <p>Specify a canned ACL with the + * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined + * ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and + * permissions. Specify the canned ACL name as the value of <code>x-amz-ac</code>l. + * If you use this header, you cannot use other access control-specific headers in + * your request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. When using these headers, you specify explicit access permissions and + * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If + * you use these ACL-specific headers, you cannot use <code>x-amz-acl</code> header + * to set a canned ACL. These parameters map to the set of permissions that Amazon + * S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants list objects + * permission to the two AWS accounts identified by their email addresses.</p> <p> + * <code>x-amz-grant-read: emailAddress="xyz@amazon.com", + * emailAddress="abc@amazon.com" </code> </p> </li> </ul> <p>You can use either a + * canned ACL or specify access permissions explicitly. You cannot do both.</p> <p> + * <b>Grantee Values</b> </p> <p>You can specify the person (grantee) to whom + * you're assigning access rights (using request elements) in the following + * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request.</p> </li> <li> <p>By URI:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser.</p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p> + * <b>Versioning</b> </p> <p>The ACL of an object is set at the object version + * level. By default, PUT sets the ACL of the current version of an object. To set + * the ACL of a different version, use the <code>versionId</code> subresource.</p> + * <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutObjectAclOutcomeCallable PutObjectAclCallable(const Model::PutObjectAclRequest& request) const; + + /** + * <p>Uses the <code>acl</code> subresource to set the access control list (ACL) + * permissions for a new or existing object in an S3 bucket. You must have + * <code>WRITE_ACP</code> permission to set the ACL of an object. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions">What + * permissions can I grant?</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + * <p>Depending on your application needs, you can choose to set the ACL on an + * object using either the request body or the headers. For example, if you have an + * existing application that updates a bucket ACL using the request body, you can + * continue to use that approach. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a> in the <i>Amazon S3 Developer Guide</i>.</p> <p> + * <b>Access Permissions</b> </p> <p>You can set access permissions using one of + * the following methods:</p> <ul> <li> <p>Specify a canned ACL with the + * <code>x-amz-acl</code> request header. Amazon S3 supports a set of predefined + * ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and + * permissions. Specify the canned ACL name as the value of <code>x-amz-ac</code>l. + * If you use this header, you cannot use other access control-specific headers in + * your request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> </li> <li> <p>Specify access permissions explicitly with the + * <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>, + * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> + * headers. When using these headers, you specify explicit access permissions and + * grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If + * you use these ACL-specific headers, you cannot use <code>x-amz-acl</code> header + * to set a canned ACL. These parameters map to the set of permissions that Amazon + * S3 supports in an ACL. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access + * Control List (ACL) Overview</a>.</p> <p>You specify each grantee as a type=value + * pair, where the type is one of the following:</p> <ul> <li> <p> <code>id</code> + * – if the value specified is the canonical user ID of an AWS account</p> </li> + * <li> <p> <code>uri</code> – if you are granting permissions to a predefined + * group</p> </li> <li> <p> <code>emailAddress</code> – if the value specified is + * the email address of an AWS account</p> <p>Using email addresses to + * specify a grantee is only supported in the following AWS Regions: </p> <ul> <li> + * <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> + * <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> + * <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> + * <li> <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> + * </ul> <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p>For + * example, the following <code>x-amz-grant-read</code> header grants list objects + * permission to the two AWS accounts identified by their email addresses.</p> <p> + * <code>x-amz-grant-read: emailAddress="xyz@amazon.com", + * emailAddress="abc@amazon.com" </code> </p> </li> </ul> <p>You can use either a + * canned ACL or specify access permissions explicitly. You cannot do both.</p> <p> + * <b>Grantee Values</b> </p> <p>You can specify the person (grantee) to whom + * you're assigning access rights (using request elements) in the following + * ways:</p> <ul> <li> <p>By the person's ID:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> + * </Grantee></code> </p> <p>DisplayName is optional and ignored in the + * request.</p> </li> <li> <p>By URI:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee></code> + * </p> </li> <li> <p>By Email address:</p> <p> <code><Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee></code> + * </p> <p>The grantee is resolved to the CanonicalUser and, in a response to a GET + * Object acl request, appears as the CanonicalUser.</p> <p>Using email + * addresses to specify a grantee is only supported in the following AWS Regions: + * </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N. + * California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific + * (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia + * Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South + * America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported + * Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> </li> </ul> <p> + * <b>Versioning</b> </p> <p>The ACL of an object is set at the object version + * level. By default, PUT sets the ACL of the current version of an object. To set + * the ACL of a different version, use the <code>versionId</code> subresource.</p> + * <p class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutObjectAclAsync(const Model::PutObjectAclRequest& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Applies a Legal Hold configuration to the specified object.</p> <p>This + * action is not supported by Amazon S3 on Outposts.</p> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold">AWS + * API Reference</a></p> + */ + virtual Model::PutObjectLegalHoldOutcome PutObjectLegalHold(const Model::PutObjectLegalHoldRequest& request) const; + + /** + * <p>Applies a Legal Hold configuration to the specified object.</p> <p>This + * action is not supported by Amazon S3 on Outposts.</p> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutObjectLegalHoldOutcomeCallable PutObjectLegalHoldCallable(const Model::PutObjectLegalHoldRequest& request) const; + + /** + * <p>Applies a Legal Hold configuration to the specified object.</p> <p>This + * action is not supported by Amazon S3 on Outposts.</p> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutObjectLegalHoldAsync(const Model::PutObjectLegalHoldRequest& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Places an Object Lock configuration on the specified bucket. The rule + * specified in the Object Lock configuration will be applied by default to every + * new object placed in the specified bucket.</p> <p> + * <code>DefaultRetention</code> requires either Days or Years. You can't specify + * both at the same time.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration">AWS + * API Reference</a></p> + */ + virtual Model::PutObjectLockConfigurationOutcome PutObjectLockConfiguration(const Model::PutObjectLockConfigurationRequest& request) const; + + /** + * <p>Places an Object Lock configuration on the specified bucket. The rule + * specified in the Object Lock configuration will be applied by default to every + * new object placed in the specified bucket.</p> <p> + * <code>DefaultRetention</code> requires either Days or Years. You can't specify + * both at the same time.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutObjectLockConfigurationOutcomeCallable PutObjectLockConfigurationCallable(const Model::PutObjectLockConfigurationRequest& request) const; + + /** + * <p>Places an Object Lock configuration on the specified bucket. The rule + * specified in the Object Lock configuration will be applied by default to every + * new object placed in the specified bucket.</p> <p> + * <code>DefaultRetention</code> requires either Days or Years. You can't specify + * both at the same time.</p> <p class="title"> <b>Related Resources</b> + * </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutObjectLockConfigurationAsync(const Model::PutObjectLockConfigurationRequest& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Places an Object Retention configuration on an object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention">AWS + * API Reference</a></p> + */ + virtual Model::PutObjectRetentionOutcome PutObjectRetention(const Model::PutObjectRetentionRequest& request) const; + + /** + * <p>Places an Object Retention configuration on an object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutObjectRetentionOutcomeCallable PutObjectRetentionCallable(const Model::PutObjectRetentionRequest& request) const; + + /** + * <p>Places an Object Retention configuration on an object.</p> <p>This action is + * not supported by Amazon S3 on Outposts.</p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking + * Objects</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutObjectRetentionAsync(const Model::PutObjectRetentionRequest& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Sets the supplied tag-set to an object that already exists in a bucket.</p> + * <p>A tag is a key-value pair. You can associate tags with an object by sending a + * PUT request against the tagging subresource that is associated with the object. + * You can retrieve tags by sending a GET request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a>.</p> + * <p>For tagging-related restrictions related to characters and encodings, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">Tag + * Restrictions</a>. Note that Amazon S3 limits the maximum number of tags to 10 + * tags per object.</p> <p>To use this operation, you must have permission to + * perform the <code>s3:PutObjectTagging</code> action. By default, the bucket + * owner has this permission and can grant this permission to others.</p> <p>To put + * tags of any other version, use the <code>versionId</code> query parameter. You + * also need permission for the <code>s3:PutObjectVersionTagging</code> action.</p> + * <p>For information about the Amazon S3 object tagging feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code: InvalidTagError </i> </p> </li> <li> <p> <i>Cause: The tag + * provided was not a valid tag. This error can occur if the tag did not pass input + * validation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * MalformedXMLError </i> </p> </li> <li> <p> <i>Cause: The XML provided does not + * match the schema.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * OperationAbortedError </i> </p> </li> <li> <p> <i>Cause: A conflicting + * conditional operation is currently in progress against this resource. Please try + * again.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: InternalError</i> + * </p> </li> <li> <p> <i>Cause: The service was unable to apply the provided tag + * to the object.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging">AWS + * API Reference</a></p> + */ + virtual Model::PutObjectTaggingOutcome PutObjectTagging(const Model::PutObjectTaggingRequest& request) const; + + /** + * <p>Sets the supplied tag-set to an object that already exists in a bucket.</p> + * <p>A tag is a key-value pair. You can associate tags with an object by sending a + * PUT request against the tagging subresource that is associated with the object. + * You can retrieve tags by sending a GET request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a>.</p> + * <p>For tagging-related restrictions related to characters and encodings, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">Tag + * Restrictions</a>. Note that Amazon S3 limits the maximum number of tags to 10 + * tags per object.</p> <p>To use this operation, you must have permission to + * perform the <code>s3:PutObjectTagging</code> action. By default, the bucket + * owner has this permission and can grant this permission to others.</p> <p>To put + * tags of any other version, use the <code>versionId</code> query parameter. You + * also need permission for the <code>s3:PutObjectVersionTagging</code> action.</p> + * <p>For information about the Amazon S3 object tagging feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code: InvalidTagError </i> </p> </li> <li> <p> <i>Cause: The tag + * provided was not a valid tag. This error can occur if the tag did not pass input + * validation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * MalformedXMLError </i> </p> </li> <li> <p> <i>Cause: The XML provided does not + * match the schema.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * OperationAbortedError </i> </p> </li> <li> <p> <i>Cause: A conflicting + * conditional operation is currently in progress against this resource. Please try + * again.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: InternalError</i> + * </p> </li> <li> <p> <i>Cause: The service was unable to apply the provided tag + * to the object.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutObjectTaggingOutcomeCallable PutObjectTaggingCallable(const Model::PutObjectTaggingRequest& request) const; + + /** + * <p>Sets the supplied tag-set to an object that already exists in a bucket.</p> + * <p>A tag is a key-value pair. You can associate tags with an object by sending a + * PUT request against the tagging subresource that is associated with the object. + * You can retrieve tags by sending a GET request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a>.</p> + * <p>For tagging-related restrictions related to characters and encodings, see <a + * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html">Tag + * Restrictions</a>. Note that Amazon S3 limits the maximum number of tags to 10 + * tags per object.</p> <p>To use this operation, you must have permission to + * perform the <code>s3:PutObjectTagging</code> action. By default, the bucket + * owner has this permission and can grant this permission to others.</p> <p>To put + * tags of any other version, use the <code>versionId</code> query parameter. You + * also need permission for the <code>s3:PutObjectVersionTagging</code> action.</p> + * <p>For information about the Amazon S3 object tagging feature, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</p> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code: InvalidTagError </i> </p> </li> <li> <p> <i>Cause: The tag + * provided was not a valid tag. This error can occur if the tag did not pass input + * validation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object + * Tagging</a>.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * MalformedXMLError </i> </p> </li> <li> <p> <i>Cause: The XML provided does not + * match the schema.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * OperationAbortedError </i> </p> </li> <li> <p> <i>Cause: A conflicting + * conditional operation is currently in progress against this resource. Please try + * again.</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: InternalError</i> + * </p> </li> <li> <p> <i>Cause: The service was unable to apply the provided tag + * to the object.</i> </p> </li> </ul> </li> </ul> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutObjectTaggingAsync(const Model::PutObjectTaggingRequest& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Creates or modifies the <code>PublicAccessBlock</code> configuration for an + * Amazon S3 bucket. To use this operation, you must have the + * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the + * <code>PublicAccessBlock</code> configuration for a bucket or an object, it + * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or + * the bucket that contains the object) and the bucket owner's account. If the + * <code>PublicAccessBlock</code> configurations are different between the bucket + * and the account, Amazon S3 uses the most restrictive combination of the + * bucket-level and account-level settings.</p> <p>For more + * information about when Amazon S3 considers a bucket or an 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>.</p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock">AWS + * API Reference</a></p> + */ + virtual Model::PutPublicAccessBlockOutcome PutPublicAccessBlock(const Model::PutPublicAccessBlockRequest& request) const; + + /** + * <p>Creates or modifies the <code>PublicAccessBlock</code> configuration for an + * Amazon S3 bucket. To use this operation, you must have the + * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the + * <code>PublicAccessBlock</code> configuration for a bucket or an object, it + * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or + * the bucket that contains the object) and the bucket owner's account. If the + * <code>PublicAccessBlock</code> configurations are different between the bucket + * and the account, Amazon S3 uses the most restrictive combination of the + * bucket-level and account-level settings.</p> <p>For more + * information about when Amazon S3 considers a bucket or an 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>.</p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::PutPublicAccessBlockOutcomeCallable PutPublicAccessBlockCallable(const Model::PutPublicAccessBlockRequest& request) const; + + /** + * <p>Creates or modifies the <code>PublicAccessBlock</code> configuration for an + * Amazon S3 bucket. To use this operation, you must have the + * <code>s3:PutBucketPublicAccessBlock</code> permission. For more information + * about Amazon S3 permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a>.</p> <p>When Amazon S3 evaluates the + * <code>PublicAccessBlock</code> configuration for a bucket or an object, it + * checks the <code>PublicAccessBlock</code> configuration for both the bucket (or + * the bucket that contains the object) and the bucket owner's account. If the + * <code>PublicAccessBlock</code> configurations are different between the bucket + * and the account, Amazon S3 uses the most restrictive combination of the + * bucket-level and account-level settings.</p> <p>For more + * information about when Amazon S3 considers a bucket or an 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>.</p> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html">GetPublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html">DeletePublicAccessBlock</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html">GetBucketPolicyStatus</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using + * Amazon S3 Block Public Access</a> </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void PutPublicAccessBlockAsync(const Model::PutPublicAccessBlockRequest& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Restores an archived copy of an object back into Amazon S3</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> <p>This action performs the + * following types of requests: </p> <ul> <li> <p> <code>select</code> - Perform a + * select query on an archived object</p> </li> <li> <p> <code>restore an + * archive</code> - Restore an archived object</p> </li> </ul> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:RestoreObject</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p> <b>Querying Archives with Select + * Requests</b> </p> <p>You use a select type of request to perform SQL queries on + * archived objects. The archived objects that are being queried by the select + * request must be formatted as uncompressed comma-separated values (CSV) files. + * You can run queries and custom analytics on your archived data without having to + * restore your data to a hotter Amazon S3 tier. For an overview about select + * requests, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When making a select request, do the following:</p> <ul> <li> + * <p>Define an output location for the select query's output. This must be an + * Amazon S3 bucket in the same AWS Region as the bucket that contains the archive + * object that is being queried. The AWS account that initiates the job must have + * permissions to write to the S3 bucket. You can specify the storage class and + * encryption for the output objects stored in the bucket. For more information + * about output, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>For more information about the <code>S3</code> structure in + * the request body, see the following:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Managing + * Access with ACLs</a> in the <i>Amazon Simple Storage Service Developer Guide</i> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i> </p> </li> </ul> </li> <li> <p>Define the SQL expression for + * the <code>SELECT</code> type of restoration for your query in the request body's + * <code>SelectParameters</code> structure. You can use expressions like the + * following examples.</p> <ul> <li> <p>The following expression returns all + * records from the specified object.</p> <p> <code>SELECT * FROM Object</code> + * </p> </li> <li> <p>Assuming that you are not using any headers for data stored + * in the object, you can specify columns with positional headers.</p> <p> + * <code>SELECT s._1, s._2 FROM Object s WHERE s._3 > 100</code> </p> </li> <li> + * <p>If you have headers and you set the <code>fileHeaderInfo</code> in the + * <code>CSV</code> structure in the request body to <code>USE</code>, you can + * specify headers in the query. (If you set the <code>fileHeaderInfo</code> field + * to <code>IGNORE</code>, the first row is skipped for the query.) You cannot mix + * ordinal positions with header column names. </p> <p> <code>SELECT s.Id, + * s.FirstName, s.SSN FROM S3Object s</code> </p> </li> </ul> </li> </ul> <p>For + * more information about using SQL with S3 Glacier Select restore, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL + * Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>When making a select request, you + * can also do the following:</p> <ul> <li> <p>To expedite your queries, specify + * the <code>Expedited</code> tier. For more information about tiers, see + * "Restoring Archives," later in this topic.</p> </li> <li> <p>Specify details + * about the data serialization format of both the input object that is being + * queried and the serialization of the CSV-encoded query results.</p> </li> </ul> + * <p>The following are additional important facts about the select feature:</p> + * <ul> <li> <p>The output results are new Amazon S3 objects. Unlike archive + * retrievals, they are stored until explicitly deleted-manually or through a + * lifecycle policy.</p> </li> <li> <p>You can issue more than one select request + * on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid + * issuing duplicate requests.</p> </li> <li> <p> Amazon S3 accepts a select + * request even if the object has already been restored. A select request doesn’t + * return error response <code>409</code>.</p> </li> </ul> <p> <b>Restoring + * objects</b> </p> <p>Objects that you archive to the S3 Glacier or S3 Glacier + * Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 + * Intelligent-Tiering Deep Archive tiers are not accessible in real time. For + * objects in Archive Access or Deep Archive Access tiers you must first initiate a + * restore request, and then wait until the object is moved into the Frequent + * Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive storage + * classes you must first initiate a restore request, and then wait until a + * temporary copy of the object is available. To access an archived object, you + * must restore the object for the duration (number of days) that you specify.</p> + * <p>To restore a specific object version, you can provide a version ID. If you + * don't provide a version ID, Amazon S3 restores the current version.</p> <p>When + * restoring an archived object (or using a select request), you can specify one of + * the following data access tier options in the <code>Tier</code> element of the + * request body: </p> <ul> <li> <p> <b> <code>Expedited</code> </b> - Expedited + * retrievals allow you to quickly access your data stored in the S3 Glacier + * storage class or S3 Intelligent-Tiering Archive tier when occasional urgent + * requests for a subset of archives are required. For all but the largest archived + * objects (250 MB+), data accessed using Expedited retrievals is typically made + * available within 1–5 minutes. Provisioned capacity ensures that retrieval + * capacity for Expedited retrievals is available when you need it. Expedited + * retrievals and provisioned capacity are not available for objects stored in the + * S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive + * tier.</p> </li> <li> <p> <b> <code>Standard</code> </b> - Standard retrievals + * allow you to access any of your archived objects within several hours. This is + * the default option for retrieval requests that do not specify the retrieval + * option. Standard retrievals typically finish within 3–5 hours for objects stored + * in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They + * typically finish within 12 hours for objects stored in the S3 Glacier Deep + * Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard + * retrievals are free for objects stored in S3 Intelligent-Tiering.</p> </li> <li> + * <p> <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost retrieval + * option in S3 Glacier, enabling you to retrieve large amounts, even petabytes, of + * data inexpensively. Bulk retrievals typically finish within 5–12 hours for + * objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive + * tier. They typically finish within 48 hours for objects stored in the S3 Glacier + * Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Bulk + * retrievals are free for objects stored in S3 Intelligent-Tiering.</p> </li> + * </ul> <p>For more information about archive retrieval options and provisioned + * capacity for <code>Expedited</code> data access, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>. </p> <p>You can use Amazon S3 restore speed upgrade to change the + * restore speed to a faster speed while it is in progress. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html"> + * Upgrading the speed of an in-progress restore</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>To get the status of object + * restoration, you can send a <code>HEAD</code> request. Operations return the + * <code>x-amz-restore</code> header, which provides information about the + * restoration status, in the response. You can use Amazon S3 event notifications + * to notify you when a restore is initiated or completed. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Amazon S3 Event Notifications</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p>After restoring an archived object, you can update + * the restoration period by reissuing the request with a new period. Amazon S3 + * updates the restoration period relative to the current time and charges only for + * the request-there are no data transfer charges. You cannot update the + * restoration period when Amazon S3 is actively processing your current restore + * request for the object.</p> <p>If your bucket has a lifecycle configuration with + * a rule that includes an expiration action, the object expiration overrides the + * life span that you specify in a restore request. For example, if you restore an + * object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon + * S3 deletes the object in 3 days. For more information about lifecycle + * configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a> in <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p> <b>Responses</b> </p> <p>A successful operation returns + * either the <code>200 OK</code> or <code>202 Accepted</code> status code. </p> + * <ul> <li> <p>If the object is not previously restored, then Amazon S3 returns + * <code>202 Accepted</code> in the response. </p> </li> <li> <p>If the object is + * previously restored, Amazon S3 returns <code>200 OK</code> in the response. </p> + * </li> </ul> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> + * <i>Code: RestoreAlreadyInProgress</i> </p> </li> <li> <p> <i>Cause: Object + * restore is already in progress. (This error does not apply to SELECT type + * requests.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 409 Conflict</i> </p> + * </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> </p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code: GlacierExpeditedRetrievalNotAvailable</i> </p> </li> <li> + * <p> <i>Cause: expedited retrievals are currently not available. Try again later. + * (Returned if there is insufficient capacity to process the Expedited request. + * This error applies only to Expedited retrievals and not to S3 Standard or Bulk + * retrievals.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 503</i> </p> </li> + * <li> <p> <i>SOAP Fault Code Prefix: N/A</i> </p> </li> </ul> </li> </ul> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL + * Reference for Amazon S3 Select and S3 Glacier Select </a> in the <i>Amazon + * Simple Storage Service Developer Guide</i> </p> </li> </ul><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject">AWS + * API Reference</a></p> + */ + virtual Model::RestoreObjectOutcome RestoreObject(const Model::RestoreObjectRequest& request) const; + + /** + * <p>Restores an archived copy of an object back into Amazon S3</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> <p>This action performs the + * following types of requests: </p> <ul> <li> <p> <code>select</code> - Perform a + * select query on an archived object</p> </li> <li> <p> <code>restore an + * archive</code> - Restore an archived object</p> </li> </ul> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:RestoreObject</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p> <b>Querying Archives with Select + * Requests</b> </p> <p>You use a select type of request to perform SQL queries on + * archived objects. The archived objects that are being queried by the select + * request must be formatted as uncompressed comma-separated values (CSV) files. + * You can run queries and custom analytics on your archived data without having to + * restore your data to a hotter Amazon S3 tier. For an overview about select + * requests, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When making a select request, do the following:</p> <ul> <li> + * <p>Define an output location for the select query's output. This must be an + * Amazon S3 bucket in the same AWS Region as the bucket that contains the archive + * object that is being queried. The AWS account that initiates the job must have + * permissions to write to the S3 bucket. You can specify the storage class and + * encryption for the output objects stored in the bucket. For more information + * about output, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>For more information about the <code>S3</code> structure in + * the request body, see the following:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Managing + * Access with ACLs</a> in the <i>Amazon Simple Storage Service Developer Guide</i> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i> </p> </li> </ul> </li> <li> <p>Define the SQL expression for + * the <code>SELECT</code> type of restoration for your query in the request body's + * <code>SelectParameters</code> structure. You can use expressions like the + * following examples.</p> <ul> <li> <p>The following expression returns all + * records from the specified object.</p> <p> <code>SELECT * FROM Object</code> + * </p> </li> <li> <p>Assuming that you are not using any headers for data stored + * in the object, you can specify columns with positional headers.</p> <p> + * <code>SELECT s._1, s._2 FROM Object s WHERE s._3 > 100</code> </p> </li> <li> + * <p>If you have headers and you set the <code>fileHeaderInfo</code> in the + * <code>CSV</code> structure in the request body to <code>USE</code>, you can + * specify headers in the query. (If you set the <code>fileHeaderInfo</code> field + * to <code>IGNORE</code>, the first row is skipped for the query.) You cannot mix + * ordinal positions with header column names. </p> <p> <code>SELECT s.Id, + * s.FirstName, s.SSN FROM S3Object s</code> </p> </li> </ul> </li> </ul> <p>For + * more information about using SQL with S3 Glacier Select restore, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL + * Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>When making a select request, you + * can also do the following:</p> <ul> <li> <p>To expedite your queries, specify + * the <code>Expedited</code> tier. For more information about tiers, see + * "Restoring Archives," later in this topic.</p> </li> <li> <p>Specify details + * about the data serialization format of both the input object that is being + * queried and the serialization of the CSV-encoded query results.</p> </li> </ul> + * <p>The following are additional important facts about the select feature:</p> + * <ul> <li> <p>The output results are new Amazon S3 objects. Unlike archive + * retrievals, they are stored until explicitly deleted-manually or through a + * lifecycle policy.</p> </li> <li> <p>You can issue more than one select request + * on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid + * issuing duplicate requests.</p> </li> <li> <p> Amazon S3 accepts a select + * request even if the object has already been restored. A select request doesn’t + * return error response <code>409</code>.</p> </li> </ul> <p> <b>Restoring + * objects</b> </p> <p>Objects that you archive to the S3 Glacier or S3 Glacier + * Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 + * Intelligent-Tiering Deep Archive tiers are not accessible in real time. For + * objects in Archive Access or Deep Archive Access tiers you must first initiate a + * restore request, and then wait until the object is moved into the Frequent + * Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive storage + * classes you must first initiate a restore request, and then wait until a + * temporary copy of the object is available. To access an archived object, you + * must restore the object for the duration (number of days) that you specify.</p> + * <p>To restore a specific object version, you can provide a version ID. If you + * don't provide a version ID, Amazon S3 restores the current version.</p> <p>When + * restoring an archived object (or using a select request), you can specify one of + * the following data access tier options in the <code>Tier</code> element of the + * request body: </p> <ul> <li> <p> <b> <code>Expedited</code> </b> - Expedited + * retrievals allow you to quickly access your data stored in the S3 Glacier + * storage class or S3 Intelligent-Tiering Archive tier when occasional urgent + * requests for a subset of archives are required. For all but the largest archived + * objects (250 MB+), data accessed using Expedited retrievals is typically made + * available within 1–5 minutes. Provisioned capacity ensures that retrieval + * capacity for Expedited retrievals is available when you need it. Expedited + * retrievals and provisioned capacity are not available for objects stored in the + * S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive + * tier.</p> </li> <li> <p> <b> <code>Standard</code> </b> - Standard retrievals + * allow you to access any of your archived objects within several hours. This is + * the default option for retrieval requests that do not specify the retrieval + * option. Standard retrievals typically finish within 3–5 hours for objects stored + * in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They + * typically finish within 12 hours for objects stored in the S3 Glacier Deep + * Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard + * retrievals are free for objects stored in S3 Intelligent-Tiering.</p> </li> <li> + * <p> <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost retrieval + * option in S3 Glacier, enabling you to retrieve large amounts, even petabytes, of + * data inexpensively. Bulk retrievals typically finish within 5–12 hours for + * objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive + * tier. They typically finish within 48 hours for objects stored in the S3 Glacier + * Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Bulk + * retrievals are free for objects stored in S3 Intelligent-Tiering.</p> </li> + * </ul> <p>For more information about archive retrieval options and provisioned + * capacity for <code>Expedited</code> data access, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>. </p> <p>You can use Amazon S3 restore speed upgrade to change the + * restore speed to a faster speed while it is in progress. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html"> + * Upgrading the speed of an in-progress restore</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>To get the status of object + * restoration, you can send a <code>HEAD</code> request. Operations return the + * <code>x-amz-restore</code> header, which provides information about the + * restoration status, in the response. You can use Amazon S3 event notifications + * to notify you when a restore is initiated or completed. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Amazon S3 Event Notifications</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p>After restoring an archived object, you can update + * the restoration period by reissuing the request with a new period. Amazon S3 + * updates the restoration period relative to the current time and charges only for + * the request-there are no data transfer charges. You cannot update the + * restoration period when Amazon S3 is actively processing your current restore + * request for the object.</p> <p>If your bucket has a lifecycle configuration with + * a rule that includes an expiration action, the object expiration overrides the + * life span that you specify in a restore request. For example, if you restore an + * object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon + * S3 deletes the object in 3 days. For more information about lifecycle + * configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a> in <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p> <b>Responses</b> </p> <p>A successful operation returns + * either the <code>200 OK</code> or <code>202 Accepted</code> status code. </p> + * <ul> <li> <p>If the object is not previously restored, then Amazon S3 returns + * <code>202 Accepted</code> in the response. </p> </li> <li> <p>If the object is + * previously restored, Amazon S3 returns <code>200 OK</code> in the response. </p> + * </li> </ul> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> + * <i>Code: RestoreAlreadyInProgress</i> </p> </li> <li> <p> <i>Cause: Object + * restore is already in progress. (This error does not apply to SELECT type + * requests.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 409 Conflict</i> </p> + * </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> </p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code: GlacierExpeditedRetrievalNotAvailable</i> </p> </li> <li> + * <p> <i>Cause: expedited retrievals are currently not available. Try again later. + * (Returned if there is insufficient capacity to process the Expedited request. + * This error applies only to Expedited retrievals and not to S3 Standard or Bulk + * retrievals.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 503</i> </p> </li> + * <li> <p> <i>SOAP Fault Code Prefix: N/A</i> </p> </li> </ul> </li> </ul> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL + * Reference for Amazon S3 Select and S3 Glacier Select </a> in the <i>Amazon + * Simple Storage Service Developer Guide</i> </p> </li> </ul><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::RestoreObjectOutcomeCallable RestoreObjectCallable(const Model::RestoreObjectRequest& request) const; + + /** + * <p>Restores an archived copy of an object back into Amazon S3</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> <p>This action performs the + * following types of requests: </p> <ul> <li> <p> <code>select</code> - Perform a + * select query on an archived object</p> </li> <li> <p> <code>restore an + * archive</code> - Restore an archived object</p> </li> </ul> <p>To use this + * operation, you must have permissions to perform the + * <code>s3:RestoreObject</code> action. The bucket owner has this permission by + * default and can grant this permission to others. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions + * Related to Bucket Subresource Operations</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing + * Access Permissions to Your Amazon S3 Resources</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p> <b>Querying Archives with Select + * Requests</b> </p> <p>You use a select type of request to perform SQL queries on + * archived objects. The archived objects that are being queried by the select + * request must be formatted as uncompressed comma-separated values (CSV) files. + * You can run queries and custom analytics on your archived data without having to + * restore your data to a hotter Amazon S3 tier. For an overview about select + * requests, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When making a select request, do the following:</p> <ul> <li> + * <p>Define an output location for the select query's output. This must be an + * Amazon S3 bucket in the same AWS Region as the bucket that contains the archive + * object that is being queried. The AWS account that initiates the job must have + * permissions to write to the S3 bucket. You can specify the storage class and + * encryption for the output objects stored in the bucket. For more information + * about output, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html">Querying + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>For more information about the <code>S3</code> structure in + * the request body, see the following:</p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html">PutObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Managing + * Access with ACLs</a> in the <i>Amazon Simple Storage Service Developer Guide</i> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i> </p> </li> </ul> </li> <li> <p>Define the SQL expression for + * the <code>SELECT</code> type of restoration for your query in the request body's + * <code>SelectParameters</code> structure. You can use expressions like the + * following examples.</p> <ul> <li> <p>The following expression returns all + * records from the specified object.</p> <p> <code>SELECT * FROM Object</code> + * </p> </li> <li> <p>Assuming that you are not using any headers for data stored + * in the object, you can specify columns with positional headers.</p> <p> + * <code>SELECT s._1, s._2 FROM Object s WHERE s._3 > 100</code> </p> </li> <li> + * <p>If you have headers and you set the <code>fileHeaderInfo</code> in the + * <code>CSV</code> structure in the request body to <code>USE</code>, you can + * specify headers in the query. (If you set the <code>fileHeaderInfo</code> field + * to <code>IGNORE</code>, the first row is skipped for the query.) You cannot mix + * ordinal positions with header column names. </p> <p> <code>SELECT s.Id, + * s.FirstName, s.SSN FROM S3Object s</code> </p> </li> </ul> </li> </ul> <p>For + * more information about using SQL with S3 Glacier Select restore, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL + * Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>When making a select request, you + * can also do the following:</p> <ul> <li> <p>To expedite your queries, specify + * the <code>Expedited</code> tier. For more information about tiers, see + * "Restoring Archives," later in this topic.</p> </li> <li> <p>Specify details + * about the data serialization format of both the input object that is being + * queried and the serialization of the CSV-encoded query results.</p> </li> </ul> + * <p>The following are additional important facts about the select feature:</p> + * <ul> <li> <p>The output results are new Amazon S3 objects. Unlike archive + * retrievals, they are stored until explicitly deleted-manually or through a + * lifecycle policy.</p> </li> <li> <p>You can issue more than one select request + * on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid + * issuing duplicate requests.</p> </li> <li> <p> Amazon S3 accepts a select + * request even if the object has already been restored. A select request doesn’t + * return error response <code>409</code>.</p> </li> </ul> <p> <b>Restoring + * objects</b> </p> <p>Objects that you archive to the S3 Glacier or S3 Glacier + * Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 + * Intelligent-Tiering Deep Archive tiers are not accessible in real time. For + * objects in Archive Access or Deep Archive Access tiers you must first initiate a + * restore request, and then wait until the object is moved into the Frequent + * Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive storage + * classes you must first initiate a restore request, and then wait until a + * temporary copy of the object is available. To access an archived object, you + * must restore the object for the duration (number of days) that you specify.</p> + * <p>To restore a specific object version, you can provide a version ID. If you + * don't provide a version ID, Amazon S3 restores the current version.</p> <p>When + * restoring an archived object (or using a select request), you can specify one of + * the following data access tier options in the <code>Tier</code> element of the + * request body: </p> <ul> <li> <p> <b> <code>Expedited</code> </b> - Expedited + * retrievals allow you to quickly access your data stored in the S3 Glacier + * storage class or S3 Intelligent-Tiering Archive tier when occasional urgent + * requests for a subset of archives are required. For all but the largest archived + * objects (250 MB+), data accessed using Expedited retrievals is typically made + * available within 1–5 minutes. Provisioned capacity ensures that retrieval + * capacity for Expedited retrievals is available when you need it. Expedited + * retrievals and provisioned capacity are not available for objects stored in the + * S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive + * tier.</p> </li> <li> <p> <b> <code>Standard</code> </b> - Standard retrievals + * allow you to access any of your archived objects within several hours. This is + * the default option for retrieval requests that do not specify the retrieval + * option. Standard retrievals typically finish within 3–5 hours for objects stored + * in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They + * typically finish within 12 hours for objects stored in the S3 Glacier Deep + * Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard + * retrievals are free for objects stored in S3 Intelligent-Tiering.</p> </li> <li> + * <p> <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost retrieval + * option in S3 Glacier, enabling you to retrieve large amounts, even petabytes, of + * data inexpensively. Bulk retrievals typically finish within 5–12 hours for + * objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive + * tier. They typically finish within 48 hours for objects stored in the S3 Glacier + * Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Bulk + * retrievals are free for objects stored in S3 Intelligent-Tiering.</p> </li> + * </ul> <p>For more information about archive retrieval options and provisioned + * capacity for <code>Expedited</code> data access, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring + * Archived Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>. </p> <p>You can use Amazon S3 restore speed upgrade to change the + * restore speed to a faster speed while it is in progress. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html"> + * Upgrading the speed of an in-progress restore</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>. </p> <p>To get the status of object + * restoration, you can send a <code>HEAD</code> request. Operations return the + * <code>x-amz-restore</code> header, which provides information about the + * restoration status, in the response. You can use Amazon S3 event notifications + * to notify you when a restore is initiated or completed. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Amazon S3 Event Notifications</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> <p>After restoring an archived object, you can update + * the restoration period by reissuing the request with a new period. Amazon S3 + * updates the restoration period relative to the current time and charges only for + * the request-there are no data transfer charges. You cannot update the + * restoration period when Amazon S3 is actively processing your current restore + * request for the object.</p> <p>If your bucket has a lifecycle configuration with + * a rule that includes an expiration action, the object expiration overrides the + * life span that you specify in a restore request. For example, if you restore an + * object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon + * S3 deletes the object in 3 days. For more information about lifecycle + * configuration, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a> in <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p> <b>Responses</b> </p> <p>A successful operation returns + * either the <code>200 OK</code> or <code>202 Accepted</code> status code. </p> + * <ul> <li> <p>If the object is not previously restored, then Amazon S3 returns + * <code>202 Accepted</code> in the response. </p> </li> <li> <p>If the object is + * previously restored, Amazon S3 returns <code>200 OK</code> in the response. </p> + * </li> </ul> <p class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> + * <i>Code: RestoreAlreadyInProgress</i> </p> </li> <li> <p> <i>Cause: Object + * restore is already in progress. (This error does not apply to SELECT type + * requests.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 409 Conflict</i> </p> + * </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> </p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code: GlacierExpeditedRetrievalNotAvailable</i> </p> </li> <li> + * <p> <i>Cause: expedited retrievals are currently not available. Try again later. + * (Returned if there is insufficient capacity to process the Expedited request. + * This error applies only to Expedited retrievals and not to S3 Standard or Bulk + * retrievals.)</i> </p> </li> <li> <p> <i>HTTP Status Code: 503</i> </p> </li> + * <li> <p> <i>SOAP Fault Code Prefix: N/A</i> </p> </li> </ul> </li> </ul> <p + * class="title"> <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html">GetBucketNotificationConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html">SQL + * Reference for Amazon S3 Select and S3 Glacier Select </a> in the <i>Amazon + * Simple Storage Service Developer Guide</i> </p> </li> </ul><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void RestoreObjectAsync(const Model::RestoreObjectRequest& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>This operation filters the contents of an Amazon S3 object based on a simple + * structured query language (SQL) statement. In the request, along with the SQL + * expression, you must also specify a data serialization format (JSON, CSV, or + * Apache Parquet) of the object. Amazon S3 uses this format to parse object data + * into records, and returns only records that match the specified SQL expression. + * You must also specify the data serialization format for the response.</p> + * <p>This action is not supported by Amazon S3 on Outposts.</p> <p>For more + * information about Amazon S3 Select, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting + * Content from Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>For more information about using SQL with Amazon S3 Select, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html"> + * SQL Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> <p/> <p> <b>Permissions</b> </p> + * <p>You must have <code>s3:GetObject</code> permission for this operation. Amazon + * S3 Select does not support anonymous access. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p/> <p> <i>Object Data Formats</i> </p> <p>You can use Amazon S3 + * Select to query objects that have the following format properties:</p> <ul> <li> + * <p> <i>CSV, JSON, and Parquet</i> - Objects must be in CSV, JSON, or Parquet + * format.</p> </li> <li> <p> <i>UTF-8</i> - UTF-8 is the only encoding type Amazon + * S3 Select supports.</p> </li> <li> <p> <i>GZIP or BZIP2</i> - CSV and JSON files + * can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression + * formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select + * supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select + * does not support whole-object compression for Parquet objects.</p> </li> <li> + * <p> <i>Server-side encryption</i> - Amazon S3 Select supports querying objects + * that are protected with server-side encryption.</p> <p>For objects that are + * encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, + * and you must use the headers that are documented in the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>. + * For more information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p>For objects that are encrypted with + * Amazon S3 managed encryption keys (SSE-S3) and customer master keys (CMKs) + * stored in AWS Key Management Service (SSE-KMS), server-side encryption is + * handled transparently, so you don't need to specify anything. For more + * information about server-side encryption, including SSE-S3 and SSE-KMS, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> </li> </ul> <p> <b>Working with the Response Body</b> + * </p> <p>Given the response size is unknown, Amazon S3 Select streams the + * response as a series of messages and includes a <code>Transfer-Encoding</code> + * header with <code>chunked</code> as its value in the response. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html">Appendix: + * SelectObjectContent Response</a> .</p> <p/> <p> <b>GetObject Support</b> </p> + * <p>The <code>SelectObjectContent</code> operation does not support the following + * <code>GetObject</code> functionality. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>.</p> + * <ul> <li> <p> <code>Range</code>: Although you can specify a scan range for an + * Amazon S3 Select request (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange">SelectObjectContentRequest + * - ScanRange</a> in the request parameters), you cannot specify the range of + * bytes of an object to return. </p> </li> <li> <p>GLACIER, DEEP_ARCHIVE and + * REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, + * DEEP_ARCHIVE, or <code>REDUCED_REDUNDANCY</code> storage classes. For more + * information, about storage classes see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro">Storage + * Classes</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * </li> </ul> <p/> <p> <b>Special Errors</b> </p> <p>For a list of special errors + * for this operation, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList">List + * of SELECT Object Content Error Codes</a> </p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent">AWS + * API Reference</a></p> + */ + virtual Model::SelectObjectContentOutcome SelectObjectContent(Model::SelectObjectContentRequest& request) const; + + /** + * <p>This operation filters the contents of an Amazon S3 object based on a simple + * structured query language (SQL) statement. In the request, along with the SQL + * expression, you must also specify a data serialization format (JSON, CSV, or + * Apache Parquet) of the object. Amazon S3 uses this format to parse object data + * into records, and returns only records that match the specified SQL expression. + * You must also specify the data serialization format for the response.</p> + * <p>This action is not supported by Amazon S3 on Outposts.</p> <p>For more + * information about Amazon S3 Select, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting + * Content from Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>For more information about using SQL with Amazon S3 Select, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html"> + * SQL Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> <p/> <p> <b>Permissions</b> </p> + * <p>You must have <code>s3:GetObject</code> permission for this operation. Amazon + * S3 Select does not support anonymous access. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p/> <p> <i>Object Data Formats</i> </p> <p>You can use Amazon S3 + * Select to query objects that have the following format properties:</p> <ul> <li> + * <p> <i>CSV, JSON, and Parquet</i> - Objects must be in CSV, JSON, or Parquet + * format.</p> </li> <li> <p> <i>UTF-8</i> - UTF-8 is the only encoding type Amazon + * S3 Select supports.</p> </li> <li> <p> <i>GZIP or BZIP2</i> - CSV and JSON files + * can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression + * formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select + * supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select + * does not support whole-object compression for Parquet objects.</p> </li> <li> + * <p> <i>Server-side encryption</i> - Amazon S3 Select supports querying objects + * that are protected with server-side encryption.</p> <p>For objects that are + * encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, + * and you must use the headers that are documented in the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>. + * For more information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p>For objects that are encrypted with + * Amazon S3 managed encryption keys (SSE-S3) and customer master keys (CMKs) + * stored in AWS Key Management Service (SSE-KMS), server-side encryption is + * handled transparently, so you don't need to specify anything. For more + * information about server-side encryption, including SSE-S3 and SSE-KMS, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> </li> </ul> <p> <b>Working with the Response Body</b> + * </p> <p>Given the response size is unknown, Amazon S3 Select streams the + * response as a series of messages and includes a <code>Transfer-Encoding</code> + * header with <code>chunked</code> as its value in the response. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html">Appendix: + * SelectObjectContent Response</a> .</p> <p/> <p> <b>GetObject Support</b> </p> + * <p>The <code>SelectObjectContent</code> operation does not support the following + * <code>GetObject</code> functionality. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>.</p> + * <ul> <li> <p> <code>Range</code>: Although you can specify a scan range for an + * Amazon S3 Select request (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange">SelectObjectContentRequest + * - ScanRange</a> in the request parameters), you cannot specify the range of + * bytes of an object to return. </p> </li> <li> <p>GLACIER, DEEP_ARCHIVE and + * REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, + * DEEP_ARCHIVE, or <code>REDUCED_REDUNDANCY</code> storage classes. For more + * information, about storage classes see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro">Storage + * Classes</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * </li> </ul> <p/> <p> <b>Special Errors</b> </p> <p>For a list of special errors + * for this operation, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList">List + * of SELECT Object Content Error Codes</a> </p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::SelectObjectContentOutcomeCallable SelectObjectContentCallable(Model::SelectObjectContentRequest& request) const; + + /** + * <p>This operation filters the contents of an Amazon S3 object based on a simple + * structured query language (SQL) statement. In the request, along with the SQL + * expression, you must also specify a data serialization format (JSON, CSV, or + * Apache Parquet) of the object. Amazon S3 uses this format to parse object data + * into records, and returns only records that match the specified SQL expression. + * You must also specify the data serialization format for the response.</p> + * <p>This action is not supported by Amazon S3 on Outposts.</p> <p>For more + * information about Amazon S3 Select, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting + * Content from Objects</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>For more information about using SQL with Amazon S3 Select, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html"> + * SQL Reference for Amazon S3 Select and S3 Glacier Select</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> <p/> <p> <b>Permissions</b> </p> + * <p>You must have <code>s3:GetObject</code> permission for this operation. Amazon + * S3 Select does not support anonymous access. For more information about + * permissions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying + * Permissions in a Policy</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p/> <p> <i>Object Data Formats</i> </p> <p>You can use Amazon S3 + * Select to query objects that have the following format properties:</p> <ul> <li> + * <p> <i>CSV, JSON, and Parquet</i> - Objects must be in CSV, JSON, or Parquet + * format.</p> </li> <li> <p> <i>UTF-8</i> - UTF-8 is the only encoding type Amazon + * S3 Select supports.</p> </li> <li> <p> <i>GZIP or BZIP2</i> - CSV and JSON files + * can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression + * formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select + * supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select + * does not support whole-object compression for Parquet objects.</p> </li> <li> + * <p> <i>Server-side encryption</i> - Amazon S3 Select supports querying objects + * that are protected with server-side encryption.</p> <p>For objects that are + * encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, + * and you must use the headers that are documented in the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>. + * For more information about SSE-C, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys)</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> <p>For objects that are encrypted with + * Amazon S3 managed encryption keys (SSE-S3) and customer master keys (CMKs) + * stored in AWS Key Management Service (SSE-KMS), server-side encryption is + * handled transparently, so you don't need to specify anything. For more + * information about server-side encryption, including SSE-S3 and SSE-KMS, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting + * Data Using Server-Side Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> </li> </ul> <p> <b>Working with the Response Body</b> + * </p> <p>Given the response size is unknown, Amazon S3 Select streams the + * response as a series of messages and includes a <code>Transfer-Encoding</code> + * header with <code>chunked</code> as its value in the response. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html">Appendix: + * SelectObjectContent Response</a> .</p> <p/> <p> <b>GetObject Support</b> </p> + * <p>The <code>SelectObjectContent</code> operation does not support the following + * <code>GetObject</code> functionality. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>.</p> + * <ul> <li> <p> <code>Range</code>: Although you can specify a scan range for an + * Amazon S3 Select request (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange">SelectObjectContentRequest + * - ScanRange</a> in the request parameters), you cannot specify the range of + * bytes of an object to return. </p> </li> <li> <p>GLACIER, DEEP_ARCHIVE and + * REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, + * DEEP_ARCHIVE, or <code>REDUCED_REDUNDANCY</code> storage classes. For more + * information, about storage classes see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro">Storage + * Classes</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * </li> </ul> <p/> <p> <b>Special Errors</b> </p> <p>For a list of special errors + * for this operation, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList">List + * of SELECT Object Content Error Codes</a> </p> <p class="title"> <b>Related + * Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html">GetBucketLifecycleConfiguration</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void SelectObjectContentAsync(Model::SelectObjectContentRequest& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Uploads a part in a multipart upload.</p> <p>In this operation, you + * provide part data in your request. However, you have an option to specify your + * existing Amazon S3 object as a data source for the part you are uploading. To + * upload a part from an existing object, you use the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> + * operation. </p> <p>You must initiate a multipart upload (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>) + * before you can upload any part. In response to your initiate request, Amazon S3 + * returns an upload ID, a unique identifier, that you must include in your upload + * part request.</p> <p>Part numbers can be any number from 1 to 10,000, inclusive. + * A part number uniquely identifies a part and also defines its position within + * the object being created. If you upload a new part using the same part number + * that was used with a previous part, the previously uploaded part is overwritten. + * Each part must be at least 5 MB in size, except the last part. There is no size + * limit on the last part of your multipart upload.</p> <p>To ensure that data is + * not corrupted when traversing the network, specify the <code>Content-MD5</code> + * header in the upload part request. Amazon S3 checks the part data against the + * provided MD5 value. If they do not match, Amazon S3 returns an error. </p> <p>If + * the upload request is signed with Signature Version 4, then AWS S3 uses the + * <code>x-amz-content-sha256</code> header as a checksum instead of + * <code>Content-MD5</code>. For more information see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html">Authenticating + * Requests: Using the Authorization Header (AWS Signature Version 4)</a>. </p> <p> + * <b>Note:</b> After you initiate multipart upload and upload one or more parts, + * you must either complete or abort multipart upload in order to stop getting + * charged for storage of the uploaded parts. Only after you either complete or + * abort multipart upload, Amazon S3 frees up the parts storage and stops charging + * you for the parts storage.</p> <p>For more information on multipart uploads, go + * to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart + * Upload Overview</a> in the <i>Amazon Simple Storage Service Developer Guide + * </i>.</p> <p>For information on the permissions required to use the multipart + * upload API, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>You can optionally request server-side encryption where Amazon + * S3 encrypts your data as it writes it to disks in its data centers and decrypts + * it for you when you access it. You have the option of providing your own + * encryption key, or you can use the AWS managed encryption keys. If you choose to + * provide your own encryption key, the request headers you provide in the request + * must match the headers you used in the request to initiate the upload by using + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>. + * For more information, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using + * Server-Side Encryption</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>Server-side encryption is supported by the S3 Multipart Upload + * actions. Unless you are using a customer-provided encryption key, you don't need + * to specify the encryption parameters in each UploadPart request. Instead, you + * only need to specify the server-side encryption parameters in the initial + * Initiate Multipart request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>.</p> + * <p>If you requested server-side encryption using a customer-provided encryption + * key in your initiate multipart upload request, you must provide identical + * encryption information in each part upload using the following headers.</p> <ul> + * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p + * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: + * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload + * does not exist. The upload ID might be invalid, or the multipart upload might + * have been aborted or completed.</i> </p> </li> <li> <p> <i> HTTP Status Code: + * 404 Not Found </i> </p> </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> + * </p> </li> </ul> </li> </ul> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart">AWS API + * Reference</a></p> + */ + virtual Model::UploadPartOutcome UploadPart(const Model::UploadPartRequest& request) const; + + /** + * <p>Uploads a part in a multipart upload.</p> <p>In this operation, you + * provide part data in your request. However, you have an option to specify your + * existing Amazon S3 object as a data source for the part you are uploading. To + * upload a part from an existing object, you use the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> + * operation. </p> <p>You must initiate a multipart upload (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>) + * before you can upload any part. In response to your initiate request, Amazon S3 + * returns an upload ID, a unique identifier, that you must include in your upload + * part request.</p> <p>Part numbers can be any number from 1 to 10,000, inclusive. + * A part number uniquely identifies a part and also defines its position within + * the object being created. If you upload a new part using the same part number + * that was used with a previous part, the previously uploaded part is overwritten. + * Each part must be at least 5 MB in size, except the last part. There is no size + * limit on the last part of your multipart upload.</p> <p>To ensure that data is + * not corrupted when traversing the network, specify the <code>Content-MD5</code> + * header in the upload part request. Amazon S3 checks the part data against the + * provided MD5 value. If they do not match, Amazon S3 returns an error. </p> <p>If + * the upload request is signed with Signature Version 4, then AWS S3 uses the + * <code>x-amz-content-sha256</code> header as a checksum instead of + * <code>Content-MD5</code>. For more information see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html">Authenticating + * Requests: Using the Authorization Header (AWS Signature Version 4)</a>. </p> <p> + * <b>Note:</b> After you initiate multipart upload and upload one or more parts, + * you must either complete or abort multipart upload in order to stop getting + * charged for storage of the uploaded parts. Only after you either complete or + * abort multipart upload, Amazon S3 frees up the parts storage and stops charging + * you for the parts storage.</p> <p>For more information on multipart uploads, go + * to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart + * Upload Overview</a> in the <i>Amazon Simple Storage Service Developer Guide + * </i>.</p> <p>For information on the permissions required to use the multipart + * upload API, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>You can optionally request server-side encryption where Amazon + * S3 encrypts your data as it writes it to disks in its data centers and decrypts + * it for you when you access it. You have the option of providing your own + * encryption key, or you can use the AWS managed encryption keys. If you choose to + * provide your own encryption key, the request headers you provide in the request + * must match the headers you used in the request to initiate the upload by using + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>. + * For more information, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using + * Server-Side Encryption</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>Server-side encryption is supported by the S3 Multipart Upload + * actions. Unless you are using a customer-provided encryption key, you don't need + * to specify the encryption parameters in each UploadPart request. Instead, you + * only need to specify the server-side encryption parameters in the initial + * Initiate Multipart request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>.</p> + * <p>If you requested server-side encryption using a customer-provided encryption + * key in your initiate multipart upload request, you must provide identical + * encryption information in each part upload using the following headers.</p> <ul> + * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p + * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: + * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload + * does not exist. The upload ID might be invalid, or the multipart upload might + * have been aborted or completed.</i> </p> </li> <li> <p> <i> HTTP Status Code: + * 404 Not Found </i> </p> </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> + * </p> </li> </ul> </li> </ul> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart">AWS API + * Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::UploadPartOutcomeCallable UploadPartCallable(const Model::UploadPartRequest& request) const; + + /** + * <p>Uploads a part in a multipart upload.</p> <p>In this operation, you + * provide part data in your request. However, you have an option to specify your + * existing Amazon S3 object as a data source for the part you are uploading. To + * upload a part from an existing object, you use the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> + * operation. </p> <p>You must initiate a multipart upload (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>) + * before you can upload any part. In response to your initiate request, Amazon S3 + * returns an upload ID, a unique identifier, that you must include in your upload + * part request.</p> <p>Part numbers can be any number from 1 to 10,000, inclusive. + * A part number uniquely identifies a part and also defines its position within + * the object being created. If you upload a new part using the same part number + * that was used with a previous part, the previously uploaded part is overwritten. + * Each part must be at least 5 MB in size, except the last part. There is no size + * limit on the last part of your multipart upload.</p> <p>To ensure that data is + * not corrupted when traversing the network, specify the <code>Content-MD5</code> + * header in the upload part request. Amazon S3 checks the part data against the + * provided MD5 value. If they do not match, Amazon S3 returns an error. </p> <p>If + * the upload request is signed with Signature Version 4, then AWS S3 uses the + * <code>x-amz-content-sha256</code> header as a checksum instead of + * <code>Content-MD5</code>. For more information see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html">Authenticating + * Requests: Using the Authorization Header (AWS Signature Version 4)</a>. </p> <p> + * <b>Note:</b> After you initiate multipart upload and upload one or more parts, + * you must either complete or abort multipart upload in order to stop getting + * charged for storage of the uploaded parts. Only after you either complete or + * abort multipart upload, Amazon S3 frees up the parts storage and stops charging + * you for the parts storage.</p> <p>For more information on multipart uploads, go + * to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart + * Upload Overview</a> in the <i>Amazon Simple Storage Service Developer Guide + * </i>.</p> <p>For information on the permissions required to use the multipart + * upload API, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>You can optionally request server-side encryption where Amazon + * S3 encrypts your data as it writes it to disks in its data centers and decrypts + * it for you when you access it. You have the option of providing your own + * encryption key, or you can use the AWS managed encryption keys. If you choose to + * provide your own encryption key, the request headers you provide in the request + * must match the headers you used in the request to initiate the upload by using + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>. + * For more information, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">Using + * Server-Side Encryption</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>Server-side encryption is supported by the S3 Multipart Upload + * actions. Unless you are using a customer-provided encryption key, you don't need + * to specify the encryption parameters in each UploadPart request. Instead, you + * only need to specify the server-side encryption parameters in the initial + * Initiate Multipart request. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a>.</p> + * <p>If you requested server-side encryption using a customer-provided encryption + * key in your initiate multipart upload request, you must provide identical + * encryption information in each part upload using the following headers.</p> <ul> + * <li> <p>x-amz-server-side-encryption-customer-algorithm</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key</p> </li> <li> + * <p>x-amz-server-side-encryption-customer-key-MD5</p> </li> </ul> <p + * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: + * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload + * does not exist. The upload ID might be invalid, or the multipart upload might + * have been aborted or completed.</i> </p> </li> <li> <p> <i> HTTP Status Code: + * 404 Not Found </i> </p> </li> <li> <p> <i>SOAP Fault Code Prefix: Client</i> + * </p> </li> </ul> </li> </ul> <p class="title"> <b>Related Resources</b> </p> + * <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart">AWS API + * Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void UploadPartAsync(const Model::UploadPartRequest& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + /** + * <p>Uploads a part by copying data from an existing object as data source. You + * specify the data source by adding the request header + * <code>x-amz-copy-source</code> in your request and a byte range by adding the + * request header <code>x-amz-copy-source-range</code> in your request. </p> <p>The + * minimum allowable part size for a multipart upload is 5 MB. For more information + * about multipart upload limits, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html">Quick + * Facts</a> in the <i>Amazon Simple Storage Service Developer Guide</i>. </p> + * <p>Instead of using an existing object as part data, you might use the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * operation and provide data in your request.</p> <p>You must initiate a + * multipart upload before you can upload any part. In response to your initiate + * request. Amazon S3 returns a unique identifier, the upload ID, that you must + * include in your upload part request.</p> <p>For more information about using the + * <code>UploadPartCopy</code> operation, see the following:</p> <ul> <li> <p>For + * conceptual information about multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> </li> <li> <p>For information about permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> </li> <li> <p>For information about copying objects using a + * single atomic operation vs. the multipart upload, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html">Operations + * on Objects</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * </li> <li> <p>For information about using server-side encryption with + * customer-provided encryption keys with the UploadPartCopy operation, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>.</p> + * </li> </ul> <p>Note the following additional considerations about the request + * headers <code>x-amz-copy-source-if-match</code>, + * <code>x-amz-copy-source-if-none-match</code>, + * <code>x-amz-copy-source-if-unmodified-since</code>, and + * <code>x-amz-copy-source-if-modified-since</code>:</p> <p> </p> <ul> <li> <p> + * <b>Consideration 1</b> - If both of the <code>x-amz-copy-source-if-match</code> + * and <code>x-amz-copy-source-if-unmodified-since</code> headers are present in + * the request as follows:</p> <p> <code>x-amz-copy-source-if-match</code> + * condition evaluates to <code>true</code>, and;</p> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to + * <code>false</code>;</p> <p>Amazon S3 returns <code>200 OK</code> and copies the + * data. </p> </li> <li> <p> <b>Consideration 2</b> - If both of the + * <code>x-amz-copy-source-if-none-match</code> and + * <code>x-amz-copy-source-if-modified-since</code> headers are present in the + * request as follows:</p> <p> <code>x-amz-copy-source-if-none-match</code> + * condition evaluates to <code>false</code>, and;</p> <p> + * <code>x-amz-copy-source-if-modified-since</code> condition evaluates to + * <code>true</code>;</p> <p>Amazon S3 returns <code>412 Precondition Failed</code> + * response code. </p> </li> </ul> <p> <b>Versioning</b> </p> <p>If your bucket has + * versioning enabled, you could have multiple versions of the same object. By + * default, <code>x-amz-copy-source</code> identifies the current version of the + * object to copy. If the current version is a delete marker and you don't specify + * a versionId in the <code>x-amz-copy-source</code>, Amazon S3 returns a 404 + * error, because the object does not exist. If you specify versionId in the + * <code>x-amz-copy-source</code> and the versionId is a delete marker, Amazon S3 + * returns an HTTP 400 error, because you are not allowed to specify a delete + * marker as a version for the <code>x-amz-copy-source</code>. </p> <p>You can + * optionally specify a specific version of the source object to copy by adding the + * <code>versionId</code> subresource as shown in the following example:</p> <p> + * <code>x-amz-copy-source: /bucket/object?versionId=version id</code> </p> <p + * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: + * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload + * does not exist. The upload ID might be invalid, or the multipart upload might + * have been aborted or completed.</i> </p> </li> <li> <p> <i>HTTP Status Code: 404 + * Not Found</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * InvalidRequest</i> </p> </li> <li> <p> <i>Cause: The specified copy source is + * not supported as a byte-range copy source.</i> </p> </li> <li> <p> <i>HTTP + * Status Code: 400 Bad Request</i> </p> </li> </ul> </li> </ul> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy">AWS + * API Reference</a></p> + */ + virtual Model::UploadPartCopyOutcome UploadPartCopy(const Model::UploadPartCopyRequest& request) const; + + /** + * <p>Uploads a part by copying data from an existing object as data source. You + * specify the data source by adding the request header + * <code>x-amz-copy-source</code> in your request and a byte range by adding the + * request header <code>x-amz-copy-source-range</code> in your request. </p> <p>The + * minimum allowable part size for a multipart upload is 5 MB. For more information + * about multipart upload limits, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html">Quick + * Facts</a> in the <i>Amazon Simple Storage Service Developer Guide</i>. </p> + * <p>Instead of using an existing object as part data, you might use the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * operation and provide data in your request.</p> <p>You must initiate a + * multipart upload before you can upload any part. In response to your initiate + * request. Amazon S3 returns a unique identifier, the upload ID, that you must + * include in your upload part request.</p> <p>For more information about using the + * <code>UploadPartCopy</code> operation, see the following:</p> <ul> <li> <p>For + * conceptual information about multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> </li> <li> <p>For information about permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> </li> <li> <p>For information about copying objects using a + * single atomic operation vs. the multipart upload, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html">Operations + * on Objects</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * </li> <li> <p>For information about using server-side encryption with + * customer-provided encryption keys with the UploadPartCopy operation, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>.</p> + * </li> </ul> <p>Note the following additional considerations about the request + * headers <code>x-amz-copy-source-if-match</code>, + * <code>x-amz-copy-source-if-none-match</code>, + * <code>x-amz-copy-source-if-unmodified-since</code>, and + * <code>x-amz-copy-source-if-modified-since</code>:</p> <p> </p> <ul> <li> <p> + * <b>Consideration 1</b> - If both of the <code>x-amz-copy-source-if-match</code> + * and <code>x-amz-copy-source-if-unmodified-since</code> headers are present in + * the request as follows:</p> <p> <code>x-amz-copy-source-if-match</code> + * condition evaluates to <code>true</code>, and;</p> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to + * <code>false</code>;</p> <p>Amazon S3 returns <code>200 OK</code> and copies the + * data. </p> </li> <li> <p> <b>Consideration 2</b> - If both of the + * <code>x-amz-copy-source-if-none-match</code> and + * <code>x-amz-copy-source-if-modified-since</code> headers are present in the + * request as follows:</p> <p> <code>x-amz-copy-source-if-none-match</code> + * condition evaluates to <code>false</code>, and;</p> <p> + * <code>x-amz-copy-source-if-modified-since</code> condition evaluates to + * <code>true</code>;</p> <p>Amazon S3 returns <code>412 Precondition Failed</code> + * response code. </p> </li> </ul> <p> <b>Versioning</b> </p> <p>If your bucket has + * versioning enabled, you could have multiple versions of the same object. By + * default, <code>x-amz-copy-source</code> identifies the current version of the + * object to copy. If the current version is a delete marker and you don't specify + * a versionId in the <code>x-amz-copy-source</code>, Amazon S3 returns a 404 + * error, because the object does not exist. If you specify versionId in the + * <code>x-amz-copy-source</code> and the versionId is a delete marker, Amazon S3 + * returns an HTTP 400 error, because you are not allowed to specify a delete + * marker as a version for the <code>x-amz-copy-source</code>. </p> <p>You can + * optionally specify a specific version of the source object to copy by adding the + * <code>versionId</code> subresource as shown in the following example:</p> <p> + * <code>x-amz-copy-source: /bucket/object?versionId=version id</code> </p> <p + * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: + * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload + * does not exist. The upload ID might be invalid, or the multipart upload might + * have been aborted or completed.</i> </p> </li> <li> <p> <i>HTTP Status Code: 404 + * Not Found</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * InvalidRequest</i> </p> </li> <li> <p> <i>Cause: The specified copy source is + * not supported as a byte-range copy source.</i> </p> </li> <li> <p> <i>HTTP + * Status Code: 400 Bad Request</i> </p> </li> </ul> </li> </ul> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy">AWS + * API Reference</a></p> + * + * returns a future to the operation so that it can be executed in parallel to other requests. + */ + virtual Model::UploadPartCopyOutcomeCallable UploadPartCopyCallable(const Model::UploadPartCopyRequest& request) const; + + /** + * <p>Uploads a part by copying data from an existing object as data source. You + * specify the data source by adding the request header + * <code>x-amz-copy-source</code> in your request and a byte range by adding the + * request header <code>x-amz-copy-source-range</code> in your request. </p> <p>The + * minimum allowable part size for a multipart upload is 5 MB. For more information + * about multipart upload limits, go to <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html">Quick + * Facts</a> in the <i>Amazon Simple Storage Service Developer Guide</i>. </p> + * <p>Instead of using an existing object as part data, you might use the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * operation and provide data in your request.</p> <p>You must initiate a + * multipart upload before you can upload any part. In response to your initiate + * request. Amazon S3 returns a unique identifier, the upload ID, that you must + * include in your upload part request.</p> <p>For more information about using the + * <code>UploadPartCopy</code> operation, see the following:</p> <ul> <li> <p>For + * conceptual information about multipart uploads, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading + * Objects Using Multipart Upload</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> </li> <li> <p>For information about permissions + * required to use the multipart upload API, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart + * Upload API and Permissions</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> </li> <li> <p>For information about copying objects using a + * single atomic operation vs. the multipart upload, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html">Operations + * on Objects</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + * </li> <li> <p>For information about using server-side encryption with + * customer-provided encryption keys with the UploadPartCopy operation, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> + * and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>.</p> + * </li> </ul> <p>Note the following additional considerations about the request + * headers <code>x-amz-copy-source-if-match</code>, + * <code>x-amz-copy-source-if-none-match</code>, + * <code>x-amz-copy-source-if-unmodified-since</code>, and + * <code>x-amz-copy-source-if-modified-since</code>:</p> <p> </p> <ul> <li> <p> + * <b>Consideration 1</b> - If both of the <code>x-amz-copy-source-if-match</code> + * and <code>x-amz-copy-source-if-unmodified-since</code> headers are present in + * the request as follows:</p> <p> <code>x-amz-copy-source-if-match</code> + * condition evaluates to <code>true</code>, and;</p> <p> + * <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to + * <code>false</code>;</p> <p>Amazon S3 returns <code>200 OK</code> and copies the + * data. </p> </li> <li> <p> <b>Consideration 2</b> - If both of the + * <code>x-amz-copy-source-if-none-match</code> and + * <code>x-amz-copy-source-if-modified-since</code> headers are present in the + * request as follows:</p> <p> <code>x-amz-copy-source-if-none-match</code> + * condition evaluates to <code>false</code>, and;</p> <p> + * <code>x-amz-copy-source-if-modified-since</code> condition evaluates to + * <code>true</code>;</p> <p>Amazon S3 returns <code>412 Precondition Failed</code> + * response code. </p> </li> </ul> <p> <b>Versioning</b> </p> <p>If your bucket has + * versioning enabled, you could have multiple versions of the same object. By + * default, <code>x-amz-copy-source</code> identifies the current version of the + * object to copy. If the current version is a delete marker and you don't specify + * a versionId in the <code>x-amz-copy-source</code>, Amazon S3 returns a 404 + * error, because the object does not exist. If you specify versionId in the + * <code>x-amz-copy-source</code> and the versionId is a delete marker, Amazon S3 + * returns an HTTP 400 error, because you are not allowed to specify a delete + * marker as a version for the <code>x-amz-copy-source</code>. </p> <p>You can + * optionally specify a specific version of the source object to copy by adding the + * <code>versionId</code> subresource as shown in the following example:</p> <p> + * <code>x-amz-copy-source: /bucket/object?versionId=version id</code> </p> <p + * class="title"> <b>Special Errors</b> </p> <ul> <li> <ul> <li> <p> <i>Code: + * NoSuchUpload</i> </p> </li> <li> <p> <i>Cause: The specified multipart upload + * does not exist. The upload ID might be invalid, or the multipart upload might + * have been aborted or completed.</i> </p> </li> <li> <p> <i>HTTP Status Code: 404 + * Not Found</i> </p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code: + * InvalidRequest</i> </p> </li> <li> <p> <i>Cause: The specified copy source is + * not supported as a byte-range copy source.</i> </p> </li> <li> <p> <i>HTTP + * Status Code: 400 Bad Request</i> </p> </li> </ul> </li> </ul> <p class="title"> + * <b>Related Resources</b> </p> <ul> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html">CreateMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html">CompleteMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html">AbortMultipartUpload</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> + * </p> </li> <li> <p> <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html">ListMultipartUploads</a> + * </p> </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy">AWS + * API Reference</a></p> + * + * Queues the request into a thread executor and triggers associated callback when operation has finished. + */ + virtual void UploadPartCopyAsync(const Model::UploadPartCopyRequest& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; + + + Aws::String GeneratePresignedUrl(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + + Aws::String GeneratePresignedUrl(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Http::HeaderValueCollection& customizedHeaders, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + + /** + * Server Side Encryption Headers and Algorithm + * Method Algorithm Required Headers + * SSE-S3 AES256 x-amz-server-side-encryption:AES256 + * SSE-KMS aws:kms x-amz-server-side--encryption:aws:kms, x-amz-server-side-encryption-aws-kms-key-id:<kmsMasterKeyId> + * SS3-C AES256 x-amz-server-side-encryption-customer-algorithm:AES256, x-amz-server-side-encryption-customer-key:<base64EncodedKey>, x-amz-server-side-encryption-customer-key-MD5:<Base64EncodedMD5ofNonBase64EncodedKey> + */ + /** + * Generate presigned URL with Sever Side Encryption(SSE) and with S3 managed keys. + * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) + */ + Aws::String GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + /** + * Generate presigned URL with Sever Side Encryption(SSE) and with S3 managed keys. + * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) + * Header: "x-amz-server-side-encryption" will be added internally, don't customize it. + */ + Aws::String GeneratePresignedUrlWithSSES3(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + + /** + * Generate presigned URL with Server Side Encryption(SSE) and with KMS master key id. + * if kmsMasterKeyId is empty, we will end up use the default one generated by KMS for you. You can find it via AWS IAM console, it's the one aliased as "aws/s3". + * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: aws:kms) + */ + Aws::String GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Aws::String& kmsMasterKeyId = "", long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + /** + * Generate presigned URL with Server Side Encryption(SSE) and with KMS master key id. + * if kmsMasterKeyId is empty, we will end up use the default one generated by KMS for you. You can find it via AWS IAM console, it's the one aliased as "aws/s3". + * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: aws:kms) + * Headers: "x-amz-server-side-encryption" and "x-amz-server-side-encryption-aws-kms-key-id" will be added internally, don't customize them. + */ + Aws::String GeneratePresignedUrlWithSSEKMS(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, const Aws::String& kmsMasterKeyId = "", long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + + /** + * Generate presigned URL with Sever Side Encryption(SSE) and with customer supplied Key. + * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) + */ + Aws::String GeneratePresignedUrlWithSSEC(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, const Aws::String& base64EncodedAES256Key, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + /** + * Generate presigned URL with Sever Side Encryption(SSE) and with customer supplied Key. + * https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html (algo: AES256) + * Headers: "x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key" and "x-amz-server-side-encryption-customer-key-MD5" will be added internally, don't customize them. + */ + Aws::String GeneratePresignedUrlWithSSEC(const Aws::String& bucket, const Aws::String& key, Aws::Http::HttpMethod method, Http::HeaderValueCollection customizedHeaders, const Aws::String& base64EncodedAES256Key, long long expirationInSeconds = MAX_EXPIRATION_SECONDS); + + + virtual bool MultipartUploadSupported() const; + + void OverrideEndpoint(const Aws::String& endpoint); + + private: + void init(const Client::ClientConfiguration& clientConfiguration); + void LoadS3SpecificConfig(const Aws::String& profile); + ComputeEndpointOutcome ComputeEndpointString(const Aws::String& bucket) const; + ComputeEndpointOutcome ComputeEndpointString() const; + + void AbortMultipartUploadAsyncHelper(const Model::AbortMultipartUploadRequest& request, const AbortMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void CompleteMultipartUploadAsyncHelper(const Model::CompleteMultipartUploadRequest& request, const CompleteMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void CopyObjectAsyncHelper(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void CreateBucketAsyncHelper(const Model::CreateBucketRequest& request, const CreateBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void CreateMultipartUploadAsyncHelper(const Model::CreateMultipartUploadRequest& request, const CreateMultipartUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketAsyncHelper(const Model::DeleteBucketRequest& request, const DeleteBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketAnalyticsConfigurationAsyncHelper(const Model::DeleteBucketAnalyticsConfigurationRequest& request, const DeleteBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketCorsAsyncHelper(const Model::DeleteBucketCorsRequest& request, const DeleteBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketEncryptionAsyncHelper(const Model::DeleteBucketEncryptionRequest& request, const DeleteBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketIntelligentTieringConfigurationAsyncHelper(const Model::DeleteBucketIntelligentTieringConfigurationRequest& request, const DeleteBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketInventoryConfigurationAsyncHelper(const Model::DeleteBucketInventoryConfigurationRequest& request, const DeleteBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketLifecycleAsyncHelper(const Model::DeleteBucketLifecycleRequest& request, const DeleteBucketLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketMetricsConfigurationAsyncHelper(const Model::DeleteBucketMetricsConfigurationRequest& request, const DeleteBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketOwnershipControlsAsyncHelper(const Model::DeleteBucketOwnershipControlsRequest& request, const DeleteBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketPolicyAsyncHelper(const Model::DeleteBucketPolicyRequest& request, const DeleteBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketReplicationAsyncHelper(const Model::DeleteBucketReplicationRequest& request, const DeleteBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketTaggingAsyncHelper(const Model::DeleteBucketTaggingRequest& request, const DeleteBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteBucketWebsiteAsyncHelper(const Model::DeleteBucketWebsiteRequest& request, const DeleteBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteObjectAsyncHelper(const Model::DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteObjectTaggingAsyncHelper(const Model::DeleteObjectTaggingRequest& request, const DeleteObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeleteObjectsAsyncHelper(const Model::DeleteObjectsRequest& request, const DeleteObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void DeletePublicAccessBlockAsyncHelper(const Model::DeletePublicAccessBlockRequest& request, const DeletePublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketAccelerateConfigurationAsyncHelper(const Model::GetBucketAccelerateConfigurationRequest& request, const GetBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketAclAsyncHelper(const Model::GetBucketAclRequest& request, const GetBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketAnalyticsConfigurationAsyncHelper(const Model::GetBucketAnalyticsConfigurationRequest& request, const GetBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketCorsAsyncHelper(const Model::GetBucketCorsRequest& request, const GetBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketEncryptionAsyncHelper(const Model::GetBucketEncryptionRequest& request, const GetBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketIntelligentTieringConfigurationAsyncHelper(const Model::GetBucketIntelligentTieringConfigurationRequest& request, const GetBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketInventoryConfigurationAsyncHelper(const Model::GetBucketInventoryConfigurationRequest& request, const GetBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketLifecycleConfigurationAsyncHelper(const Model::GetBucketLifecycleConfigurationRequest& request, const GetBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketLocationAsyncHelper(const Model::GetBucketLocationRequest& request, const GetBucketLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketLoggingAsyncHelper(const Model::GetBucketLoggingRequest& request, const GetBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketMetricsConfigurationAsyncHelper(const Model::GetBucketMetricsConfigurationRequest& request, const GetBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketNotificationConfigurationAsyncHelper(const Model::GetBucketNotificationConfigurationRequest& request, const GetBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketOwnershipControlsAsyncHelper(const Model::GetBucketOwnershipControlsRequest& request, const GetBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketPolicyAsyncHelper(const Model::GetBucketPolicyRequest& request, const GetBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketPolicyStatusAsyncHelper(const Model::GetBucketPolicyStatusRequest& request, const GetBucketPolicyStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketReplicationAsyncHelper(const Model::GetBucketReplicationRequest& request, const GetBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketRequestPaymentAsyncHelper(const Model::GetBucketRequestPaymentRequest& request, const GetBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketTaggingAsyncHelper(const Model::GetBucketTaggingRequest& request, const GetBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketVersioningAsyncHelper(const Model::GetBucketVersioningRequest& request, const GetBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetBucketWebsiteAsyncHelper(const Model::GetBucketWebsiteRequest& request, const GetBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetObjectAsyncHelper(const Model::GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetObjectAclAsyncHelper(const Model::GetObjectAclRequest& request, const GetObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetObjectLegalHoldAsyncHelper(const Model::GetObjectLegalHoldRequest& request, const GetObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetObjectLockConfigurationAsyncHelper(const Model::GetObjectLockConfigurationRequest& request, const GetObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetObjectRetentionAsyncHelper(const Model::GetObjectRetentionRequest& request, const GetObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetObjectTaggingAsyncHelper(const Model::GetObjectTaggingRequest& request, const GetObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetObjectTorrentAsyncHelper(const Model::GetObjectTorrentRequest& request, const GetObjectTorrentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void GetPublicAccessBlockAsyncHelper(const Model::GetPublicAccessBlockRequest& request, const GetPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void HeadBucketAsyncHelper(const Model::HeadBucketRequest& request, const HeadBucketResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void HeadObjectAsyncHelper(const Model::HeadObjectRequest& request, const HeadObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListBucketAnalyticsConfigurationsAsyncHelper(const Model::ListBucketAnalyticsConfigurationsRequest& request, const ListBucketAnalyticsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListBucketIntelligentTieringConfigurationsAsyncHelper(const Model::ListBucketIntelligentTieringConfigurationsRequest& request, const ListBucketIntelligentTieringConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListBucketInventoryConfigurationsAsyncHelper(const Model::ListBucketInventoryConfigurationsRequest& request, const ListBucketInventoryConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListBucketMetricsConfigurationsAsyncHelper(const Model::ListBucketMetricsConfigurationsRequest& request, const ListBucketMetricsConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListBucketsAsyncHelper(const ListBucketsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListMultipartUploadsAsyncHelper(const Model::ListMultipartUploadsRequest& request, const ListMultipartUploadsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListObjectVersionsAsyncHelper(const Model::ListObjectVersionsRequest& request, const ListObjectVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListObjectsAsyncHelper(const Model::ListObjectsRequest& request, const ListObjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListObjectsV2AsyncHelper(const Model::ListObjectsV2Request& request, const ListObjectsV2ResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void ListPartsAsyncHelper(const Model::ListPartsRequest& request, const ListPartsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketAccelerateConfigurationAsyncHelper(const Model::PutBucketAccelerateConfigurationRequest& request, const PutBucketAccelerateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketAclAsyncHelper(const Model::PutBucketAclRequest& request, const PutBucketAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketAnalyticsConfigurationAsyncHelper(const Model::PutBucketAnalyticsConfigurationRequest& request, const PutBucketAnalyticsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketCorsAsyncHelper(const Model::PutBucketCorsRequest& request, const PutBucketCorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketEncryptionAsyncHelper(const Model::PutBucketEncryptionRequest& request, const PutBucketEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketIntelligentTieringConfigurationAsyncHelper(const Model::PutBucketIntelligentTieringConfigurationRequest& request, const PutBucketIntelligentTieringConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketInventoryConfigurationAsyncHelper(const Model::PutBucketInventoryConfigurationRequest& request, const PutBucketInventoryConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketLifecycleConfigurationAsyncHelper(const Model::PutBucketLifecycleConfigurationRequest& request, const PutBucketLifecycleConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketLoggingAsyncHelper(const Model::PutBucketLoggingRequest& request, const PutBucketLoggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketMetricsConfigurationAsyncHelper(const Model::PutBucketMetricsConfigurationRequest& request, const PutBucketMetricsConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketNotificationConfigurationAsyncHelper(const Model::PutBucketNotificationConfigurationRequest& request, const PutBucketNotificationConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketOwnershipControlsAsyncHelper(const Model::PutBucketOwnershipControlsRequest& request, const PutBucketOwnershipControlsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketPolicyAsyncHelper(const Model::PutBucketPolicyRequest& request, const PutBucketPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketReplicationAsyncHelper(const Model::PutBucketReplicationRequest& request, const PutBucketReplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketRequestPaymentAsyncHelper(const Model::PutBucketRequestPaymentRequest& request, const PutBucketRequestPaymentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketTaggingAsyncHelper(const Model::PutBucketTaggingRequest& request, const PutBucketTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketVersioningAsyncHelper(const Model::PutBucketVersioningRequest& request, const PutBucketVersioningResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutBucketWebsiteAsyncHelper(const Model::PutBucketWebsiteRequest& request, const PutBucketWebsiteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutObjectAsyncHelper(const Model::PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutObjectAclAsyncHelper(const Model::PutObjectAclRequest& request, const PutObjectAclResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutObjectLegalHoldAsyncHelper(const Model::PutObjectLegalHoldRequest& request, const PutObjectLegalHoldResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutObjectLockConfigurationAsyncHelper(const Model::PutObjectLockConfigurationRequest& request, const PutObjectLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutObjectRetentionAsyncHelper(const Model::PutObjectRetentionRequest& request, const PutObjectRetentionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutObjectTaggingAsyncHelper(const Model::PutObjectTaggingRequest& request, const PutObjectTaggingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void PutPublicAccessBlockAsyncHelper(const Model::PutPublicAccessBlockRequest& request, const PutPublicAccessBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void RestoreObjectAsyncHelper(const Model::RestoreObjectRequest& request, const RestoreObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void SelectObjectContentAsyncHelper(Model::SelectObjectContentRequest& request, const SelectObjectContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void UploadPartAsyncHelper(const Model::UploadPartRequest& request, const UploadPartResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + void UploadPartCopyAsyncHelper(const Model::UploadPartCopyRequest& request, const UploadPartCopyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; + + Aws::String m_baseUri; + Aws::String m_scheme; + Aws::String m_configScheme; + std::shared_ptr<Utils::Threading::Executor> m_executor; + bool m_useVirtualAddressing; + bool m_useDualStack; + bool m_useArnRegion; + bool m_useCustomEndpoint; + Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION m_USEast1RegionalEndpointOption; + }; + + } // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h new file mode 100644 index 0000000000..9c41507218 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Endpoint.h @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/Region.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/S3ARN.h> + +namespace Aws +{ + +namespace S3 +{ +namespace S3Endpoint +{ + /** + * Compute endpoint based on region. + * @param regionName The AWS region used in the endpoint + * @param useDualStack Using dual-stack endpoint if true + * @param USEast1UseRegionalEndpoint Using global endpoint for us-east-1 if the value is LEGACY, or using regional endpoint if it's REGIONAL + */ + AWS_S3_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false, bool USEast1UseRegionalEndpoint = false); + + /** + * Compute endpoint based on Access Point ARN. + * @param arn The S3 Access Point ARN + * @param regionNameOverride Override region name in ARN if it's not empty + * @param useDualStack Using dual-stack endpoint if true + */ + AWS_S3_API Aws::String ForAccessPointArn(const S3ARN& arn, const Aws::String& regionNameOverride = "", bool useDualStack = false); + + /** + * Compute endpoint based on Outposts ARN. + * @param arn The S3 Outposts ARN + * @param regionNameOverride Override region name in ARN if it's not empty + */ + AWS_S3_API Aws::String ForOutpostsArn(const S3ARN& arn, const Aws::String& regionNameOverride = ""); +} // namespace S3Endpoint +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ErrorMarshaller.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ErrorMarshaller.h new file mode 100644 index 0000000000..c475a3dc00 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3ErrorMarshaller.h @@ -0,0 +1,25 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/client/AWSErrorMarshaller.h> + +namespace Aws +{ +namespace Client +{ + +class AWS_S3_API S3ErrorMarshaller : public Aws::Client::XmlErrorMarshaller +{ +public: + Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override; + virtual Aws::String ExtractRegion(const AWSError<CoreErrors>&) const override; + virtual Aws::String ExtractEndpoint(const AWSError<CoreErrors>&) const override; +}; + +} // namespace Client +} // namespace Aws \ No newline at end of file diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h new file mode 100644 index 0000000000..7b1df8d432 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include <aws/core/client/AWSError.h> +#include <aws/core/client/CoreErrors.h> +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace S3 +{ +enum class S3Errors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + BUCKET_ALREADY_EXISTS= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + BUCKET_ALREADY_OWNED_BY_YOU, + INVALID_OBJECT_STATE, + NO_SUCH_BUCKET, + NO_SUCH_KEY, + NO_SUCH_UPLOAD, + OBJECT_ALREADY_IN_ACTIVE_TIER, + OBJECT_NOT_IN_ACTIVE_TIER +}; + +class AWS_S3_API S3Error : public Aws::Client::AWSError<S3Errors> +{ +public: + S3Error() {} + S3Error(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<S3Errors>(rhs) {} + S3Error(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<S3Errors>(rhs) {} + S3Error(const Aws::Client::AWSError<S3Errors>& rhs) : Aws::Client::AWSError<S3Errors>(rhs) {} + S3Error(Aws::Client::AWSError<S3Errors>&& rhs) : Aws::Client::AWSError<S3Errors>(rhs) {} + + template <typename T> + T GetModeledError(); +}; + +namespace S3ErrorMapper +{ + AWS_S3_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName); +} + +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h new file mode 100644 index 0000000000..3747292c2f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3Request.h @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/AmazonSerializableWebServiceRequest.h> +#include <aws/core/utils/UnreferencedParam.h> +#include <aws/core/http/HttpRequest.h> +#include <aws/core/AmazonStreamingWebServiceRequest.h> + +namespace Aws +{ +namespace S3 +{ + class AWS_S3_API S3Request : public Aws::AmazonSerializableWebServiceRequest + { + public: + virtual ~S3Request () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_XML_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2006-03-01")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + typedef Aws::AmazonStreamingWebServiceRequest StreamingS3Request; + +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3_EXPORTS.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3_EXPORTS.h new file mode 100644 index 0000000000..efa035e061 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3_EXPORTS.h @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_S3_EXPORTS + #define AWS_S3_API __declspec(dllexport) + #else + #define AWS_S3_API __declspec(dllimport) + #endif /* AWS_S3_EXPORTS */ + #else + #define AWS_S3_API + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_S3_API +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h new file mode 100644 index 0000000000..25112f80a4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortIncompleteMultipartUpload.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the days since the initiation of an incomplete multipart upload + * that Amazon S3 will wait before permanently removing all parts of the upload. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a> in the + * <i>Amazon Simple Storage Service Developer Guide</i>.</p><p><h3>See Also:</h3> + * <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortIncompleteMultipartUpload">AWS + * API Reference</a></p> + */ + class AWS_S3_API AbortIncompleteMultipartUpload + { + public: + AbortIncompleteMultipartUpload(); + AbortIncompleteMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); + AbortIncompleteMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the number of days after which Amazon S3 aborts an incomplete + * multipart upload.</p> + */ + inline int GetDaysAfterInitiation() const{ return m_daysAfterInitiation; } + + /** + * <p>Specifies the number of days after which Amazon S3 aborts an incomplete + * multipart upload.</p> + */ + inline bool DaysAfterInitiationHasBeenSet() const { return m_daysAfterInitiationHasBeenSet; } + + /** + * <p>Specifies the number of days after which Amazon S3 aborts an incomplete + * multipart upload.</p> + */ + inline void SetDaysAfterInitiation(int value) { m_daysAfterInitiationHasBeenSet = true; m_daysAfterInitiation = value; } + + /** + * <p>Specifies the number of days after which Amazon S3 aborts an incomplete + * multipart upload.</p> + */ + inline AbortIncompleteMultipartUpload& WithDaysAfterInitiation(int value) { SetDaysAfterInitiation(value); return *this;} + + private: + + int m_daysAfterInitiation; + bool m_daysAfterInitiationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h new file mode 100644 index 0000000000..6fe4cb61f1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadRequest.h @@ -0,0 +1,450 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API AbortMultipartUploadRequest : public S3Request + { + public: + AbortMultipartUploadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "AbortMultipartUpload"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline AbortMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline AbortMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name to which the upload was taking place. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline AbortMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline AbortMultipartUploadRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline AbortMultipartUploadRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline AbortMultipartUploadRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline AbortMultipartUploadRequest& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline AbortMultipartUploadRequest& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline AbortMultipartUploadRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline AbortMultipartUploadRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline AbortMultipartUploadRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline AbortMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline AbortMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline AbortMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline AbortMultipartUploadRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline AbortMultipartUploadRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_uploadId; + bool m_uploadIdHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h new file mode 100644 index 0000000000..003df773b5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AbortMultipartUploadResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API AbortMultipartUploadResult + { + public: + AbortMultipartUploadResult(); + AbortMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + AbortMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline AbortMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline AbortMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h new file mode 100644 index 0000000000..924d3f602f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccelerateConfiguration.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/BucketAccelerateStatus.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Configures the transfer acceleration state for an Amazon S3 bucket. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Amazon + * S3 Transfer Acceleration</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccelerateConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API AccelerateConfiguration + { + public: + AccelerateConfiguration(); + AccelerateConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AccelerateConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the transfer acceleration status of the bucket.</p> + */ + inline const BucketAccelerateStatus& GetStatus() const{ return m_status; } + + /** + * <p>Specifies the transfer acceleration status of the bucket.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>Specifies the transfer acceleration status of the bucket.</p> + */ + inline void SetStatus(const BucketAccelerateStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>Specifies the transfer acceleration status of the bucket.</p> + */ + inline void SetStatus(BucketAccelerateStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>Specifies the transfer acceleration status of the bucket.</p> + */ + inline AccelerateConfiguration& WithStatus(const BucketAccelerateStatus& value) { SetStatus(value); return *this;} + + /** + * <p>Specifies the transfer acceleration status of the bucket.</p> + */ + inline AccelerateConfiguration& WithStatus(BucketAccelerateStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + BucketAccelerateStatus m_status; + bool m_statusHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h new file mode 100644 index 0000000000..1effa4bf55 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlPolicy.h @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Owner.h> +#include <aws/s3/model/Grant.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlPolicy">AWS + * API Reference</a></p> + */ + class AWS_S3_API AccessControlPolicy + { + public: + AccessControlPolicy(); + AccessControlPolicy(const Aws::Utils::Xml::XmlNode& xmlNode); + AccessControlPolicy& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A list of grants.</p> + */ + inline const Aws::Vector<Grant>& GetGrants() const{ return m_grants; } + + /** + * <p>A list of grants.</p> + */ + inline bool GrantsHasBeenSet() const { return m_grantsHasBeenSet; } + + /** + * <p>A list of grants.</p> + */ + inline void SetGrants(const Aws::Vector<Grant>& value) { m_grantsHasBeenSet = true; m_grants = value; } + + /** + * <p>A list of grants.</p> + */ + inline void SetGrants(Aws::Vector<Grant>&& value) { m_grantsHasBeenSet = true; m_grants = std::move(value); } + + /** + * <p>A list of grants.</p> + */ + inline AccessControlPolicy& WithGrants(const Aws::Vector<Grant>& value) { SetGrants(value); return *this;} + + /** + * <p>A list of grants.</p> + */ + inline AccessControlPolicy& WithGrants(Aws::Vector<Grant>&& value) { SetGrants(std::move(value)); return *this;} + + /** + * <p>A list of grants.</p> + */ + inline AccessControlPolicy& AddGrants(const Grant& value) { m_grantsHasBeenSet = true; m_grants.push_back(value); return *this; } + + /** + * <p>A list of grants.</p> + */ + inline AccessControlPolicy& AddGrants(Grant&& value) { m_grantsHasBeenSet = true; m_grants.push_back(std::move(value)); return *this; } + + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline void SetOwner(const Owner& value) { m_ownerHasBeenSet = true; m_owner = value; } + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline void SetOwner(Owner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline AccessControlPolicy& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline AccessControlPolicy& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + private: + + Aws::Vector<Grant> m_grants; + bool m_grantsHasBeenSet; + + Owner m_owner; + bool m_ownerHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h new file mode 100644 index 0000000000..e8f4845c2e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AccessControlTranslation.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/OwnerOverride.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for information about access control for replicas.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlTranslation">AWS + * API Reference</a></p> + */ + class AWS_S3_API AccessControlTranslation + { + public: + AccessControlTranslation(); + AccessControlTranslation(const Aws::Utils::Xml::XmlNode& xmlNode); + AccessControlTranslation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the replica ownership. For default and valid values, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * bucket replication</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline const OwnerOverride& GetOwner() const{ return m_owner; } + + /** + * <p>Specifies the replica ownership. For default and valid values, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * bucket replication</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } + + /** + * <p>Specifies the replica ownership. For default and valid values, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * bucket replication</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline void SetOwner(const OwnerOverride& value) { m_ownerHasBeenSet = true; m_owner = value; } + + /** + * <p>Specifies the replica ownership. For default and valid values, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * bucket replication</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline void SetOwner(OwnerOverride&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } + + /** + * <p>Specifies the replica ownership. For default and valid values, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * bucket replication</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline AccessControlTranslation& WithOwner(const OwnerOverride& value) { SetOwner(value); return *this;} + + /** + * <p>Specifies the replica ownership. For default and valid values, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * bucket replication</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline AccessControlTranslation& WithOwner(OwnerOverride&& value) { SetOwner(std::move(value)); return *this;} + + private: + + OwnerOverride m_owner; + bool m_ownerHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h new file mode 100644 index 0000000000..760b911104 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsAndOperator.h @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates in any + * combination, and an object must match all of the predicates for the filter to + * apply.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsAndOperator">AWS + * API Reference</a></p> + */ + class AWS_S3_API AnalyticsAndOperator + { + public: + AnalyticsAndOperator(); + AnalyticsAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + AnalyticsAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline AnalyticsAndOperator& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline AnalyticsAndOperator& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix to use when evaluating an AND predicate: The prefix that an object + * must have to be included in the metrics results.</p> + */ + inline AnalyticsAndOperator& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline AnalyticsAndOperator& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline AnalyticsAndOperator& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline AnalyticsAndOperator& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + * <p>The list of tags to use when evaluating an AND predicate.</p> + */ + inline AnalyticsAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::Vector<Tag> m_tags; + bool m_tagsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h new file mode 100644 index 0000000000..b3b70834bd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsConfiguration.h @@ -0,0 +1,177 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/AnalyticsFilter.h> +#include <aws/s3/model/StorageClassAnalysis.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p> Specifies the configuration and any analyses for the analytics filter of an + * Amazon S3 bucket.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API AnalyticsConfiguration + { + public: + AnalyticsConfiguration(); + AnalyticsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AnalyticsConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline AnalyticsConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline AnalyticsConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline AnalyticsConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The filter used to describe a set of objects for analyses. A filter must have + * exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no + * filter is provided, all objects will be considered in any analysis.</p> + */ + inline const AnalyticsFilter& GetFilter() const{ return m_filter; } + + /** + * <p>The filter used to describe a set of objects for analyses. A filter must have + * exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no + * filter is provided, all objects will be considered in any analysis.</p> + */ + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + /** + * <p>The filter used to describe a set of objects for analyses. A filter must have + * exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no + * filter is provided, all objects will be considered in any analysis.</p> + */ + inline void SetFilter(const AnalyticsFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + /** + * <p>The filter used to describe a set of objects for analyses. A filter must have + * exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no + * filter is provided, all objects will be considered in any analysis.</p> + */ + inline void SetFilter(AnalyticsFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + /** + * <p>The filter used to describe a set of objects for analyses. A filter must have + * exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no + * filter is provided, all objects will be considered in any analysis.</p> + */ + inline AnalyticsConfiguration& WithFilter(const AnalyticsFilter& value) { SetFilter(value); return *this;} + + /** + * <p>The filter used to describe a set of objects for analyses. A filter must have + * exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no + * filter is provided, all objects will be considered in any analysis.</p> + */ + inline AnalyticsConfiguration& WithFilter(AnalyticsFilter&& value) { SetFilter(std::move(value)); return *this;} + + + /** + * <p> Contains data related to access patterns to be collected and made available + * to analyze the tradeoffs between different storage classes. </p> + */ + inline const StorageClassAnalysis& GetStorageClassAnalysis() const{ return m_storageClassAnalysis; } + + /** + * <p> Contains data related to access patterns to be collected and made available + * to analyze the tradeoffs between different storage classes. </p> + */ + inline bool StorageClassAnalysisHasBeenSet() const { return m_storageClassAnalysisHasBeenSet; } + + /** + * <p> Contains data related to access patterns to be collected and made available + * to analyze the tradeoffs between different storage classes. </p> + */ + inline void SetStorageClassAnalysis(const StorageClassAnalysis& value) { m_storageClassAnalysisHasBeenSet = true; m_storageClassAnalysis = value; } + + /** + * <p> Contains data related to access patterns to be collected and made available + * to analyze the tradeoffs between different storage classes. </p> + */ + inline void SetStorageClassAnalysis(StorageClassAnalysis&& value) { m_storageClassAnalysisHasBeenSet = true; m_storageClassAnalysis = std::move(value); } + + /** + * <p> Contains data related to access patterns to be collected and made available + * to analyze the tradeoffs between different storage classes. </p> + */ + inline AnalyticsConfiguration& WithStorageClassAnalysis(const StorageClassAnalysis& value) { SetStorageClassAnalysis(value); return *this;} + + /** + * <p> Contains data related to access patterns to be collected and made available + * to analyze the tradeoffs between different storage classes. </p> + */ + inline AnalyticsConfiguration& WithStorageClassAnalysis(StorageClassAnalysis&& value) { SetStorageClassAnalysis(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + AnalyticsFilter m_filter; + bool m_filterHasBeenSet; + + StorageClassAnalysis m_storageClassAnalysis; + bool m_storageClassAnalysisHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h new file mode 100644 index 0000000000..9b7dfb72f0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsExportDestination.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/AnalyticsS3BucketDestination.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Where to publish the analytics results.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsExportDestination">AWS + * API Reference</a></p> + */ + class AWS_S3_API AnalyticsExportDestination + { + public: + AnalyticsExportDestination(); + AnalyticsExportDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + AnalyticsExportDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A destination signifying output to an S3 bucket.</p> + */ + inline const AnalyticsS3BucketDestination& GetS3BucketDestination() const{ return m_s3BucketDestination; } + + /** + * <p>A destination signifying output to an S3 bucket.</p> + */ + inline bool S3BucketDestinationHasBeenSet() const { return m_s3BucketDestinationHasBeenSet; } + + /** + * <p>A destination signifying output to an S3 bucket.</p> + */ + inline void SetS3BucketDestination(const AnalyticsS3BucketDestination& value) { m_s3BucketDestinationHasBeenSet = true; m_s3BucketDestination = value; } + + /** + * <p>A destination signifying output to an S3 bucket.</p> + */ + inline void SetS3BucketDestination(AnalyticsS3BucketDestination&& value) { m_s3BucketDestinationHasBeenSet = true; m_s3BucketDestination = std::move(value); } + + /** + * <p>A destination signifying output to an S3 bucket.</p> + */ + inline AnalyticsExportDestination& WithS3BucketDestination(const AnalyticsS3BucketDestination& value) { SetS3BucketDestination(value); return *this;} + + /** + * <p>A destination signifying output to an S3 bucket.</p> + */ + inline AnalyticsExportDestination& WithS3BucketDestination(AnalyticsS3BucketDestination&& value) { SetS3BucketDestination(std::move(value)); return *this;} + + private: + + AnalyticsS3BucketDestination m_s3BucketDestination; + bool m_s3BucketDestinationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h new file mode 100644 index 0000000000..1567043a4a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsFilter.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Tag.h> +#include <aws/s3/model/AnalyticsAndOperator.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The filter used to describe a set of objects for analyses. A filter must have + * exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no + * filter is provided, all objects will be considered in any + * analysis.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsFilter">AWS + * API Reference</a></p> + */ + class AWS_S3_API AnalyticsFilter + { + public: + AnalyticsFilter(); + AnalyticsFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + AnalyticsFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline AnalyticsFilter& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline AnalyticsFilter& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix to use when evaluating an analytics filter.</p> + */ + inline AnalyticsFilter& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>The tag to use when evaluating an analytics filter.</p> + */ + inline const Tag& GetTag() const{ return m_tag; } + + /** + * <p>The tag to use when evaluating an analytics filter.</p> + */ + inline bool TagHasBeenSet() const { return m_tagHasBeenSet; } + + /** + * <p>The tag to use when evaluating an analytics filter.</p> + */ + inline void SetTag(const Tag& value) { m_tagHasBeenSet = true; m_tag = value; } + + /** + * <p>The tag to use when evaluating an analytics filter.</p> + */ + inline void SetTag(Tag&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); } + + /** + * <p>The tag to use when evaluating an analytics filter.</p> + */ + inline AnalyticsFilter& WithTag(const Tag& value) { SetTag(value); return *this;} + + /** + * <p>The tag to use when evaluating an analytics filter.</p> + */ + inline AnalyticsFilter& WithTag(Tag&& value) { SetTag(std::move(value)); return *this;} + + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating an + * analytics filter. The operator must have at least two predicates.</p> + */ + inline const AnalyticsAndOperator& GetAnd() const{ return m_and; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating an + * analytics filter. The operator must have at least two predicates.</p> + */ + inline bool AndHasBeenSet() const { return m_andHasBeenSet; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating an + * analytics filter. The operator must have at least two predicates.</p> + */ + inline void SetAnd(const AnalyticsAndOperator& value) { m_andHasBeenSet = true; m_and = value; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating an + * analytics filter. The operator must have at least two predicates.</p> + */ + inline void SetAnd(AnalyticsAndOperator&& value) { m_andHasBeenSet = true; m_and = std::move(value); } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating an + * analytics filter. The operator must have at least two predicates.</p> + */ + inline AnalyticsFilter& WithAnd(const AnalyticsAndOperator& value) { SetAnd(value); return *this;} + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating an + * analytics filter. The operator must have at least two predicates.</p> + */ + inline AnalyticsFilter& WithAnd(AnalyticsAndOperator&& value) { SetAnd(std::move(value)); return *this;} + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Tag m_tag; + bool m_tagHasBeenSet; + + AnalyticsAndOperator m_and; + bool m_andHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h new file mode 100644 index 0000000000..69c40eb86d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3BucketDestination.h @@ -0,0 +1,244 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/AnalyticsS3ExportFileFormat.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Contains information about where to publish the analytics + * results.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsS3BucketDestination">AWS + * API Reference</a></p> + */ + class AWS_S3_API AnalyticsS3BucketDestination + { + public: + AnalyticsS3BucketDestination(); + AnalyticsS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + AnalyticsS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the file format used when exporting data to Amazon S3.</p> + */ + inline const AnalyticsS3ExportFileFormat& GetFormat() const{ return m_format; } + + /** + * <p>Specifies the file format used when exporting data to Amazon S3.</p> + */ + inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } + + /** + * <p>Specifies the file format used when exporting data to Amazon S3.</p> + */ + inline void SetFormat(const AnalyticsS3ExportFileFormat& value) { m_formatHasBeenSet = true; m_format = value; } + + /** + * <p>Specifies the file format used when exporting data to Amazon S3.</p> + */ + inline void SetFormat(AnalyticsS3ExportFileFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } + + /** + * <p>Specifies the file format used when exporting data to Amazon S3.</p> + */ + inline AnalyticsS3BucketDestination& WithFormat(const AnalyticsS3ExportFileFormat& value) { SetFormat(value); return *this;} + + /** + * <p>Specifies the file format used when exporting data to Amazon S3.</p> + */ + inline AnalyticsS3BucketDestination& WithFormat(AnalyticsS3ExportFileFormat&& value) { SetFormat(std::move(value)); return *this;} + + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline const Aws::String& GetBucketAccountId() const{ return m_bucketAccountId; } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline bool BucketAccountIdHasBeenSet() const { return m_bucketAccountIdHasBeenSet; } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline void SetBucketAccountId(const Aws::String& value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId = value; } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline void SetBucketAccountId(Aws::String&& value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId = std::move(value); } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline void SetBucketAccountId(const char* value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId.assign(value); } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline AnalyticsS3BucketDestination& WithBucketAccountId(const Aws::String& value) { SetBucketAccountId(value); return *this;} + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline AnalyticsS3BucketDestination& WithBucketAccountId(Aws::String&& value) { SetBucketAccountId(std::move(value)); return *this;} + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data.</p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline AnalyticsS3BucketDestination& WithBucketAccountId(const char* value) { SetBucketAccountId(value); return *this;} + + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline AnalyticsS3BucketDestination& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline AnalyticsS3BucketDestination& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> + */ + inline AnalyticsS3BucketDestination& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline AnalyticsS3BucketDestination& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline AnalyticsS3BucketDestination& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix to use when exporting data. The prefix is prepended to all + * results.</p> + */ + inline AnalyticsS3BucketDestination& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + private: + + AnalyticsS3ExportFileFormat m_format; + bool m_formatHasBeenSet; + + Aws::String m_bucketAccountId; + bool m_bucketAccountIdHasBeenSet; + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3ExportFileFormat.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3ExportFileFormat.h new file mode 100644 index 0000000000..b887163111 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/AnalyticsS3ExportFileFormat.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class AnalyticsS3ExportFileFormat + { + NOT_SET, + CSV + }; + +namespace AnalyticsS3ExportFileFormatMapper +{ +AWS_S3_API AnalyticsS3ExportFileFormat GetAnalyticsS3ExportFileFormatForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForAnalyticsS3ExportFileFormat(AnalyticsS3ExportFileFormat value); +} // namespace AnalyticsS3ExportFileFormatMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ArchiveStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ArchiveStatus.h new file mode 100644 index 0000000000..71b601ca07 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ArchiveStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ArchiveStatus + { + NOT_SET, + ARCHIVE_ACCESS, + DEEP_ARCHIVE_ACCESS + }; + +namespace ArchiveStatusMapper +{ +AWS_S3_API ArchiveStatus GetArchiveStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForArchiveStatus(ArchiveStatus value); +} // namespace ArchiveStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h new file mode 100644 index 0000000000..ffe7104842 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Bucket.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p> In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name + * is globally unique, and the namespace is shared by all AWS accounts. + * </p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket">AWS API + * Reference</a></p> + */ + class AWS_S3_API Bucket + { + public: + Bucket(); + Bucket(const Aws::Utils::Xml::XmlNode& xmlNode); + Bucket& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The name of the bucket.</p> + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + * <p>The name of the bucket.</p> + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + * <p>The name of the bucket.</p> + */ + inline Bucket& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + * <p>The name of the bucket.</p> + */ + inline Bucket& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + * <p>The name of the bucket.</p> + */ + inline Bucket& WithName(const char* value) { SetName(value); return *this;} + + + /** + * <p>Date the bucket was created. This date can change when making changes to your + * bucket, such as editing its bucket policy.</p> + */ + inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } + + /** + * <p>Date the bucket was created. This date can change when making changes to your + * bucket, such as editing its bucket policy.</p> + */ + inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } + + /** + * <p>Date the bucket was created. This date can change when making changes to your + * bucket, such as editing its bucket policy.</p> + */ + inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } + + /** + * <p>Date the bucket was created. This date can change when making changes to your + * bucket, such as editing its bucket policy.</p> + */ + inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } + + /** + * <p>Date the bucket was created. This date can change when making changes to your + * bucket, such as editing its bucket policy.</p> + */ + inline Bucket& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} + + /** + * <p>Date the bucket was created. This date can change when making changes to your + * bucket, such as editing its bucket policy.</p> + */ + inline Bucket& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet; + + Aws::Utils::DateTime m_creationDate; + bool m_creationDateHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketAccelerateStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketAccelerateStatus.h new file mode 100644 index 0000000000..0e601f75bc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketAccelerateStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class BucketAccelerateStatus + { + NOT_SET, + Enabled, + Suspended + }; + +namespace BucketAccelerateStatusMapper +{ +AWS_S3_API BucketAccelerateStatus GetBucketAccelerateStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForBucketAccelerateStatus(BucketAccelerateStatus value); +} // namespace BucketAccelerateStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketCannedACL.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketCannedACL.h new file mode 100644 index 0000000000..a438a15aa9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketCannedACL.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class BucketCannedACL + { + NOT_SET, + private_, + public_read, + public_read_write, + authenticated_read + }; + +namespace BucketCannedACLMapper +{ +AWS_S3_API BucketCannedACL GetBucketCannedACLForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForBucketCannedACL(BucketCannedACL value); +} // namespace BucketCannedACLMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h new file mode 100644 index 0000000000..5c16eef448 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLifecycleConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/LifecycleRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object + * Lifecycle Management</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLifecycleConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API BucketLifecycleConfiguration + { + public: + BucketLifecycleConfiguration(); + BucketLifecycleConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + BucketLifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline const Aws::Vector<LifecycleRule>& GetRules() const{ return m_rules; } + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline void SetRules(const Aws::Vector<LifecycleRule>& value) { m_rulesHasBeenSet = true; m_rules = value; } + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline void SetRules(Aws::Vector<LifecycleRule>&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline BucketLifecycleConfiguration& WithRules(const Aws::Vector<LifecycleRule>& value) { SetRules(value); return *this;} + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline BucketLifecycleConfiguration& WithRules(Aws::Vector<LifecycleRule>&& value) { SetRules(std::move(value)); return *this;} + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline BucketLifecycleConfiguration& AddRules(const LifecycleRule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p> + */ + inline BucketLifecycleConfiguration& AddRules(LifecycleRule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<LifecycleRule> m_rules; + bool m_rulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h new file mode 100644 index 0000000000..86490ce1fa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLocationConstraint.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class BucketLocationConstraint + { + NOT_SET, + af_south_1, + ap_east_1, + ap_northeast_1, + ap_northeast_2, + ap_northeast_3, + ap_south_1, + ap_southeast_1, + ap_southeast_2, + ca_central_1, + cn_north_1, + cn_northwest_1, + EU, + eu_central_1, + eu_north_1, + eu_south_1, + eu_west_1, + eu_west_2, + eu_west_3, + me_south_1, + sa_east_1, + us_east_2, + us_gov_east_1, + us_gov_west_1, + us_west_1, + us_west_2, + us_east_1 + }; + +namespace BucketLocationConstraintMapper +{ +AWS_S3_API BucketLocationConstraint GetBucketLocationConstraintForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForBucketLocationConstraint(BucketLocationConstraint value); +} // namespace BucketLocationConstraintMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h new file mode 100644 index 0000000000..36273be848 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLoggingStatus.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/LoggingEnabled.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for logging status information.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLoggingStatus">AWS + * API Reference</a></p> + */ + class AWS_S3_API BucketLoggingStatus + { + public: + BucketLoggingStatus(); + BucketLoggingStatus(const Aws::Utils::Xml::XmlNode& xmlNode); + BucketLoggingStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const LoggingEnabled& GetLoggingEnabled() const{ return m_loggingEnabled; } + + + inline bool LoggingEnabledHasBeenSet() const { return m_loggingEnabledHasBeenSet; } + + + inline void SetLoggingEnabled(const LoggingEnabled& value) { m_loggingEnabledHasBeenSet = true; m_loggingEnabled = value; } + + + inline void SetLoggingEnabled(LoggingEnabled&& value) { m_loggingEnabledHasBeenSet = true; m_loggingEnabled = std::move(value); } + + + inline BucketLoggingStatus& WithLoggingEnabled(const LoggingEnabled& value) { SetLoggingEnabled(value); return *this;} + + + inline BucketLoggingStatus& WithLoggingEnabled(LoggingEnabled&& value) { SetLoggingEnabled(std::move(value)); return *this;} + + private: + + LoggingEnabled m_loggingEnabled; + bool m_loggingEnabledHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLogsPermission.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLogsPermission.h new file mode 100644 index 0000000000..dce81afc73 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketLogsPermission.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class BucketLogsPermission + { + NOT_SET, + FULL_CONTROL, + READ, + WRITE + }; + +namespace BucketLogsPermissionMapper +{ +AWS_S3_API BucketLogsPermission GetBucketLogsPermissionForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForBucketLogsPermission(BucketLogsPermission value); +} // namespace BucketLogsPermissionMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketVersioningStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketVersioningStatus.h new file mode 100644 index 0000000000..e642e2c8be --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/BucketVersioningStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class BucketVersioningStatus + { + NOT_SET, + Enabled, + Suspended + }; + +namespace BucketVersioningStatusMapper +{ +AWS_S3_API BucketVersioningStatus GetBucketVersioningStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForBucketVersioningStatus(BucketVersioningStatus value); +} // namespace BucketVersioningStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h new file mode 100644 index 0000000000..86a8e41c0d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSConfiguration.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/CORSRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes the cross-origin access configuration for objects in an Amazon S3 + * bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API CORSConfiguration + { + public: + CORSConfiguration(); + CORSConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + CORSConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline const Aws::Vector<CORSRule>& GetCORSRules() const{ return m_cORSRules; } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline bool CORSRulesHasBeenSet() const { return m_cORSRulesHasBeenSet; } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline void SetCORSRules(const Aws::Vector<CORSRule>& value) { m_cORSRulesHasBeenSet = true; m_cORSRules = value; } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline void SetCORSRules(Aws::Vector<CORSRule>&& value) { m_cORSRulesHasBeenSet = true; m_cORSRules = std::move(value); } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline CORSConfiguration& WithCORSRules(const Aws::Vector<CORSRule>& value) { SetCORSRules(value); return *this;} + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline CORSConfiguration& WithCORSRules(Aws::Vector<CORSRule>&& value) { SetCORSRules(std::move(value)); return *this;} + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline CORSConfiguration& AddCORSRules(const CORSRule& value) { m_cORSRulesHasBeenSet = true; m_cORSRules.push_back(value); return *this; } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline CORSConfiguration& AddCORSRules(CORSRule&& value) { m_cORSRulesHasBeenSet = true; m_cORSRules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<CORSRule> m_cORSRules; + bool m_cORSRulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h new file mode 100644 index 0000000000..7c725e2611 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CORSRule.h @@ -0,0 +1,342 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies a cross-origin access rule for an Amazon S3 bucket.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSRule">AWS API + * Reference</a></p> + */ + class AWS_S3_API CORSRule + { + public: + CORSRule(); + CORSRule(const Aws::Utils::Xml::XmlNode& xmlNode); + CORSRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline const Aws::Vector<Aws::String>& GetAllowedHeaders() const{ return m_allowedHeaders; } + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline bool AllowedHeadersHasBeenSet() const { return m_allowedHeadersHasBeenSet; } + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline void SetAllowedHeaders(const Aws::Vector<Aws::String>& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders = value; } + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline void SetAllowedHeaders(Aws::Vector<Aws::String>&& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders = std::move(value); } + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline CORSRule& WithAllowedHeaders(const Aws::Vector<Aws::String>& value) { SetAllowedHeaders(value); return *this;} + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline CORSRule& WithAllowedHeaders(Aws::Vector<Aws::String>&& value) { SetAllowedHeaders(std::move(value)); return *this;} + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline CORSRule& AddAllowedHeaders(const Aws::String& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders.push_back(value); return *this; } + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline CORSRule& AddAllowedHeaders(Aws::String&& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders.push_back(std::move(value)); return *this; } + + /** + * <p>Headers that are specified in the <code>Access-Control-Request-Headers</code> + * header. These headers are allowed in a preflight OPTIONS request. In response to + * any preflight OPTIONS request, Amazon S3 returns any requested headers that are + * allowed.</p> + */ + inline CORSRule& AddAllowedHeaders(const char* value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders.push_back(value); return *this; } + + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline const Aws::Vector<Aws::String>& GetAllowedMethods() const{ return m_allowedMethods; } + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline bool AllowedMethodsHasBeenSet() const { return m_allowedMethodsHasBeenSet; } + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline void SetAllowedMethods(const Aws::Vector<Aws::String>& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods = value; } + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline void SetAllowedMethods(Aws::Vector<Aws::String>&& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods = std::move(value); } + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline CORSRule& WithAllowedMethods(const Aws::Vector<Aws::String>& value) { SetAllowedMethods(value); return *this;} + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline CORSRule& WithAllowedMethods(Aws::Vector<Aws::String>&& value) { SetAllowedMethods(std::move(value)); return *this;} + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline CORSRule& AddAllowedMethods(const Aws::String& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods.push_back(value); return *this; } + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline CORSRule& AddAllowedMethods(Aws::String&& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods.push_back(std::move(value)); return *this; } + + /** + * <p>An HTTP method that you allow the origin to execute. Valid values are + * <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and + * <code>DELETE</code>.</p> + */ + inline CORSRule& AddAllowedMethods(const char* value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods.push_back(value); return *this; } + + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline const Aws::Vector<Aws::String>& GetAllowedOrigins() const{ return m_allowedOrigins; } + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline bool AllowedOriginsHasBeenSet() const { return m_allowedOriginsHasBeenSet; } + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline void SetAllowedOrigins(const Aws::Vector<Aws::String>& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins = value; } + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline void SetAllowedOrigins(Aws::Vector<Aws::String>&& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins = std::move(value); } + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline CORSRule& WithAllowedOrigins(const Aws::Vector<Aws::String>& value) { SetAllowedOrigins(value); return *this;} + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline CORSRule& WithAllowedOrigins(Aws::Vector<Aws::String>&& value) { SetAllowedOrigins(std::move(value)); return *this;} + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline CORSRule& AddAllowedOrigins(const Aws::String& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins.push_back(value); return *this; } + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline CORSRule& AddAllowedOrigins(Aws::String&& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins.push_back(std::move(value)); return *this; } + + /** + * <p>One or more origins you want customers to be able to access the bucket + * from.</p> + */ + inline CORSRule& AddAllowedOrigins(const char* value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins.push_back(value); return *this; } + + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline const Aws::Vector<Aws::String>& GetExposeHeaders() const{ return m_exposeHeaders; } + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline bool ExposeHeadersHasBeenSet() const { return m_exposeHeadersHasBeenSet; } + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline void SetExposeHeaders(const Aws::Vector<Aws::String>& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders = value; } + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline void SetExposeHeaders(Aws::Vector<Aws::String>&& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders = std::move(value); } + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline CORSRule& WithExposeHeaders(const Aws::Vector<Aws::String>& value) { SetExposeHeaders(value); return *this;} + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline CORSRule& WithExposeHeaders(Aws::Vector<Aws::String>&& value) { SetExposeHeaders(std::move(value)); return *this;} + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline CORSRule& AddExposeHeaders(const Aws::String& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(value); return *this; } + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline CORSRule& AddExposeHeaders(Aws::String&& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(std::move(value)); return *this; } + + /** + * <p>One or more headers in the response that you want customers to be able to + * access from their applications (for example, from a JavaScript + * <code>XMLHttpRequest</code> object).</p> + */ + inline CORSRule& AddExposeHeaders(const char* value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(value); return *this; } + + + /** + * <p>The time in seconds that your browser is to cache the preflight response for + * the specified resource.</p> + */ + inline int GetMaxAgeSeconds() const{ return m_maxAgeSeconds; } + + /** + * <p>The time in seconds that your browser is to cache the preflight response for + * the specified resource.</p> + */ + inline bool MaxAgeSecondsHasBeenSet() const { return m_maxAgeSecondsHasBeenSet; } + + /** + * <p>The time in seconds that your browser is to cache the preflight response for + * the specified resource.</p> + */ + inline void SetMaxAgeSeconds(int value) { m_maxAgeSecondsHasBeenSet = true; m_maxAgeSeconds = value; } + + /** + * <p>The time in seconds that your browser is to cache the preflight response for + * the specified resource.</p> + */ + inline CORSRule& WithMaxAgeSeconds(int value) { SetMaxAgeSeconds(value); return *this;} + + private: + + Aws::Vector<Aws::String> m_allowedHeaders; + bool m_allowedHeadersHasBeenSet; + + Aws::Vector<Aws::String> m_allowedMethods; + bool m_allowedMethodsHasBeenSet; + + Aws::Vector<Aws::String> m_allowedOrigins; + bool m_allowedOriginsHasBeenSet; + + Aws::Vector<Aws::String> m_exposeHeaders; + bool m_exposeHeadersHasBeenSet; + + int m_maxAgeSeconds; + bool m_maxAgeSecondsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h new file mode 100644 index 0000000000..ca40bb8ef9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVInput.h @@ -0,0 +1,446 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/FileHeaderInfo.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes how an uncompressed comma-separated values (CSV)-formatted input + * object is formatted.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVInput">AWS API + * Reference</a></p> + */ + class AWS_S3_API CSVInput + { + public: + CSVInput(); + CSVInput(const Aws::Utils::Xml::XmlNode& xmlNode); + CSVInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Describes the first line of input. Valid values are:</p> <ul> <li> <p> + * <code>NONE</code>: First line is not a header.</p> </li> <li> <p> + * <code>IGNORE</code>: First line is a header, but you can't use the header values + * to indicate the column in an expression. You can use column position (such as + * _1, _2, …) to indicate the column (<code>SELECT s._1 FROM OBJECT s</code>).</p> + * </li> <li> <p> <code>Use</code>: First line is a header, and you can use the + * header value to identify a column in an expression (<code>SELECT "name" FROM + * OBJECT</code>). </p> </li> </ul> + */ + inline const FileHeaderInfo& GetFileHeaderInfo() const{ return m_fileHeaderInfo; } + + /** + * <p>Describes the first line of input. Valid values are:</p> <ul> <li> <p> + * <code>NONE</code>: First line is not a header.</p> </li> <li> <p> + * <code>IGNORE</code>: First line is a header, but you can't use the header values + * to indicate the column in an expression. You can use column position (such as + * _1, _2, …) to indicate the column (<code>SELECT s._1 FROM OBJECT s</code>).</p> + * </li> <li> <p> <code>Use</code>: First line is a header, and you can use the + * header value to identify a column in an expression (<code>SELECT "name" FROM + * OBJECT</code>). </p> </li> </ul> + */ + inline bool FileHeaderInfoHasBeenSet() const { return m_fileHeaderInfoHasBeenSet; } + + /** + * <p>Describes the first line of input. Valid values are:</p> <ul> <li> <p> + * <code>NONE</code>: First line is not a header.</p> </li> <li> <p> + * <code>IGNORE</code>: First line is a header, but you can't use the header values + * to indicate the column in an expression. You can use column position (such as + * _1, _2, …) to indicate the column (<code>SELECT s._1 FROM OBJECT s</code>).</p> + * </li> <li> <p> <code>Use</code>: First line is a header, and you can use the + * header value to identify a column in an expression (<code>SELECT "name" FROM + * OBJECT</code>). </p> </li> </ul> + */ + inline void SetFileHeaderInfo(const FileHeaderInfo& value) { m_fileHeaderInfoHasBeenSet = true; m_fileHeaderInfo = value; } + + /** + * <p>Describes the first line of input. Valid values are:</p> <ul> <li> <p> + * <code>NONE</code>: First line is not a header.</p> </li> <li> <p> + * <code>IGNORE</code>: First line is a header, but you can't use the header values + * to indicate the column in an expression. You can use column position (such as + * _1, _2, …) to indicate the column (<code>SELECT s._1 FROM OBJECT s</code>).</p> + * </li> <li> <p> <code>Use</code>: First line is a header, and you can use the + * header value to identify a column in an expression (<code>SELECT "name" FROM + * OBJECT</code>). </p> </li> </ul> + */ + inline void SetFileHeaderInfo(FileHeaderInfo&& value) { m_fileHeaderInfoHasBeenSet = true; m_fileHeaderInfo = std::move(value); } + + /** + * <p>Describes the first line of input. Valid values are:</p> <ul> <li> <p> + * <code>NONE</code>: First line is not a header.</p> </li> <li> <p> + * <code>IGNORE</code>: First line is a header, but you can't use the header values + * to indicate the column in an expression. You can use column position (such as + * _1, _2, …) to indicate the column (<code>SELECT s._1 FROM OBJECT s</code>).</p> + * </li> <li> <p> <code>Use</code>: First line is a header, and you can use the + * header value to identify a column in an expression (<code>SELECT "name" FROM + * OBJECT</code>). </p> </li> </ul> + */ + inline CSVInput& WithFileHeaderInfo(const FileHeaderInfo& value) { SetFileHeaderInfo(value); return *this;} + + /** + * <p>Describes the first line of input. Valid values are:</p> <ul> <li> <p> + * <code>NONE</code>: First line is not a header.</p> </li> <li> <p> + * <code>IGNORE</code>: First line is a header, but you can't use the header values + * to indicate the column in an expression. You can use column position (such as + * _1, _2, …) to indicate the column (<code>SELECT s._1 FROM OBJECT s</code>).</p> + * </li> <li> <p> <code>Use</code>: First line is a header, and you can use the + * header value to identify a column in an expression (<code>SELECT "name" FROM + * OBJECT</code>). </p> </li> </ul> + */ + inline CSVInput& WithFileHeaderInfo(FileHeaderInfo&& value) { SetFileHeaderInfo(std::move(value)); return *this;} + + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline const Aws::String& GetComments() const{ return m_comments; } + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline bool CommentsHasBeenSet() const { return m_commentsHasBeenSet; } + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline void SetComments(const Aws::String& value) { m_commentsHasBeenSet = true; m_comments = value; } + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline void SetComments(Aws::String&& value) { m_commentsHasBeenSet = true; m_comments = std::move(value); } + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline void SetComments(const char* value) { m_commentsHasBeenSet = true; m_comments.assign(value); } + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline CSVInput& WithComments(const Aws::String& value) { SetComments(value); return *this;} + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline CSVInput& WithComments(Aws::String&& value) { SetComments(std::move(value)); return *this;} + + /** + * <p>A single character used to indicate that a row should be ignored when the + * character is present at the start of that row. You can specify any character to + * indicate a comment line.</p> + */ + inline CSVInput& WithComments(const char* value) { SetComments(value); return *this;} + + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline const Aws::String& GetQuoteEscapeCharacter() const{ return m_quoteEscapeCharacter; } + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline bool QuoteEscapeCharacterHasBeenSet() const { return m_quoteEscapeCharacterHasBeenSet; } + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline void SetQuoteEscapeCharacter(const Aws::String& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = value; } + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline void SetQuoteEscapeCharacter(Aws::String&& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = std::move(value); } + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline void SetQuoteEscapeCharacter(const char* value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter.assign(value); } + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline CSVInput& WithQuoteEscapeCharacter(const Aws::String& value) { SetQuoteEscapeCharacter(value); return *this;} + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline CSVInput& WithQuoteEscapeCharacter(Aws::String&& value) { SetQuoteEscapeCharacter(std::move(value)); return *this;} + + /** + * <p>A single character used for escaping the quotation mark character inside an + * already escaped value. For example, the value """ a , b """ is parsed as " a , b + * ".</p> + */ + inline CSVInput& WithQuoteEscapeCharacter(const char* value) { SetQuoteEscapeCharacter(value); return *this;} + + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline const Aws::String& GetRecordDelimiter() const{ return m_recordDelimiter; } + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline bool RecordDelimiterHasBeenSet() const { return m_recordDelimiterHasBeenSet; } + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline void SetRecordDelimiter(const Aws::String& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = value; } + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline void SetRecordDelimiter(Aws::String&& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = std::move(value); } + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline void SetRecordDelimiter(const char* value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter.assign(value); } + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline CSVInput& WithRecordDelimiter(const Aws::String& value) { SetRecordDelimiter(value); return *this;} + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline CSVInput& WithRecordDelimiter(Aws::String&& value) { SetRecordDelimiter(std::move(value)); return *this;} + + /** + * <p>A single character used to separate individual records in the input. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline CSVInput& WithRecordDelimiter(const char* value) { SetRecordDelimiter(value); return *this;} + + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline const Aws::String& GetFieldDelimiter() const{ return m_fieldDelimiter; } + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline bool FieldDelimiterHasBeenSet() const { return m_fieldDelimiterHasBeenSet; } + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline void SetFieldDelimiter(const Aws::String& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = value; } + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline void SetFieldDelimiter(Aws::String&& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = std::move(value); } + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline void SetFieldDelimiter(const char* value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter.assign(value); } + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline CSVInput& WithFieldDelimiter(const Aws::String& value) { SetFieldDelimiter(value); return *this;} + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline CSVInput& WithFieldDelimiter(Aws::String&& value) { SetFieldDelimiter(std::move(value)); return *this;} + + /** + * <p>A single character used to separate individual fields in a record. You can + * specify an arbitrary delimiter.</p> + */ + inline CSVInput& WithFieldDelimiter(const char* value) { SetFieldDelimiter(value); return *this;} + + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline const Aws::String& GetQuoteCharacter() const{ return m_quoteCharacter; } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline bool QuoteCharacterHasBeenSet() const { return m_quoteCharacterHasBeenSet; } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline void SetQuoteCharacter(const Aws::String& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = value; } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline void SetQuoteCharacter(Aws::String&& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = std::move(value); } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline void SetQuoteCharacter(const char* value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter.assign(value); } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline CSVInput& WithQuoteCharacter(const Aws::String& value) { SetQuoteCharacter(value); return *this;} + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline CSVInput& WithQuoteCharacter(Aws::String&& value) { SetQuoteCharacter(std::move(value)); return *this;} + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type: + * String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p> + */ + inline CSVInput& WithQuoteCharacter(const char* value) { SetQuoteCharacter(value); return *this;} + + + /** + * <p>Specifies that CSV field values may contain quoted record delimiters and such + * records should be allowed. Default value is FALSE. Setting this value to TRUE + * may lower performance.</p> + */ + inline bool GetAllowQuotedRecordDelimiter() const{ return m_allowQuotedRecordDelimiter; } + + /** + * <p>Specifies that CSV field values may contain quoted record delimiters and such + * records should be allowed. Default value is FALSE. Setting this value to TRUE + * may lower performance.</p> + */ + inline bool AllowQuotedRecordDelimiterHasBeenSet() const { return m_allowQuotedRecordDelimiterHasBeenSet; } + + /** + * <p>Specifies that CSV field values may contain quoted record delimiters and such + * records should be allowed. Default value is FALSE. Setting this value to TRUE + * may lower performance.</p> + */ + inline void SetAllowQuotedRecordDelimiter(bool value) { m_allowQuotedRecordDelimiterHasBeenSet = true; m_allowQuotedRecordDelimiter = value; } + + /** + * <p>Specifies that CSV field values may contain quoted record delimiters and such + * records should be allowed. Default value is FALSE. Setting this value to TRUE + * may lower performance.</p> + */ + inline CSVInput& WithAllowQuotedRecordDelimiter(bool value) { SetAllowQuotedRecordDelimiter(value); return *this;} + + private: + + FileHeaderInfo m_fileHeaderInfo; + bool m_fileHeaderInfoHasBeenSet; + + Aws::String m_comments; + bool m_commentsHasBeenSet; + + Aws::String m_quoteEscapeCharacter; + bool m_quoteEscapeCharacterHasBeenSet; + + Aws::String m_recordDelimiter; + bool m_recordDelimiterHasBeenSet; + + Aws::String m_fieldDelimiter; + bool m_fieldDelimiterHasBeenSet; + + Aws::String m_quoteCharacter; + bool m_quoteCharacterHasBeenSet; + + bool m_allowQuotedRecordDelimiter; + bool m_allowQuotedRecordDelimiterHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h new file mode 100644 index 0000000000..d507716d7f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CSVOutput.h @@ -0,0 +1,314 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/QuoteFields.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes how uncompressed comma-separated values (CSV)-formatted results are + * formatted.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVOutput">AWS API + * Reference</a></p> + */ + class AWS_S3_API CSVOutput + { + public: + CSVOutput(); + CSVOutput(const Aws::Utils::Xml::XmlNode& xmlNode); + CSVOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Indicates whether to use quotation marks around output fields. </p> <ul> <li> + * <p> <code>ALWAYS</code>: Always use quotation marks for output fields.</p> </li> + * <li> <p> <code>ASNEEDED</code>: Use quotation marks for output fields when + * needed.</p> </li> </ul> + */ + inline const QuoteFields& GetQuoteFields() const{ return m_quoteFields; } + + /** + * <p>Indicates whether to use quotation marks around output fields. </p> <ul> <li> + * <p> <code>ALWAYS</code>: Always use quotation marks for output fields.</p> </li> + * <li> <p> <code>ASNEEDED</code>: Use quotation marks for output fields when + * needed.</p> </li> </ul> + */ + inline bool QuoteFieldsHasBeenSet() const { return m_quoteFieldsHasBeenSet; } + + /** + * <p>Indicates whether to use quotation marks around output fields. </p> <ul> <li> + * <p> <code>ALWAYS</code>: Always use quotation marks for output fields.</p> </li> + * <li> <p> <code>ASNEEDED</code>: Use quotation marks for output fields when + * needed.</p> </li> </ul> + */ + inline void SetQuoteFields(const QuoteFields& value) { m_quoteFieldsHasBeenSet = true; m_quoteFields = value; } + + /** + * <p>Indicates whether to use quotation marks around output fields. </p> <ul> <li> + * <p> <code>ALWAYS</code>: Always use quotation marks for output fields.</p> </li> + * <li> <p> <code>ASNEEDED</code>: Use quotation marks for output fields when + * needed.</p> </li> </ul> + */ + inline void SetQuoteFields(QuoteFields&& value) { m_quoteFieldsHasBeenSet = true; m_quoteFields = std::move(value); } + + /** + * <p>Indicates whether to use quotation marks around output fields. </p> <ul> <li> + * <p> <code>ALWAYS</code>: Always use quotation marks for output fields.</p> </li> + * <li> <p> <code>ASNEEDED</code>: Use quotation marks for output fields when + * needed.</p> </li> </ul> + */ + inline CSVOutput& WithQuoteFields(const QuoteFields& value) { SetQuoteFields(value); return *this;} + + /** + * <p>Indicates whether to use quotation marks around output fields. </p> <ul> <li> + * <p> <code>ALWAYS</code>: Always use quotation marks for output fields.</p> </li> + * <li> <p> <code>ASNEEDED</code>: Use quotation marks for output fields when + * needed.</p> </li> </ul> + */ + inline CSVOutput& WithQuoteFields(QuoteFields&& value) { SetQuoteFields(std::move(value)); return *this;} + + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline const Aws::String& GetQuoteEscapeCharacter() const{ return m_quoteEscapeCharacter; } + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline bool QuoteEscapeCharacterHasBeenSet() const { return m_quoteEscapeCharacterHasBeenSet; } + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline void SetQuoteEscapeCharacter(const Aws::String& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = value; } + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline void SetQuoteEscapeCharacter(Aws::String&& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = std::move(value); } + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline void SetQuoteEscapeCharacter(const char* value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter.assign(value); } + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline CSVOutput& WithQuoteEscapeCharacter(const Aws::String& value) { SetQuoteEscapeCharacter(value); return *this;} + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline CSVOutput& WithQuoteEscapeCharacter(Aws::String&& value) { SetQuoteEscapeCharacter(std::move(value)); return *this;} + + /** + * <p>The single character used for escaping the quote character inside an already + * escaped value.</p> + */ + inline CSVOutput& WithQuoteEscapeCharacter(const char* value) { SetQuoteEscapeCharacter(value); return *this;} + + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline const Aws::String& GetRecordDelimiter() const{ return m_recordDelimiter; } + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline bool RecordDelimiterHasBeenSet() const { return m_recordDelimiterHasBeenSet; } + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline void SetRecordDelimiter(const Aws::String& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = value; } + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline void SetRecordDelimiter(Aws::String&& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = std::move(value); } + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline void SetRecordDelimiter(const char* value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter.assign(value); } + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline CSVOutput& WithRecordDelimiter(const Aws::String& value) { SetRecordDelimiter(value); return *this;} + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline CSVOutput& WithRecordDelimiter(Aws::String&& value) { SetRecordDelimiter(std::move(value)); return *this;} + + /** + * <p>A single character used to separate individual records in the output. Instead + * of the default value, you can specify an arbitrary delimiter.</p> + */ + inline CSVOutput& WithRecordDelimiter(const char* value) { SetRecordDelimiter(value); return *this;} + + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline const Aws::String& GetFieldDelimiter() const{ return m_fieldDelimiter; } + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline bool FieldDelimiterHasBeenSet() const { return m_fieldDelimiterHasBeenSet; } + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline void SetFieldDelimiter(const Aws::String& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = value; } + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline void SetFieldDelimiter(Aws::String&& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = std::move(value); } + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline void SetFieldDelimiter(const char* value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter.assign(value); } + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline CSVOutput& WithFieldDelimiter(const Aws::String& value) { SetFieldDelimiter(value); return *this;} + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline CSVOutput& WithFieldDelimiter(Aws::String&& value) { SetFieldDelimiter(std::move(value)); return *this;} + + /** + * <p>The value used to separate individual fields in a record. You can specify an + * arbitrary delimiter.</p> + */ + inline CSVOutput& WithFieldDelimiter(const char* value) { SetFieldDelimiter(value); return *this;} + + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline const Aws::String& GetQuoteCharacter() const{ return m_quoteCharacter; } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline bool QuoteCharacterHasBeenSet() const { return m_quoteCharacterHasBeenSet; } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline void SetQuoteCharacter(const Aws::String& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = value; } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline void SetQuoteCharacter(Aws::String&& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = std::move(value); } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline void SetQuoteCharacter(const char* value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter.assign(value); } + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline CSVOutput& WithQuoteCharacter(const Aws::String& value) { SetQuoteCharacter(value); return *this;} + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline CSVOutput& WithQuoteCharacter(Aws::String&& value) { SetQuoteCharacter(std::move(value)); return *this;} + + /** + * <p>A single character used for escaping when the field delimiter is part of the + * value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this + * field value in quotation marks, as follows: <code>" a , b "</code>.</p> + */ + inline CSVOutput& WithQuoteCharacter(const char* value) { SetQuoteCharacter(value); return *this;} + + private: + + QuoteFields m_quoteFields; + bool m_quoteFieldsHasBeenSet; + + Aws::String m_quoteEscapeCharacter; + bool m_quoteEscapeCharacterHasBeenSet; + + Aws::String m_recordDelimiter; + bool m_recordDelimiterHasBeenSet; + + Aws::String m_fieldDelimiter; + bool m_fieldDelimiterHasBeenSet; + + Aws::String m_quoteCharacter; + bool m_quoteCharacterHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h new file mode 100644 index 0000000000..d85743d470 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CloudFunctionConfiguration.h @@ -0,0 +1,215 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Event.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for specifying the AWS Lambda notification + * configuration.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CloudFunctionConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API CloudFunctionConfiguration + { + public: + CloudFunctionConfiguration(); + CloudFunctionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + CloudFunctionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const Aws::String& GetId() const{ return m_id; } + + + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + + inline CloudFunctionConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + + inline CloudFunctionConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + + inline CloudFunctionConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline const Aws::Vector<Event>& GetEvents() const{ return m_events; } + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline CloudFunctionConfiguration& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;} + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline CloudFunctionConfiguration& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;} + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline CloudFunctionConfiguration& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + * <p>Bucket events for which to send notifications.</p> + */ + inline CloudFunctionConfiguration& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline const Aws::String& GetCloudFunction() const{ return m_cloudFunction; } + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline bool CloudFunctionHasBeenSet() const { return m_cloudFunctionHasBeenSet; } + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline void SetCloudFunction(const Aws::String& value) { m_cloudFunctionHasBeenSet = true; m_cloudFunction = value; } + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline void SetCloudFunction(Aws::String&& value) { m_cloudFunctionHasBeenSet = true; m_cloudFunction = std::move(value); } + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline void SetCloudFunction(const char* value) { m_cloudFunctionHasBeenSet = true; m_cloudFunction.assign(value); } + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline CloudFunctionConfiguration& WithCloudFunction(const Aws::String& value) { SetCloudFunction(value); return *this;} + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline CloudFunctionConfiguration& WithCloudFunction(Aws::String&& value) { SetCloudFunction(std::move(value)); return *this;} + + /** + * <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of + * the specified type.</p> + */ + inline CloudFunctionConfiguration& WithCloudFunction(const char* value) { SetCloudFunction(value); return *this;} + + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline const Aws::String& GetInvocationRole() const{ return m_invocationRole; } + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline bool InvocationRoleHasBeenSet() const { return m_invocationRoleHasBeenSet; } + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline void SetInvocationRole(const Aws::String& value) { m_invocationRoleHasBeenSet = true; m_invocationRole = value; } + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline void SetInvocationRole(Aws::String&& value) { m_invocationRoleHasBeenSet = true; m_invocationRole = std::move(value); } + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline void SetInvocationRole(const char* value) { m_invocationRoleHasBeenSet = true; m_invocationRole.assign(value); } + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline CloudFunctionConfiguration& WithInvocationRole(const Aws::String& value) { SetInvocationRole(value); return *this;} + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline CloudFunctionConfiguration& WithInvocationRole(Aws::String&& value) { SetInvocationRole(std::move(value)); return *this;} + + /** + * <p>The role supporting the invocation of the Lambda function</p> + */ + inline CloudFunctionConfiguration& WithInvocationRole(const char* value) { SetInvocationRole(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::Vector<Event> m_events; + bool m_eventsHasBeenSet; + + Aws::String m_cloudFunction; + bool m_cloudFunctionHasBeenSet; + + Aws::String m_invocationRole; + bool m_invocationRoleHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h new file mode 100644 index 0000000000..42fec00298 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CommonPrefix.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for all (if there are any) keys between Prefix and the next + * occurrence of the string specified by a delimiter. CommonPrefixes lists keys + * that act like subdirectories in the directory specified by Prefix. For example, + * if the prefix is notes/ and the delimiter is a slash (/) as in + * notes/summer/july, the common prefix is notes/summer/. </p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CommonPrefix">AWS + * API Reference</a></p> + */ + class AWS_S3_API CommonPrefix + { + public: + CommonPrefix(); + CommonPrefix(const Aws::Utils::Xml::XmlNode& xmlNode); + CommonPrefix& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Container for the specified common prefix.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Container for the specified common prefix.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Container for the specified common prefix.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Container for the specified common prefix.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Container for the specified common prefix.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Container for the specified common prefix.</p> + */ + inline CommonPrefix& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Container for the specified common prefix.</p> + */ + inline CommonPrefix& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Container for the specified common prefix.</p> + */ + inline CommonPrefix& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h new file mode 100644 index 0000000000..0040297979 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h @@ -0,0 +1,341 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/CompletedMultipartUpload.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API CompleteMultipartUploadRequest : public S3Request + { + public: + CompleteMultipartUploadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CompleteMultipartUpload"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline CompleteMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline CompleteMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>Name of the bucket to which the multipart upload was initiated.</p> + */ + inline CompleteMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline CompleteMultipartUploadRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline CompleteMultipartUploadRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline CompleteMultipartUploadRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The container for the multipart upload request information.</p> + */ + inline const CompletedMultipartUpload& GetMultipartUpload() const{ return m_multipartUpload; } + + /** + * <p>The container for the multipart upload request information.</p> + */ + inline bool MultipartUploadHasBeenSet() const { return m_multipartUploadHasBeenSet; } + + /** + * <p>The container for the multipart upload request information.</p> + */ + inline void SetMultipartUpload(const CompletedMultipartUpload& value) { m_multipartUploadHasBeenSet = true; m_multipartUpload = value; } + + /** + * <p>The container for the multipart upload request information.</p> + */ + inline void SetMultipartUpload(CompletedMultipartUpload&& value) { m_multipartUploadHasBeenSet = true; m_multipartUpload = std::move(value); } + + /** + * <p>The container for the multipart upload request information.</p> + */ + inline CompleteMultipartUploadRequest& WithMultipartUpload(const CompletedMultipartUpload& value) { SetMultipartUpload(value); return *this;} + + /** + * <p>The container for the multipart upload request information.</p> + */ + inline CompleteMultipartUploadRequest& WithMultipartUpload(CompletedMultipartUpload&& value) { SetMultipartUpload(std::move(value)); return *this;} + + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline CompleteMultipartUploadRequest& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline CompleteMultipartUploadRequest& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline CompleteMultipartUploadRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline CompleteMultipartUploadRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline CompleteMultipartUploadRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline CompleteMultipartUploadRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline CompleteMultipartUploadRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + CompletedMultipartUpload m_multipartUpload; + bool m_multipartUploadHasBeenSet; + + Aws::String m_uploadId; + bool m_uploadIdHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h new file mode 100644 index 0000000000..ed995d2ea6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadResult.h @@ -0,0 +1,578 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API CompleteMultipartUploadResult + { + public: + CompleteMultipartUploadResult(); + CompleteMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + CompleteMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The URI that identifies the newly created object.</p> + */ + inline const Aws::String& GetLocation() const{ return m_location; } + + /** + * <p>The URI that identifies the newly created object.</p> + */ + inline void SetLocation(const Aws::String& value) { m_location = value; } + + /** + * <p>The URI that identifies the newly created object.</p> + */ + inline void SetLocation(Aws::String&& value) { m_location = std::move(value); } + + /** + * <p>The URI that identifies the newly created object.</p> + */ + inline void SetLocation(const char* value) { m_location.assign(value); } + + /** + * <p>The URI that identifies the newly created object.</p> + */ + inline CompleteMultipartUploadResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} + + /** + * <p>The URI that identifies the newly created object.</p> + */ + inline CompleteMultipartUploadResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} + + /** + * <p>The URI that identifies the newly created object.</p> + */ + inline CompleteMultipartUploadResult& WithLocation(const char* value) { SetLocation(value); return *this;} + + + /** + * <p>The name of the bucket that contains the newly created object.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket that contains the newly created object.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucket = value; } + + /** + * <p>The name of the bucket that contains the newly created object.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } + + /** + * <p>The name of the bucket that contains the newly created object.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucket.assign(value); } + + /** + * <p>The name of the bucket that contains the newly created object.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket that contains the newly created object.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket that contains the newly created object.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CompleteMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The object key of the newly created object.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key of the newly created object.</p> + */ + inline void SetKey(const Aws::String& value) { m_key = value; } + + /** + * <p>The object key of the newly created object.</p> + */ + inline void SetKey(Aws::String&& value) { m_key = std::move(value); } + + /** + * <p>The object key of the newly created object.</p> + */ + inline void SetKey(const char* value) { m_key.assign(value); } + + /** + * <p>The object key of the newly created object.</p> + */ + inline CompleteMultipartUploadResult& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key of the newly created object.</p> + */ + inline CompleteMultipartUploadResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key of the newly created object.</p> + */ + inline CompleteMultipartUploadResult& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>If the object expiration is configured, this will contain the expiration date + * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + */ + inline const Aws::String& GetExpiration() const{ return m_expiration; } + + /** + * <p>If the object expiration is configured, this will contain the expiration date + * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + */ + inline void SetExpiration(const Aws::String& value) { m_expiration = value; } + + /** + * <p>If the object expiration is configured, this will contain the expiration date + * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + */ + inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } + + /** + * <p>If the object expiration is configured, this will contain the expiration date + * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + */ + inline void SetExpiration(const char* value) { m_expiration.assign(value); } + + /** + * <p>If the object expiration is configured, this will contain the expiration date + * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + */ + inline CompleteMultipartUploadResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} + + /** + * <p>If the object expiration is configured, this will contain the expiration date + * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + */ + inline CompleteMultipartUploadResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} + + /** + * <p>If the object expiration is configured, this will contain the expiration date + * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.</p> + */ + inline CompleteMultipartUploadResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} + + + /** + * <p>Entity tag that identifies the newly created object's data. Objects with + * different object data will have different entity tags. The entity tag is an + * opaque string. The entity tag may or may not be an MD5 digest of the object + * data. If the entity tag is not an MD5 digest of the object data, it will contain + * one or more nonhexadecimal characters and/or will consist of less than 32 or + * more than 32 hexadecimal digits.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>Entity tag that identifies the newly created object's data. Objects with + * different object data will have different entity tags. The entity tag is an + * opaque string. The entity tag may or may not be an MD5 digest of the object + * data. If the entity tag is not an MD5 digest of the object data, it will contain + * one or more nonhexadecimal characters and/or will consist of less than 32 or + * more than 32 hexadecimal digits.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTag = value; } + + /** + * <p>Entity tag that identifies the newly created object's data. Objects with + * different object data will have different entity tags. The entity tag is an + * opaque string. The entity tag may or may not be an MD5 digest of the object + * data. If the entity tag is not an MD5 digest of the object data, it will contain + * one or more nonhexadecimal characters and/or will consist of less than 32 or + * more than 32 hexadecimal digits.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + + /** + * <p>Entity tag that identifies the newly created object's data. Objects with + * different object data will have different entity tags. The entity tag is an + * opaque string. The entity tag may or may not be an MD5 digest of the object + * data. If the entity tag is not an MD5 digest of the object data, it will contain + * one or more nonhexadecimal characters and/or will consist of less than 32 or + * more than 32 hexadecimal digits.</p> + */ + inline void SetETag(const char* value) { m_eTag.assign(value); } + + /** + * <p>Entity tag that identifies the newly created object's data. Objects with + * different object data will have different entity tags. The entity tag is an + * opaque string. The entity tag may or may not be an MD5 digest of the object + * data. If the entity tag is not an MD5 digest of the object data, it will contain + * one or more nonhexadecimal characters and/or will consist of less than 32 or + * more than 32 hexadecimal digits.</p> + */ + inline CompleteMultipartUploadResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>Entity tag that identifies the newly created object's data. Objects with + * different object data will have different entity tags. The entity tag is an + * opaque string. The entity tag may or may not be an MD5 digest of the object + * data. If the entity tag is not an MD5 digest of the object data, it will contain + * one or more nonhexadecimal characters and/or will consist of less than 32 or + * more than 32 hexadecimal digits.</p> + */ + inline CompleteMultipartUploadResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>Entity tag that identifies the newly created object's data. Objects with + * different object data will have different entity tags. The entity tag is an + * opaque string. The entity tag may or may not be an MD5 digest of the object + * data. If the entity tag is not an MD5 digest of the object data, it will contain + * one or more nonhexadecimal characters and/or will consist of less than 32 or + * more than 32 hexadecimal digits.</p> + */ + inline CompleteMultipartUploadResult& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>If you specified server-side encryption either with an Amazon S3-managed + * encryption key or an AWS KMS customer master key (CMK) in your initiate + * multipart upload request, the response includes this header. It confirms the + * encryption algorithm that Amazon S3 used to encrypt the object.</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>If you specified server-side encryption either with an Amazon S3-managed + * encryption key or an AWS KMS customer master key (CMK) in your initiate + * multipart upload request, the response includes this header. It confirms the + * encryption algorithm that Amazon S3 used to encrypt the object.</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>If you specified server-side encryption either with an Amazon S3-managed + * encryption key or an AWS KMS customer master key (CMK) in your initiate + * multipart upload request, the response includes this header. It confirms the + * encryption algorithm that Amazon S3 used to encrypt the object.</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>If you specified server-side encryption either with an Amazon S3-managed + * encryption key or an AWS KMS customer master key (CMK) in your initiate + * multipart upload request, the response includes this header. It confirms the + * encryption algorithm that Amazon S3 used to encrypt the object.</p> + */ + inline CompleteMultipartUploadResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>If you specified server-side encryption either with an Amazon S3-managed + * encryption key or an AWS KMS customer master key (CMK) in your initiate + * multipart upload request, the response includes this header. It confirms the + * encryption algorithm that Amazon S3 used to encrypt the object.</p> + */ + inline CompleteMultipartUploadResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>Version ID of the newly created object, in case the bucket has versioning + * turned on.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Version ID of the newly created object, in case the bucket has versioning + * turned on.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>Version ID of the newly created object, in case the bucket has versioning + * turned on.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>Version ID of the newly created object, in case the bucket has versioning + * turned on.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>Version ID of the newly created object, in case the bucket has versioning + * turned on.</p> + */ + inline CompleteMultipartUploadResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Version ID of the newly created object, in case the bucket has versioning + * turned on.</p> + */ + inline CompleteMultipartUploadResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Version ID of the newly created object, in case the bucket has versioning + * turned on.</p> + */ + inline CompleteMultipartUploadResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CompleteMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline CompleteMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline CompleteMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline CompleteMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + Aws::String m_location; + + Aws::String m_bucket; + + Aws::String m_key; + + Aws::String m_expiration; + + Aws::String m_eTag; + + ServerSideEncryption m_serverSideEncryption; + + Aws::String m_versionId; + + Aws::String m_sSEKMSKeyId; + + bool m_bucketKeyEnabled; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h new file mode 100644 index 0000000000..0970651366 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedMultipartUpload.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/CompletedPart.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The container for the completed multipart upload details.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedMultipartUpload">AWS + * API Reference</a></p> + */ + class AWS_S3_API CompletedMultipartUpload + { + public: + CompletedMultipartUpload(); + CompletedMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); + CompletedMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline const Aws::Vector<CompletedPart>& GetParts() const{ return m_parts; } + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; } + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline void SetParts(const Aws::Vector<CompletedPart>& value) { m_partsHasBeenSet = true; m_parts = value; } + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline void SetParts(Aws::Vector<CompletedPart>&& value) { m_partsHasBeenSet = true; m_parts = std::move(value); } + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline CompletedMultipartUpload& WithParts(const Aws::Vector<CompletedPart>& value) { SetParts(value); return *this;} + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline CompletedMultipartUpload& WithParts(Aws::Vector<CompletedPart>&& value) { SetParts(std::move(value)); return *this;} + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline CompletedMultipartUpload& AddParts(const CompletedPart& value) { m_partsHasBeenSet = true; m_parts.push_back(value); return *this; } + + /** + * <p>Array of CompletedPart data types.</p> + */ + inline CompletedMultipartUpload& AddParts(CompletedPart&& value) { m_partsHasBeenSet = true; m_parts.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<CompletedPart> m_parts; + bool m_partsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h new file mode 100644 index 0000000000..5e1507d762 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompletedPart.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Details of the parts that were uploaded.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedPart">AWS + * API Reference</a></p> + */ + class AWS_S3_API CompletedPart + { + public: + CompletedPart(); + CompletedPart(const Aws::Utils::Xml::XmlNode& xmlNode); + CompletedPart& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline CompletedPart& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline CompletedPart& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline CompletedPart& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>Part number that identifies the part. This is a positive integer between 1 + * and 10,000.</p> + */ + inline int GetPartNumber() const{ return m_partNumber; } + + /** + * <p>Part number that identifies the part. This is a positive integer between 1 + * and 10,000.</p> + */ + inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; } + + /** + * <p>Part number that identifies the part. This is a positive integer between 1 + * and 10,000.</p> + */ + inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; } + + /** + * <p>Part number that identifies the part. This is a positive integer between 1 + * and 10,000.</p> + */ + inline CompletedPart& WithPartNumber(int value) { SetPartNumber(value); return *this;} + + private: + + Aws::String m_eTag; + bool m_eTagHasBeenSet; + + int m_partNumber; + bool m_partNumberHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompressionType.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompressionType.h new file mode 100644 index 0000000000..742edcae75 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CompressionType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class CompressionType + { + NOT_SET, + NONE, + GZIP, + BZIP2 + }; + +namespace CompressionTypeMapper +{ +AWS_S3_API CompressionType GetCompressionTypeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForCompressionType(CompressionType value); +} // namespace CompressionTypeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h new file mode 100644 index 0000000000..2bfaeccf84 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Condition.h @@ -0,0 +1,224 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for describing a condition that must be met for the specified + * redirect to apply. For example, 1. If request is for pages in the + * <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If + * request results in HTTP error 4xx, redirect request to another host where you + * might process the error.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Condition">AWS API + * Reference</a></p> + */ + class AWS_S3_API Condition + { + public: + Condition(); + Condition(const Aws::Utils::Xml::XmlNode& xmlNode); + Condition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline const Aws::String& GetHttpErrorCodeReturnedEquals() const{ return m_httpErrorCodeReturnedEquals; } + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline bool HttpErrorCodeReturnedEqualsHasBeenSet() const { return m_httpErrorCodeReturnedEqualsHasBeenSet; } + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline void SetHttpErrorCodeReturnedEquals(const Aws::String& value) { m_httpErrorCodeReturnedEqualsHasBeenSet = true; m_httpErrorCodeReturnedEquals = value; } + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline void SetHttpErrorCodeReturnedEquals(Aws::String&& value) { m_httpErrorCodeReturnedEqualsHasBeenSet = true; m_httpErrorCodeReturnedEquals = std::move(value); } + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline void SetHttpErrorCodeReturnedEquals(const char* value) { m_httpErrorCodeReturnedEqualsHasBeenSet = true; m_httpErrorCodeReturnedEquals.assign(value); } + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline Condition& WithHttpErrorCodeReturnedEquals(const Aws::String& value) { SetHttpErrorCodeReturnedEquals(value); return *this;} + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline Condition& WithHttpErrorCodeReturnedEquals(Aws::String&& value) { SetHttpErrorCodeReturnedEquals(std::move(value)); return *this;} + + /** + * <p>The HTTP error code when the redirect is applied. In the event of an error, + * if the error code equals this value, then the specified redirect is applied. + * Required when parent element <code>Condition</code> is specified and sibling + * <code>KeyPrefixEquals</code> is not specified. If both are specified, then both + * must be true for the redirect to be applied.</p> + */ + inline Condition& WithHttpErrorCodeReturnedEquals(const char* value) { SetHttpErrorCodeReturnedEquals(value); return *this;} + + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline const Aws::String& GetKeyPrefixEquals() const{ return m_keyPrefixEquals; } + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline bool KeyPrefixEqualsHasBeenSet() const { return m_keyPrefixEqualsHasBeenSet; } + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline void SetKeyPrefixEquals(const Aws::String& value) { m_keyPrefixEqualsHasBeenSet = true; m_keyPrefixEquals = value; } + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline void SetKeyPrefixEquals(Aws::String&& value) { m_keyPrefixEqualsHasBeenSet = true; m_keyPrefixEquals = std::move(value); } + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline void SetKeyPrefixEquals(const char* value) { m_keyPrefixEqualsHasBeenSet = true; m_keyPrefixEquals.assign(value); } + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline Condition& WithKeyPrefixEquals(const Aws::String& value) { SetKeyPrefixEquals(value); return *this;} + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline Condition& WithKeyPrefixEquals(Aws::String&& value) { SetKeyPrefixEquals(std::move(value)); return *this;} + + /** + * <p>The object key name prefix when the redirect is applied. For example, to + * redirect requests for <code>ExamplePage.html</code>, the key prefix will be + * <code>ExamplePage.html</code>. To redirect request for all pages with the prefix + * <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies + * all objects in the <code>docs/</code> folder. Required when the parent element + * <code>Condition</code> is specified and sibling + * <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions + * are specified, both must be true for the redirect to be applied.</p> + */ + inline Condition& WithKeyPrefixEquals(const char* value) { SetKeyPrefixEquals(value); return *this;} + + private: + + Aws::String m_httpErrorCodeReturnedEquals; + bool m_httpErrorCodeReturnedEqualsHasBeenSet; + + Aws::String m_keyPrefixEquals; + bool m_keyPrefixEqualsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h new file mode 100644 index 0000000000..d704b0708b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectRequest.h @@ -0,0 +1,2487 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/s3/model/ObjectCannedACL.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <aws/s3/model/MetadataDirective.h> +#include <aws/s3/model/TaggingDirective.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ObjectLockMode.h> +#include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API CopyObjectRequest : public S3Request + { + public: + CopyObjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CopyObject"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline const ObjectCannedACL& GetACL() const{ return m_aCL; } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetACL(const ObjectCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetACL(ObjectCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithACL(const ObjectCannedACL& value) { SetACL(value); return *this;} + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithACL(ObjectCannedACL&& value) { SetACL(std::move(value)); return *this;} + + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CopyObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CopyObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the destination bucket.</p> <p>When using this API with an access + * point, you must direct requests to the access point hostname. The access point + * hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CopyObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const Aws::String& value) { m_cacheControlHasBeenSet = true; m_cacheControl = value; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(Aws::String&& value) { m_cacheControlHasBeenSet = true; m_cacheControl = std::move(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const char* value) { m_cacheControlHasBeenSet = true; m_cacheControl.assign(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline CopyObjectRequest& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline CopyObjectRequest& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline CopyObjectRequest& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const Aws::String& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = value; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(Aws::String&& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = std::move(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const char* value) { m_contentDispositionHasBeenSet = true; m_contentDisposition.assign(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline CopyObjectRequest& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline CopyObjectRequest& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline CopyObjectRequest& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;} + + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const Aws::String& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = value; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(Aws::String&& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = std::move(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const char* value) { m_contentEncodingHasBeenSet = true; m_contentEncoding.assign(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline CopyObjectRequest& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline CopyObjectRequest& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline CopyObjectRequest& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;} + + + /** + * <p>The language the content is in.</p> + */ + inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; } + + /** + * <p>The language the content is in.</p> + */ + inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const Aws::String& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = value; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(Aws::String&& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = std::move(value); } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const char* value) { m_contentLanguageHasBeenSet = true; m_contentLanguage.assign(value); } + + /** + * <p>The language the content is in.</p> + */ + inline CopyObjectRequest& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline CopyObjectRequest& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline CopyObjectRequest& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;} + + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline const Aws::String& GetContentType() const{ return m_contentType; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline CopyObjectRequest& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline CopyObjectRequest& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline CopyObjectRequest& WithContentType(const char* value) { SetContentType(value); return *this;} + + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline const Aws::String& GetCopySource() const{ return m_copySource; } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline bool CopySourceHasBeenSet() const { return m_copySourceHasBeenSet; } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline void SetCopySource(const Aws::String& value) { m_copySourceHasBeenSet = true; m_copySource = value; } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline void SetCopySource(Aws::String&& value) { m_copySourceHasBeenSet = true; m_copySource = std::move(value); } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline void SetCopySource(const char* value) { m_copySourceHasBeenSet = true; m_copySource.assign(value); } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline CopyObjectRequest& WithCopySource(const Aws::String& value) { SetCopySource(value); return *this;} + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline CopyObjectRequest& WithCopySource(Aws::String&& value) { SetCopySource(std::move(value)); return *this;} + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and the key of the source object, + * separated by a slash (/). For example, to copy the object + * <code>reports/january.pdf</code> from the bucket <code>awsexamplebucket</code>, + * use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline CopyObjectRequest& WithCopySource(const char* value) { SetCopySource(value); return *this;} + + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline const Aws::String& GetCopySourceIfMatch() const{ return m_copySourceIfMatch; } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline bool CopySourceIfMatchHasBeenSet() const { return m_copySourceIfMatchHasBeenSet; } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline void SetCopySourceIfMatch(const Aws::String& value) { m_copySourceIfMatchHasBeenSet = true; m_copySourceIfMatch = value; } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline void SetCopySourceIfMatch(Aws::String&& value) { m_copySourceIfMatchHasBeenSet = true; m_copySourceIfMatch = std::move(value); } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline void SetCopySourceIfMatch(const char* value) { m_copySourceIfMatchHasBeenSet = true; m_copySourceIfMatch.assign(value); } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline CopyObjectRequest& WithCopySourceIfMatch(const Aws::String& value) { SetCopySourceIfMatch(value); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline CopyObjectRequest& WithCopySourceIfMatch(Aws::String&& value) { SetCopySourceIfMatch(std::move(value)); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline CopyObjectRequest& WithCopySourceIfMatch(const char* value) { SetCopySourceIfMatch(value); return *this;} + + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline const Aws::Utils::DateTime& GetCopySourceIfModifiedSince() const{ return m_copySourceIfModifiedSince; } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline bool CopySourceIfModifiedSinceHasBeenSet() const { return m_copySourceIfModifiedSinceHasBeenSet; } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline void SetCopySourceIfModifiedSince(const Aws::Utils::DateTime& value) { m_copySourceIfModifiedSinceHasBeenSet = true; m_copySourceIfModifiedSince = value; } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline void SetCopySourceIfModifiedSince(Aws::Utils::DateTime&& value) { m_copySourceIfModifiedSinceHasBeenSet = true; m_copySourceIfModifiedSince = std::move(value); } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline CopyObjectRequest& WithCopySourceIfModifiedSince(const Aws::Utils::DateTime& value) { SetCopySourceIfModifiedSince(value); return *this;} + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline CopyObjectRequest& WithCopySourceIfModifiedSince(Aws::Utils::DateTime&& value) { SetCopySourceIfModifiedSince(std::move(value)); return *this;} + + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline const Aws::String& GetCopySourceIfNoneMatch() const{ return m_copySourceIfNoneMatch; } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline bool CopySourceIfNoneMatchHasBeenSet() const { return m_copySourceIfNoneMatchHasBeenSet; } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline void SetCopySourceIfNoneMatch(const Aws::String& value) { m_copySourceIfNoneMatchHasBeenSet = true; m_copySourceIfNoneMatch = value; } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline void SetCopySourceIfNoneMatch(Aws::String&& value) { m_copySourceIfNoneMatchHasBeenSet = true; m_copySourceIfNoneMatch = std::move(value); } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline void SetCopySourceIfNoneMatch(const char* value) { m_copySourceIfNoneMatchHasBeenSet = true; m_copySourceIfNoneMatch.assign(value); } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline CopyObjectRequest& WithCopySourceIfNoneMatch(const Aws::String& value) { SetCopySourceIfNoneMatch(value); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline CopyObjectRequest& WithCopySourceIfNoneMatch(Aws::String&& value) { SetCopySourceIfNoneMatch(std::move(value)); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline CopyObjectRequest& WithCopySourceIfNoneMatch(const char* value) { SetCopySourceIfNoneMatch(value); return *this;} + + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline const Aws::Utils::DateTime& GetCopySourceIfUnmodifiedSince() const{ return m_copySourceIfUnmodifiedSince; } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline bool CopySourceIfUnmodifiedSinceHasBeenSet() const { return m_copySourceIfUnmodifiedSinceHasBeenSet; } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline void SetCopySourceIfUnmodifiedSince(const Aws::Utils::DateTime& value) { m_copySourceIfUnmodifiedSinceHasBeenSet = true; m_copySourceIfUnmodifiedSince = value; } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline void SetCopySourceIfUnmodifiedSince(Aws::Utils::DateTime&& value) { m_copySourceIfUnmodifiedSinceHasBeenSet = true; m_copySourceIfUnmodifiedSince = std::move(value); } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline CopyObjectRequest& WithCopySourceIfUnmodifiedSince(const Aws::Utils::DateTime& value) { SetCopySourceIfUnmodifiedSince(value); return *this;} + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline CopyObjectRequest& WithCopySourceIfUnmodifiedSince(Aws::Utils::DateTime&& value) { SetCopySourceIfUnmodifiedSince(std::move(value)); return *this;} + + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(const Aws::Utils::DateTime& value) { m_expiresHasBeenSet = true; m_expires = value; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(Aws::Utils::DateTime&& value) { m_expiresHasBeenSet = true; m_expires = std::move(value); } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline CopyObjectRequest& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;} + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline CopyObjectRequest& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;} + + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;} + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;} + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;} + + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantRead() const{ return m_grantRead; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;} + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;} + + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;} + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;} + + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CopyObjectRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;} + + + /** + * <p>The key of the destination object.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The key of the destination object.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The key of the destination object.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The key of the destination object.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The key of the destination object.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The key of the destination object.</p> + */ + inline CopyObjectRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The key of the destination object.</p> + */ + inline CopyObjectRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The key of the destination object.</p> + */ + inline CopyObjectRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadataHasBeenSet = true; m_metadata = value; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CopyObjectRequest& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + + + /** + * <p>Specifies whether the metadata is copied from the source object or replaced + * with metadata provided in the request.</p> + */ + inline const MetadataDirective& GetMetadataDirective() const{ return m_metadataDirective; } + + /** + * <p>Specifies whether the metadata is copied from the source object or replaced + * with metadata provided in the request.</p> + */ + inline bool MetadataDirectiveHasBeenSet() const { return m_metadataDirectiveHasBeenSet; } + + /** + * <p>Specifies whether the metadata is copied from the source object or replaced + * with metadata provided in the request.</p> + */ + inline void SetMetadataDirective(const MetadataDirective& value) { m_metadataDirectiveHasBeenSet = true; m_metadataDirective = value; } + + /** + * <p>Specifies whether the metadata is copied from the source object or replaced + * with metadata provided in the request.</p> + */ + inline void SetMetadataDirective(MetadataDirective&& value) { m_metadataDirectiveHasBeenSet = true; m_metadataDirective = std::move(value); } + + /** + * <p>Specifies whether the metadata is copied from the source object or replaced + * with metadata provided in the request.</p> + */ + inline CopyObjectRequest& WithMetadataDirective(const MetadataDirective& value) { SetMetadataDirective(value); return *this;} + + /** + * <p>Specifies whether the metadata is copied from the source object or replaced + * with metadata provided in the request.</p> + */ + inline CopyObjectRequest& WithMetadataDirective(MetadataDirective&& value) { SetMetadataDirective(std::move(value)); return *this;} + + + /** + * <p>Specifies whether the object tag-set are copied from the source object or + * replaced with tag-set provided in the request.</p> + */ + inline const TaggingDirective& GetTaggingDirective() const{ return m_taggingDirective; } + + /** + * <p>Specifies whether the object tag-set are copied from the source object or + * replaced with tag-set provided in the request.</p> + */ + inline bool TaggingDirectiveHasBeenSet() const { return m_taggingDirectiveHasBeenSet; } + + /** + * <p>Specifies whether the object tag-set are copied from the source object or + * replaced with tag-set provided in the request.</p> + */ + inline void SetTaggingDirective(const TaggingDirective& value) { m_taggingDirectiveHasBeenSet = true; m_taggingDirective = value; } + + /** + * <p>Specifies whether the object tag-set are copied from the source object or + * replaced with tag-set provided in the request.</p> + */ + inline void SetTaggingDirective(TaggingDirective&& value) { m_taggingDirectiveHasBeenSet = true; m_taggingDirective = std::move(value); } + + /** + * <p>Specifies whether the object tag-set are copied from the source object or + * replaced with tag-set provided in the request.</p> + */ + inline CopyObjectRequest& WithTaggingDirective(const TaggingDirective& value) { SetTaggingDirective(value); return *this;} + + /** + * <p>Specifies whether the object tag-set are copied from the source object or + * replaced with tag-set provided in the request.</p> + */ + inline CopyObjectRequest& WithTaggingDirective(TaggingDirective&& value) { SetTaggingDirective(std::move(value)); return *this;} + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CopyObjectRequest& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CopyObjectRequest& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline CopyObjectRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline CopyObjectRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline const Aws::String& GetWebsiteRedirectLocation() const{ return m_websiteRedirectLocation; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline bool WebsiteRedirectLocationHasBeenSet() const { return m_websiteRedirectLocationHasBeenSet; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const Aws::String& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = value; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(Aws::String&& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = std::move(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const char* value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation.assign(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline CopyObjectRequest& WithWebsiteRedirectLocation(const Aws::String& value) { SetWebsiteRedirectLocation(value); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline CopyObjectRequest& WithWebsiteRedirectLocation(Aws::String&& value) { SetWebsiteRedirectLocation(std::move(value)); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline CopyObjectRequest& WithWebsiteRedirectLocation(const char* value) { SetWebsiteRedirectLocation(value); return *this;} + + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline CopyObjectRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline CopyObjectRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline CopyObjectRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline CopyObjectRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline CopyObjectRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline CopyObjectRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CopyObjectRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CopyObjectRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CopyObjectRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline CopyObjectRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline CopyObjectRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>Specifies the AWS KMS key ID to use for object encryption. All GET and PUT + * requests for an object protected by AWS KMS will fail if not made via SSL or + * using SigV4. For information about configuring using any of the officially + * supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline CopyObjectRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline CopyObjectRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline CopyObjectRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline CopyObjectRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} + + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS. </p> <p>Specifying this header with a COPY operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS. </p> <p>Specifying this header with a COPY operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS. </p> <p>Specifying this header with a COPY operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS. </p> <p>Specifying this header with a COPY operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline CopyObjectRequest& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline const Aws::String& GetCopySourceSSECustomerAlgorithm() const{ return m_copySourceSSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline bool CopySourceSSECustomerAlgorithmHasBeenSet() const { return m_copySourceSSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline void SetCopySourceSSECustomerAlgorithm(const Aws::String& value) { m_copySourceSSECustomerAlgorithmHasBeenSet = true; m_copySourceSSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline void SetCopySourceSSECustomerAlgorithm(Aws::String&& value) { m_copySourceSSECustomerAlgorithmHasBeenSet = true; m_copySourceSSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline void SetCopySourceSSECustomerAlgorithm(const char* value) { m_copySourceSSECustomerAlgorithmHasBeenSet = true; m_copySourceSSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerAlgorithm(const Aws::String& value) { SetCopySourceSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerAlgorithm(Aws::String&& value) { SetCopySourceSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerAlgorithm(const char* value) { SetCopySourceSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline const Aws::String& GetCopySourceSSECustomerKey() const{ return m_copySourceSSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline bool CopySourceSSECustomerKeyHasBeenSet() const { return m_copySourceSSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline void SetCopySourceSSECustomerKey(const Aws::String& value) { m_copySourceSSECustomerKeyHasBeenSet = true; m_copySourceSSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline void SetCopySourceSSECustomerKey(Aws::String&& value) { m_copySourceSSECustomerKeyHasBeenSet = true; m_copySourceSSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline void SetCopySourceSSECustomerKey(const char* value) { m_copySourceSSECustomerKeyHasBeenSet = true; m_copySourceSSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerKey(const Aws::String& value) { SetCopySourceSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerKey(Aws::String&& value) { SetCopySourceSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerKey(const char* value) { SetCopySourceSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetCopySourceSSECustomerKeyMD5() const{ return m_copySourceSSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool CopySourceSSECustomerKeyMD5HasBeenSet() const { return m_copySourceSSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetCopySourceSSECustomerKeyMD5(const Aws::String& value) { m_copySourceSSECustomerKeyMD5HasBeenSet = true; m_copySourceSSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetCopySourceSSECustomerKeyMD5(Aws::String&& value) { m_copySourceSSECustomerKeyMD5HasBeenSet = true; m_copySourceSSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetCopySourceSSECustomerKeyMD5(const char* value) { m_copySourceSSECustomerKeyMD5HasBeenSet = true; m_copySourceSSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerKeyMD5(const Aws::String& value) { SetCopySourceSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerKeyMD5(Aws::String&& value) { SetCopySourceSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CopyObjectRequest& WithCopySourceSSECustomerKeyMD5(const char* value) { SetCopySourceSSECustomerKeyMD5(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline CopyObjectRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline CopyObjectRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline const Aws::String& GetTagging() const{ return m_tagging; } + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; } + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline void SetTagging(const Aws::String& value) { m_taggingHasBeenSet = true; m_tagging = value; } + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline void SetTagging(Aws::String&& value) { m_taggingHasBeenSet = true; m_tagging = std::move(value); } + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline void SetTagging(const char* value) { m_taggingHasBeenSet = true; m_tagging.assign(value); } + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline CopyObjectRequest& WithTagging(const Aws::String& value) { SetTagging(value); return *this;} + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline CopyObjectRequest& WithTagging(Aws::String&& value) { SetTagging(std::move(value)); return *this;} + + /** + * <p>The tag-set for the object destination object this value must be used in + * conjunction with the <code>TaggingDirective</code>. The tag-set must be encoded + * as URL Query parameters.</p> + */ + inline CopyObjectRequest& WithTagging(const char* value) { SetTagging(value); return *this;} + + + /** + * <p>The Object Lock mode that you want to apply to the copied object.</p> + */ + inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; } + + /** + * <p>The Object Lock mode that you want to apply to the copied object.</p> + */ + inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; } + + /** + * <p>The Object Lock mode that you want to apply to the copied object.</p> + */ + inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = value; } + + /** + * <p>The Object Lock mode that you want to apply to the copied object.</p> + */ + inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = std::move(value); } + + /** + * <p>The Object Lock mode that you want to apply to the copied object.</p> + */ + inline CopyObjectRequest& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;} + + /** + * <p>The Object Lock mode that you want to apply to the copied object.</p> + */ + inline CopyObjectRequest& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;} + + + /** + * <p>The date and time when you want the copied object's Object Lock to + * expire.</p> + */ + inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } + + /** + * <p>The date and time when you want the copied object's Object Lock to + * expire.</p> + */ + inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; } + + /** + * <p>The date and time when you want the copied object's Object Lock to + * expire.</p> + */ + inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = value; } + + /** + * <p>The date and time when you want the copied object's Object Lock to + * expire.</p> + */ + inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::move(value); } + + /** + * <p>The date and time when you want the copied object's Object Lock to + * expire.</p> + */ + inline CopyObjectRequest& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} + + /** + * <p>The date and time when you want the copied object's Object Lock to + * expire.</p> + */ + inline CopyObjectRequest& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} + + + /** + * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + */ + inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + */ + inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + */ + inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + */ + inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + */ + inline CopyObjectRequest& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} + + /** + * <p>Specifies whether you want to apply a Legal Hold to the copied object.</p> + */ + inline CopyObjectRequest& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline CopyObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline CopyObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline CopyObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedSourceBucketOwner() const{ return m_expectedSourceBucketOwner; } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline bool ExpectedSourceBucketOwnerHasBeenSet() const { return m_expectedSourceBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline void SetExpectedSourceBucketOwner(const Aws::String& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = value; } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline void SetExpectedSourceBucketOwner(Aws::String&& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline void SetExpectedSourceBucketOwner(const char* value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner.assign(value); } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline CopyObjectRequest& WithExpectedSourceBucketOwner(const Aws::String& value) { SetExpectedSourceBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline CopyObjectRequest& WithExpectedSourceBucketOwner(Aws::String&& value) { SetExpectedSourceBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline CopyObjectRequest& WithExpectedSourceBucketOwner(const char* value) { SetExpectedSourceBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline CopyObjectRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline CopyObjectRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline CopyObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline CopyObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CopyObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CopyObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline CopyObjectRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CopyObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CopyObjectRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + ObjectCannedACL m_aCL; + bool m_aCLHasBeenSet; + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_cacheControl; + bool m_cacheControlHasBeenSet; + + Aws::String m_contentDisposition; + bool m_contentDispositionHasBeenSet; + + Aws::String m_contentEncoding; + bool m_contentEncodingHasBeenSet; + + Aws::String m_contentLanguage; + bool m_contentLanguageHasBeenSet; + + Aws::String m_contentType; + bool m_contentTypeHasBeenSet; + + Aws::String m_copySource; + bool m_copySourceHasBeenSet; + + Aws::String m_copySourceIfMatch; + bool m_copySourceIfMatchHasBeenSet; + + Aws::Utils::DateTime m_copySourceIfModifiedSince; + bool m_copySourceIfModifiedSinceHasBeenSet; + + Aws::String m_copySourceIfNoneMatch; + bool m_copySourceIfNoneMatchHasBeenSet; + + Aws::Utils::DateTime m_copySourceIfUnmodifiedSince; + bool m_copySourceIfUnmodifiedSinceHasBeenSet; + + Aws::Utils::DateTime m_expires; + bool m_expiresHasBeenSet; + + Aws::String m_grantFullControl; + bool m_grantFullControlHasBeenSet; + + Aws::String m_grantRead; + bool m_grantReadHasBeenSet; + + Aws::String m_grantReadACP; + bool m_grantReadACPHasBeenSet; + + Aws::String m_grantWriteACP; + bool m_grantWriteACPHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_metadata; + bool m_metadataHasBeenSet; + + MetadataDirective m_metadataDirective; + bool m_metadataDirectiveHasBeenSet; + + TaggingDirective m_taggingDirective; + bool m_taggingDirectiveHasBeenSet; + + ServerSideEncryption m_serverSideEncryption; + bool m_serverSideEncryptionHasBeenSet; + + StorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + Aws::String m_websiteRedirectLocation; + bool m_websiteRedirectLocationHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + Aws::String m_sSEKMSKeyId; + bool m_sSEKMSKeyIdHasBeenSet; + + Aws::String m_sSEKMSEncryptionContext; + bool m_sSEKMSEncryptionContextHasBeenSet; + + bool m_bucketKeyEnabled; + bool m_bucketKeyEnabledHasBeenSet; + + Aws::String m_copySourceSSECustomerAlgorithm; + bool m_copySourceSSECustomerAlgorithmHasBeenSet; + + Aws::String m_copySourceSSECustomerKey; + bool m_copySourceSSECustomerKeyHasBeenSet; + + Aws::String m_copySourceSSECustomerKeyMD5; + bool m_copySourceSSECustomerKeyMD5HasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_tagging; + bool m_taggingHasBeenSet; + + ObjectLockMode m_objectLockMode; + bool m_objectLockModeHasBeenSet; + + Aws::Utils::DateTime m_objectLockRetainUntilDate; + bool m_objectLockRetainUntilDateHasBeenSet; + + ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; + bool m_objectLockLegalHoldStatusHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::String m_expectedSourceBucketOwner; + bool m_expectedSourceBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h new file mode 100644 index 0000000000..386f654c30 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResult.h @@ -0,0 +1,471 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/CopyObjectResultDetails.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API CopyObjectResult + { + public: + CopyObjectResult(); + CopyObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + CopyObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>If the object expiration is configured, the response includes this + * header.</p> + */ + inline const Aws::String& GetExpiration() const{ return m_expiration; } + + /** + * <p>If the object expiration is configured, the response includes this + * header.</p> + */ + inline void SetExpiration(const Aws::String& value) { m_expiration = value; } + + /** + * <p>If the object expiration is configured, the response includes this + * header.</p> + */ + inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } + + /** + * <p>If the object expiration is configured, the response includes this + * header.</p> + */ + inline void SetExpiration(const char* value) { m_expiration.assign(value); } + + /** + * <p>If the object expiration is configured, the response includes this + * header.</p> + */ + inline CopyObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} + + /** + * <p>If the object expiration is configured, the response includes this + * header.</p> + */ + inline CopyObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} + + /** + * <p>If the object expiration is configured, the response includes this + * header.</p> + */ + inline CopyObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} + + + /** + * <p>Version of the copied object in the destination bucket.</p> + */ + inline const Aws::String& GetCopySourceVersionId() const{ return m_copySourceVersionId; } + + /** + * <p>Version of the copied object in the destination bucket.</p> + */ + inline void SetCopySourceVersionId(const Aws::String& value) { m_copySourceVersionId = value; } + + /** + * <p>Version of the copied object in the destination bucket.</p> + */ + inline void SetCopySourceVersionId(Aws::String&& value) { m_copySourceVersionId = std::move(value); } + + /** + * <p>Version of the copied object in the destination bucket.</p> + */ + inline void SetCopySourceVersionId(const char* value) { m_copySourceVersionId.assign(value); } + + /** + * <p>Version of the copied object in the destination bucket.</p> + */ + inline CopyObjectResult& WithCopySourceVersionId(const Aws::String& value) { SetCopySourceVersionId(value); return *this;} + + /** + * <p>Version of the copied object in the destination bucket.</p> + */ + inline CopyObjectResult& WithCopySourceVersionId(Aws::String&& value) { SetCopySourceVersionId(std::move(value)); return *this;} + + /** + * <p>Version of the copied object in the destination bucket.</p> + */ + inline CopyObjectResult& WithCopySourceVersionId(const char* value) { SetCopySourceVersionId(value); return *this;} + + + /** + * <p>Version ID of the newly created copy.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Version ID of the newly created copy.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>Version ID of the newly created copy.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>Version ID of the newly created copy.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>Version ID of the newly created copy.</p> + */ + inline CopyObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Version ID of the newly created copy.</p> + */ + inline CopyObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Version ID of the newly created copy.</p> + */ + inline CopyObjectResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CopyObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CopyObjectResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline CopyObjectResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline CopyObjectResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline CopyObjectResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline CopyObjectResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline CopyObjectResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline CopyObjectResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CopyObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CopyObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CopyObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline CopyObjectResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline CopyObjectResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline CopyObjectResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} + + + /** + * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline CopyObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline CopyObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline CopyObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + + /** + * <p>Container for all response elements.</p> + */ + inline const CopyObjectResultDetails& GetCopyObjectResultDetails() const{ return m_copyObjectResultDetails; } + + /** + * <p>Container for all response elements.</p> + */ + inline void SetCopyObjectResultDetails(const CopyObjectResultDetails& value) { m_copyObjectResultDetails = value; } + + /** + * <p>Container for all response elements.</p> + */ + inline void SetCopyObjectResultDetails(CopyObjectResultDetails&& value) { m_copyObjectResultDetails = std::move(value); } + + /** + * <p>Container for all response elements.</p> + */ + inline CopyObjectResult& WithCopyObjectResultDetails(const CopyObjectResultDetails& value) { SetCopyObjectResultDetails(value); return *this;} + + /** + * <p>Container for all response elements.</p> + */ + inline CopyObjectResult& WithCopyObjectResultDetails(CopyObjectResultDetails&& value) { SetCopyObjectResultDetails(std::move(value)); return *this;} + + private: + + Aws::String m_expiration; + + Aws::String m_copySourceVersionId; + + Aws::String m_versionId; + + ServerSideEncryption m_serverSideEncryption; + + Aws::String m_sSECustomerAlgorithm; + + Aws::String m_sSECustomerKeyMD5; + + Aws::String m_sSEKMSKeyId; + + Aws::String m_sSEKMSEncryptionContext; + + bool m_bucketKeyEnabled; + + RequestCharged m_requestCharged; + + CopyObjectResultDetails m_copyObjectResultDetails; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h new file mode 100644 index 0000000000..9c9c0f47dd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyObjectResultDetails.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for all response elements.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectResult">AWS + * API Reference</a></p> + */ + class AWS_S3_API CopyObjectResultDetails + { + public: + CopyObjectResultDetails(); + CopyObjectResultDetails(const Aws::Utils::Xml::XmlNode& xmlNode); + CopyObjectResultDetails& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline CopyObjectResultDetails& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline CopyObjectResultDetails& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>Returns the ETag of the new object. The ETag reflects only changes to the + * contents of an object, not its metadata. The source and destination ETag is + * identical for a successfully copied object.</p> + */ + inline CopyObjectResultDetails& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>Returns the date that the object was last modified.</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>Returns the date that the object was last modified.</p> + */ + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + + /** + * <p>Returns the date that the object was last modified.</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + + /** + * <p>Returns the date that the object was last modified.</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + + /** + * <p>Returns the date that the object was last modified.</p> + */ + inline CopyObjectResultDetails& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>Returns the date that the object was last modified.</p> + */ + inline CopyObjectResultDetails& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + private: + + Aws::String m_eTag; + bool m_eTagHasBeenSet; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h new file mode 100644 index 0000000000..d744384ae2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CopyPartResult.h @@ -0,0 +1,123 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for all response elements.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyPartResult">AWS + * API Reference</a></p> + */ + class AWS_S3_API CopyPartResult + { + public: + CopyPartResult(); + CopyPartResult(const Aws::Utils::Xml::XmlNode& xmlNode); + CopyPartResult& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Entity tag of the object.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>Entity tag of the object.</p> + */ + inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } + + /** + * <p>Entity tag of the object.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } + + /** + * <p>Entity tag of the object.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } + + /** + * <p>Entity tag of the object.</p> + */ + inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } + + /** + * <p>Entity tag of the object.</p> + */ + inline CopyPartResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>Entity tag of the object.</p> + */ + inline CopyPartResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>Entity tag of the object.</p> + */ + inline CopyPartResult& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>Date and time at which the object was uploaded.</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>Date and time at which the object was uploaded.</p> + */ + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + + /** + * <p>Date and time at which the object was uploaded.</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + + /** + * <p>Date and time at which the object was uploaded.</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + + /** + * <p>Date and time at which the object was uploaded.</p> + */ + inline CopyPartResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>Date and time at which the object was uploaded.</p> + */ + inline CopyPartResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + private: + + Aws::String m_eTag; + bool m_eTagHasBeenSet; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h new file mode 100644 index 0000000000..b43d6ea94f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketConfiguration.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/BucketLocationConstraint.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The configuration information for the bucket.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API CreateBucketConfiguration + { + public: + CreateBucketConfiguration(); + CreateBucketConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + CreateBucketConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the Region where the bucket will be created. If you don't specify a + * Region, the bucket is created in the US East (N. Virginia) Region + * (us-east-1).</p> + */ + inline const BucketLocationConstraint& GetLocationConstraint() const{ return m_locationConstraint; } + + /** + * <p>Specifies the Region where the bucket will be created. If you don't specify a + * Region, the bucket is created in the US East (N. Virginia) Region + * (us-east-1).</p> + */ + inline bool LocationConstraintHasBeenSet() const { return m_locationConstraintHasBeenSet; } + + /** + * <p>Specifies the Region where the bucket will be created. If you don't specify a + * Region, the bucket is created in the US East (N. Virginia) Region + * (us-east-1).</p> + */ + inline void SetLocationConstraint(const BucketLocationConstraint& value) { m_locationConstraintHasBeenSet = true; m_locationConstraint = value; } + + /** + * <p>Specifies the Region where the bucket will be created. If you don't specify a + * Region, the bucket is created in the US East (N. Virginia) Region + * (us-east-1).</p> + */ + inline void SetLocationConstraint(BucketLocationConstraint&& value) { m_locationConstraintHasBeenSet = true; m_locationConstraint = std::move(value); } + + /** + * <p>Specifies the Region where the bucket will be created. If you don't specify a + * Region, the bucket is created in the US East (N. Virginia) Region + * (us-east-1).</p> + */ + inline CreateBucketConfiguration& WithLocationConstraint(const BucketLocationConstraint& value) { SetLocationConstraint(value); return *this;} + + /** + * <p>Specifies the Region where the bucket will be created. If you don't specify a + * Region, the bucket is created in the US East (N. Virginia) Region + * (us-east-1).</p> + */ + inline CreateBucketConfiguration& WithLocationConstraint(BucketLocationConstraint&& value) { SetLocationConstraint(std::move(value)); return *this;} + + private: + + BucketLocationConstraint m_locationConstraint; + bool m_locationConstraintHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h new file mode 100644 index 0000000000..ab18fd2bb7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketRequest.h @@ -0,0 +1,461 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/s3/model/BucketCannedACL.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/CreateBucketConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API CreateBucketRequest : public S3Request + { + public: + CreateBucketRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateBucket"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline const BucketCannedACL& GetACL() const{ return m_aCL; } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline void SetACL(const BucketCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline void SetACL(BucketCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline CreateBucketRequest& WithACL(const BucketCannedACL& value) { SetACL(value); return *this;} + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline CreateBucketRequest& WithACL(BucketCannedACL&& value) { SetACL(std::move(value)); return *this;} + + + /** + * <p>The name of the bucket to create.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to create.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket to create.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket to create.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to create.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket to create.</p> + */ + inline CreateBucketRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to create.</p> + */ + inline CreateBucketRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to create.</p> + */ + inline CreateBucketRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The configuration information for the bucket.</p> + */ + inline const CreateBucketConfiguration& GetCreateBucketConfiguration() const{ return m_createBucketConfiguration; } + + /** + * <p>The configuration information for the bucket.</p> + */ + inline bool CreateBucketConfigurationHasBeenSet() const { return m_createBucketConfigurationHasBeenSet; } + + /** + * <p>The configuration information for the bucket.</p> + */ + inline void SetCreateBucketConfiguration(const CreateBucketConfiguration& value) { m_createBucketConfigurationHasBeenSet = true; m_createBucketConfiguration = value; } + + /** + * <p>The configuration information for the bucket.</p> + */ + inline void SetCreateBucketConfiguration(CreateBucketConfiguration&& value) { m_createBucketConfigurationHasBeenSet = true; m_createBucketConfiguration = std::move(value); } + + /** + * <p>The configuration information for the bucket.</p> + */ + inline CreateBucketRequest& WithCreateBucketConfiguration(const CreateBucketConfiguration& value) { SetCreateBucketConfiguration(value); return *this;} + + /** + * <p>The configuration information for the bucket.</p> + */ + inline CreateBucketRequest& WithCreateBucketConfiguration(CreateBucketConfiguration&& value) { SetCreateBucketConfiguration(std::move(value)); return *this;} + + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline CreateBucketRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;} + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline CreateBucketRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;} + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline CreateBucketRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;} + + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline const Aws::String& GetGrantRead() const{ return m_grantRead; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline CreateBucketRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;} + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline CreateBucketRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;} + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline CreateBucketRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;} + + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline CreateBucketRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;} + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline CreateBucketRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline CreateBucketRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;} + + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline CreateBucketRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;} + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline CreateBucketRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;} + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline CreateBucketRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;} + + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline CreateBucketRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline CreateBucketRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline CreateBucketRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;} + + + /** + * <p>Specifies whether you want S3 Object Lock to be enabled for the new + * bucket.</p> + */ + inline bool GetObjectLockEnabledForBucket() const{ return m_objectLockEnabledForBucket; } + + /** + * <p>Specifies whether you want S3 Object Lock to be enabled for the new + * bucket.</p> + */ + inline bool ObjectLockEnabledForBucketHasBeenSet() const { return m_objectLockEnabledForBucketHasBeenSet; } + + /** + * <p>Specifies whether you want S3 Object Lock to be enabled for the new + * bucket.</p> + */ + inline void SetObjectLockEnabledForBucket(bool value) { m_objectLockEnabledForBucketHasBeenSet = true; m_objectLockEnabledForBucket = value; } + + /** + * <p>Specifies whether you want S3 Object Lock to be enabled for the new + * bucket.</p> + */ + inline CreateBucketRequest& WithObjectLockEnabledForBucket(bool value) { SetObjectLockEnabledForBucket(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline CreateBucketRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline CreateBucketRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline CreateBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline CreateBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CreateBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CreateBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline CreateBucketRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CreateBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CreateBucketRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + BucketCannedACL m_aCL; + bool m_aCLHasBeenSet; + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + CreateBucketConfiguration m_createBucketConfiguration; + bool m_createBucketConfigurationHasBeenSet; + + Aws::String m_grantFullControl; + bool m_grantFullControlHasBeenSet; + + Aws::String m_grantRead; + bool m_grantReadHasBeenSet; + + Aws::String m_grantReadACP; + bool m_grantReadACPHasBeenSet; + + Aws::String m_grantWrite; + bool m_grantWriteHasBeenSet; + + Aws::String m_grantWriteACP; + bool m_grantWriteACPHasBeenSet; + + bool m_objectLockEnabledForBucket; + bool m_objectLockEnabledForBucketHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h new file mode 100644 index 0000000000..fb29599179 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateBucketResult.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API CreateBucketResult + { + public: + CreateBucketResult(); + CreateBucketResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + CreateBucketResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies the Region where the bucket will be created. If you are creating a + * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to + * specify the location.</p> + */ + inline const Aws::String& GetLocation() const{ return m_location; } + + /** + * <p>Specifies the Region where the bucket will be created. If you are creating a + * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to + * specify the location.</p> + */ + inline void SetLocation(const Aws::String& value) { m_location = value; } + + /** + * <p>Specifies the Region where the bucket will be created. If you are creating a + * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to + * specify the location.</p> + */ + inline void SetLocation(Aws::String&& value) { m_location = std::move(value); } + + /** + * <p>Specifies the Region where the bucket will be created. If you are creating a + * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to + * specify the location.</p> + */ + inline void SetLocation(const char* value) { m_location.assign(value); } + + /** + * <p>Specifies the Region where the bucket will be created. If you are creating a + * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to + * specify the location.</p> + */ + inline CreateBucketResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} + + /** + * <p>Specifies the Region where the bucket will be created. If you are creating a + * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to + * specify the location.</p> + */ + inline CreateBucketResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} + + /** + * <p>Specifies the Region where the bucket will be created. If you are creating a + * bucket on the US East (N. Virginia) Region (us-east-1), you do not need to + * specify the location.</p> + */ + inline CreateBucketResult& WithLocation(const char* value) { SetLocation(value); return *this;} + + private: + + Aws::String m_location; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h new file mode 100644 index 0000000000..0a5608dff5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadRequest.h @@ -0,0 +1,1709 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/s3/model/ObjectCannedACL.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ObjectLockMode.h> +#include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API CreateMultipartUploadRequest : public S3Request + { + public: + CreateMultipartUploadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateMultipartUpload"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline const ObjectCannedACL& GetACL() const{ return m_aCL; } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetACL(const ObjectCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetACL(ObjectCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); } + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithACL(const ObjectCannedACL& value) { SetACL(value); return *this;} + + /** + * <p>The canned ACL to apply to the object.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithACL(ObjectCannedACL&& value) { SetACL(std::move(value)); return *this;} + + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which to initiate the upload</p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const Aws::String& value) { m_cacheControlHasBeenSet = true; m_cacheControl = value; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(Aws::String&& value) { m_cacheControlHasBeenSet = true; m_cacheControl = std::move(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const char* value) { m_cacheControlHasBeenSet = true; m_cacheControl.assign(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline CreateMultipartUploadRequest& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline CreateMultipartUploadRequest& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline CreateMultipartUploadRequest& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const Aws::String& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = value; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(Aws::String&& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = std::move(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const char* value) { m_contentDispositionHasBeenSet = true; m_contentDisposition.assign(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline CreateMultipartUploadRequest& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline CreateMultipartUploadRequest& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline CreateMultipartUploadRequest& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;} + + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const Aws::String& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = value; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(Aws::String&& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = std::move(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const char* value) { m_contentEncodingHasBeenSet = true; m_contentEncoding.assign(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline CreateMultipartUploadRequest& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline CreateMultipartUploadRequest& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline CreateMultipartUploadRequest& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;} + + + /** + * <p>The language the content is in.</p> + */ + inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; } + + /** + * <p>The language the content is in.</p> + */ + inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const Aws::String& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = value; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(Aws::String&& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = std::move(value); } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const char* value) { m_contentLanguageHasBeenSet = true; m_contentLanguage.assign(value); } + + /** + * <p>The language the content is in.</p> + */ + inline CreateMultipartUploadRequest& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline CreateMultipartUploadRequest& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline CreateMultipartUploadRequest& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;} + + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline const Aws::String& GetContentType() const{ return m_contentType; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline CreateMultipartUploadRequest& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline CreateMultipartUploadRequest& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline CreateMultipartUploadRequest& WithContentType(const char* value) { SetContentType(value); return *this;} + + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(const Aws::Utils::DateTime& value) { m_expiresHasBeenSet = true; m_expires = value; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(Aws::Utils::DateTime&& value) { m_expiresHasBeenSet = true; m_expires = std::move(value); } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline CreateMultipartUploadRequest& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;} + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline CreateMultipartUploadRequest& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;} + + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;} + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;} + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;} + + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantRead() const{ return m_grantRead; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;} + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;} + + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;} + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;} + + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline CreateMultipartUploadRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;} + + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline CreateMultipartUploadRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline CreateMultipartUploadRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the multipart upload is to be initiated.</p> + */ + inline CreateMultipartUploadRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadataHasBeenSet = true; m_metadata = value; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline CreateMultipartUploadRequest& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CreateMultipartUploadRequest& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CreateMultipartUploadRequest& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline const Aws::String& GetWebsiteRedirectLocation() const{ return m_websiteRedirectLocation; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline bool WebsiteRedirectLocationHasBeenSet() const { return m_websiteRedirectLocationHasBeenSet; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const Aws::String& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = value; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(Aws::String&& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = std::move(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const char* value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation.assign(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline CreateMultipartUploadRequest& WithWebsiteRedirectLocation(const Aws::String& value) { SetWebsiteRedirectLocation(value); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline CreateMultipartUploadRequest& WithWebsiteRedirectLocation(Aws::String&& value) { SetWebsiteRedirectLocation(std::move(value)); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline CreateMultipartUploadRequest& WithWebsiteRedirectLocation(const char* value) { SetWebsiteRedirectLocation(value); return *this;} + + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline CreateMultipartUploadRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>Specifies the ID of the symmetric customer managed AWS KMS CMK to use for + * object encryption. All GET and PUT requests for an object protected by AWS KMS + * will fail if not made via SSL or using SigV4. For information about configuring + * using any of the officially supported AWS SDKs and AWS CLI, see <a + * href="https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying + * the Signature Version in Request Authentication</a> in the <i>Amazon S3 + * Developer Guide</i>.</p> + */ + inline CreateMultipartUploadRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} + + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with an object operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with an object operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with an object operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with an object operation doesn’t + * affect bucket-level settings for S3 Bucket Key.</p> + */ + inline CreateMultipartUploadRequest& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline CreateMultipartUploadRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline CreateMultipartUploadRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline const Aws::String& GetTagging() const{ return m_tagging; } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline void SetTagging(const Aws::String& value) { m_taggingHasBeenSet = true; m_tagging = value; } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline void SetTagging(Aws::String&& value) { m_taggingHasBeenSet = true; m_tagging = std::move(value); } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline void SetTagging(const char* value) { m_taggingHasBeenSet = true; m_tagging.assign(value); } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline CreateMultipartUploadRequest& WithTagging(const Aws::String& value) { SetTagging(value); return *this;} + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline CreateMultipartUploadRequest& WithTagging(Aws::String&& value) { SetTagging(std::move(value)); return *this;} + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters.</p> + */ + inline CreateMultipartUploadRequest& WithTagging(const char* value) { SetTagging(value); return *this;} + + + /** + * <p>Specifies the Object Lock mode that you want to apply to the uploaded + * object.</p> + */ + inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; } + + /** + * <p>Specifies the Object Lock mode that you want to apply to the uploaded + * object.</p> + */ + inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; } + + /** + * <p>Specifies the Object Lock mode that you want to apply to the uploaded + * object.</p> + */ + inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = value; } + + /** + * <p>Specifies the Object Lock mode that you want to apply to the uploaded + * object.</p> + */ + inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = std::move(value); } + + /** + * <p>Specifies the Object Lock mode that you want to apply to the uploaded + * object.</p> + */ + inline CreateMultipartUploadRequest& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;} + + /** + * <p>Specifies the Object Lock mode that you want to apply to the uploaded + * object.</p> + */ + inline CreateMultipartUploadRequest& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;} + + + /** + * <p>Specifies the date and time when you want the Object Lock to expire.</p> + */ + inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } + + /** + * <p>Specifies the date and time when you want the Object Lock to expire.</p> + */ + inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; } + + /** + * <p>Specifies the date and time when you want the Object Lock to expire.</p> + */ + inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = value; } + + /** + * <p>Specifies the date and time when you want the Object Lock to expire.</p> + */ + inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::move(value); } + + /** + * <p>Specifies the date and time when you want the Object Lock to expire.</p> + */ + inline CreateMultipartUploadRequest& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} + + /** + * <p>Specifies the date and time when you want the Object Lock to expire.</p> + */ + inline CreateMultipartUploadRequest& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} + + + /** + * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + */ + inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + */ + inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + */ + inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + */ + inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); } + + /** + * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + */ + inline CreateMultipartUploadRequest& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} + + /** + * <p>Specifies whether you want to apply a Legal Hold to the uploaded object.</p> + */ + inline CreateMultipartUploadRequest& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline CreateMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline CreateMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline CreateMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline CreateMultipartUploadRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline CreateMultipartUploadRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + ObjectCannedACL m_aCL; + bool m_aCLHasBeenSet; + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_cacheControl; + bool m_cacheControlHasBeenSet; + + Aws::String m_contentDisposition; + bool m_contentDispositionHasBeenSet; + + Aws::String m_contentEncoding; + bool m_contentEncodingHasBeenSet; + + Aws::String m_contentLanguage; + bool m_contentLanguageHasBeenSet; + + Aws::String m_contentType; + bool m_contentTypeHasBeenSet; + + Aws::Utils::DateTime m_expires; + bool m_expiresHasBeenSet; + + Aws::String m_grantFullControl; + bool m_grantFullControlHasBeenSet; + + Aws::String m_grantRead; + bool m_grantReadHasBeenSet; + + Aws::String m_grantReadACP; + bool m_grantReadACPHasBeenSet; + + Aws::String m_grantWriteACP; + bool m_grantWriteACPHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_metadata; + bool m_metadataHasBeenSet; + + ServerSideEncryption m_serverSideEncryption; + bool m_serverSideEncryptionHasBeenSet; + + StorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + Aws::String m_websiteRedirectLocation; + bool m_websiteRedirectLocationHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + Aws::String m_sSEKMSKeyId; + bool m_sSEKMSKeyIdHasBeenSet; + + Aws::String m_sSEKMSEncryptionContext; + bool m_sSEKMSEncryptionContextHasBeenSet; + + bool m_bucketKeyEnabled; + bool m_bucketKeyEnabledHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_tagging; + bool m_taggingHasBeenSet; + + ObjectLockMode m_objectLockMode; + bool m_objectLockModeHasBeenSet; + + Aws::Utils::DateTime m_objectLockRetainUntilDate; + bool m_objectLockRetainUntilDateHasBeenSet; + + ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; + bool m_objectLockLegalHoldStatusHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h new file mode 100644 index 0000000000..f4692da0e8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/CreateMultipartUploadResult.h @@ -0,0 +1,687 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API CreateMultipartUploadResult + { + public: + CreateMultipartUploadResult(); + CreateMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + CreateMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, the response includes this header. The header + * indicates when the initiated multipart upload becomes eligible for an abort + * operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> + * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that + * provides the ID of the lifecycle configuration rule that defines this + * action.</p> + */ + inline const Aws::Utils::DateTime& GetAbortDate() const{ return m_abortDate; } + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, the response includes this header. The header + * indicates when the initiated multipart upload becomes eligible for an abort + * operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> + * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that + * provides the ID of the lifecycle configuration rule that defines this + * action.</p> + */ + inline void SetAbortDate(const Aws::Utils::DateTime& value) { m_abortDate = value; } + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, the response includes this header. The header + * indicates when the initiated multipart upload becomes eligible for an abort + * operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> + * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that + * provides the ID of the lifecycle configuration rule that defines this + * action.</p> + */ + inline void SetAbortDate(Aws::Utils::DateTime&& value) { m_abortDate = std::move(value); } + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, the response includes this header. The header + * indicates when the initiated multipart upload becomes eligible for an abort + * operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> + * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that + * provides the ID of the lifecycle configuration rule that defines this + * action.</p> + */ + inline CreateMultipartUploadResult& WithAbortDate(const Aws::Utils::DateTime& value) { SetAbortDate(value); return *this;} + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, the response includes this header. The header + * indicates when the initiated multipart upload becomes eligible for an abort + * operation. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> + * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> + * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that + * provides the ID of the lifecycle configuration rule that defines this + * action.</p> + */ + inline CreateMultipartUploadResult& WithAbortDate(Aws::Utils::DateTime&& value) { SetAbortDate(std::move(value)); return *this;} + + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies the applicable lifecycle configuration rule that defines the + * action to abort incomplete multipart uploads.</p> + */ + inline const Aws::String& GetAbortRuleId() const{ return m_abortRuleId; } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies the applicable lifecycle configuration rule that defines the + * action to abort incomplete multipart uploads.</p> + */ + inline void SetAbortRuleId(const Aws::String& value) { m_abortRuleId = value; } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies the applicable lifecycle configuration rule that defines the + * action to abort incomplete multipart uploads.</p> + */ + inline void SetAbortRuleId(Aws::String&& value) { m_abortRuleId = std::move(value); } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies the applicable lifecycle configuration rule that defines the + * action to abort incomplete multipart uploads.</p> + */ + inline void SetAbortRuleId(const char* value) { m_abortRuleId.assign(value); } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies the applicable lifecycle configuration rule that defines the + * action to abort incomplete multipart uploads.</p> + */ + inline CreateMultipartUploadResult& WithAbortRuleId(const Aws::String& value) { SetAbortRuleId(value); return *this;} + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies the applicable lifecycle configuration rule that defines the + * action to abort incomplete multipart uploads.</p> + */ + inline CreateMultipartUploadResult& WithAbortRuleId(Aws::String&& value) { SetAbortRuleId(std::move(value)); return *this;} + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies the applicable lifecycle configuration rule that defines the + * action to abort incomplete multipart uploads.</p> + */ + inline CreateMultipartUploadResult& WithAbortRuleId(const char* value) { SetAbortRuleId(value); return *this;} + + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucket = value; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CreateMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CreateMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline CreateMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_key = value; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_key = std::move(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_key.assign(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline CreateMultipartUploadResult& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline CreateMultipartUploadResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline CreateMultipartUploadResult& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadId = value; } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadId = std::move(value); } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline void SetUploadId(const char* value) { m_uploadId.assign(value); } + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline CreateMultipartUploadResult& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline CreateMultipartUploadResult& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>ID for the initiated multipart upload.</p> + */ + inline CreateMultipartUploadResult& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CreateMultipartUploadResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline CreateMultipartUploadResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CreateMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CreateMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline CreateMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} + + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline CreateMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline CreateMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline CreateMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_abortDate; + + Aws::String m_abortRuleId; + + Aws::String m_bucket; + + Aws::String m_key; + + Aws::String m_uploadId; + + ServerSideEncryption m_serverSideEncryption; + + Aws::String m_sSECustomerAlgorithm; + + Aws::String m_sSECustomerKeyMD5; + + Aws::String m_sSEKMSKeyId; + + Aws::String m_sSEKMSEncryptionContext; + + bool m_bucketKeyEnabled; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h new file mode 100644 index 0000000000..a8e3c5db65 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DefaultRetention.h @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectLockRetentionMode.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The container element for specifying the default Object Lock retention + * settings for new objects placed in the specified bucket.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DefaultRetention">AWS + * API Reference</a></p> + */ + class AWS_S3_API DefaultRetention + { + public: + DefaultRetention(); + DefaultRetention(const Aws::Utils::Xml::XmlNode& xmlNode); + DefaultRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The default Object Lock retention mode you want to apply to new objects + * placed in the specified bucket.</p> + */ + inline const ObjectLockRetentionMode& GetMode() const{ return m_mode; } + + /** + * <p>The default Object Lock retention mode you want to apply to new objects + * placed in the specified bucket.</p> + */ + inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } + + /** + * <p>The default Object Lock retention mode you want to apply to new objects + * placed in the specified bucket.</p> + */ + inline void SetMode(const ObjectLockRetentionMode& value) { m_modeHasBeenSet = true; m_mode = value; } + + /** + * <p>The default Object Lock retention mode you want to apply to new objects + * placed in the specified bucket.</p> + */ + inline void SetMode(ObjectLockRetentionMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } + + /** + * <p>The default Object Lock retention mode you want to apply to new objects + * placed in the specified bucket.</p> + */ + inline DefaultRetention& WithMode(const ObjectLockRetentionMode& value) { SetMode(value); return *this;} + + /** + * <p>The default Object Lock retention mode you want to apply to new objects + * placed in the specified bucket.</p> + */ + inline DefaultRetention& WithMode(ObjectLockRetentionMode&& value) { SetMode(std::move(value)); return *this;} + + + /** + * <p>The number of days that you want to specify for the default retention + * period.</p> + */ + inline int GetDays() const{ return m_days; } + + /** + * <p>The number of days that you want to specify for the default retention + * period.</p> + */ + inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; } + + /** + * <p>The number of days that you want to specify for the default retention + * period.</p> + */ + inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; } + + /** + * <p>The number of days that you want to specify for the default retention + * period.</p> + */ + inline DefaultRetention& WithDays(int value) { SetDays(value); return *this;} + + + /** + * <p>The number of years that you want to specify for the default retention + * period.</p> + */ + inline int GetYears() const{ return m_years; } + + /** + * <p>The number of years that you want to specify for the default retention + * period.</p> + */ + inline bool YearsHasBeenSet() const { return m_yearsHasBeenSet; } + + /** + * <p>The number of years that you want to specify for the default retention + * period.</p> + */ + inline void SetYears(int value) { m_yearsHasBeenSet = true; m_years = value; } + + /** + * <p>The number of years that you want to specify for the default retention + * period.</p> + */ + inline DefaultRetention& WithYears(int value) { SetYears(value); return *this;} + + private: + + ObjectLockRetentionMode m_mode; + bool m_modeHasBeenSet; + + int m_days; + bool m_daysHasBeenSet; + + int m_years; + bool m_yearsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h new file mode 100644 index 0000000000..c40ac3062a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Delete.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/ObjectIdentifier.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the objects to delete.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Delete">AWS API + * Reference</a></p> + */ + class AWS_S3_API Delete + { + public: + Delete(); + Delete(const Aws::Utils::Xml::XmlNode& xmlNode); + Delete& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The objects to delete.</p> + */ + inline const Aws::Vector<ObjectIdentifier>& GetObjects() const{ return m_objects; } + + /** + * <p>The objects to delete.</p> + */ + inline bool ObjectsHasBeenSet() const { return m_objectsHasBeenSet; } + + /** + * <p>The objects to delete.</p> + */ + inline void SetObjects(const Aws::Vector<ObjectIdentifier>& value) { m_objectsHasBeenSet = true; m_objects = value; } + + /** + * <p>The objects to delete.</p> + */ + inline void SetObjects(Aws::Vector<ObjectIdentifier>&& value) { m_objectsHasBeenSet = true; m_objects = std::move(value); } + + /** + * <p>The objects to delete.</p> + */ + inline Delete& WithObjects(const Aws::Vector<ObjectIdentifier>& value) { SetObjects(value); return *this;} + + /** + * <p>The objects to delete.</p> + */ + inline Delete& WithObjects(Aws::Vector<ObjectIdentifier>&& value) { SetObjects(std::move(value)); return *this;} + + /** + * <p>The objects to delete.</p> + */ + inline Delete& AddObjects(const ObjectIdentifier& value) { m_objectsHasBeenSet = true; m_objects.push_back(value); return *this; } + + /** + * <p>The objects to delete.</p> + */ + inline Delete& AddObjects(ObjectIdentifier&& value) { m_objectsHasBeenSet = true; m_objects.push_back(std::move(value)); return *this; } + + + /** + * <p>Element to enable quiet mode for the request. When you add this element, you + * must set its value to true.</p> + */ + inline bool GetQuiet() const{ return m_quiet; } + + /** + * <p>Element to enable quiet mode for the request. When you add this element, you + * must set its value to true.</p> + */ + inline bool QuietHasBeenSet() const { return m_quietHasBeenSet; } + + /** + * <p>Element to enable quiet mode for the request. When you add this element, you + * must set its value to true.</p> + */ + inline void SetQuiet(bool value) { m_quietHasBeenSet = true; m_quiet = value; } + + /** + * <p>Element to enable quiet mode for the request. When you add this element, you + * must set its value to true.</p> + */ + inline Delete& WithQuiet(bool value) { SetQuiet(value); return *this;} + + private: + + Aws::Vector<ObjectIdentifier> m_objects; + bool m_objectsHasBeenSet; + + bool m_quiet; + bool m_quietHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h new file mode 100644 index 0000000000..c1c6240f43 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketAnalyticsConfigurationRequest.h @@ -0,0 +1,239 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketAnalyticsConfigurationRequest : public S3Request + { + public: + DeleteBucketAnalyticsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketAnalyticsConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket from which an analytics configuration is deleted.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h new file mode 100644 index 0000000000..6fecd43b08 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketCorsRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketCorsRequest : public S3Request + { + public: + DeleteBucketCorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketCors"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline DeleteBucketCorsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline DeleteBucketCorsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>Specifies the bucket whose <code>cors</code> configuration is being + * deleted.</p> + */ + inline DeleteBucketCorsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketCorsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketCorsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h new file mode 100644 index 0000000000..38740e4b41 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketEncryptionRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketEncryptionRequest : public S3Request + { + public: + DeleteBucketEncryptionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketEncryption"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline DeleteBucketEncryptionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline DeleteBucketEncryptionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the server-side encryption configuration to + * delete.</p> + */ + inline DeleteBucketEncryptionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketEncryptionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketEncryptionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h new file mode 100644 index 0000000000..7beaad6ec9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h @@ -0,0 +1,185 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketIntelligentTieringConfigurationRequest : public S3Request + { + public: + DeleteBucketIntelligentTieringConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketIntelligentTieringConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline DeleteBucketIntelligentTieringConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline DeleteBucketIntelligentTieringConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline DeleteBucketIntelligentTieringConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline DeleteBucketIntelligentTieringConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline DeleteBucketIntelligentTieringConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline DeleteBucketIntelligentTieringConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h new file mode 100644 index 0000000000..09d13f4a8b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketInventoryConfigurationRequest.h @@ -0,0 +1,239 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketInventoryConfigurationRequest : public S3Request + { + public: + DeleteBucketInventoryConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketInventoryConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the inventory configuration to delete.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h new file mode 100644 index 0000000000..758f523153 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketLifecycleRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketLifecycleRequest : public S3Request + { + public: + DeleteBucketLifecycleRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketLifecycle"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline DeleteBucketLifecycleRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline DeleteBucketLifecycleRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name of the lifecycle to delete.</p> + */ + inline DeleteBucketLifecycleRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketLifecycleRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketLifecycleRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h new file mode 100644 index 0000000000..18bbf7cdb6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketMetricsConfigurationRequest.h @@ -0,0 +1,239 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketMetricsConfigurationRequest : public S3Request + { + public: + DeleteBucketMetricsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketMetricsConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the metrics configuration to delete.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h new file mode 100644 index 0000000000..69f529f94b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketOwnershipControlsRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketOwnershipControlsRequest : public S3Request + { + public: + DeleteBucketOwnershipControlsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketOwnershipControls"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline DeleteBucketOwnershipControlsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline DeleteBucketOwnershipControlsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete. + * </p> + */ + inline DeleteBucketOwnershipControlsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h new file mode 100644 index 0000000000..3b2dfe5976 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketPolicyRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketPolicyRequest : public S3Request + { + public: + DeleteBucketPolicyRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketPolicy"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name.</p> + */ + inline DeleteBucketPolicyRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline DeleteBucketPolicyRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline DeleteBucketPolicyRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketPolicyRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketPolicyRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h new file mode 100644 index 0000000000..311a97bdea --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketReplicationRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketReplicationRequest : public S3Request + { + public: + DeleteBucketReplicationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketReplication"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p> The bucket name. </p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p> The bucket name. </p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p> The bucket name. </p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p> The bucket name. </p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p> The bucket name. </p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p> The bucket name. </p> + */ + inline DeleteBucketReplicationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p> The bucket name. </p> + */ + inline DeleteBucketReplicationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p> The bucket name. </p> + */ + inline DeleteBucketReplicationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketReplicationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketReplicationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h new file mode 100644 index 0000000000..08950393ce --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketRequest : public S3Request + { + public: + DeleteBucketRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucket"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline DeleteBucketRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline DeleteBucketRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>Specifies the bucket being deleted.</p> + */ + inline DeleteBucketRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h new file mode 100644 index 0000000000..7640c5bac2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketTaggingRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketTaggingRequest : public S3Request + { + public: + DeleteBucketTaggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketTagging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline DeleteBucketTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline DeleteBucketTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket that has the tag set to be removed.</p> + */ + inline DeleteBucketTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h new file mode 100644 index 0000000000..36e31f1865 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketWebsiteRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteBucketWebsiteRequest : public S3Request + { + public: + DeleteBucketWebsiteRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketWebsite"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline DeleteBucketWebsiteRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline DeleteBucketWebsiteRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name for which you want to remove the website configuration. </p> + */ + inline DeleteBucketWebsiteRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteBucketWebsiteRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteBucketWebsiteRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h new file mode 100644 index 0000000000..60ee780db6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerEntry.h @@ -0,0 +1,230 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Owner.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Information about the delete marker.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerEntry">AWS + * API Reference</a></p> + */ + class AWS_S3_API DeleteMarkerEntry + { + public: + DeleteMarkerEntry(); + DeleteMarkerEntry(const Aws::Utils::Xml::XmlNode& xmlNode); + DeleteMarkerEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The account that created the delete marker.></p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p>The account that created the delete marker.></p> + */ + inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } + + /** + * <p>The account that created the delete marker.></p> + */ + inline void SetOwner(const Owner& value) { m_ownerHasBeenSet = true; m_owner = value; } + + /** + * <p>The account that created the delete marker.></p> + */ + inline void SetOwner(Owner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } + + /** + * <p>The account that created the delete marker.></p> + */ + inline DeleteMarkerEntry& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p>The account that created the delete marker.></p> + */ + inline DeleteMarkerEntry& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + + /** + * <p>The object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The object key.</p> + */ + inline DeleteMarkerEntry& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key.</p> + */ + inline DeleteMarkerEntry& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key.</p> + */ + inline DeleteMarkerEntry& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Version ID of an object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Version ID of an object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>Version ID of an object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>Version ID of an object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>Version ID of an object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>Version ID of an object.</p> + */ + inline DeleteMarkerEntry& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Version ID of an object.</p> + */ + inline DeleteMarkerEntry& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Version ID of an object.</p> + */ + inline DeleteMarkerEntry& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline bool GetIsLatest() const{ return m_isLatest; } + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline bool IsLatestHasBeenSet() const { return m_isLatestHasBeenSet; } + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline void SetIsLatest(bool value) { m_isLatestHasBeenSet = true; m_isLatest = value; } + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline DeleteMarkerEntry& WithIsLatest(bool value) { SetIsLatest(value); return *this;} + + + /** + * <p>Date and time the object was last modified.</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline DeleteMarkerEntry& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>Date and time the object was last modified.</p> + */ + inline DeleteMarkerEntry& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + private: + + Owner m_owner; + bool m_ownerHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + bool m_isLatest; + bool m_isLatestHasBeenSet; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h new file mode 100644 index 0000000000..fdaecb8346 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplication.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/DeleteMarkerReplicationStatus.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies whether Amazon S3 replicates delete markers. If you specify a + * <code>Filter</code> in your replication configuration, you must also include a + * <code>DeleteMarkerReplication</code> element. If your <code>Filter</code> + * includes a <code>Tag</code> element, the <code>DeleteMarkerReplication</code> + * <code>Status</code> must be set to Disabled, because Amazon S3 does not support + * replicating delete markers for tag-based rules. For an example configuration, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config">Basic + * Rule Configuration</a>. </p> <p>For more information about delete marker + * replication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html">Basic + * Rule Configuration</a>. </p> <p>If you are using an earlier version of + * the replication configuration, Amazon S3 handles replication of delete markers + * differently. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward + * Compatibility</a>.</p> <p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerReplication">AWS + * API Reference</a></p> + */ + class AWS_S3_API DeleteMarkerReplication + { + public: + DeleteMarkerReplication(); + DeleteMarkerReplication(const Aws::Utils::Xml::XmlNode& xmlNode); + DeleteMarkerReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Indicates whether to replicate delete markers.</p> <p>Indicates + * whether to replicate delete markers.</p> + */ + inline const DeleteMarkerReplicationStatus& GetStatus() const{ return m_status; } + + /** + * <p>Indicates whether to replicate delete markers.</p> <p>Indicates + * whether to replicate delete markers.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>Indicates whether to replicate delete markers.</p> <p>Indicates + * whether to replicate delete markers.</p> + */ + inline void SetStatus(const DeleteMarkerReplicationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>Indicates whether to replicate delete markers.</p> <p>Indicates + * whether to replicate delete markers.</p> + */ + inline void SetStatus(DeleteMarkerReplicationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>Indicates whether to replicate delete markers.</p> <p>Indicates + * whether to replicate delete markers.</p> + */ + inline DeleteMarkerReplication& WithStatus(const DeleteMarkerReplicationStatus& value) { SetStatus(value); return *this;} + + /** + * <p>Indicates whether to replicate delete markers.</p> <p>Indicates + * whether to replicate delete markers.</p> + */ + inline DeleteMarkerReplication& WithStatus(DeleteMarkerReplicationStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + DeleteMarkerReplicationStatus m_status; + bool m_statusHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplicationStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplicationStatus.h new file mode 100644 index 0000000000..f26f0df2ac --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteMarkerReplicationStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class DeleteMarkerReplicationStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace DeleteMarkerReplicationStatusMapper +{ +AWS_S3_API DeleteMarkerReplicationStatus GetDeleteMarkerReplicationStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForDeleteMarkerReplicationStatus(DeleteMarkerReplicationStatus value); +} // namespace DeleteMarkerReplicationStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h new file mode 100644 index 0000000000..fbed182fb6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectRequest.h @@ -0,0 +1,546 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteObjectRequest : public S3Request + { + public: + DeleteObjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteObject"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name of the bucket containing the object. </p> <p>When using this + * API with an access point, you must direct requests to the access point hostname. + * The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Key name of the object to delete.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Key name of the object to delete.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Key name of the object to delete.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Key name of the object to delete.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Key name of the object to delete.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Key name of the object to delete.</p> + */ + inline DeleteObjectRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Key name of the object to delete.</p> + */ + inline DeleteObjectRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Key name of the object to delete.</p> + */ + inline DeleteObjectRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline const Aws::String& GetMFA() const{ return m_mFA; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline bool MFAHasBeenSet() const { return m_mFAHasBeenSet; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline void SetMFA(const Aws::String& value) { m_mFAHasBeenSet = true; m_mFA = value; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline void SetMFA(Aws::String&& value) { m_mFAHasBeenSet = true; m_mFA = std::move(value); } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline void SetMFA(const char* value) { m_mFAHasBeenSet = true; m_mFA.assign(value); } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline DeleteObjectRequest& WithMFA(const Aws::String& value) { SetMFA(value); return *this;} + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline DeleteObjectRequest& WithMFA(Aws::String&& value) { SetMFA(std::move(value)); return *this;} + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline DeleteObjectRequest& WithMFA(const char* value) { SetMFA(value); return *this;} + + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline DeleteObjectRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline DeleteObjectRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline DeleteObjectRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline DeleteObjectRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline DeleteObjectRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions + * to process this operation.</p> + */ + inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; } + + /** + * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions + * to process this operation.</p> + */ + inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; } + + /** + * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions + * to process this operation.</p> + */ + inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; } + + /** + * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions + * to process this operation.</p> + */ + inline DeleteObjectRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteObjectRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteObjectRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteObjectRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteObjectRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_mFA; + bool m_mFAHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + bool m_bypassGovernanceRetention; + bool m_bypassGovernanceRetentionHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h new file mode 100644 index 0000000000..15a886bf11 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectResult.h @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API DeleteObjectResult + { + public: + DeleteObjectResult(); + DeleteObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + DeleteObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies whether the versioned object that was permanently deleted was + * (true) or was not (false) a delete marker.</p> + */ + inline bool GetDeleteMarker() const{ return m_deleteMarker; } + + /** + * <p>Specifies whether the versioned object that was permanently deleted was + * (true) or was not (false) a delete marker.</p> + */ + inline void SetDeleteMarker(bool value) { m_deleteMarker = value; } + + /** + * <p>Specifies whether the versioned object that was permanently deleted was + * (true) or was not (false) a delete marker.</p> + */ + inline DeleteObjectResult& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;} + + + /** + * <p>Returns the version ID of the delete marker created as a result of the DELETE + * operation.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Returns the version ID of the delete marker created as a result of the DELETE + * operation.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>Returns the version ID of the delete marker created as a result of the DELETE + * operation.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>Returns the version ID of the delete marker created as a result of the DELETE + * operation.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>Returns the version ID of the delete marker created as a result of the DELETE + * operation.</p> + */ + inline DeleteObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Returns the version ID of the delete marker created as a result of the DELETE + * operation.</p> + */ + inline DeleteObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Returns the version ID of the delete marker created as a result of the DELETE + * operation.</p> + */ + inline DeleteObjectResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline DeleteObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline DeleteObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + bool m_deleteMarker; + + Aws::String m_versionId; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h new file mode 100644 index 0000000000..5122ee920f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingRequest.h @@ -0,0 +1,427 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteObjectTaggingRequest : public S3Request + { + public: + DeleteObjectTaggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteObjectTagging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the objects from which to remove the tags. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Name of the object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Name of the object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Name of the object key.</p> + */ + inline DeleteObjectTaggingRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Name of the object key.</p> + */ + inline DeleteObjectTaggingRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Name of the object key.</p> + */ + inline DeleteObjectTaggingRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline DeleteObjectTaggingRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline DeleteObjectTaggingRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The versionId of the object that the tag-set will be removed from.</p> + */ + inline DeleteObjectTaggingRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteObjectTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteObjectTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h new file mode 100644 index 0000000000..103267f221 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectTaggingResult.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API DeleteObjectTaggingResult + { + public: + DeleteObjectTaggingResult(); + DeleteObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + DeleteObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The versionId of the object the tag-set was removed from.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The versionId of the object the tag-set was removed from.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>The versionId of the object the tag-set was removed from.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>The versionId of the object the tag-set was removed from.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>The versionId of the object the tag-set was removed from.</p> + */ + inline DeleteObjectTaggingResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The versionId of the object the tag-set was removed from.</p> + */ + inline DeleteObjectTaggingResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The versionId of the object the tag-set was removed from.</p> + */ + inline DeleteObjectTaggingResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + private: + + Aws::String m_versionId; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h new file mode 100644 index 0000000000..fa8b812827 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsRequest.h @@ -0,0 +1,499 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Delete.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeleteObjectsRequest : public S3Request + { + public: + DeleteObjectsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteObjects"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the objects to delete. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline DeleteObjectsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Container for the request.</p> + */ + inline const Delete& GetDelete() const{ return m_delete; } + + /** + * <p>Container for the request.</p> + */ + inline bool DeleteHasBeenSet() const { return m_deleteHasBeenSet; } + + /** + * <p>Container for the request.</p> + */ + inline void SetDelete(const Delete& value) { m_deleteHasBeenSet = true; m_delete = value; } + + /** + * <p>Container for the request.</p> + */ + inline void SetDelete(Delete&& value) { m_deleteHasBeenSet = true; m_delete = std::move(value); } + + /** + * <p>Container for the request.</p> + */ + inline DeleteObjectsRequest& WithDelete(const Delete& value) { SetDelete(value); return *this;} + + /** + * <p>Container for the request.</p> + */ + inline DeleteObjectsRequest& WithDelete(Delete&& value) { SetDelete(std::move(value)); return *this;} + + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline const Aws::String& GetMFA() const{ return m_mFA; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline bool MFAHasBeenSet() const { return m_mFAHasBeenSet; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline void SetMFA(const Aws::String& value) { m_mFAHasBeenSet = true; m_mFA = value; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline void SetMFA(Aws::String&& value) { m_mFAHasBeenSet = true; m_mFA = std::move(value); } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline void SetMFA(const char* value) { m_mFAHasBeenSet = true; m_mFA.assign(value); } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline DeleteObjectsRequest& WithMFA(const Aws::String& value) { SetMFA(value); return *this;} + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline DeleteObjectsRequest& WithMFA(Aws::String&& value) { SetMFA(std::move(value)); return *this;} + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device. Required to + * permanently delete a versioned object if versioning is configured with MFA + * delete enabled.</p> + */ + inline DeleteObjectsRequest& WithMFA(const char* value) { SetMFA(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline DeleteObjectsRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline DeleteObjectsRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>Specifies whether you want to delete this object even if it has a + * Governance-type Object Lock in place. You must have sufficient permissions to + * perform this operation.</p> + */ + inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; } + + /** + * <p>Specifies whether you want to delete this object even if it has a + * Governance-type Object Lock in place. You must have sufficient permissions to + * perform this operation.</p> + */ + inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; } + + /** + * <p>Specifies whether you want to delete this object even if it has a + * Governance-type Object Lock in place. You must have sufficient permissions to + * perform this operation.</p> + */ + inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; } + + /** + * <p>Specifies whether you want to delete this object even if it has a + * Governance-type Object Lock in place. You must have sufficient permissions to + * perform this operation.</p> + */ + inline DeleteObjectsRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeleteObjectsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeleteObjectsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeleteObjectsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeleteObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeleteObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Delete m_delete; + bool m_deleteHasBeenSet; + + Aws::String m_mFA; + bool m_mFAHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + bool m_bypassGovernanceRetention; + bool m_bypassGovernanceRetentionHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h new file mode 100644 index 0000000000..83c8863f5e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeleteObjectsResult.h @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/DeletedObject.h> +#include <aws/s3/model/Error.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API DeleteObjectsResult + { + public: + DeleteObjectsResult(); + DeleteObjectsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + DeleteObjectsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Container element for a successful delete. It identifies the object that was + * successfully deleted.</p> + */ + inline const Aws::Vector<DeletedObject>& GetDeleted() const{ return m_deleted; } + + /** + * <p>Container element for a successful delete. It identifies the object that was + * successfully deleted.</p> + */ + inline void SetDeleted(const Aws::Vector<DeletedObject>& value) { m_deleted = value; } + + /** + * <p>Container element for a successful delete. It identifies the object that was + * successfully deleted.</p> + */ + inline void SetDeleted(Aws::Vector<DeletedObject>&& value) { m_deleted = std::move(value); } + + /** + * <p>Container element for a successful delete. It identifies the object that was + * successfully deleted.</p> + */ + inline DeleteObjectsResult& WithDeleted(const Aws::Vector<DeletedObject>& value) { SetDeleted(value); return *this;} + + /** + * <p>Container element for a successful delete. It identifies the object that was + * successfully deleted.</p> + */ + inline DeleteObjectsResult& WithDeleted(Aws::Vector<DeletedObject>&& value) { SetDeleted(std::move(value)); return *this;} + + /** + * <p>Container element for a successful delete. It identifies the object that was + * successfully deleted.</p> + */ + inline DeleteObjectsResult& AddDeleted(const DeletedObject& value) { m_deleted.push_back(value); return *this; } + + /** + * <p>Container element for a successful delete. It identifies the object that was + * successfully deleted.</p> + */ + inline DeleteObjectsResult& AddDeleted(DeletedObject&& value) { m_deleted.push_back(std::move(value)); return *this; } + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline DeleteObjectsResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline DeleteObjectsResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + + /** + * <p>Container for a failed delete operation that describes the object that Amazon + * S3 attempted to delete and the error it encountered.</p> + */ + inline const Aws::Vector<Error>& GetErrors() const{ return m_errors; } + + /** + * <p>Container for a failed delete operation that describes the object that Amazon + * S3 attempted to delete and the error it encountered.</p> + */ + inline void SetErrors(const Aws::Vector<Error>& value) { m_errors = value; } + + /** + * <p>Container for a failed delete operation that describes the object that Amazon + * S3 attempted to delete and the error it encountered.</p> + */ + inline void SetErrors(Aws::Vector<Error>&& value) { m_errors = std::move(value); } + + /** + * <p>Container for a failed delete operation that describes the object that Amazon + * S3 attempted to delete and the error it encountered.</p> + */ + inline DeleteObjectsResult& WithErrors(const Aws::Vector<Error>& value) { SetErrors(value); return *this;} + + /** + * <p>Container for a failed delete operation that describes the object that Amazon + * S3 attempted to delete and the error it encountered.</p> + */ + inline DeleteObjectsResult& WithErrors(Aws::Vector<Error>&& value) { SetErrors(std::move(value)); return *this;} + + /** + * <p>Container for a failed delete operation that describes the object that Amazon + * S3 attempted to delete and the error it encountered.</p> + */ + inline DeleteObjectsResult& AddErrors(const Error& value) { m_errors.push_back(value); return *this; } + + /** + * <p>Container for a failed delete operation that describes the object that Amazon + * S3 attempted to delete and the error it encountered.</p> + */ + inline DeleteObjectsResult& AddErrors(Error&& value) { m_errors.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<DeletedObject> m_deleted; + + RequestCharged m_requestCharged; + + Aws::Vector<Error> m_errors; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h new file mode 100644 index 0000000000..fd8650c5a1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletePublicAccessBlockRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API DeletePublicAccessBlockRequest : public S3Request + { + public: + DeletePublicAccessBlockRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeletePublicAccessBlock"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline DeletePublicAccessBlockRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline DeletePublicAccessBlockRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you + * want to delete. </p> + */ + inline DeletePublicAccessBlockRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline DeletePublicAccessBlockRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline DeletePublicAccessBlockRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h new file mode 100644 index 0000000000..72f1b97e85 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/DeletedObject.h @@ -0,0 +1,224 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Information about the deleted object.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletedObject">AWS + * API Reference</a></p> + */ + class AWS_S3_API DeletedObject + { + public: + DeletedObject(); + DeletedObject(const Aws::Utils::Xml::XmlNode& xmlNode); + DeletedObject& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The name of the deleted object.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The name of the deleted object.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The name of the deleted object.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The name of the deleted object.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The name of the deleted object.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The name of the deleted object.</p> + */ + inline DeletedObject& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The name of the deleted object.</p> + */ + inline DeletedObject& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The name of the deleted object.</p> + */ + inline DeletedObject& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The version ID of the deleted object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID of the deleted object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The version ID of the deleted object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The version ID of the deleted object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The version ID of the deleted object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The version ID of the deleted object.</p> + */ + inline DeletedObject& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID of the deleted object.</p> + */ + inline DeletedObject& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID of the deleted object.</p> + */ + inline DeletedObject& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Specifies whether the versioned object that was permanently deleted was + * (true) or was not (false) a delete marker. In a simple DELETE, this header + * indicates whether (true) or not (false) a delete marker was created.</p> + */ + inline bool GetDeleteMarker() const{ return m_deleteMarker; } + + /** + * <p>Specifies whether the versioned object that was permanently deleted was + * (true) or was not (false) a delete marker. In a simple DELETE, this header + * indicates whether (true) or not (false) a delete marker was created.</p> + */ + inline bool DeleteMarkerHasBeenSet() const { return m_deleteMarkerHasBeenSet; } + + /** + * <p>Specifies whether the versioned object that was permanently deleted was + * (true) or was not (false) a delete marker. In a simple DELETE, this header + * indicates whether (true) or not (false) a delete marker was created.</p> + */ + inline void SetDeleteMarker(bool value) { m_deleteMarkerHasBeenSet = true; m_deleteMarker = value; } + + /** + * <p>Specifies whether the versioned object that was permanently deleted was + * (true) or was not (false) a delete marker. In a simple DELETE, this header + * indicates whether (true) or not (false) a delete marker was created.</p> + */ + inline DeletedObject& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;} + + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline const Aws::String& GetDeleteMarkerVersionId() const{ return m_deleteMarkerVersionId; } + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline bool DeleteMarkerVersionIdHasBeenSet() const { return m_deleteMarkerVersionIdHasBeenSet; } + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline void SetDeleteMarkerVersionId(const Aws::String& value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId = value; } + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline void SetDeleteMarkerVersionId(Aws::String&& value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId = std::move(value); } + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline void SetDeleteMarkerVersionId(const char* value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId.assign(value); } + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline DeletedObject& WithDeleteMarkerVersionId(const Aws::String& value) { SetDeleteMarkerVersionId(value); return *this;} + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline DeletedObject& WithDeleteMarkerVersionId(Aws::String&& value) { SetDeleteMarkerVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID of the delete marker created as a result of the DELETE + * operation. If you delete a specific object version, the value returned by this + * header is the version ID of the object version deleted.</p> + */ + inline DeletedObject& WithDeleteMarkerVersionId(const char* value) { SetDeleteMarkerVersionId(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + bool m_deleteMarker; + bool m_deleteMarkerHasBeenSet; + + Aws::String m_deleteMarkerVersionId; + bool m_deleteMarkerVersionIdHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h new file mode 100644 index 0000000000..eabf57c69a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Destination.h @@ -0,0 +1,469 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/AccessControlTranslation.h> +#include <aws/s3/model/EncryptionConfiguration.h> +#include <aws/s3/model/ReplicationTime.h> +#include <aws/s3/model/Metrics.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies information about where to publish analysis or configuration + * results for an Amazon S3 bucket and S3 Replication Time Control (S3 + * RTC).</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination">AWS API + * Reference</a></p> + */ + class AWS_S3_API Destination + { + public: + Destination(); + Destination(const Aws::Utils::Xml::XmlNode& xmlNode); + Destination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline Destination& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline Destination& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to + * store the results.</p> + */ + inline Destination& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline const Aws::String& GetAccount() const{ return m_account; } + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline bool AccountHasBeenSet() const { return m_accountHasBeenSet; } + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline void SetAccount(const Aws::String& value) { m_accountHasBeenSet = true; m_account = value; } + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline void SetAccount(Aws::String&& value) { m_accountHasBeenSet = true; m_account = std::move(value); } + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline void SetAccount(const char* value) { m_accountHasBeenSet = true; m_account.assign(value); } + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline Destination& WithAccount(const Aws::String& value) { SetAccount(value); return *this;} + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline Destination& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;} + + /** + * <p>Destination bucket owner account ID. In a cross-account scenario, if you + * direct Amazon S3 to change replica ownership to the AWS account that owns the + * destination bucket by specifying the <code>AccessControlTranslation</code> + * property, this is the account ID of the destination bucket owner. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication + * Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon Simple + * Storage Service Developer Guide</i>.</p> + */ + inline Destination& WithAccount(const char* value) { SetAccount(value); return *this;} + + + /** + * <p> The storage class to use when replicating objects, such as S3 Standard or + * reduced redundancy. By default, Amazon S3 uses the storage class of the source + * object to create the object replica. </p> <p>For valid values, see the + * <code>StorageClass</code> element of the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * Bucket replication</a> action in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p> The storage class to use when replicating objects, such as S3 Standard or + * reduced redundancy. By default, Amazon S3 uses the storage class of the source + * object to create the object replica. </p> <p>For valid values, see the + * <code>StorageClass</code> element of the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * Bucket replication</a> action in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p> The storage class to use when replicating objects, such as S3 Standard or + * reduced redundancy. By default, Amazon S3 uses the storage class of the source + * object to create the object replica. </p> <p>For valid values, see the + * <code>StorageClass</code> element of the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * Bucket replication</a> action in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p> The storage class to use when replicating objects, such as S3 Standard or + * reduced redundancy. By default, Amazon S3 uses the storage class of the source + * object to create the object replica. </p> <p>For valid values, see the + * <code>StorageClass</code> element of the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * Bucket replication</a> action in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p> The storage class to use when replicating objects, such as S3 Standard or + * reduced redundancy. By default, Amazon S3 uses the storage class of the source + * object to create the object replica. </p> <p>For valid values, see the + * <code>StorageClass</code> element of the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * Bucket replication</a> action in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline Destination& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p> The storage class to use when replicating objects, such as S3 Standard or + * reduced redundancy. By default, Amazon S3 uses the storage class of the source + * object to create the object replica. </p> <p>For valid values, see the + * <code>StorageClass</code> element of the <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT + * Bucket replication</a> action in the <i>Amazon Simple Storage Service API + * Reference</i>.</p> + */ + inline Destination& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>Specify this only in a cross-account scenario (where source and destination + * bucket owners are not the same), and you want to change replica ownership to the + * AWS account that owns the destination bucket. If this is not specified in the + * replication configuration, the replicas are owned by same AWS account that owns + * the source object.</p> + */ + inline const AccessControlTranslation& GetAccessControlTranslation() const{ return m_accessControlTranslation; } + + /** + * <p>Specify this only in a cross-account scenario (where source and destination + * bucket owners are not the same), and you want to change replica ownership to the + * AWS account that owns the destination bucket. If this is not specified in the + * replication configuration, the replicas are owned by same AWS account that owns + * the source object.</p> + */ + inline bool AccessControlTranslationHasBeenSet() const { return m_accessControlTranslationHasBeenSet; } + + /** + * <p>Specify this only in a cross-account scenario (where source and destination + * bucket owners are not the same), and you want to change replica ownership to the + * AWS account that owns the destination bucket. If this is not specified in the + * replication configuration, the replicas are owned by same AWS account that owns + * the source object.</p> + */ + inline void SetAccessControlTranslation(const AccessControlTranslation& value) { m_accessControlTranslationHasBeenSet = true; m_accessControlTranslation = value; } + + /** + * <p>Specify this only in a cross-account scenario (where source and destination + * bucket owners are not the same), and you want to change replica ownership to the + * AWS account that owns the destination bucket. If this is not specified in the + * replication configuration, the replicas are owned by same AWS account that owns + * the source object.</p> + */ + inline void SetAccessControlTranslation(AccessControlTranslation&& value) { m_accessControlTranslationHasBeenSet = true; m_accessControlTranslation = std::move(value); } + + /** + * <p>Specify this only in a cross-account scenario (where source and destination + * bucket owners are not the same), and you want to change replica ownership to the + * AWS account that owns the destination bucket. If this is not specified in the + * replication configuration, the replicas are owned by same AWS account that owns + * the source object.</p> + */ + inline Destination& WithAccessControlTranslation(const AccessControlTranslation& value) { SetAccessControlTranslation(value); return *this;} + + /** + * <p>Specify this only in a cross-account scenario (where source and destination + * bucket owners are not the same), and you want to change replica ownership to the + * AWS account that owns the destination bucket. If this is not specified in the + * replication configuration, the replicas are owned by same AWS account that owns + * the source object.</p> + */ + inline Destination& WithAccessControlTranslation(AccessControlTranslation&& value) { SetAccessControlTranslation(std::move(value)); return *this;} + + + /** + * <p>A container that provides information about encryption. If + * <code>SourceSelectionCriteria</code> is specified, you must specify this + * element.</p> + */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } + + /** + * <p>A container that provides information about encryption. If + * <code>SourceSelectionCriteria</code> is specified, you must specify this + * element.</p> + */ + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + + /** + * <p>A container that provides information about encryption. If + * <code>SourceSelectionCriteria</code> is specified, you must specify this + * element.</p> + */ + inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } + + /** + * <p>A container that provides information about encryption. If + * <code>SourceSelectionCriteria</code> is specified, you must specify this + * element.</p> + */ + inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } + + /** + * <p>A container that provides information about encryption. If + * <code>SourceSelectionCriteria</code> is specified, you must specify this + * element.</p> + */ + inline Destination& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} + + /** + * <p>A container that provides information about encryption. If + * <code>SourceSelectionCriteria</code> is specified, you must specify this + * element.</p> + */ + inline Destination& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} + + + /** + * <p> A container specifying S3 Replication Time Control (S3 RTC), including + * whether S3 RTC is enabled and the time when all objects and operations on + * objects must be replicated. Must be specified together with a + * <code>Metrics</code> block. </p> + */ + inline const ReplicationTime& GetReplicationTime() const{ return m_replicationTime; } + + /** + * <p> A container specifying S3 Replication Time Control (S3 RTC), including + * whether S3 RTC is enabled and the time when all objects and operations on + * objects must be replicated. Must be specified together with a + * <code>Metrics</code> block. </p> + */ + inline bool ReplicationTimeHasBeenSet() const { return m_replicationTimeHasBeenSet; } + + /** + * <p> A container specifying S3 Replication Time Control (S3 RTC), including + * whether S3 RTC is enabled and the time when all objects and operations on + * objects must be replicated. Must be specified together with a + * <code>Metrics</code> block. </p> + */ + inline void SetReplicationTime(const ReplicationTime& value) { m_replicationTimeHasBeenSet = true; m_replicationTime = value; } + + /** + * <p> A container specifying S3 Replication Time Control (S3 RTC), including + * whether S3 RTC is enabled and the time when all objects and operations on + * objects must be replicated. Must be specified together with a + * <code>Metrics</code> block. </p> + */ + inline void SetReplicationTime(ReplicationTime&& value) { m_replicationTimeHasBeenSet = true; m_replicationTime = std::move(value); } + + /** + * <p> A container specifying S3 Replication Time Control (S3 RTC), including + * whether S3 RTC is enabled and the time when all objects and operations on + * objects must be replicated. Must be specified together with a + * <code>Metrics</code> block. </p> + */ + inline Destination& WithReplicationTime(const ReplicationTime& value) { SetReplicationTime(value); return *this;} + + /** + * <p> A container specifying S3 Replication Time Control (S3 RTC), including + * whether S3 RTC is enabled and the time when all objects and operations on + * objects must be replicated. Must be specified together with a + * <code>Metrics</code> block. </p> + */ + inline Destination& WithReplicationTime(ReplicationTime&& value) { SetReplicationTime(std::move(value)); return *this;} + + + /** + * <p> A container specifying replication metrics-related settings enabling + * replication metrics and events. </p> + */ + inline const Metrics& GetMetrics() const{ return m_metrics; } + + /** + * <p> A container specifying replication metrics-related settings enabling + * replication metrics and events. </p> + */ + inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; } + + /** + * <p> A container specifying replication metrics-related settings enabling + * replication metrics and events. </p> + */ + inline void SetMetrics(const Metrics& value) { m_metricsHasBeenSet = true; m_metrics = value; } + + /** + * <p> A container specifying replication metrics-related settings enabling + * replication metrics and events. </p> + */ + inline void SetMetrics(Metrics&& value) { m_metricsHasBeenSet = true; m_metrics = std::move(value); } + + /** + * <p> A container specifying replication metrics-related settings enabling + * replication metrics and events. </p> + */ + inline Destination& WithMetrics(const Metrics& value) { SetMetrics(value); return *this;} + + /** + * <p> A container specifying replication metrics-related settings enabling + * replication metrics and events. </p> + */ + inline Destination& WithMetrics(Metrics&& value) { SetMetrics(std::move(value)); return *this;} + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_account; + bool m_accountHasBeenSet; + + StorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + AccessControlTranslation m_accessControlTranslation; + bool m_accessControlTranslationHasBeenSet; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet; + + ReplicationTime m_replicationTime; + bool m_replicationTimeHasBeenSet; + + Metrics m_metrics; + bool m_metricsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncodingType.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncodingType.h new file mode 100644 index 0000000000..13dc628118 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncodingType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class EncodingType + { + NOT_SET, + url + }; + +namespace EncodingTypeMapper +{ +AWS_S3_API EncodingType GetEncodingTypeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForEncodingType(EncodingType value); +} // namespace EncodingTypeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h new file mode 100644 index 0000000000..87937565bb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Encryption.h @@ -0,0 +1,229 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Contains the type of server-side encryption used.</p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Encryption">AWS + * API Reference</a></p> + */ + class AWS_S3_API Encryption + { + public: + Encryption(); + Encryption(const Aws::Utils::Xml::XmlNode& xmlNode); + Encryption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The server-side encryption algorithm used when storing job results in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetEncryptionType() const{ return m_encryptionType; } + + /** + * <p>The server-side encryption algorithm used when storing job results in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; } + + /** + * <p>The server-side encryption algorithm used when storing job results in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetEncryptionType(const ServerSideEncryption& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; } + + /** + * <p>The server-side encryption algorithm used when storing job results in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetEncryptionType(ServerSideEncryption&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing job results in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline Encryption& WithEncryptionType(const ServerSideEncryption& value) { SetEncryptionType(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing job results in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline Encryption& WithEncryptionType(ServerSideEncryption&& value) { SetEncryptionType(std::move(value)); return *this;} + + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetKMSKeyId() const{ return m_kMSKeyId; } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline bool KMSKeyIdHasBeenSet() const { return m_kMSKeyIdHasBeenSet; } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetKMSKeyId(const Aws::String& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = value; } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetKMSKeyId(Aws::String&& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = std::move(value); } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetKMSKeyId(const char* value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId.assign(value); } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline Encryption& WithKMSKeyId(const Aws::String& value) { SetKMSKeyId(value); return *this;} + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline Encryption& WithKMSKeyId(Aws::String&& value) { SetKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value specifies + * the ID of the symmetric customer managed AWS KMS CMK to use for encryption of + * job results. Amazon S3 only supports symmetric CMKs. For more information, see + * <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline Encryption& WithKMSKeyId(const char* value) { SetKMSKeyId(value); return *this;} + + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline const Aws::String& GetKMSContext() const{ return m_kMSContext; } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline bool KMSContextHasBeenSet() const { return m_kMSContextHasBeenSet; } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline void SetKMSContext(const Aws::String& value) { m_kMSContextHasBeenSet = true; m_kMSContext = value; } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline void SetKMSContext(Aws::String&& value) { m_kMSContextHasBeenSet = true; m_kMSContext = std::move(value); } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline void SetKMSContext(const char* value) { m_kMSContextHasBeenSet = true; m_kMSContext.assign(value); } + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline Encryption& WithKMSContext(const Aws::String& value) { SetKMSContext(value); return *this;} + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline Encryption& WithKMSContext(Aws::String&& value) { SetKMSContext(std::move(value)); return *this;} + + /** + * <p>If the encryption type is <code>aws:kms</code>, this optional value can be + * used to specify the encryption context for the restore results.</p> + */ + inline Encryption& WithKMSContext(const char* value) { SetKMSContext(value); return *this;} + + private: + + ServerSideEncryption m_encryptionType; + bool m_encryptionTypeHasBeenSet; + + Aws::String m_kMSKeyId; + bool m_kMSKeyIdHasBeenSet; + + Aws::String m_kMSContext; + bool m_kMSContextHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h new file mode 100644 index 0000000000..14d86c3767 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/EncryptionConfiguration.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies encryption-related information for an Amazon S3 bucket that is a + * destination for replicated objects.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EncryptionConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API EncryptionConfiguration + { + public: + EncryptionConfiguration(); + EncryptionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + EncryptionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetReplicaKmsKeyID() const{ return m_replicaKmsKeyID; } + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline bool ReplicaKmsKeyIDHasBeenSet() const { return m_replicaKmsKeyIDHasBeenSet; } + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetReplicaKmsKeyID(const Aws::String& value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID = value; } + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetReplicaKmsKeyID(Aws::String&& value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID = std::move(value); } + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetReplicaKmsKeyID(const char* value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID.assign(value); } + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline EncryptionConfiguration& WithReplicaKmsKeyID(const Aws::String& value) { SetReplicaKmsKeyID(value); return *this;} + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline EncryptionConfiguration& WithReplicaKmsKeyID(Aws::String&& value) { SetReplicaKmsKeyID(std::move(value)); return *this;} + + /** + * <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed customer + * master key (CMK) stored in AWS Key Management Service (KMS) for the destination + * bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only + * supports symmetric customer managed CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline EncryptionConfiguration& WithReplicaKmsKeyID(const char* value) { SetReplicaKmsKeyID(value); return *this;} + + private: + + Aws::String m_replicaKmsKeyID; + bool m_replicaKmsKeyIDHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h new file mode 100644 index 0000000000..d5fe4d2088 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Error.h @@ -0,0 +1,3100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for all error elements.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Error">AWS API + * Reference</a></p> + */ + class AWS_S3_API Error + { + public: + Error(); + Error(const Aws::Utils::Xml::XmlNode& xmlNode); + Error& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The error key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The error key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The error key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The error key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The error key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The error key.</p> + */ + inline Error& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The error key.</p> + */ + inline Error& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The error key.</p> + */ + inline Error& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The version ID of the error.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID of the error.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The version ID of the error.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The version ID of the error.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The version ID of the error.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The version ID of the error.</p> + */ + inline Error& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID of the error.</p> + */ + inline Error& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID of the error.</p> + */ + inline Error& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline const Aws::String& GetCode() const{ return m_code; } + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; } + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); } + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline Error& WithCode(const Aws::String& value) { SetCode(value); return *this;} + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline Error& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} + + /** + * <p>The error code is a string that uniquely identifies an error condition. It is + * meant to be read and understood by programs that detect and handle errors by + * type. </p> <p class="title"> <b>Amazon S3 error codes</b> </p> <ul> <li> <ul> + * <li> <p> <i>Code:</i> AccessDenied </p> </li> <li> <p> <i>Description:</i> + * Access Denied</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AccountProblem</p> </li> <li> <p> <i>Description:</i> + * There is a problem with your AWS account that prevents the operation from + * completing successfully. Contact AWS Support for further assistance.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this + * Amazon S3 resource has been disabled. Contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p> </li> <li> <p> + * <i>Description:</i> The email address you provided is associated with more than + * one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li> <li> <p> + * <i>Description:</i> The authorization header you provided is invalid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>HTTP + * Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you specified + * did not match what we received.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> BucketAlreadyExists</p> </li> <li> + * <p> <i>Description:</i> The requested bucket name is not available. The bucket + * namespace is shared by all users of the system. Please select a different name + * and try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> BucketAlreadyOwnedByYou</p> </li> <li> <p> + * <i>Description:</i> The bucket you tried to create already exists, and you own + * it. Amazon S3 returns this error in all AWS Regions except in the North Virginia + * Region. For legacy compatibility, if you re-create an existing bucket that you + * already own in the North Virginia Region, Amazon S3 returns 200 OK and resets + * the bucket access control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 + * Conflict (in all Regions except the North Virginia Region) </p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket + * you tried to delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li> + * <li> <p> <i>Description:</i> This request does not support credentials.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p> + * <i>Description:</i> Cross-location logging not allowed. Buckets in one + * geographic location cannot log information to a bucket in another location.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed + * upload is smaller than the minimum allowed object size.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload + * exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p> + * </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p> + * <i>Description:</i> Indicates that the versioning configuration specified in the + * request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p> + * <i>Description:</i> You did not provide the number of bytes specified by the + * Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p> + * </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per + * request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i> + * Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p> + * </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try + * again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p> + * <i>Description:</i> The AWS access key ID you provided does not exist in our + * records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li> <li> <p> + * <i>Description:</i> You must specify the Anonymous role.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidArgument</p> + * </li> <li> <p> <i>Description:</i> Invalid Argument</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The specified bucket is + * not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li> <p> <i>Description:</i> + * The request is not valid with the current state of the bucket.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5 you + * specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidEncryptionAlgorithmError</p> </li> + * <li> <p> <i>Description:</i> The encryption request you specified is not valid. + * The valid value is AES256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidLocationConstraint</p> </li> <li> + * <p> <i>Description:</i> The specified location constraint is not valid. For more + * information about Regions, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How + * to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The operation is not + * valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p> + * </li> <li> <p> <i>Description:</i> One or more of the specified parts could not + * be found. The part might not have been uploaded, or the specified entity tag + * might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was + * not in ascending order. Parts list must be specified in order by part + * number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All + * access to this object has been disabled. Please contact AWS Support for further + * assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li> <p> + * <i>Description:</i> The content of the form does not meet the conditions + * specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li> + * <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please + * use AWS4-HMAC-SHA256.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> SOAP + * requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with non-DNS compliant names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Acceleration is not supported for buckets with periods (.) in their names.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> + * <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this + * bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer + * Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> + * <i>Description:</i> Amazon S3 Transfer Acceleration cannot be enabled on this + * bucket. Contact AWS Support for more information.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSecurity</p> </li> <li> <p> + * <i>Description:</i> The provided security credentials are not valid.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidSOAPRequest</p> </li> <li> <p> <i>Description:</i> The SOAP request body + * is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> InvalidStorageClass</p> </li> <li> <p> + * <i>Description:</i> The storage class you specified is not valid.</p> </li> <li> + * <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault + * Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidTargetBucketForLogging</p> </li> <li> <p> <i>Description:</i> The target + * bucket for logging does not exist, is not owned by you, or does not have the + * appropriate grants for the log-delivery group. </p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * InvalidToken</p> </li> <li> <p> <i>Description:</i> The provided token is + * malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 + * Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidURI</p> </li> <li> <p> + * <i>Description:</i> Couldn't parse the specified URI.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key is too long.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MalformedACLError</p> </li> <li> <p> <i>Description:</i> The XML + * you provided was not well-formed or did not validate against our published + * schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> + * <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> + * <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li> <p> + * <i>Description:</i> The body of your POST request is not well-formed + * multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p> + * <i>Description:</i> This happens when the user sends malformed XML (XML that + * doesn't conform to the published XSD) for the configuration. The error message + * is, "The XML you provided was not well-formed or did not validate against our + * published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li> + * <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your + * POST request fields preceding the upload file were too large.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers + * exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is + * not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was + * expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p> + * <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This + * happens when the user sends an empty XML document as a request. The error + * message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1 + * request is missing a security element.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is + * missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p> + * <i>Description:</i> There is no such thing as a logging status subresource for a + * key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> + * <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> + * <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The + * specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 + * Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li> + * <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key + * does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> + * <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p> + * <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li> + * <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart + * upload does not exist. The upload ID might be invalid, or the multipart upload + * might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p> + * </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in + * the request does not match an existing version.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p> + * </li> <li> <p> <i>Description:</i> A header you provided implies functionality + * that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not + * Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p> + * <i>Description:</i> Your account is not signed up for the Amazon S3 service. You + * must sign up before you can use Amazon S3. You can sign up at the following URL: + * https://aws.amazon.com/s3</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> OperationAborted</p> </li> <li> <p> + * <i>Description:</i> A conflicting conditional operation is currently in progress + * against this resource. Try again.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> + * <i>Description:</i> The bucket you are attempting to access must be addressed + * using the specified endpoint. Send all future requests to this endpoint.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least + * one of the preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i> + * Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status + * Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> + * Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST + * must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to + * the server was not read from or written to within the timeout period.</p> </li> + * <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The + * difference between the request time and the server's time is too large.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i> + * Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request + * signature we calculated does not match the signature you provided. Check your + * AWS secret access key and signing method. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP + * Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403 + * Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> + * </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li> + * <p> <i>Description:</i> Reduce your request rate.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request rate.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li> <p> <i>SOAP + * Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You are + * being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP + * Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token + * must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad + * Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> + * </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p> + * <i>Description:</i> You have attempted to create more buckets than allowed.</p> + * </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> + * <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> + * <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This + * request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i> + * 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> + * </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email + * address you provided does not match any account on record.</p> </li> <li> <p> + * <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code + * Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> + * UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST + * must contain the specified field name. If it is specified, check the order of + * the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> + * </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul> + * <p/> + */ + inline Error& WithCode(const char* value) { SetCode(value); return *this;} + + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline Error& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline Error& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + * <p>The error message contains a generic description of the error condition in + * English. It is intended for a human audience. Simple programs display the + * message directly to the end user if they encounter an error condition they don't + * know how or don't care to handle. Sophisticated programs with more exhaustive + * error handling and proper internationalization are more likely to ignore the + * error message.</p> + */ + inline Error& WithMessage(const char* value) { SetMessage(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_code; + bool m_codeHasBeenSet; + + Aws::String m_message; + bool m_messageHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h new file mode 100644 index 0000000000..610d32187a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ErrorDocument.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The error information.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDocument">AWS + * API Reference</a></p> + */ + class AWS_S3_API ErrorDocument + { + public: + ErrorDocument(); + ErrorDocument(const Aws::Utils::Xml::XmlNode& xmlNode); + ErrorDocument& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline ErrorDocument& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline ErrorDocument& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key name to use when a 4XX class error occurs.</p> + */ + inline ErrorDocument& WithKey(const char* value) { SetKey(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h new file mode 100644 index 0000000000..036cc47543 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Event.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class Event + { + NOT_SET, + s3_ReducedRedundancyLostObject, + s3_ObjectCreated, + s3_ObjectCreated_Put, + s3_ObjectCreated_Post, + s3_ObjectCreated_Copy, + s3_ObjectCreated_CompleteMultipartUpload, + s3_ObjectRemoved, + s3_ObjectRemoved_Delete, + s3_ObjectRemoved_DeleteMarkerCreated, + s3_ObjectRestore, + s3_ObjectRestore_Post, + s3_ObjectRestore_Completed, + s3_Replication, + s3_Replication_OperationFailedReplication, + s3_Replication_OperationNotTracked, + s3_Replication_OperationMissedThreshold, + s3_Replication_OperationReplicatedAfterThreshold + }; + +namespace EventMapper +{ +AWS_S3_API Event GetEventForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForEvent(Event value); +} // namespace EventMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h new file mode 100644 index 0000000000..bb9bebd959 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplication.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ExistingObjectReplicationStatus.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Optional configuration to replicate existing source bucket objects. For more + * information, see <a href=" + * https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication">Replicating + * Existing Objects</a> in the <i>Amazon S3 Developer Guide</i>. </p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ExistingObjectReplication">AWS + * API Reference</a></p> + */ + class AWS_S3_API ExistingObjectReplication + { + public: + ExistingObjectReplication(); + ExistingObjectReplication(const Aws::Utils::Xml::XmlNode& xmlNode); + ExistingObjectReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p/> + */ + inline const ExistingObjectReplicationStatus& GetStatus() const{ return m_status; } + + /** + * <p/> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p/> + */ + inline void SetStatus(const ExistingObjectReplicationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p/> + */ + inline void SetStatus(ExistingObjectReplicationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p/> + */ + inline ExistingObjectReplication& WithStatus(const ExistingObjectReplicationStatus& value) { SetStatus(value); return *this;} + + /** + * <p/> + */ + inline ExistingObjectReplication& WithStatus(ExistingObjectReplicationStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + ExistingObjectReplicationStatus m_status; + bool m_statusHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplicationStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplicationStatus.h new file mode 100644 index 0000000000..8507989850 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExistingObjectReplicationStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ExistingObjectReplicationStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace ExistingObjectReplicationStatusMapper +{ +AWS_S3_API ExistingObjectReplicationStatus GetExistingObjectReplicationStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForExistingObjectReplicationStatus(ExistingObjectReplicationStatus value); +} // namespace ExistingObjectReplicationStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpirationStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpirationStatus.h new file mode 100644 index 0000000000..5aaa3da84c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpirationStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ExpirationStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace ExpirationStatusMapper +{ +AWS_S3_API ExpirationStatus GetExpirationStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForExpirationStatus(ExpirationStatus value); +} // namespace ExpirationStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpressionType.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpressionType.h new file mode 100644 index 0000000000..309c074114 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ExpressionType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ExpressionType + { + NOT_SET, + SQL + }; + +namespace ExpressionTypeMapper +{ +AWS_S3_API ExpressionType GetExpressionTypeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForExpressionType(ExpressionType value); +} // namespace ExpressionTypeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FileHeaderInfo.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FileHeaderInfo.h new file mode 100644 index 0000000000..227b3c9167 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FileHeaderInfo.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class FileHeaderInfo + { + NOT_SET, + USE, + IGNORE, + NONE + }; + +namespace FileHeaderInfoMapper +{ +AWS_S3_API FileHeaderInfo GetFileHeaderInfoForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForFileHeaderInfo(FileHeaderInfo value); +} // namespace FileHeaderInfoMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h new file mode 100644 index 0000000000..e63b80e32c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRule.h @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/FilterRuleName.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the Amazon S3 object key name to filter on and whether to filter on + * the suffix or prefix of the key name.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/FilterRule">AWS API + * Reference</a></p> + */ + class AWS_S3_API FilterRule + { + public: + FilterRule(); + FilterRule(const Aws::Utils::Xml::XmlNode& xmlNode); + FilterRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The object key name prefix or suffix identifying one or more objects to which + * the filtering rule applies. The maximum length is 1,024 characters. Overlapping + * prefixes and suffixes are not supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const FilterRuleName& GetName() const{ return m_name; } + + /** + * <p>The object key name prefix or suffix identifying one or more objects to which + * the filtering rule applies. The maximum length is 1,024 characters. Overlapping + * prefixes and suffixes are not supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + * <p>The object key name prefix or suffix identifying one or more objects to which + * the filtering rule applies. The maximum length is 1,024 characters. Overlapping + * prefixes and suffixes are not supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetName(const FilterRuleName& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + * <p>The object key name prefix or suffix identifying one or more objects to which + * the filtering rule applies. The maximum length is 1,024 characters. Overlapping + * prefixes and suffixes are not supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetName(FilterRuleName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + * <p>The object key name prefix or suffix identifying one or more objects to which + * the filtering rule applies. The maximum length is 1,024 characters. Overlapping + * prefixes and suffixes are not supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline FilterRule& WithName(const FilterRuleName& value) { SetName(value); return *this;} + + /** + * <p>The object key name prefix or suffix identifying one or more objects to which + * the filtering rule applies. The maximum length is 1,024 characters. Overlapping + * prefixes and suffixes are not supported. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline FilterRule& WithName(FilterRuleName&& value) { SetName(std::move(value)); return *this;} + + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline FilterRule& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline FilterRule& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + * <p>The value that the filter searches for in object key names.</p> + */ + inline FilterRule& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + FilterRuleName m_name; + bool m_nameHasBeenSet; + + Aws::String m_value; + bool m_valueHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRuleName.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRuleName.h new file mode 100644 index 0000000000..9642c02e38 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/FilterRuleName.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class FilterRuleName + { + NOT_SET, + prefix, + suffix + }; + +namespace FilterRuleNameMapper +{ +AWS_S3_API FilterRuleName GetFilterRuleNameForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForFilterRuleName(FilterRuleName value); +} // namespace FilterRuleNameMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h new file mode 100644 index 0000000000..1c1fb18949 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketAccelerateConfigurationRequest : public S3Request + { + public: + GetBucketAccelerateConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketAccelerateConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline GetBucketAccelerateConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline GetBucketAccelerateConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which the accelerate configuration is + * retrieved.</p> + */ + inline GetBucketAccelerateConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketAccelerateConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketAccelerateConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h new file mode 100644 index 0000000000..7838cbb34d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAccelerateConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/BucketAccelerateStatus.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketAccelerateConfigurationResult + { + public: + GetBucketAccelerateConfigurationResult(); + GetBucketAccelerateConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketAccelerateConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The accelerate configuration of the bucket.</p> + */ + inline const BucketAccelerateStatus& GetStatus() const{ return m_status; } + + /** + * <p>The accelerate configuration of the bucket.</p> + */ + inline void SetStatus(const BucketAccelerateStatus& value) { m_status = value; } + + /** + * <p>The accelerate configuration of the bucket.</p> + */ + inline void SetStatus(BucketAccelerateStatus&& value) { m_status = std::move(value); } + + /** + * <p>The accelerate configuration of the bucket.</p> + */ + inline GetBucketAccelerateConfigurationResult& WithStatus(const BucketAccelerateStatus& value) { SetStatus(value); return *this;} + + /** + * <p>The accelerate configuration of the bucket.</p> + */ + inline GetBucketAccelerateConfigurationResult& WithStatus(BucketAccelerateStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + BucketAccelerateStatus m_status; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h new file mode 100644 index 0000000000..90071fcc07 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketAclRequest : public S3Request + { + public: + GetBucketAclRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketAcl"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline GetBucketAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline GetBucketAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>Specifies the S3 bucket whose ACL is being requested.</p> + */ + inline GetBucketAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketAclRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketAclRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketAclRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketAclRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h new file mode 100644 index 0000000000..dc3723c89c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAclResult.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Owner.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Grant.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketAclResult + { + public: + GetBucketAclResult(); + GetBucketAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline void SetOwner(const Owner& value) { m_owner = value; } + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline void SetOwner(Owner&& value) { m_owner = std::move(value); } + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline GetBucketAclResult& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p>Container for the bucket owner's display name and ID.</p> + */ + inline GetBucketAclResult& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + + /** + * <p>A list of grants.</p> + */ + inline const Aws::Vector<Grant>& GetGrants() const{ return m_grants; } + + /** + * <p>A list of grants.</p> + */ + inline void SetGrants(const Aws::Vector<Grant>& value) { m_grants = value; } + + /** + * <p>A list of grants.</p> + */ + inline void SetGrants(Aws::Vector<Grant>&& value) { m_grants = std::move(value); } + + /** + * <p>A list of grants.</p> + */ + inline GetBucketAclResult& WithGrants(const Aws::Vector<Grant>& value) { SetGrants(value); return *this;} + + /** + * <p>A list of grants.</p> + */ + inline GetBucketAclResult& WithGrants(Aws::Vector<Grant>&& value) { SetGrants(std::move(value)); return *this;} + + /** + * <p>A list of grants.</p> + */ + inline GetBucketAclResult& AddGrants(const Grant& value) { m_grants.push_back(value); return *this; } + + /** + * <p>A list of grants.</p> + */ + inline GetBucketAclResult& AddGrants(Grant&& value) { m_grants.push_back(std::move(value)); return *this; } + + private: + + Owner m_owner; + + Aws::Vector<Grant> m_grants; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h new file mode 100644 index 0000000000..63e6d8c722 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationRequest.h @@ -0,0 +1,247 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketAnalyticsConfigurationRequest : public S3Request + { + public: + GetBucketAnalyticsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketAnalyticsConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket from which an analytics configuration is + * retrieved.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h new file mode 100644 index 0000000000..d0847a1458 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketAnalyticsConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/AnalyticsConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketAnalyticsConfigurationResult + { + public: + GetBucketAnalyticsConfigurationResult(); + GetBucketAnalyticsConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketAnalyticsConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline const AnalyticsConfiguration& GetAnalyticsConfiguration() const{ return m_analyticsConfiguration; } + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline void SetAnalyticsConfiguration(const AnalyticsConfiguration& value) { m_analyticsConfiguration = value; } + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline void SetAnalyticsConfiguration(AnalyticsConfiguration&& value) { m_analyticsConfiguration = std::move(value); } + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline GetBucketAnalyticsConfigurationResult& WithAnalyticsConfiguration(const AnalyticsConfiguration& value) { SetAnalyticsConfiguration(value); return *this;} + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline GetBucketAnalyticsConfigurationResult& WithAnalyticsConfiguration(AnalyticsConfiguration&& value) { SetAnalyticsConfiguration(std::move(value)); return *this;} + + private: + + AnalyticsConfiguration m_analyticsConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h new file mode 100644 index 0000000000..fabc83b57d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketCorsRequest : public S3Request + { + public: + GetBucketCorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketCors"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline GetBucketCorsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline GetBucketCorsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name for which to get the cors configuration.</p> + */ + inline GetBucketCorsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketCorsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketCorsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h new file mode 100644 index 0000000000..8e0e34069f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketCorsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/CORSRule.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketCorsResult + { + public: + GetBucketCorsResult(); + GetBucketCorsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketCorsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline const Aws::Vector<CORSRule>& GetCORSRules() const{ return m_cORSRules; } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline void SetCORSRules(const Aws::Vector<CORSRule>& value) { m_cORSRules = value; } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline void SetCORSRules(Aws::Vector<CORSRule>&& value) { m_cORSRules = std::move(value); } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline GetBucketCorsResult& WithCORSRules(const Aws::Vector<CORSRule>& value) { SetCORSRules(value); return *this;} + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline GetBucketCorsResult& WithCORSRules(Aws::Vector<CORSRule>&& value) { SetCORSRules(std::move(value)); return *this;} + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline GetBucketCorsResult& AddCORSRules(const CORSRule& value) { m_cORSRules.push_back(value); return *this; } + + /** + * <p>A set of origins and methods (cross-origin access that you want to allow). + * You can add up to 100 rules to the configuration.</p> + */ + inline GetBucketCorsResult& AddCORSRules(CORSRule&& value) { m_cORSRules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<CORSRule> m_cORSRules; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h new file mode 100644 index 0000000000..9d7f2f17a1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketEncryptionRequest : public S3Request + { + public: + GetBucketEncryptionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketEncryption"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline GetBucketEncryptionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline GetBucketEncryptionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket from which the server-side encryption configuration is + * retrieved.</p> + */ + inline GetBucketEncryptionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketEncryptionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketEncryptionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h new file mode 100644 index 0000000000..deab65dbd4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketEncryptionResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ServerSideEncryptionConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketEncryptionResult + { + public: + GetBucketEncryptionResult(); + GetBucketEncryptionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketEncryptionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const ServerSideEncryptionConfiguration& GetServerSideEncryptionConfiguration() const{ return m_serverSideEncryptionConfiguration; } + + + inline void SetServerSideEncryptionConfiguration(const ServerSideEncryptionConfiguration& value) { m_serverSideEncryptionConfiguration = value; } + + + inline void SetServerSideEncryptionConfiguration(ServerSideEncryptionConfiguration&& value) { m_serverSideEncryptionConfiguration = std::move(value); } + + + inline GetBucketEncryptionResult& WithServerSideEncryptionConfiguration(const ServerSideEncryptionConfiguration& value) { SetServerSideEncryptionConfiguration(value); return *this;} + + + inline GetBucketEncryptionResult& WithServerSideEncryptionConfiguration(ServerSideEncryptionConfiguration&& value) { SetServerSideEncryptionConfiguration(std::move(value)); return *this;} + + private: + + ServerSideEncryptionConfiguration m_serverSideEncryptionConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h new file mode 100644 index 0000000000..ddba23557e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h @@ -0,0 +1,185 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketIntelligentTieringConfigurationRequest : public S3Request + { + public: + GetBucketIntelligentTieringConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketIntelligentTieringConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline GetBucketIntelligentTieringConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline GetBucketIntelligentTieringConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline GetBucketIntelligentTieringConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline GetBucketIntelligentTieringConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline GetBucketIntelligentTieringConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline GetBucketIntelligentTieringConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h new file mode 100644 index 0000000000..a039bb60be --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/IntelligentTieringConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketIntelligentTieringConfigurationResult + { + public: + GetBucketIntelligentTieringConfigurationResult(); + GetBucketIntelligentTieringConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketIntelligentTieringConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline const IntelligentTieringConfiguration& GetIntelligentTieringConfiguration() const{ return m_intelligentTieringConfiguration; } + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline void SetIntelligentTieringConfiguration(const IntelligentTieringConfiguration& value) { m_intelligentTieringConfiguration = value; } + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline void SetIntelligentTieringConfiguration(IntelligentTieringConfiguration&& value) { m_intelligentTieringConfiguration = std::move(value); } + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline GetBucketIntelligentTieringConfigurationResult& WithIntelligentTieringConfiguration(const IntelligentTieringConfiguration& value) { SetIntelligentTieringConfiguration(value); return *this;} + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline GetBucketIntelligentTieringConfigurationResult& WithIntelligentTieringConfiguration(IntelligentTieringConfiguration&& value) { SetIntelligentTieringConfiguration(std::move(value)); return *this;} + + private: + + IntelligentTieringConfiguration m_intelligentTieringConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h new file mode 100644 index 0000000000..3eb1bb6755 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationRequest.h @@ -0,0 +1,247 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketInventoryConfigurationRequest : public S3Request + { + public: + GetBucketInventoryConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketInventoryConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the inventory configuration to + * retrieve.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h new file mode 100644 index 0000000000..034c56c8ef --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketInventoryConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/InventoryConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketInventoryConfigurationResult + { + public: + GetBucketInventoryConfigurationResult(); + GetBucketInventoryConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketInventoryConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline const InventoryConfiguration& GetInventoryConfiguration() const{ return m_inventoryConfiguration; } + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline void SetInventoryConfiguration(const InventoryConfiguration& value) { m_inventoryConfiguration = value; } + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline void SetInventoryConfiguration(InventoryConfiguration&& value) { m_inventoryConfiguration = std::move(value); } + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline GetBucketInventoryConfigurationResult& WithInventoryConfiguration(const InventoryConfiguration& value) { SetInventoryConfiguration(value); return *this;} + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline GetBucketInventoryConfigurationResult& WithInventoryConfiguration(InventoryConfiguration&& value) { SetInventoryConfiguration(std::move(value)); return *this;} + + private: + + InventoryConfiguration m_inventoryConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h new file mode 100644 index 0000000000..8797dbd7d0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketLifecycleConfigurationRequest : public S3Request + { + public: + GetBucketLifecycleConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketLifecycleConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline GetBucketLifecycleConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline GetBucketLifecycleConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to get the lifecycle information.</p> + */ + inline GetBucketLifecycleConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketLifecycleConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketLifecycleConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h new file mode 100644 index 0000000000..c04c22a758 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLifecycleConfigurationResult.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/LifecycleRule.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketLifecycleConfigurationResult + { + public: + GetBucketLifecycleConfigurationResult(); + GetBucketLifecycleConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketLifecycleConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Container for a lifecycle rule.</p> + */ + inline const Aws::Vector<LifecycleRule>& GetRules() const{ return m_rules; } + + /** + * <p>Container for a lifecycle rule.</p> + */ + inline void SetRules(const Aws::Vector<LifecycleRule>& value) { m_rules = value; } + + /** + * <p>Container for a lifecycle rule.</p> + */ + inline void SetRules(Aws::Vector<LifecycleRule>&& value) { m_rules = std::move(value); } + + /** + * <p>Container for a lifecycle rule.</p> + */ + inline GetBucketLifecycleConfigurationResult& WithRules(const Aws::Vector<LifecycleRule>& value) { SetRules(value); return *this;} + + /** + * <p>Container for a lifecycle rule.</p> + */ + inline GetBucketLifecycleConfigurationResult& WithRules(Aws::Vector<LifecycleRule>&& value) { SetRules(std::move(value)); return *this;} + + /** + * <p>Container for a lifecycle rule.</p> + */ + inline GetBucketLifecycleConfigurationResult& AddRules(const LifecycleRule& value) { m_rules.push_back(value); return *this; } + + /** + * <p>Container for a lifecycle rule.</p> + */ + inline GetBucketLifecycleConfigurationResult& AddRules(LifecycleRule&& value) { m_rules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<LifecycleRule> m_rules; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h new file mode 100644 index 0000000000..777f5521f8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketLocationRequest : public S3Request + { + public: + GetBucketLocationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketLocation"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline GetBucketLocationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline GetBucketLocationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to get the location.</p> + */ + inline GetBucketLocationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLocationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLocationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLocationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketLocationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketLocationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketLocationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketLocationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketLocationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketLocationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketLocationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketLocationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketLocationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h new file mode 100644 index 0000000000..4f777648cc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLocationResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/BucketLocationConstraint.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketLocationResult + { + public: + GetBucketLocationResult(); + GetBucketLocationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketLocationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies the Region where the bucket resides. For a list of all the Amazon + * S3 supported location constraints by Region, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a>. Buckets in Region <code>us-east-1</code> have a + * LocationConstraint of <code>null</code>.</p> + */ + inline const BucketLocationConstraint& GetLocationConstraint() const{ return m_locationConstraint; } + + /** + * <p>Specifies the Region where the bucket resides. For a list of all the Amazon + * S3 supported location constraints by Region, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a>. Buckets in Region <code>us-east-1</code> have a + * LocationConstraint of <code>null</code>.</p> + */ + inline void SetLocationConstraint(const BucketLocationConstraint& value) { m_locationConstraint = value; } + + /** + * <p>Specifies the Region where the bucket resides. For a list of all the Amazon + * S3 supported location constraints by Region, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a>. Buckets in Region <code>us-east-1</code> have a + * LocationConstraint of <code>null</code>.</p> + */ + inline void SetLocationConstraint(BucketLocationConstraint&& value) { m_locationConstraint = std::move(value); } + + /** + * <p>Specifies the Region where the bucket resides. For a list of all the Amazon + * S3 supported location constraints by Region, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a>. Buckets in Region <code>us-east-1</code> have a + * LocationConstraint of <code>null</code>.</p> + */ + inline GetBucketLocationResult& WithLocationConstraint(const BucketLocationConstraint& value) { SetLocationConstraint(value); return *this;} + + /** + * <p>Specifies the Region where the bucket resides. For a list of all the Amazon + * S3 supported location constraints by Region, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a>. Buckets in Region <code>us-east-1</code> have a + * LocationConstraint of <code>null</code>.</p> + */ + inline GetBucketLocationResult& WithLocationConstraint(BucketLocationConstraint&& value) { SetLocationConstraint(std::move(value)); return *this;} + + private: + + BucketLocationConstraint m_locationConstraint; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h new file mode 100644 index 0000000000..f0decdec54 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketLoggingRequest : public S3Request + { + public: + GetBucketLoggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketLogging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline GetBucketLoggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline GetBucketLoggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name for which to get the logging information.</p> + */ + inline GetBucketLoggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLoggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLoggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketLoggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketLoggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketLoggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h new file mode 100644 index 0000000000..1495a54ba4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketLoggingResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/LoggingEnabled.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketLoggingResult + { + public: + GetBucketLoggingResult(); + GetBucketLoggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketLoggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const LoggingEnabled& GetLoggingEnabled() const{ return m_loggingEnabled; } + + + inline void SetLoggingEnabled(const LoggingEnabled& value) { m_loggingEnabled = value; } + + + inline void SetLoggingEnabled(LoggingEnabled&& value) { m_loggingEnabled = std::move(value); } + + + inline GetBucketLoggingResult& WithLoggingEnabled(const LoggingEnabled& value) { SetLoggingEnabled(value); return *this;} + + + inline GetBucketLoggingResult& WithLoggingEnabled(LoggingEnabled&& value) { SetLoggingEnabled(std::move(value)); return *this;} + + private: + + LoggingEnabled m_loggingEnabled; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h new file mode 100644 index 0000000000..d52e987778 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationRequest.h @@ -0,0 +1,239 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketMetricsConfigurationRequest : public S3Request + { + public: + GetBucketMetricsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketMetricsConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the metrics configuration to retrieve.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h new file mode 100644 index 0000000000..bb60e97dbf --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketMetricsConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/MetricsConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketMetricsConfigurationResult + { + public: + GetBucketMetricsConfigurationResult(); + GetBucketMetricsConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketMetricsConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline const MetricsConfiguration& GetMetricsConfiguration() const{ return m_metricsConfiguration; } + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline void SetMetricsConfiguration(const MetricsConfiguration& value) { m_metricsConfiguration = value; } + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline void SetMetricsConfiguration(MetricsConfiguration&& value) { m_metricsConfiguration = std::move(value); } + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline GetBucketMetricsConfigurationResult& WithMetricsConfiguration(const MetricsConfiguration& value) { SetMetricsConfiguration(value); return *this;} + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline GetBucketMetricsConfigurationResult& WithMetricsConfiguration(MetricsConfiguration&& value) { SetMetricsConfiguration(std::move(value)); return *this;} + + private: + + MetricsConfiguration m_metricsConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h new file mode 100644 index 0000000000..20a671471a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketNotificationConfigurationRequest : public S3Request + { + public: + GetBucketNotificationConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketNotificationConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline GetBucketNotificationConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline GetBucketNotificationConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to get the notification configuration.</p> + */ + inline GetBucketNotificationConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketNotificationConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketNotificationConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketNotificationConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h new file mode 100644 index 0000000000..a8fe0671ca --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketNotificationConfigurationResult.h @@ -0,0 +1,184 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/TopicConfiguration.h> +#include <aws/s3/model/QueueConfiguration.h> +#include <aws/s3/model/LambdaFunctionConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + /** + * <p>A container for specifying the notification configuration of the bucket. If + * this element is empty, notifications are turned off for the + * bucket.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API GetBucketNotificationConfigurationResult + { + public: + GetBucketNotificationConfigurationResult(); + GetBucketNotificationConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketNotificationConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline const Aws::Vector<TopicConfiguration>& GetTopicConfigurations() const{ return m_topicConfigurations; } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline void SetTopicConfigurations(const Aws::Vector<TopicConfiguration>& value) { m_topicConfigurations = value; } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline void SetTopicConfigurations(Aws::Vector<TopicConfiguration>&& value) { m_topicConfigurations = std::move(value); } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline GetBucketNotificationConfigurationResult& WithTopicConfigurations(const Aws::Vector<TopicConfiguration>& value) { SetTopicConfigurations(value); return *this;} + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline GetBucketNotificationConfigurationResult& WithTopicConfigurations(Aws::Vector<TopicConfiguration>&& value) { SetTopicConfigurations(std::move(value)); return *this;} + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline GetBucketNotificationConfigurationResult& AddTopicConfigurations(const TopicConfiguration& value) { m_topicConfigurations.push_back(value); return *this; } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline GetBucketNotificationConfigurationResult& AddTopicConfigurations(TopicConfiguration&& value) { m_topicConfigurations.push_back(std::move(value)); return *this; } + + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline const Aws::Vector<QueueConfiguration>& GetQueueConfigurations() const{ return m_queueConfigurations; } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline void SetQueueConfigurations(const Aws::Vector<QueueConfiguration>& value) { m_queueConfigurations = value; } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline void SetQueueConfigurations(Aws::Vector<QueueConfiguration>&& value) { m_queueConfigurations = std::move(value); } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline GetBucketNotificationConfigurationResult& WithQueueConfigurations(const Aws::Vector<QueueConfiguration>& value) { SetQueueConfigurations(value); return *this;} + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline GetBucketNotificationConfigurationResult& WithQueueConfigurations(Aws::Vector<QueueConfiguration>&& value) { SetQueueConfigurations(std::move(value)); return *this;} + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline GetBucketNotificationConfigurationResult& AddQueueConfigurations(const QueueConfiguration& value) { m_queueConfigurations.push_back(value); return *this; } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline GetBucketNotificationConfigurationResult& AddQueueConfigurations(QueueConfiguration&& value) { m_queueConfigurations.push_back(std::move(value)); return *this; } + + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline const Aws::Vector<LambdaFunctionConfiguration>& GetLambdaFunctionConfigurations() const{ return m_lambdaFunctionConfigurations; } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline void SetLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { m_lambdaFunctionConfigurations = value; } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline void SetLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { m_lambdaFunctionConfigurations = std::move(value); } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline GetBucketNotificationConfigurationResult& WithLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { SetLambdaFunctionConfigurations(value); return *this;} + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline GetBucketNotificationConfigurationResult& WithLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { SetLambdaFunctionConfigurations(std::move(value)); return *this;} + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline GetBucketNotificationConfigurationResult& AddLambdaFunctionConfigurations(const LambdaFunctionConfiguration& value) { m_lambdaFunctionConfigurations.push_back(value); return *this; } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline GetBucketNotificationConfigurationResult& AddLambdaFunctionConfigurations(LambdaFunctionConfiguration&& value) { m_lambdaFunctionConfigurations.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<TopicConfiguration> m_topicConfigurations; + + Aws::Vector<QueueConfiguration> m_queueConfigurations; + + Aws::Vector<LambdaFunctionConfiguration> m_lambdaFunctionConfigurations; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h new file mode 100644 index 0000000000..ce8a7de017 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketOwnershipControlsRequest : public S3Request + { + public: + GetBucketOwnershipControlsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketOwnershipControls"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline GetBucketOwnershipControlsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline GetBucketOwnershipControlsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to retrieve. </p> + */ + inline GetBucketOwnershipControlsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketOwnershipControlsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketOwnershipControlsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketOwnershipControlsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h new file mode 100644 index 0000000000..9c28367889 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketOwnershipControlsResult.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/OwnershipControls.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketOwnershipControlsResult + { + public: + GetBucketOwnershipControlsResult(); + GetBucketOwnershipControlsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketOwnershipControlsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * currently in effect for this Amazon S3 bucket.</p> + */ + inline const OwnershipControls& GetOwnershipControls() const{ return m_ownershipControls; } + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * currently in effect for this Amazon S3 bucket.</p> + */ + inline void SetOwnershipControls(const OwnershipControls& value) { m_ownershipControls = value; } + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * currently in effect for this Amazon S3 bucket.</p> + */ + inline void SetOwnershipControls(OwnershipControls&& value) { m_ownershipControls = std::move(value); } + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * currently in effect for this Amazon S3 bucket.</p> + */ + inline GetBucketOwnershipControlsResult& WithOwnershipControls(const OwnershipControls& value) { SetOwnershipControls(value); return *this;} + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * currently in effect for this Amazon S3 bucket.</p> + */ + inline GetBucketOwnershipControlsResult& WithOwnershipControls(OwnershipControls&& value) { SetOwnershipControls(std::move(value)); return *this;} + + private: + + OwnershipControls m_ownershipControls; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h new file mode 100644 index 0000000000..a4fa4600ed --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketPolicyRequest : public S3Request + { + public: + GetBucketPolicyRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketPolicy"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline GetBucketPolicyRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline GetBucketPolicyRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name for which to get the bucket policy.</p> + */ + inline GetBucketPolicyRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketPolicyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketPolicyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketPolicyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketPolicyRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketPolicyRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h new file mode 100644 index 0000000000..80857238c6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/stream/ResponseStream.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketPolicyResult + { + public: + GetBucketPolicyResult(); + //We have to define these because Microsoft doesn't auto generate them + GetBucketPolicyResult(GetBucketPolicyResult&&); + GetBucketPolicyResult& operator=(GetBucketPolicyResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetBucketPolicyResult(const GetBucketPolicyResult&) = delete; + GetBucketPolicyResult& operator=(const GetBucketPolicyResult&) = delete; + + + GetBucketPolicyResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + GetBucketPolicyResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + + + + /** + * <p>The bucket policy as a JSON document.</p> + */ + inline Aws::IOStream& GetPolicy() { return m_policy.GetUnderlyingStream(); } + + /** + * <p>The bucket policy as a JSON document.</p> + */ + inline void ReplaceBody(Aws::IOStream* body) { m_policy = Aws::Utils::Stream::ResponseStream(body); } + + private: + + Aws::Utils::Stream::ResponseStream m_policy; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h new file mode 100644 index 0000000000..941ce2ee44 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketPolicyStatusRequest : public S3Request + { + public: + GetBucketPolicyStatusRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketPolicyStatus"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline GetBucketPolicyStatusRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline GetBucketPolicyStatusRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose policy status you want to + * retrieve.</p> + */ + inline GetBucketPolicyStatusRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketPolicyStatusRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketPolicyStatusRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketPolicyStatusRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketPolicyStatusRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketPolicyStatusRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketPolicyStatusRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketPolicyStatusRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketPolicyStatusRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketPolicyStatusRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketPolicyStatusRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketPolicyStatusRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketPolicyStatusRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h new file mode 100644 index 0000000000..d1935f3590 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketPolicyStatusResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/PolicyStatus.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketPolicyStatusResult + { + public: + GetBucketPolicyStatusResult(); + GetBucketPolicyStatusResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketPolicyStatusResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The policy status for the specified bucket.</p> + */ + inline const PolicyStatus& GetPolicyStatus() const{ return m_policyStatus; } + + /** + * <p>The policy status for the specified bucket.</p> + */ + inline void SetPolicyStatus(const PolicyStatus& value) { m_policyStatus = value; } + + /** + * <p>The policy status for the specified bucket.</p> + */ + inline void SetPolicyStatus(PolicyStatus&& value) { m_policyStatus = std::move(value); } + + /** + * <p>The policy status for the specified bucket.</p> + */ + inline GetBucketPolicyStatusResult& WithPolicyStatus(const PolicyStatus& value) { SetPolicyStatus(value); return *this;} + + /** + * <p>The policy status for the specified bucket.</p> + */ + inline GetBucketPolicyStatusResult& WithPolicyStatus(PolicyStatus&& value) { SetPolicyStatus(std::move(value)); return *this;} + + private: + + PolicyStatus m_policyStatus; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h new file mode 100644 index 0000000000..8ee31eefef --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketReplicationRequest : public S3Request + { + public: + GetBucketReplicationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketReplication"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline GetBucketReplicationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline GetBucketReplicationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name for which to get the replication information.</p> + */ + inline GetBucketReplicationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketReplicationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketReplicationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketReplicationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketReplicationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketReplicationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h new file mode 100644 index 0000000000..ff53188ffd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketReplicationResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ReplicationConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketReplicationResult + { + public: + GetBucketReplicationResult(); + GetBucketReplicationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketReplicationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const ReplicationConfiguration& GetReplicationConfiguration() const{ return m_replicationConfiguration; } + + + inline void SetReplicationConfiguration(const ReplicationConfiguration& value) { m_replicationConfiguration = value; } + + + inline void SetReplicationConfiguration(ReplicationConfiguration&& value) { m_replicationConfiguration = std::move(value); } + + + inline GetBucketReplicationResult& WithReplicationConfiguration(const ReplicationConfiguration& value) { SetReplicationConfiguration(value); return *this;} + + + inline GetBucketReplicationResult& WithReplicationConfiguration(ReplicationConfiguration&& value) { SetReplicationConfiguration(std::move(value)); return *this;} + + private: + + ReplicationConfiguration m_replicationConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h new file mode 100644 index 0000000000..6421700b81 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketRequestPaymentRequest : public S3Request + { + public: + GetBucketRequestPaymentRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketRequestPayment"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline GetBucketRequestPaymentRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline GetBucketRequestPaymentRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to get the payment request configuration</p> + */ + inline GetBucketRequestPaymentRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketRequestPaymentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketRequestPaymentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketRequestPaymentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketRequestPaymentRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketRequestPaymentRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketRequestPaymentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketRequestPaymentRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketRequestPaymentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h new file mode 100644 index 0000000000..48b84e3462 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketRequestPaymentResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Payer.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketRequestPaymentResult + { + public: + GetBucketRequestPaymentResult(); + GetBucketRequestPaymentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketRequestPaymentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline const Payer& GetPayer() const{ return m_payer; } + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline void SetPayer(const Payer& value) { m_payer = value; } + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline void SetPayer(Payer&& value) { m_payer = std::move(value); } + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline GetBucketRequestPaymentResult& WithPayer(const Payer& value) { SetPayer(value); return *this;} + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline GetBucketRequestPaymentResult& WithPayer(Payer&& value) { SetPayer(std::move(value)); return *this;} + + private: + + Payer m_payer; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h new file mode 100644 index 0000000000..7b17610bb2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketTaggingRequest : public S3Request + { + public: + GetBucketTaggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketTagging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline GetBucketTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline GetBucketTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to get the tagging information.</p> + */ + inline GetBucketTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h new file mode 100644 index 0000000000..7555a772b4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketTaggingResult.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketTaggingResult + { + public: + GetBucketTaggingResult(); + GetBucketTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Contains the tag set.</p> + */ + inline const Aws::Vector<Tag>& GetTagSet() const{ return m_tagSet; } + + /** + * <p>Contains the tag set.</p> + */ + inline void SetTagSet(const Aws::Vector<Tag>& value) { m_tagSet = value; } + + /** + * <p>Contains the tag set.</p> + */ + inline void SetTagSet(Aws::Vector<Tag>&& value) { m_tagSet = std::move(value); } + + /** + * <p>Contains the tag set.</p> + */ + inline GetBucketTaggingResult& WithTagSet(const Aws::Vector<Tag>& value) { SetTagSet(value); return *this;} + + /** + * <p>Contains the tag set.</p> + */ + inline GetBucketTaggingResult& WithTagSet(Aws::Vector<Tag>&& value) { SetTagSet(std::move(value)); return *this;} + + /** + * <p>Contains the tag set.</p> + */ + inline GetBucketTaggingResult& AddTagSet(const Tag& value) { m_tagSet.push_back(value); return *this; } + + /** + * <p>Contains the tag set.</p> + */ + inline GetBucketTaggingResult& AddTagSet(Tag&& value) { m_tagSet.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<Tag> m_tagSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h new file mode 100644 index 0000000000..5edd374cbe --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketVersioningRequest : public S3Request + { + public: + GetBucketVersioningRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketVersioning"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline GetBucketVersioningRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline GetBucketVersioningRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to get the versioning information.</p> + */ + inline GetBucketVersioningRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketVersioningRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketVersioningRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketVersioningRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketVersioningRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketVersioningRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketVersioningRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketVersioningRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketVersioningRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketVersioningRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketVersioningRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketVersioningRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketVersioningRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h new file mode 100644 index 0000000000..2e4d770751 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketVersioningResult.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/BucketVersioningStatus.h> +#include <aws/s3/model/MFADeleteStatus.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketVersioningResult + { + public: + GetBucketVersioningResult(); + GetBucketVersioningResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketVersioningResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The versioning state of the bucket.</p> + */ + inline const BucketVersioningStatus& GetStatus() const{ return m_status; } + + /** + * <p>The versioning state of the bucket.</p> + */ + inline void SetStatus(const BucketVersioningStatus& value) { m_status = value; } + + /** + * <p>The versioning state of the bucket.</p> + */ + inline void SetStatus(BucketVersioningStatus&& value) { m_status = std::move(value); } + + /** + * <p>The versioning state of the bucket.</p> + */ + inline GetBucketVersioningResult& WithStatus(const BucketVersioningStatus& value) { SetStatus(value); return *this;} + + /** + * <p>The versioning state of the bucket.</p> + */ + inline GetBucketVersioningResult& WithStatus(BucketVersioningStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline const MFADeleteStatus& GetMFADelete() const{ return m_mFADelete; } + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline void SetMFADelete(const MFADeleteStatus& value) { m_mFADelete = value; } + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline void SetMFADelete(MFADeleteStatus&& value) { m_mFADelete = std::move(value); } + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline GetBucketVersioningResult& WithMFADelete(const MFADeleteStatus& value) { SetMFADelete(value); return *this;} + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline GetBucketVersioningResult& WithMFADelete(MFADeleteStatus&& value) { SetMFADelete(std::move(value)); return *this;} + + private: + + BucketVersioningStatus m_status; + + MFADeleteStatus m_mFADelete; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h new file mode 100644 index 0000000000..198b4d3b9d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteRequest.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetBucketWebsiteRequest : public S3Request + { + public: + GetBucketWebsiteRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetBucketWebsite"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline GetBucketWebsiteRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline GetBucketWebsiteRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name for which to get the website configuration.</p> + */ + inline GetBucketWebsiteRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketWebsiteRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketWebsiteRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetBucketWebsiteRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetBucketWebsiteRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetBucketWebsiteRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h new file mode 100644 index 0000000000..f5cb5577b5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketWebsiteResult.h @@ -0,0 +1,180 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/RedirectAllRequestsTo.h> +#include <aws/s3/model/IndexDocument.h> +#include <aws/s3/model/ErrorDocument.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/RoutingRule.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetBucketWebsiteResult + { + public: + GetBucketWebsiteResult(); + GetBucketWebsiteResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetBucketWebsiteResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies the redirect behavior of all requests to a website endpoint of an + * Amazon S3 bucket.</p> + */ + inline const RedirectAllRequestsTo& GetRedirectAllRequestsTo() const{ return m_redirectAllRequestsTo; } + + /** + * <p>Specifies the redirect behavior of all requests to a website endpoint of an + * Amazon S3 bucket.</p> + */ + inline void SetRedirectAllRequestsTo(const RedirectAllRequestsTo& value) { m_redirectAllRequestsTo = value; } + + /** + * <p>Specifies the redirect behavior of all requests to a website endpoint of an + * Amazon S3 bucket.</p> + */ + inline void SetRedirectAllRequestsTo(RedirectAllRequestsTo&& value) { m_redirectAllRequestsTo = std::move(value); } + + /** + * <p>Specifies the redirect behavior of all requests to a website endpoint of an + * Amazon S3 bucket.</p> + */ + inline GetBucketWebsiteResult& WithRedirectAllRequestsTo(const RedirectAllRequestsTo& value) { SetRedirectAllRequestsTo(value); return *this;} + + /** + * <p>Specifies the redirect behavior of all requests to a website endpoint of an + * Amazon S3 bucket.</p> + */ + inline GetBucketWebsiteResult& WithRedirectAllRequestsTo(RedirectAllRequestsTo&& value) { SetRedirectAllRequestsTo(std::move(value)); return *this;} + + + /** + * <p>The name of the index document for the website (for example + * <code>index.html</code>).</p> + */ + inline const IndexDocument& GetIndexDocument() const{ return m_indexDocument; } + + /** + * <p>The name of the index document for the website (for example + * <code>index.html</code>).</p> + */ + inline void SetIndexDocument(const IndexDocument& value) { m_indexDocument = value; } + + /** + * <p>The name of the index document for the website (for example + * <code>index.html</code>).</p> + */ + inline void SetIndexDocument(IndexDocument&& value) { m_indexDocument = std::move(value); } + + /** + * <p>The name of the index document for the website (for example + * <code>index.html</code>).</p> + */ + inline GetBucketWebsiteResult& WithIndexDocument(const IndexDocument& value) { SetIndexDocument(value); return *this;} + + /** + * <p>The name of the index document for the website (for example + * <code>index.html</code>).</p> + */ + inline GetBucketWebsiteResult& WithIndexDocument(IndexDocument&& value) { SetIndexDocument(std::move(value)); return *this;} + + + /** + * <p>The object key name of the website error document to use for 4XX class + * errors.</p> + */ + inline const ErrorDocument& GetErrorDocument() const{ return m_errorDocument; } + + /** + * <p>The object key name of the website error document to use for 4XX class + * errors.</p> + */ + inline void SetErrorDocument(const ErrorDocument& value) { m_errorDocument = value; } + + /** + * <p>The object key name of the website error document to use for 4XX class + * errors.</p> + */ + inline void SetErrorDocument(ErrorDocument&& value) { m_errorDocument = std::move(value); } + + /** + * <p>The object key name of the website error document to use for 4XX class + * errors.</p> + */ + inline GetBucketWebsiteResult& WithErrorDocument(const ErrorDocument& value) { SetErrorDocument(value); return *this;} + + /** + * <p>The object key name of the website error document to use for 4XX class + * errors.</p> + */ + inline GetBucketWebsiteResult& WithErrorDocument(ErrorDocument&& value) { SetErrorDocument(std::move(value)); return *this;} + + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline const Aws::Vector<RoutingRule>& GetRoutingRules() const{ return m_routingRules; } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline void SetRoutingRules(const Aws::Vector<RoutingRule>& value) { m_routingRules = value; } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline void SetRoutingRules(Aws::Vector<RoutingRule>&& value) { m_routingRules = std::move(value); } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline GetBucketWebsiteResult& WithRoutingRules(const Aws::Vector<RoutingRule>& value) { SetRoutingRules(value); return *this;} + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline GetBucketWebsiteResult& WithRoutingRules(Aws::Vector<RoutingRule>&& value) { SetRoutingRules(std::move(value)); return *this;} + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline GetBucketWebsiteResult& AddRoutingRules(const RoutingRule& value) { m_routingRules.push_back(value); return *this; } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline GetBucketWebsiteResult& AddRoutingRules(RoutingRule&& value) { m_routingRules.push_back(std::move(value)); return *this; } + + private: + + RedirectAllRequestsTo m_redirectAllRequestsTo; + + IndexDocument m_indexDocument; + + ErrorDocument m_errorDocument; + + Aws::Vector<RoutingRule> m_routingRules; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h new file mode 100644 index 0000000000..219922f755 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclRequest.h @@ -0,0 +1,378 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetObjectAclRequest : public S3Request + { + public: + GetObjectAclRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObjectAcl"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name that contains the object for which to get the ACL + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline GetObjectAclRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline GetObjectAclRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The key of the object for which to get the ACL information.</p> + */ + inline GetObjectAclRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline GetObjectAclRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline GetObjectAclRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline GetObjectAclRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline GetObjectAclRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline GetObjectAclRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectAclRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectAclRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectAclRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectAclRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h new file mode 100644 index 0000000000..26f7bae035 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAclResult.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Owner.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/Grant.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetObjectAclResult + { + public: + GetObjectAclResult(); + GetObjectAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetObjectAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p> Container for the bucket owner's display name and ID.</p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p> Container for the bucket owner's display name and ID.</p> + */ + inline void SetOwner(const Owner& value) { m_owner = value; } + + /** + * <p> Container for the bucket owner's display name and ID.</p> + */ + inline void SetOwner(Owner&& value) { m_owner = std::move(value); } + + /** + * <p> Container for the bucket owner's display name and ID.</p> + */ + inline GetObjectAclResult& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p> Container for the bucket owner's display name and ID.</p> + */ + inline GetObjectAclResult& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + + /** + * <p>A list of grants.</p> + */ + inline const Aws::Vector<Grant>& GetGrants() const{ return m_grants; } + + /** + * <p>A list of grants.</p> + */ + inline void SetGrants(const Aws::Vector<Grant>& value) { m_grants = value; } + + /** + * <p>A list of grants.</p> + */ + inline void SetGrants(Aws::Vector<Grant>&& value) { m_grants = std::move(value); } + + /** + * <p>A list of grants.</p> + */ + inline GetObjectAclResult& WithGrants(const Aws::Vector<Grant>& value) { SetGrants(value); return *this;} + + /** + * <p>A list of grants.</p> + */ + inline GetObjectAclResult& WithGrants(Aws::Vector<Grant>&& value) { SetGrants(std::move(value)); return *this;} + + /** + * <p>A list of grants.</p> + */ + inline GetObjectAclResult& AddGrants(const Grant& value) { m_grants.push_back(value); return *this; } + + /** + * <p>A list of grants.</p> + */ + inline GetObjectAclResult& AddGrants(Grant&& value) { m_grants.push_back(std::move(value)); return *this; } + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline GetObjectAclResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline GetObjectAclResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + Owner m_owner; + + Aws::Vector<Grant> m_grants; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h new file mode 100644 index 0000000000..e6e2801de8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldRequest.h @@ -0,0 +1,386 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetObjectLegalHoldRequest : public S3Request + { + public: + GetObjectLegalHoldRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObjectLegalHold"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectLegalHoldRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectLegalHoldRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the object whose Legal Hold status you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectLegalHoldRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline GetObjectLegalHoldRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline GetObjectLegalHoldRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The key name for the object whose Legal Hold status you want to retrieve.</p> + */ + inline GetObjectLegalHoldRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline GetObjectLegalHoldRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline GetObjectLegalHoldRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID of the object whose Legal Hold status you want to + * retrieve.</p> + */ + inline GetObjectLegalHoldRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline GetObjectLegalHoldRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline GetObjectLegalHoldRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectLegalHoldRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectLegalHoldRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectLegalHoldRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectLegalHoldRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectLegalHoldRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectLegalHoldRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectLegalHoldRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectLegalHoldRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectLegalHoldRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectLegalHoldRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectLegalHoldRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectLegalHoldRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h new file mode 100644 index 0000000000..c69ac4c2c4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLegalHoldResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectLockLegalHold.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetObjectLegalHoldResult + { + public: + GetObjectLegalHoldResult(); + GetObjectLegalHoldResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetObjectLegalHoldResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The current Legal Hold status for the specified object.</p> + */ + inline const ObjectLockLegalHold& GetLegalHold() const{ return m_legalHold; } + + /** + * <p>The current Legal Hold status for the specified object.</p> + */ + inline void SetLegalHold(const ObjectLockLegalHold& value) { m_legalHold = value; } + + /** + * <p>The current Legal Hold status for the specified object.</p> + */ + inline void SetLegalHold(ObjectLockLegalHold&& value) { m_legalHold = std::move(value); } + + /** + * <p>The current Legal Hold status for the specified object.</p> + */ + inline GetObjectLegalHoldResult& WithLegalHold(const ObjectLockLegalHold& value) { SetLegalHold(value); return *this;} + + /** + * <p>The current Legal Hold status for the specified object.</p> + */ + inline GetObjectLegalHoldResult& WithLegalHold(ObjectLockLegalHold&& value) { SetLegalHold(std::move(value)); return *this;} + + private: + + ObjectLockLegalHold m_legalHold; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h new file mode 100644 index 0000000000..a99710c72a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationRequest.h @@ -0,0 +1,267 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetObjectLockConfigurationRequest : public S3Request + { + public: + GetObjectLockConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObjectLockConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectLockConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectLockConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket whose Object Lock configuration you want to retrieve.</p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectLockConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectLockConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectLockConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectLockConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectLockConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectLockConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectLockConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectLockConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectLockConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h new file mode 100644 index 0000000000..8d1a8701ab --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectLockConfigurationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectLockConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetObjectLockConfigurationResult + { + public: + GetObjectLockConfigurationResult(); + GetObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetObjectLockConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The specified bucket's Object Lock configuration.</p> + */ + inline const ObjectLockConfiguration& GetObjectLockConfiguration() const{ return m_objectLockConfiguration; } + + /** + * <p>The specified bucket's Object Lock configuration.</p> + */ + inline void SetObjectLockConfiguration(const ObjectLockConfiguration& value) { m_objectLockConfiguration = value; } + + /** + * <p>The specified bucket's Object Lock configuration.</p> + */ + inline void SetObjectLockConfiguration(ObjectLockConfiguration&& value) { m_objectLockConfiguration = std::move(value); } + + /** + * <p>The specified bucket's Object Lock configuration.</p> + */ + inline GetObjectLockConfigurationResult& WithObjectLockConfiguration(const ObjectLockConfiguration& value) { SetObjectLockConfiguration(value); return *this;} + + /** + * <p>The specified bucket's Object Lock configuration.</p> + */ + inline GetObjectLockConfigurationResult& WithObjectLockConfiguration(ObjectLockConfiguration&& value) { SetObjectLockConfiguration(std::move(value)); return *this;} + + private: + + ObjectLockConfiguration m_objectLockConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h new file mode 100644 index 0000000000..c26051713d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRequest.h @@ -0,0 +1,1185 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetObjectRequest : public S3Request + { + public: + GetObjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObject"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline const Aws::String& GetIfMatch() const{ return m_ifMatch; } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline bool IfMatchHasBeenSet() const { return m_ifMatchHasBeenSet; } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfMatch(const Aws::String& value) { m_ifMatchHasBeenSet = true; m_ifMatch = value; } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfMatch(Aws::String&& value) { m_ifMatchHasBeenSet = true; m_ifMatch = std::move(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfMatch(const char* value) { m_ifMatchHasBeenSet = true; m_ifMatch.assign(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline GetObjectRequest& WithIfMatch(const Aws::String& value) { SetIfMatch(value); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline GetObjectRequest& WithIfMatch(Aws::String&& value) { SetIfMatch(std::move(value)); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline GetObjectRequest& WithIfMatch(const char* value) { SetIfMatch(value); return *this;} + + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline const Aws::Utils::DateTime& GetIfModifiedSince() const{ return m_ifModifiedSince; } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline bool IfModifiedSinceHasBeenSet() const { return m_ifModifiedSinceHasBeenSet; } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline void SetIfModifiedSince(const Aws::Utils::DateTime& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = value; } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline void SetIfModifiedSince(Aws::Utils::DateTime&& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = std::move(value); } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline GetObjectRequest& WithIfModifiedSince(const Aws::Utils::DateTime& value) { SetIfModifiedSince(value); return *this;} + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline GetObjectRequest& WithIfModifiedSince(Aws::Utils::DateTime&& value) { SetIfModifiedSince(std::move(value)); return *this;} + + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline const Aws::String& GetIfNoneMatch() const{ return m_ifNoneMatch; } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline void SetIfNoneMatch(const Aws::String& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = value; } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline void SetIfNoneMatch(Aws::String&& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = std::move(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline void SetIfNoneMatch(const char* value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch.assign(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline GetObjectRequest& WithIfNoneMatch(const Aws::String& value) { SetIfNoneMatch(value); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline GetObjectRequest& WithIfNoneMatch(Aws::String&& value) { SetIfNoneMatch(std::move(value)); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline GetObjectRequest& WithIfNoneMatch(const char* value) { SetIfNoneMatch(value); return *this;} + + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline const Aws::Utils::DateTime& GetIfUnmodifiedSince() const{ return m_ifUnmodifiedSince; } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline bool IfUnmodifiedSinceHasBeenSet() const { return m_ifUnmodifiedSinceHasBeenSet; } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfUnmodifiedSince(const Aws::Utils::DateTime& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = value; } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfUnmodifiedSince(Aws::Utils::DateTime&& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = std::move(value); } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline GetObjectRequest& WithIfUnmodifiedSince(const Aws::Utils::DateTime& value) { SetIfUnmodifiedSince(value); return *this;} + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline GetObjectRequest& WithIfUnmodifiedSince(Aws::Utils::DateTime&& value) { SetIfUnmodifiedSince(std::move(value)); return *this;} + + + /** + * <p>Key of the object to get.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Key of the object to get.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Key of the object to get.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Key of the object to get.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Key of the object to get.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Key of the object to get.</p> + */ + inline GetObjectRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Key of the object to get.</p> + */ + inline GetObjectRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Key of the object to get.</p> + */ + inline GetObjectRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline const Aws::String& GetRange() const{ return m_range; } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline void SetRange(const Aws::String& value) { m_rangeHasBeenSet = true; m_range = value; } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline void SetRange(Aws::String&& value) { m_rangeHasBeenSet = true; m_range = std::move(value); } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline void SetRange(const char* value) { m_rangeHasBeenSet = true; m_range.assign(value); } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline GetObjectRequest& WithRange(const Aws::String& value) { SetRange(value); return *this;} + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline GetObjectRequest& WithRange(Aws::String&& value) { SetRange(std::move(value)); return *this;} + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline GetObjectRequest& WithRange(const char* value) { SetRange(value); return *this;} + + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline const Aws::String& GetResponseCacheControl() const{ return m_responseCacheControl; } + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline bool ResponseCacheControlHasBeenSet() const { return m_responseCacheControlHasBeenSet; } + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline void SetResponseCacheControl(const Aws::String& value) { m_responseCacheControlHasBeenSet = true; m_responseCacheControl = value; } + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline void SetResponseCacheControl(Aws::String&& value) { m_responseCacheControlHasBeenSet = true; m_responseCacheControl = std::move(value); } + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline void SetResponseCacheControl(const char* value) { m_responseCacheControlHasBeenSet = true; m_responseCacheControl.assign(value); } + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseCacheControl(const Aws::String& value) { SetResponseCacheControl(value); return *this;} + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseCacheControl(Aws::String&& value) { SetResponseCacheControl(std::move(value)); return *this;} + + /** + * <p>Sets the <code>Cache-Control</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseCacheControl(const char* value) { SetResponseCacheControl(value); return *this;} + + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline const Aws::String& GetResponseContentDisposition() const{ return m_responseContentDisposition; } + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline bool ResponseContentDispositionHasBeenSet() const { return m_responseContentDispositionHasBeenSet; } + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline void SetResponseContentDisposition(const Aws::String& value) { m_responseContentDispositionHasBeenSet = true; m_responseContentDisposition = value; } + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline void SetResponseContentDisposition(Aws::String&& value) { m_responseContentDispositionHasBeenSet = true; m_responseContentDisposition = std::move(value); } + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline void SetResponseContentDisposition(const char* value) { m_responseContentDispositionHasBeenSet = true; m_responseContentDisposition.assign(value); } + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline GetObjectRequest& WithResponseContentDisposition(const Aws::String& value) { SetResponseContentDisposition(value); return *this;} + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline GetObjectRequest& WithResponseContentDisposition(Aws::String&& value) { SetResponseContentDisposition(std::move(value)); return *this;} + + /** + * <p>Sets the <code>Content-Disposition</code> header of the response</p> + */ + inline GetObjectRequest& WithResponseContentDisposition(const char* value) { SetResponseContentDisposition(value); return *this;} + + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline const Aws::String& GetResponseContentEncoding() const{ return m_responseContentEncoding; } + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline bool ResponseContentEncodingHasBeenSet() const { return m_responseContentEncodingHasBeenSet; } + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline void SetResponseContentEncoding(const Aws::String& value) { m_responseContentEncodingHasBeenSet = true; m_responseContentEncoding = value; } + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline void SetResponseContentEncoding(Aws::String&& value) { m_responseContentEncodingHasBeenSet = true; m_responseContentEncoding = std::move(value); } + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline void SetResponseContentEncoding(const char* value) { m_responseContentEncodingHasBeenSet = true; m_responseContentEncoding.assign(value); } + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentEncoding(const Aws::String& value) { SetResponseContentEncoding(value); return *this;} + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentEncoding(Aws::String&& value) { SetResponseContentEncoding(std::move(value)); return *this;} + + /** + * <p>Sets the <code>Content-Encoding</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentEncoding(const char* value) { SetResponseContentEncoding(value); return *this;} + + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline const Aws::String& GetResponseContentLanguage() const{ return m_responseContentLanguage; } + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline bool ResponseContentLanguageHasBeenSet() const { return m_responseContentLanguageHasBeenSet; } + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline void SetResponseContentLanguage(const Aws::String& value) { m_responseContentLanguageHasBeenSet = true; m_responseContentLanguage = value; } + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline void SetResponseContentLanguage(Aws::String&& value) { m_responseContentLanguageHasBeenSet = true; m_responseContentLanguage = std::move(value); } + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline void SetResponseContentLanguage(const char* value) { m_responseContentLanguageHasBeenSet = true; m_responseContentLanguage.assign(value); } + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentLanguage(const Aws::String& value) { SetResponseContentLanguage(value); return *this;} + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentLanguage(Aws::String&& value) { SetResponseContentLanguage(std::move(value)); return *this;} + + /** + * <p>Sets the <code>Content-Language</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentLanguage(const char* value) { SetResponseContentLanguage(value); return *this;} + + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline const Aws::String& GetResponseContentType() const{ return m_responseContentType; } + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline bool ResponseContentTypeHasBeenSet() const { return m_responseContentTypeHasBeenSet; } + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline void SetResponseContentType(const Aws::String& value) { m_responseContentTypeHasBeenSet = true; m_responseContentType = value; } + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline void SetResponseContentType(Aws::String&& value) { m_responseContentTypeHasBeenSet = true; m_responseContentType = std::move(value); } + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline void SetResponseContentType(const char* value) { m_responseContentTypeHasBeenSet = true; m_responseContentType.assign(value); } + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentType(const Aws::String& value) { SetResponseContentType(value); return *this;} + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentType(Aws::String&& value) { SetResponseContentType(std::move(value)); return *this;} + + /** + * <p>Sets the <code>Content-Type</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseContentType(const char* value) { SetResponseContentType(value); return *this;} + + + /** + * <p>Sets the <code>Expires</code> header of the response.</p> + */ + inline const Aws::Utils::DateTime& GetResponseExpires() const{ return m_responseExpires; } + + /** + * <p>Sets the <code>Expires</code> header of the response.</p> + */ + inline bool ResponseExpiresHasBeenSet() const { return m_responseExpiresHasBeenSet; } + + /** + * <p>Sets the <code>Expires</code> header of the response.</p> + */ + inline void SetResponseExpires(const Aws::Utils::DateTime& value) { m_responseExpiresHasBeenSet = true; m_responseExpires = value; } + + /** + * <p>Sets the <code>Expires</code> header of the response.</p> + */ + inline void SetResponseExpires(Aws::Utils::DateTime&& value) { m_responseExpiresHasBeenSet = true; m_responseExpires = std::move(value); } + + /** + * <p>Sets the <code>Expires</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseExpires(const Aws::Utils::DateTime& value) { SetResponseExpires(value); return *this;} + + /** + * <p>Sets the <code>Expires</code> header of the response.</p> + */ + inline GetObjectRequest& WithResponseExpires(Aws::Utils::DateTime&& value) { SetResponseExpires(std::move(value)); return *this;} + + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline GetObjectRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline GetObjectRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline GetObjectRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline GetObjectRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline GetObjectRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline GetObjectRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline GetObjectRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline GetObjectRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline GetObjectRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline GetObjectRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline GetObjectRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline GetObjectRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline GetObjectRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline GetObjectRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' GET request for the part specified. + * Useful for downloading just a part of an object.</p> + */ + inline int GetPartNumber() const{ return m_partNumber; } + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' GET request for the part specified. + * Useful for downloading just a part of an object.</p> + */ + inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; } + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' GET request for the part specified. + * Useful for downloading just a part of an object.</p> + */ + inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; } + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' GET request for the part specified. + * Useful for downloading just a part of an object.</p> + */ + inline GetObjectRequest& WithPartNumber(int value) { SetPartNumber(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_ifMatch; + bool m_ifMatchHasBeenSet; + + Aws::Utils::DateTime m_ifModifiedSince; + bool m_ifModifiedSinceHasBeenSet; + + Aws::String m_ifNoneMatch; + bool m_ifNoneMatchHasBeenSet; + + Aws::Utils::DateTime m_ifUnmodifiedSince; + bool m_ifUnmodifiedSinceHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_range; + bool m_rangeHasBeenSet; + + Aws::String m_responseCacheControl; + bool m_responseCacheControlHasBeenSet; + + Aws::String m_responseContentDisposition; + bool m_responseContentDispositionHasBeenSet; + + Aws::String m_responseContentEncoding; + bool m_responseContentEncodingHasBeenSet; + + Aws::String m_responseContentLanguage; + bool m_responseContentLanguageHasBeenSet; + + Aws::String m_responseContentType; + bool m_responseContentTypeHasBeenSet; + + Aws::Utils::DateTime m_responseExpires; + bool m_responseExpiresHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + int m_partNumber; + bool m_partNumberHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h new file mode 100644 index 0000000000..e9eb7bf9ed --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectResult.h @@ -0,0 +1,1239 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/stream/ResponseStream.h> +#include <aws/core/utils/Array.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/ReplicationStatus.h> +#include <aws/s3/model/ObjectLockMode.h> +#include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetObjectResult + { + public: + GetObjectResult(); + //We have to define these because Microsoft doesn't auto generate them + GetObjectResult(GetObjectResult&&); + GetObjectResult& operator=(GetObjectResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetObjectResult(const GetObjectResult&) = delete; + GetObjectResult& operator=(const GetObjectResult&) = delete; + + + GetObjectResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + GetObjectResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + + + + /** + * <p>Object data.</p> + */ + inline Aws::IOStream& GetBody() { return m_body.GetUnderlyingStream(); } + + /** + * <p>Object data.</p> + */ + inline void ReplaceBody(Aws::IOStream* body) { m_body = Aws::Utils::Stream::ResponseStream(body); } + + + /** + * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete + * Marker. If false, this response header does not appear in the response.</p> + */ + inline bool GetDeleteMarker() const{ return m_deleteMarker; } + + /** + * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete + * Marker. If false, this response header does not appear in the response.</p> + */ + inline void SetDeleteMarker(bool value) { m_deleteMarker = value; } + + /** + * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete + * Marker. If false, this response header does not appear in the response.</p> + */ + inline GetObjectResult& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;} + + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline const Aws::String& GetAcceptRanges() const{ return m_acceptRanges; } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline void SetAcceptRanges(const Aws::String& value) { m_acceptRanges = value; } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline void SetAcceptRanges(Aws::String&& value) { m_acceptRanges = std::move(value); } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline void SetAcceptRanges(const char* value) { m_acceptRanges.assign(value); } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline GetObjectResult& WithAcceptRanges(const Aws::String& value) { SetAcceptRanges(value); return *this;} + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline GetObjectResult& WithAcceptRanges(Aws::String&& value) { SetAcceptRanges(std::move(value)); return *this;} + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline GetObjectResult& WithAcceptRanges(const char* value) { SetAcceptRanges(value); return *this;} + + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline const Aws::String& GetExpiration() const{ return m_expiration; } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline void SetExpiration(const Aws::String& value) { m_expiration = value; } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline void SetExpiration(const char* value) { m_expiration.assign(value); } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline GetObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline GetObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline GetObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} + + + /** + * <p>Provides information about object restoration operation and expiration time + * of the restored object copy.</p> + */ + inline const Aws::String& GetRestore() const{ return m_restore; } + + /** + * <p>Provides information about object restoration operation and expiration time + * of the restored object copy.</p> + */ + inline void SetRestore(const Aws::String& value) { m_restore = value; } + + /** + * <p>Provides information about object restoration operation and expiration time + * of the restored object copy.</p> + */ + inline void SetRestore(Aws::String&& value) { m_restore = std::move(value); } + + /** + * <p>Provides information about object restoration operation and expiration time + * of the restored object copy.</p> + */ + inline void SetRestore(const char* value) { m_restore.assign(value); } + + /** + * <p>Provides information about object restoration operation and expiration time + * of the restored object copy.</p> + */ + inline GetObjectResult& WithRestore(const Aws::String& value) { SetRestore(value); return *this;} + + /** + * <p>Provides information about object restoration operation and expiration time + * of the restored object copy.</p> + */ + inline GetObjectResult& WithRestore(Aws::String&& value) { SetRestore(std::move(value)); return *this;} + + /** + * <p>Provides information about object restoration operation and expiration time + * of the restored object copy.</p> + */ + inline GetObjectResult& WithRestore(const char* value) { SetRestore(value); return *this;} + + + /** + * <p>Last modified date of the object</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>Last modified date of the object</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModified = value; } + + /** + * <p>Last modified date of the object</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModified = std::move(value); } + + /** + * <p>Last modified date of the object</p> + */ + inline GetObjectResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>Last modified date of the object</p> + */ + inline GetObjectResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + + /** + * <p>Size of the body in bytes.</p> + */ + inline long long GetContentLength() const{ return m_contentLength; } + + /** + * <p>Size of the body in bytes.</p> + */ + inline void SetContentLength(long long value) { m_contentLength = value; } + + /** + * <p>Size of the body in bytes.</p> + */ + inline GetObjectResult& WithContentLength(long long value) { SetContentLength(value); return *this;} + + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTag = value; } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(const char* value) { m_eTag.assign(value); } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline GetObjectResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline GetObjectResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline GetObjectResult& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>This is set to the number of metadata entries not returned in + * <code>x-amz-meta</code> headers. This can happen if you create metadata using an + * API like SOAP that supports more flexible metadata than the REST API. For + * example, using SOAP, you can create metadata whose values are not legal HTTP + * headers.</p> + */ + inline int GetMissingMeta() const{ return m_missingMeta; } + + /** + * <p>This is set to the number of metadata entries not returned in + * <code>x-amz-meta</code> headers. This can happen if you create metadata using an + * API like SOAP that supports more flexible metadata than the REST API. For + * example, using SOAP, you can create metadata whose values are not legal HTTP + * headers.</p> + */ + inline void SetMissingMeta(int value) { m_missingMeta = value; } + + /** + * <p>This is set to the number of metadata entries not returned in + * <code>x-amz-meta</code> headers. This can happen if you create metadata using an + * API like SOAP that supports more flexible metadata than the REST API. For + * example, using SOAP, you can create metadata whose values are not legal HTTP + * headers.</p> + */ + inline GetObjectResult& WithMissingMeta(int value) { SetMissingMeta(value); return *this;} + + + /** + * <p>Version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>Version of the object.</p> + */ + inline GetObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Version of the object.</p> + */ + inline GetObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Version of the object.</p> + */ + inline GetObjectResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline GetObjectResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline GetObjectResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline GetObjectResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const Aws::String& value) { m_contentDisposition = value; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(Aws::String&& value) { m_contentDisposition = std::move(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const char* value) { m_contentDisposition.assign(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline GetObjectResult& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline GetObjectResult& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline GetObjectResult& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;} + + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const Aws::String& value) { m_contentEncoding = value; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(Aws::String&& value) { m_contentEncoding = std::move(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const char* value) { m_contentEncoding.assign(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline GetObjectResult& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline GetObjectResult& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline GetObjectResult& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;} + + + /** + * <p>The language the content is in.</p> + */ + inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const Aws::String& value) { m_contentLanguage = value; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(Aws::String&& value) { m_contentLanguage = std::move(value); } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const char* value) { m_contentLanguage.assign(value); } + + /** + * <p>The language the content is in.</p> + */ + inline GetObjectResult& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline GetObjectResult& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline GetObjectResult& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;} + + + /** + * <p>The portion of the object returned in the response.</p> + */ + inline const Aws::String& GetContentRange() const{ return m_contentRange; } + + /** + * <p>The portion of the object returned in the response.</p> + */ + inline void SetContentRange(const Aws::String& value) { m_contentRange = value; } + + /** + * <p>The portion of the object returned in the response.</p> + */ + inline void SetContentRange(Aws::String&& value) { m_contentRange = std::move(value); } + + /** + * <p>The portion of the object returned in the response.</p> + */ + inline void SetContentRange(const char* value) { m_contentRange.assign(value); } + + /** + * <p>The portion of the object returned in the response.</p> + */ + inline GetObjectResult& WithContentRange(const Aws::String& value) { SetContentRange(value); return *this;} + + /** + * <p>The portion of the object returned in the response.</p> + */ + inline GetObjectResult& WithContentRange(Aws::String&& value) { SetContentRange(std::move(value)); return *this;} + + /** + * <p>The portion of the object returned in the response.</p> + */ + inline GetObjectResult& WithContentRange(const char* value) { SetContentRange(value); return *this;} + + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline const Aws::String& GetContentType() const{ return m_contentType; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const Aws::String& value) { m_contentType = value; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(Aws::String&& value) { m_contentType = std::move(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const char* value) { m_contentType.assign(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline GetObjectResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline GetObjectResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline GetObjectResult& WithContentType(const char* value) { SetContentType(value); return *this;} + + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(const Aws::Utils::DateTime& value) { m_expires = value; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(Aws::Utils::DateTime&& value) { m_expires = std::move(value); } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline GetObjectResult& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;} + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline GetObjectResult& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;} + + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline const Aws::String& GetWebsiteRedirectLocation() const{ return m_websiteRedirectLocation; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const Aws::String& value) { m_websiteRedirectLocation = value; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(Aws::String&& value) { m_websiteRedirectLocation = std::move(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const char* value) { m_websiteRedirectLocation.assign(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline GetObjectResult& WithWebsiteRedirectLocation(const Aws::String& value) { SetWebsiteRedirectLocation(value); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline GetObjectResult& WithWebsiteRedirectLocation(Aws::String&& value) { SetWebsiteRedirectLocation(std::move(value)); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline GetObjectResult& WithWebsiteRedirectLocation(const char* value) { SetWebsiteRedirectLocation(value); return *this;} + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline GetObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline GetObjectResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadata = value; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadata = std::move(value); } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadata.emplace(key, value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadata.emplace(std::move(key), std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& AddMetadata(const char* key, Aws::String&& value) { m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& AddMetadata(Aws::String&& key, const char* value) { m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline GetObjectResult& AddMetadata(const char* key, const char* value) { m_metadata.emplace(key, value); return *this; } + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline GetObjectResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline GetObjectResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline GetObjectResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline GetObjectResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline GetObjectResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline GetObjectResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline GetObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline GetObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline GetObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption + * with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption + * with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption + * with AWS KMS (SSE-KMS).</p> + */ + inline GetObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClass = value; } + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClass = std::move(value); } + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> + */ + inline GetObjectResult& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> + */ + inline GetObjectResult& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline GetObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline GetObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + + /** + * <p>Amazon S3 can return this if your request involves a bucket that is either a + * source or destination in a replication rule.</p> + */ + inline const ReplicationStatus& GetReplicationStatus() const{ return m_replicationStatus; } + + /** + * <p>Amazon S3 can return this if your request involves a bucket that is either a + * source or destination in a replication rule.</p> + */ + inline void SetReplicationStatus(const ReplicationStatus& value) { m_replicationStatus = value; } + + /** + * <p>Amazon S3 can return this if your request involves a bucket that is either a + * source or destination in a replication rule.</p> + */ + inline void SetReplicationStatus(ReplicationStatus&& value) { m_replicationStatus = std::move(value); } + + /** + * <p>Amazon S3 can return this if your request involves a bucket that is either a + * source or destination in a replication rule.</p> + */ + inline GetObjectResult& WithReplicationStatus(const ReplicationStatus& value) { SetReplicationStatus(value); return *this;} + + /** + * <p>Amazon S3 can return this if your request involves a bucket that is either a + * source or destination in a replication rule.</p> + */ + inline GetObjectResult& WithReplicationStatus(ReplicationStatus&& value) { SetReplicationStatus(std::move(value)); return *this;} + + + /** + * <p>The count of parts this object has.</p> + */ + inline int GetPartsCount() const{ return m_partsCount; } + + /** + * <p>The count of parts this object has.</p> + */ + inline void SetPartsCount(int value) { m_partsCount = value; } + + /** + * <p>The count of parts this object has.</p> + */ + inline GetObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} + + + /** + * <p>The number of tags, if any, on the object.</p> + */ + inline int GetTagCount() const{ return m_tagCount; } + + /** + * <p>The number of tags, if any, on the object.</p> + */ + inline void SetTagCount(int value) { m_tagCount = value; } + + /** + * <p>The number of tags, if any, on the object.</p> + */ + inline GetObjectResult& WithTagCount(int value) { SetTagCount(value); return *this;} + + + /** + * <p>The Object Lock mode currently in place for this object.</p> + */ + inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; } + + /** + * <p>The Object Lock mode currently in place for this object.</p> + */ + inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockMode = value; } + + /** + * <p>The Object Lock mode currently in place for this object.</p> + */ + inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockMode = std::move(value); } + + /** + * <p>The Object Lock mode currently in place for this object.</p> + */ + inline GetObjectResult& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;} + + /** + * <p>The Object Lock mode currently in place for this object.</p> + */ + inline GetObjectResult& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;} + + + /** + * <p>The date and time when this object's Object Lock will expire.</p> + */ + inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } + + /** + * <p>The date and time when this object's Object Lock will expire.</p> + */ + inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDate = value; } + + /** + * <p>The date and time when this object's Object Lock will expire.</p> + */ + inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDate = std::move(value); } + + /** + * <p>The date and time when this object's Object Lock will expire.</p> + */ + inline GetObjectResult& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} + + /** + * <p>The date and time when this object's Object Lock will expire.</p> + */ + inline GetObjectResult& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} + + + /** + * <p>Indicates whether this object has an active legal hold. This field is only + * returned if you have permission to view an object's legal hold status. </p> + */ + inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } + + /** + * <p>Indicates whether this object has an active legal hold. This field is only + * returned if you have permission to view an object's legal hold status. </p> + */ + inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatus = value; } + + /** + * <p>Indicates whether this object has an active legal hold. This field is only + * returned if you have permission to view an object's legal hold status. </p> + */ + inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatus = std::move(value); } + + /** + * <p>Indicates whether this object has an active legal hold. This field is only + * returned if you have permission to view an object's legal hold status. </p> + */ + inline GetObjectResult& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} + + /** + * <p>Indicates whether this object has an active legal hold. This field is only + * returned if you have permission to view an object's legal hold status. </p> + */ + inline GetObjectResult& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} + + + + inline const Aws::String& GetId2() const{ return m_id2; } + + + inline void SetId2(const Aws::String& value) { m_id2 = value; } + + + inline void SetId2(Aws::String&& value) { m_id2 = std::move(value); } + + + inline void SetId2(const char* value) { m_id2.assign(value); } + + + inline GetObjectResult& WithId2(const Aws::String& value) { SetId2(value); return *this;} + + + inline GetObjectResult& WithId2(Aws::String&& value) { SetId2(std::move(value)); return *this;} + + + inline GetObjectResult& WithId2(const char* value) { SetId2(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline GetObjectResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetObjectResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetObjectResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::Stream::ResponseStream m_body; + + bool m_deleteMarker; + + Aws::String m_acceptRanges; + + Aws::String m_expiration; + + Aws::String m_restore; + + Aws::Utils::DateTime m_lastModified; + + long long m_contentLength; + + Aws::String m_eTag; + + int m_missingMeta; + + Aws::String m_versionId; + + Aws::String m_cacheControl; + + Aws::String m_contentDisposition; + + Aws::String m_contentEncoding; + + Aws::String m_contentLanguage; + + Aws::String m_contentRange; + + Aws::String m_contentType; + + Aws::Utils::DateTime m_expires; + + Aws::String m_websiteRedirectLocation; + + ServerSideEncryption m_serverSideEncryption; + + Aws::Map<Aws::String, Aws::String> m_metadata; + + Aws::String m_sSECustomerAlgorithm; + + Aws::String m_sSECustomerKeyMD5; + + Aws::String m_sSEKMSKeyId; + + bool m_bucketKeyEnabled; + + StorageClass m_storageClass; + + RequestCharged m_requestCharged; + + ReplicationStatus m_replicationStatus; + + int m_partsCount; + + int m_tagCount; + + ObjectLockMode m_objectLockMode; + + Aws::Utils::DateTime m_objectLockRetainUntilDate; + + ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; + + Aws::String m_id2; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h new file mode 100644 index 0000000000..02153e8252 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionRequest.h @@ -0,0 +1,394 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetObjectRetentionRequest : public S3Request + { + public: + GetObjectRetentionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObjectRetention"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectRetentionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectRetentionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the object whose retention settings you want to + * retrieve. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectRetentionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline GetObjectRetentionRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline GetObjectRetentionRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The key name for the object whose retention settings you want to + * retrieve.</p> + */ + inline GetObjectRetentionRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline GetObjectRetentionRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline GetObjectRetentionRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID for the object whose retention settings you want to + * retrieve.</p> + */ + inline GetObjectRetentionRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline GetObjectRetentionRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline GetObjectRetentionRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectRetentionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectRetentionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectRetentionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectRetentionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectRetentionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectRetentionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectRetentionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectRetentionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectRetentionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h new file mode 100644 index 0000000000..13c5e6b25d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectRetentionResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectLockRetention.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetObjectRetentionResult + { + public: + GetObjectRetentionResult(); + GetObjectRetentionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetObjectRetentionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The container element for an object's retention settings.</p> + */ + inline const ObjectLockRetention& GetRetention() const{ return m_retention; } + + /** + * <p>The container element for an object's retention settings.</p> + */ + inline void SetRetention(const ObjectLockRetention& value) { m_retention = value; } + + /** + * <p>The container element for an object's retention settings.</p> + */ + inline void SetRetention(ObjectLockRetention&& value) { m_retention = std::move(value); } + + /** + * <p>The container element for an object's retention settings.</p> + */ + inline GetObjectRetentionResult& WithRetention(const ObjectLockRetention& value) { SetRetention(value); return *this;} + + /** + * <p>The container element for an object's retention settings.</p> + */ + inline GetObjectRetentionResult& WithRetention(ObjectLockRetention&& value) { SetRetention(std::move(value)); return *this;} + + private: + + ObjectLockRetention m_retention; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h new file mode 100644 index 0000000000..5fca33c33a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingRequest.h @@ -0,0 +1,427 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetObjectTaggingRequest : public S3Request + { + public: + GetObjectTaggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObjectTagging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the object for which to get the tagging + * information. </p> <p>When using this API with an access point, you must direct + * requests to the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline GetObjectTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline GetObjectTaggingRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline GetObjectTaggingRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which to get the tagging information.</p> + */ + inline GetObjectTaggingRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline GetObjectTaggingRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline GetObjectTaggingRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The versionId of the object for which to get the tagging information.</p> + */ + inline GetObjectTaggingRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h new file mode 100644 index 0000000000..c945f85e61 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTaggingResult.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetObjectTaggingResult + { + public: + GetObjectTaggingResult(); + GetObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The versionId of the object for which you got the tagging information.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The versionId of the object for which you got the tagging information.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>The versionId of the object for which you got the tagging information.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>The versionId of the object for which you got the tagging information.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>The versionId of the object for which you got the tagging information.</p> + */ + inline GetObjectTaggingResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The versionId of the object for which you got the tagging information.</p> + */ + inline GetObjectTaggingResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The versionId of the object for which you got the tagging information.</p> + */ + inline GetObjectTaggingResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Contains the tag set.</p> + */ + inline const Aws::Vector<Tag>& GetTagSet() const{ return m_tagSet; } + + /** + * <p>Contains the tag set.</p> + */ + inline void SetTagSet(const Aws::Vector<Tag>& value) { m_tagSet = value; } + + /** + * <p>Contains the tag set.</p> + */ + inline void SetTagSet(Aws::Vector<Tag>&& value) { m_tagSet = std::move(value); } + + /** + * <p>Contains the tag set.</p> + */ + inline GetObjectTaggingResult& WithTagSet(const Aws::Vector<Tag>& value) { SetTagSet(value); return *this;} + + /** + * <p>Contains the tag set.</p> + */ + inline GetObjectTaggingResult& WithTagSet(Aws::Vector<Tag>&& value) { SetTagSet(std::move(value)); return *this;} + + /** + * <p>Contains the tag set.</p> + */ + inline GetObjectTaggingResult& AddTagSet(const Tag& value) { m_tagSet.push_back(value); return *this; } + + /** + * <p>Contains the tag set.</p> + */ + inline GetObjectTaggingResult& AddTagSet(Tag&& value) { m_tagSet.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_versionId; + + Aws::Vector<Tag> m_tagSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h new file mode 100644 index 0000000000..732e8f7c03 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentRequest.h @@ -0,0 +1,270 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetObjectTorrentRequest : public S3Request + { + public: + GetObjectTorrentRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetObjectTorrent"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline GetObjectTorrentRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline GetObjectTorrentRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the object for which to get the torrent + * files.</p> + */ + inline GetObjectTorrentRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The object key for which to get the information.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key for which to get the information.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The object key for which to get the information.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The object key for which to get the information.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The object key for which to get the information.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The object key for which to get the information.</p> + */ + inline GetObjectTorrentRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key for which to get the information.</p> + */ + inline GetObjectTorrentRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key for which to get the information.</p> + */ + inline GetObjectTorrentRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline GetObjectTorrentRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline GetObjectTorrentRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectTorrentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectTorrentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetObjectTorrentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetObjectTorrentRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetObjectTorrentRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetObjectTorrentRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetObjectTorrentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectTorrentRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectTorrentRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetObjectTorrentRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetObjectTorrentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetObjectTorrentRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h new file mode 100644 index 0000000000..97c8b3edf9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectTorrentResult.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/stream/ResponseStream.h> +#include <aws/core/utils/Array.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetObjectTorrentResult + { + public: + GetObjectTorrentResult(); + //We have to define these because Microsoft doesn't auto generate them + GetObjectTorrentResult(GetObjectTorrentResult&&); + GetObjectTorrentResult& operator=(GetObjectTorrentResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetObjectTorrentResult(const GetObjectTorrentResult&) = delete; + GetObjectTorrentResult& operator=(const GetObjectTorrentResult&) = delete; + + + GetObjectTorrentResult(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + GetObjectTorrentResult& operator=(Aws::AmazonWebServiceResult<Aws::Utils::Stream::ResponseStream>&& result); + + + + /** + * <p>A Bencoded dictionary as defined by the BitTorrent specification</p> + */ + inline Aws::IOStream& GetBody() { return m_body.GetUnderlyingStream(); } + + /** + * <p>A Bencoded dictionary as defined by the BitTorrent specification</p> + */ + inline void ReplaceBody(Aws::IOStream* body) { m_body = Aws::Utils::Stream::ResponseStream(body); } + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline GetObjectTorrentResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline GetObjectTorrentResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + Aws::Utils::Stream::ResponseStream m_body; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h new file mode 100644 index 0000000000..76c706ec54 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockRequest.h @@ -0,0 +1,203 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API GetPublicAccessBlockRequest : public S3Request + { + public: + GetPublicAccessBlockRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetPublicAccessBlock"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline GetPublicAccessBlockRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline GetPublicAccessBlockRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to retrieve. </p> + */ + inline GetPublicAccessBlockRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetPublicAccessBlockRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetPublicAccessBlockRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline GetPublicAccessBlockRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline GetPublicAccessBlockRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline GetPublicAccessBlockRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline GetPublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline GetPublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetPublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetPublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline GetPublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline GetPublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline GetPublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h new file mode 100644 index 0000000000..22d40032cb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GetPublicAccessBlockResult.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/PublicAccessBlockConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API GetPublicAccessBlockResult + { + public: + GetPublicAccessBlockResult(); + GetPublicAccessBlockResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + GetPublicAccessBlockResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The <code>PublicAccessBlock</code> configuration currently in effect for this + * Amazon S3 bucket.</p> + */ + inline const PublicAccessBlockConfiguration& GetPublicAccessBlockConfiguration() const{ return m_publicAccessBlockConfiguration; } + + /** + * <p>The <code>PublicAccessBlock</code> configuration currently in effect for this + * Amazon S3 bucket.</p> + */ + inline void SetPublicAccessBlockConfiguration(const PublicAccessBlockConfiguration& value) { m_publicAccessBlockConfiguration = value; } + + /** + * <p>The <code>PublicAccessBlock</code> configuration currently in effect for this + * Amazon S3 bucket.</p> + */ + inline void SetPublicAccessBlockConfiguration(PublicAccessBlockConfiguration&& value) { m_publicAccessBlockConfiguration = std::move(value); } + + /** + * <p>The <code>PublicAccessBlock</code> configuration currently in effect for this + * Amazon S3 bucket.</p> + */ + inline GetPublicAccessBlockResult& WithPublicAccessBlockConfiguration(const PublicAccessBlockConfiguration& value) { SetPublicAccessBlockConfiguration(value); return *this;} + + /** + * <p>The <code>PublicAccessBlock</code> configuration currently in effect for this + * Amazon S3 bucket.</p> + */ + inline GetPublicAccessBlockResult& WithPublicAccessBlockConfiguration(PublicAccessBlockConfiguration&& value) { SetPublicAccessBlockConfiguration(std::move(value)); return *this;} + + private: + + PublicAccessBlockConfiguration m_publicAccessBlockConfiguration; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h new file mode 100644 index 0000000000..d6fcfdaee3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/GlacierJobParameters.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Tier.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for S3 Glacier job parameters.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GlacierJobParameters">AWS + * API Reference</a></p> + */ + class AWS_S3_API GlacierJobParameters + { + public: + GlacierJobParameters(); + GlacierJobParameters(const Aws::Utils::Xml::XmlNode& xmlNode); + GlacierJobParameters& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline const Tier& GetTier() const{ return m_tier; } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline void SetTier(const Tier& value) { m_tierHasBeenSet = true; m_tier = value; } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline void SetTier(Tier&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline GlacierJobParameters& WithTier(const Tier& value) { SetTier(value); return *this;} + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline GlacierJobParameters& WithTier(Tier&& value) { SetTier(std::move(value)); return *this;} + + private: + + Tier m_tier; + bool m_tierHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h new file mode 100644 index 0000000000..392c95090e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grant.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Grantee.h> +#include <aws/s3/model/Permission.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for grant information.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grant">AWS API + * Reference</a></p> + */ + class AWS_S3_API Grant + { + public: + Grant(); + Grant(const Aws::Utils::Xml::XmlNode& xmlNode); + Grant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The person being granted permissions.</p> + */ + inline const Grantee& GetGrantee() const{ return m_grantee; } + + /** + * <p>The person being granted permissions.</p> + */ + inline bool GranteeHasBeenSet() const { return m_granteeHasBeenSet; } + + /** + * <p>The person being granted permissions.</p> + */ + inline void SetGrantee(const Grantee& value) { m_granteeHasBeenSet = true; m_grantee = value; } + + /** + * <p>The person being granted permissions.</p> + */ + inline void SetGrantee(Grantee&& value) { m_granteeHasBeenSet = true; m_grantee = std::move(value); } + + /** + * <p>The person being granted permissions.</p> + */ + inline Grant& WithGrantee(const Grantee& value) { SetGrantee(value); return *this;} + + /** + * <p>The person being granted permissions.</p> + */ + inline Grant& WithGrantee(Grantee&& value) { SetGrantee(std::move(value)); return *this;} + + + /** + * <p>Specifies the permission given to the grantee.</p> + */ + inline const Permission& GetPermission() const{ return m_permission; } + + /** + * <p>Specifies the permission given to the grantee.</p> + */ + inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } + + /** + * <p>Specifies the permission given to the grantee.</p> + */ + inline void SetPermission(const Permission& value) { m_permissionHasBeenSet = true; m_permission = value; } + + /** + * <p>Specifies the permission given to the grantee.</p> + */ + inline void SetPermission(Permission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } + + /** + * <p>Specifies the permission given to the grantee.</p> + */ + inline Grant& WithPermission(const Permission& value) { SetPermission(value); return *this;} + + /** + * <p>Specifies the permission given to the grantee.</p> + */ + inline Grant& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} + + private: + + Grantee m_grantee; + bool m_granteeHasBeenSet; + + Permission m_permission; + bool m_permissionHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h new file mode 100644 index 0000000000..a6715e45cd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Grantee.h @@ -0,0 +1,319 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Type.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the person being granted permissions.</p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grantee">AWS API + * Reference</a></p> + */ + class AWS_S3_API Grantee + { + public: + Grantee(); + Grantee(const Aws::Utils::Xml::XmlNode& xmlNode); + Grantee& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Screen name of the grantee.</p> + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + + /** + * <p>Screen name of the grantee.</p> + */ + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + + /** + * <p>Screen name of the grantee.</p> + */ + inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } + + /** + * <p>Screen name of the grantee.</p> + */ + inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } + + /** + * <p>Screen name of the grantee.</p> + */ + inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } + + /** + * <p>Screen name of the grantee.</p> + */ + inline Grantee& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + + /** + * <p>Screen name of the grantee.</p> + */ + inline Grantee& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + + /** + * <p>Screen name of the grantee.</p> + */ + inline Grantee& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; } + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline bool EmailAddressHasBeenSet() const { return m_emailAddressHasBeenSet; } + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; } + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = std::move(value); } + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); } + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline Grantee& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;} + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline Grantee& WithEmailAddress(Aws::String&& value) { SetEmailAddress(std::move(value)); return *this;} + + /** + * <p>Email address of the grantee.</p> <p>Using email addresses to specify + * a grantee is only supported in the following AWS Regions: </p> <ul> <li> <p>US + * East (N. Virginia)</p> </li> <li> <p>US West (N. California)</p> </li> <li> <p> + * US West (Oregon)</p> </li> <li> <p> Asia Pacific (Singapore)</p> </li> <li> + * <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia Pacific (Tokyo)</p> </li> <li> + * <p>Europe (Ireland)</p> </li> <li> <p>South America (São Paulo)</p> </li> </ul> + * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a + * href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions + * and Endpoints</a> in the AWS General Reference.</p> + */ + inline Grantee& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;} + + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline const Aws::String& GetID() const{ return m_iD; } + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline Grantee& WithID(const Aws::String& value) { SetID(value); return *this;} + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline Grantee& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} + + /** + * <p>The canonical user ID of the grantee.</p> + */ + inline Grantee& WithID(const char* value) { SetID(value); return *this;} + + + /** + * <p>Type of grantee</p> + */ + inline const Type& GetType() const{ return m_type; } + + /** + * <p>Type of grantee</p> + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + * <p>Type of grantee</p> + */ + inline void SetType(const Type& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + * <p>Type of grantee</p> + */ + inline void SetType(Type&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + * <p>Type of grantee</p> + */ + inline Grantee& WithType(const Type& value) { SetType(value); return *this;} + + /** + * <p>Type of grantee</p> + */ + inline Grantee& WithType(Type&& value) { SetType(std::move(value)); return *this;} + + + /** + * <p>URI of the grantee group.</p> + */ + inline const Aws::String& GetURI() const{ return m_uRI; } + + /** + * <p>URI of the grantee group.</p> + */ + inline bool URIHasBeenSet() const { return m_uRIHasBeenSet; } + + /** + * <p>URI of the grantee group.</p> + */ + inline void SetURI(const Aws::String& value) { m_uRIHasBeenSet = true; m_uRI = value; } + + /** + * <p>URI of the grantee group.</p> + */ + inline void SetURI(Aws::String&& value) { m_uRIHasBeenSet = true; m_uRI = std::move(value); } + + /** + * <p>URI of the grantee group.</p> + */ + inline void SetURI(const char* value) { m_uRIHasBeenSet = true; m_uRI.assign(value); } + + /** + * <p>URI of the grantee group.</p> + */ + inline Grantee& WithURI(const Aws::String& value) { SetURI(value); return *this;} + + /** + * <p>URI of the grantee group.</p> + */ + inline Grantee& WithURI(Aws::String&& value) { SetURI(std::move(value)); return *this;} + + /** + * <p>URI of the grantee group.</p> + */ + inline Grantee& WithURI(const char* value) { SetURI(value); return *this;} + + private: + + Aws::String m_displayName; + bool m_displayNameHasBeenSet; + + Aws::String m_emailAddress; + bool m_emailAddressHasBeenSet; + + Aws::String m_iD; + bool m_iDHasBeenSet; + + Type m_type; + bool m_typeHasBeenSet; + + Aws::String m_uRI; + bool m_uRIHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h new file mode 100644 index 0000000000..dbef92bdf9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadBucketRequest.h @@ -0,0 +1,339 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API HeadBucketRequest : public S3Request + { + public: + HeadBucketRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HeadBucket"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline HeadBucketRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline HeadBucketRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline HeadBucketRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline HeadBucketRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline HeadBucketRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline HeadBucketRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline HeadBucketRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline HeadBucketRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline HeadBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline HeadBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline HeadBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline HeadBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline HeadBucketRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline HeadBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline HeadBucketRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h new file mode 100644 index 0000000000..d7de0c5ab2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectRequest.h @@ -0,0 +1,935 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API HeadObjectRequest : public S3Request + { + public: + HeadObjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HeadObject"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline HeadObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline HeadObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the object.</p> <p>When using this API with + * an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline HeadObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline const Aws::String& GetIfMatch() const{ return m_ifMatch; } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline bool IfMatchHasBeenSet() const { return m_ifMatchHasBeenSet; } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfMatch(const Aws::String& value) { m_ifMatchHasBeenSet = true; m_ifMatch = value; } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfMatch(Aws::String&& value) { m_ifMatchHasBeenSet = true; m_ifMatch = std::move(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfMatch(const char* value) { m_ifMatchHasBeenSet = true; m_ifMatch.assign(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline HeadObjectRequest& WithIfMatch(const Aws::String& value) { SetIfMatch(value); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline HeadObjectRequest& WithIfMatch(Aws::String&& value) { SetIfMatch(std::move(value)); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is the same as the one + * specified, otherwise return a 412 (precondition failed).</p> + */ + inline HeadObjectRequest& WithIfMatch(const char* value) { SetIfMatch(value); return *this;} + + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline const Aws::Utils::DateTime& GetIfModifiedSince() const{ return m_ifModifiedSince; } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline bool IfModifiedSinceHasBeenSet() const { return m_ifModifiedSinceHasBeenSet; } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline void SetIfModifiedSince(const Aws::Utils::DateTime& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = value; } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline void SetIfModifiedSince(Aws::Utils::DateTime&& value) { m_ifModifiedSinceHasBeenSet = true; m_ifModifiedSince = std::move(value); } + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline HeadObjectRequest& WithIfModifiedSince(const Aws::Utils::DateTime& value) { SetIfModifiedSince(value); return *this;} + + /** + * <p>Return the object only if it has been modified since the specified time, + * otherwise return a 304 (not modified).</p> + */ + inline HeadObjectRequest& WithIfModifiedSince(Aws::Utils::DateTime&& value) { SetIfModifiedSince(std::move(value)); return *this;} + + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline const Aws::String& GetIfNoneMatch() const{ return m_ifNoneMatch; } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline void SetIfNoneMatch(const Aws::String& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = value; } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline void SetIfNoneMatch(Aws::String&& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = std::move(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline void SetIfNoneMatch(const char* value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch.assign(value); } + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline HeadObjectRequest& WithIfNoneMatch(const Aws::String& value) { SetIfNoneMatch(value); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline HeadObjectRequest& WithIfNoneMatch(Aws::String&& value) { SetIfNoneMatch(std::move(value)); return *this;} + + /** + * <p>Return the object only if its entity tag (ETag) is different from the one + * specified, otherwise return a 304 (not modified).</p> + */ + inline HeadObjectRequest& WithIfNoneMatch(const char* value) { SetIfNoneMatch(value); return *this;} + + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline const Aws::Utils::DateTime& GetIfUnmodifiedSince() const{ return m_ifUnmodifiedSince; } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline bool IfUnmodifiedSinceHasBeenSet() const { return m_ifUnmodifiedSinceHasBeenSet; } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfUnmodifiedSince(const Aws::Utils::DateTime& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = value; } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline void SetIfUnmodifiedSince(Aws::Utils::DateTime&& value) { m_ifUnmodifiedSinceHasBeenSet = true; m_ifUnmodifiedSince = std::move(value); } + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline HeadObjectRequest& WithIfUnmodifiedSince(const Aws::Utils::DateTime& value) { SetIfUnmodifiedSince(value); return *this;} + + /** + * <p>Return the object only if it has not been modified since the specified time, + * otherwise return a 412 (precondition failed).</p> + */ + inline HeadObjectRequest& WithIfUnmodifiedSince(Aws::Utils::DateTime&& value) { SetIfUnmodifiedSince(std::move(value)); return *this;} + + + /** + * <p>The object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The object key.</p> + */ + inline HeadObjectRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key.</p> + */ + inline HeadObjectRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key.</p> + */ + inline HeadObjectRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline const Aws::String& GetRange() const{ return m_range; } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline void SetRange(const Aws::String& value) { m_rangeHasBeenSet = true; m_range = value; } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline void SetRange(Aws::String&& value) { m_rangeHasBeenSet = true; m_range = std::move(value); } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline void SetRange(const char* value) { m_rangeHasBeenSet = true; m_range.assign(value); } + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline HeadObjectRequest& WithRange(const Aws::String& value) { SetRange(value); return *this;} + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline HeadObjectRequest& WithRange(Aws::String&& value) { SetRange(std::move(value)); return *this;} + + /** + * <p>Downloads the specified range bytes of an object. For more information about + * the HTTP Range header, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p> + * <p>Amazon S3 doesn't support retrieving multiple ranges of data per + * <code>GET</code> request.</p> + */ + inline HeadObjectRequest& WithRange(const char* value) { SetRange(value); return *this;} + + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline HeadObjectRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline HeadObjectRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline HeadObjectRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline HeadObjectRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline HeadObjectRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline HeadObjectRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline HeadObjectRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline HeadObjectRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline HeadObjectRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline HeadObjectRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline HeadObjectRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline HeadObjectRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline HeadObjectRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline HeadObjectRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. + * Useful querying about the size of the part and the number of parts in this + * object.</p> + */ + inline int GetPartNumber() const{ return m_partNumber; } + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. + * Useful querying about the size of the part and the number of parts in this + * object.</p> + */ + inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; } + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. + * Useful querying about the size of the part and the number of parts in this + * object.</p> + */ + inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; } + + /** + * <p>Part number of the object being read. This is a positive integer between 1 + * and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. + * Useful querying about the size of the part and the number of parts in this + * object.</p> + */ + inline HeadObjectRequest& WithPartNumber(int value) { SetPartNumber(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline HeadObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline HeadObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline HeadObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline HeadObjectRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline HeadObjectRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline HeadObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline HeadObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline HeadObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline HeadObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline HeadObjectRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline HeadObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline HeadObjectRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_ifMatch; + bool m_ifMatchHasBeenSet; + + Aws::Utils::DateTime m_ifModifiedSince; + bool m_ifModifiedSinceHasBeenSet; + + Aws::String m_ifNoneMatch; + bool m_ifNoneMatchHasBeenSet; + + Aws::Utils::DateTime m_ifUnmodifiedSince; + bool m_ifUnmodifiedSinceHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_range; + bool m_rangeHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + int m_partNumber; + bool m_partNumberHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h new file mode 100644 index 0000000000..7004c0a825 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h @@ -0,0 +1,1433 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ArchiveStatus.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/ReplicationStatus.h> +#include <aws/s3/model/ObjectLockMode.h> +#include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API HeadObjectResult + { + public: + HeadObjectResult(); + HeadObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + HeadObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete + * Marker. If false, this response header does not appear in the response.</p> + */ + inline bool GetDeleteMarker() const{ return m_deleteMarker; } + + /** + * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete + * Marker. If false, this response header does not appear in the response.</p> + */ + inline void SetDeleteMarker(bool value) { m_deleteMarker = value; } + + /** + * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete + * Marker. If false, this response header does not appear in the response.</p> + */ + inline HeadObjectResult& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;} + + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline const Aws::String& GetAcceptRanges() const{ return m_acceptRanges; } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline void SetAcceptRanges(const Aws::String& value) { m_acceptRanges = value; } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline void SetAcceptRanges(Aws::String&& value) { m_acceptRanges = std::move(value); } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline void SetAcceptRanges(const char* value) { m_acceptRanges.assign(value); } + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline HeadObjectResult& WithAcceptRanges(const Aws::String& value) { SetAcceptRanges(value); return *this;} + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline HeadObjectResult& WithAcceptRanges(Aws::String&& value) { SetAcceptRanges(std::move(value)); return *this;} + + /** + * <p>Indicates that a range of bytes was specified.</p> + */ + inline HeadObjectResult& WithAcceptRanges(const char* value) { SetAcceptRanges(value); return *this;} + + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline const Aws::String& GetExpiration() const{ return m_expiration; } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline void SetExpiration(const Aws::String& value) { m_expiration = value; } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline void SetExpiration(const char* value) { m_expiration.assign(value); } + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline HeadObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline HeadObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} + + /** + * <p>If the object expiration is configured (see PUT Bucket lifecycle), the + * response includes this header. It includes the expiry-date and rule-id key-value + * pairs providing object expiration information. The value of the rule-id is URL + * encoded.</p> + */ + inline HeadObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} + + + /** + * <p>If the object is an archived object (an object whose storage class is + * GLACIER), the response includes this header if either the archive restoration is + * in progress (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> + * or an archive copy is already restored.</p> <p> If an archive copy is already + * restored, the header value indicates when Amazon S3 is scheduled to delete the + * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", + * expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object + * restoration is in progress, the header returns the value + * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving + * objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning + * Objects: General Considerations</a>.</p> + */ + inline const Aws::String& GetRestore() const{ return m_restore; } + + /** + * <p>If the object is an archived object (an object whose storage class is + * GLACIER), the response includes this header if either the archive restoration is + * in progress (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> + * or an archive copy is already restored.</p> <p> If an archive copy is already + * restored, the header value indicates when Amazon S3 is scheduled to delete the + * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", + * expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object + * restoration is in progress, the header returns the value + * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving + * objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning + * Objects: General Considerations</a>.</p> + */ + inline void SetRestore(const Aws::String& value) { m_restore = value; } + + /** + * <p>If the object is an archived object (an object whose storage class is + * GLACIER), the response includes this header if either the archive restoration is + * in progress (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> + * or an archive copy is already restored.</p> <p> If an archive copy is already + * restored, the header value indicates when Amazon S3 is scheduled to delete the + * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", + * expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object + * restoration is in progress, the header returns the value + * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving + * objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning + * Objects: General Considerations</a>.</p> + */ + inline void SetRestore(Aws::String&& value) { m_restore = std::move(value); } + + /** + * <p>If the object is an archived object (an object whose storage class is + * GLACIER), the response includes this header if either the archive restoration is + * in progress (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> + * or an archive copy is already restored.</p> <p> If an archive copy is already + * restored, the header value indicates when Amazon S3 is scheduled to delete the + * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", + * expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object + * restoration is in progress, the header returns the value + * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving + * objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning + * Objects: General Considerations</a>.</p> + */ + inline void SetRestore(const char* value) { m_restore.assign(value); } + + /** + * <p>If the object is an archived object (an object whose storage class is + * GLACIER), the response includes this header if either the archive restoration is + * in progress (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> + * or an archive copy is already restored.</p> <p> If an archive copy is already + * restored, the header value indicates when Amazon S3 is scheduled to delete the + * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", + * expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object + * restoration is in progress, the header returns the value + * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving + * objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning + * Objects: General Considerations</a>.</p> + */ + inline HeadObjectResult& WithRestore(const Aws::String& value) { SetRestore(value); return *this;} + + /** + * <p>If the object is an archived object (an object whose storage class is + * GLACIER), the response includes this header if either the archive restoration is + * in progress (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> + * or an archive copy is already restored.</p> <p> If an archive copy is already + * restored, the header value indicates when Amazon S3 is scheduled to delete the + * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", + * expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object + * restoration is in progress, the header returns the value + * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving + * objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning + * Objects: General Considerations</a>.</p> + */ + inline HeadObjectResult& WithRestore(Aws::String&& value) { SetRestore(std::move(value)); return *this;} + + /** + * <p>If the object is an archived object (an object whose storage class is + * GLACIER), the response includes this header if either the archive restoration is + * in progress (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> + * or an archive copy is already restored.</p> <p> If an archive copy is already + * restored, the header value indicates when Amazon S3 is scheduled to delete the + * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", + * expiry-date="Fri, 23 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object + * restoration is in progress, the header returns the value + * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving + * objects, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning + * Objects: General Considerations</a>.</p> + */ + inline HeadObjectResult& WithRestore(const char* value) { SetRestore(value); return *this;} + + + /** + * <p>The archive state of the head object.</p> + */ + inline const ArchiveStatus& GetArchiveStatus() const{ return m_archiveStatus; } + + /** + * <p>The archive state of the head object.</p> + */ + inline void SetArchiveStatus(const ArchiveStatus& value) { m_archiveStatus = value; } + + /** + * <p>The archive state of the head object.</p> + */ + inline void SetArchiveStatus(ArchiveStatus&& value) { m_archiveStatus = std::move(value); } + + /** + * <p>The archive state of the head object.</p> + */ + inline HeadObjectResult& WithArchiveStatus(const ArchiveStatus& value) { SetArchiveStatus(value); return *this;} + + /** + * <p>The archive state of the head object.</p> + */ + inline HeadObjectResult& WithArchiveStatus(ArchiveStatus&& value) { SetArchiveStatus(std::move(value)); return *this;} + + + /** + * <p>Last modified date of the object</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>Last modified date of the object</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModified = value; } + + /** + * <p>Last modified date of the object</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModified = std::move(value); } + + /** + * <p>Last modified date of the object</p> + */ + inline HeadObjectResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>Last modified date of the object</p> + */ + inline HeadObjectResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + + /** + * <p>Size of the body in bytes.</p> + */ + inline long long GetContentLength() const{ return m_contentLength; } + + /** + * <p>Size of the body in bytes.</p> + */ + inline void SetContentLength(long long value) { m_contentLength = value; } + + /** + * <p>Size of the body in bytes.</p> + */ + inline HeadObjectResult& WithContentLength(long long value) { SetContentLength(value); return *this;} + + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTag = value; } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline void SetETag(const char* value) { m_eTag.assign(value); } + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline HeadObjectResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline HeadObjectResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>An ETag is an opaque identifier assigned by a web server to a specific + * version of a resource found at a URL.</p> + */ + inline HeadObjectResult& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>This is set to the number of metadata entries not returned in + * <code>x-amz-meta</code> headers. This can happen if you create metadata using an + * API like SOAP that supports more flexible metadata than the REST API. For + * example, using SOAP, you can create metadata whose values are not legal HTTP + * headers.</p> + */ + inline int GetMissingMeta() const{ return m_missingMeta; } + + /** + * <p>This is set to the number of metadata entries not returned in + * <code>x-amz-meta</code> headers. This can happen if you create metadata using an + * API like SOAP that supports more flexible metadata than the REST API. For + * example, using SOAP, you can create metadata whose values are not legal HTTP + * headers.</p> + */ + inline void SetMissingMeta(int value) { m_missingMeta = value; } + + /** + * <p>This is set to the number of metadata entries not returned in + * <code>x-amz-meta</code> headers. This can happen if you create metadata using an + * API like SOAP that supports more flexible metadata than the REST API. For + * example, using SOAP, you can create metadata whose values are not legal HTTP + * headers.</p> + */ + inline HeadObjectResult& WithMissingMeta(int value) { SetMissingMeta(value); return *this;} + + + /** + * <p>Version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>Version of the object.</p> + */ + inline HeadObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Version of the object.</p> + */ + inline HeadObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Version of the object.</p> + */ + inline HeadObjectResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline HeadObjectResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline HeadObjectResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + + /** + * <p>Specifies caching behavior along the request/reply chain.</p> + */ + inline HeadObjectResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const Aws::String& value) { m_contentDisposition = value; } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(Aws::String&& value) { m_contentDisposition = std::move(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline void SetContentDisposition(const char* value) { m_contentDisposition.assign(value); } + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline HeadObjectResult& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline HeadObjectResult& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;} + + /** + * <p>Specifies presentational information for the object.</p> + */ + inline HeadObjectResult& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;} + + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const Aws::String& value) { m_contentEncoding = value; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(Aws::String&& value) { m_contentEncoding = std::move(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline void SetContentEncoding(const char* value) { m_contentEncoding.assign(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline HeadObjectResult& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline HeadObjectResult& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field.</p> + */ + inline HeadObjectResult& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;} + + + /** + * <p>The language the content is in.</p> + */ + inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const Aws::String& value) { m_contentLanguage = value; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(Aws::String&& value) { m_contentLanguage = std::move(value); } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const char* value) { m_contentLanguage.assign(value); } + + /** + * <p>The language the content is in.</p> + */ + inline HeadObjectResult& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline HeadObjectResult& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline HeadObjectResult& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;} + + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline const Aws::String& GetContentType() const{ return m_contentType; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const Aws::String& value) { m_contentType = value; } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(Aws::String&& value) { m_contentType = std::move(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline void SetContentType(const char* value) { m_contentType.assign(value); } + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline HeadObjectResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline HeadObjectResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + + /** + * <p>A standard MIME type describing the format of the object data.</p> + */ + inline HeadObjectResult& WithContentType(const char* value) { SetContentType(value); return *this;} + + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(const Aws::Utils::DateTime& value) { m_expires = value; } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline void SetExpires(Aws::Utils::DateTime&& value) { m_expires = std::move(value); } + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline HeadObjectResult& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;} + + /** + * <p>The date and time at which the object is no longer cacheable.</p> + */ + inline HeadObjectResult& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;} + + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline const Aws::String& GetWebsiteRedirectLocation() const{ return m_websiteRedirectLocation; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const Aws::String& value) { m_websiteRedirectLocation = value; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(Aws::String&& value) { m_websiteRedirectLocation = std::move(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline void SetWebsiteRedirectLocation(const char* value) { m_websiteRedirectLocation.assign(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline HeadObjectResult& WithWebsiteRedirectLocation(const Aws::String& value) { SetWebsiteRedirectLocation(value); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline HeadObjectResult& WithWebsiteRedirectLocation(Aws::String&& value) { SetWebsiteRedirectLocation(std::move(value)); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata.</p> + */ + inline HeadObjectResult& WithWebsiteRedirectLocation(const char* value) { SetWebsiteRedirectLocation(value); return *this;} + + + /** + * <p>If the object is stored using server-side encryption either with an AWS KMS + * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * includes this header with the value of the server-side encryption algorithm used + * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>If the object is stored using server-side encryption either with an AWS KMS + * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * includes this header with the value of the server-side encryption algorithm used + * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>If the object is stored using server-side encryption either with an AWS KMS + * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * includes this header with the value of the server-side encryption algorithm used + * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>If the object is stored using server-side encryption either with an AWS KMS + * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * includes this header with the value of the server-side encryption algorithm used + * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> + */ + inline HeadObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>If the object is stored using server-side encryption either with an AWS KMS + * customer master key (CMK) or an Amazon S3-managed encryption key, the response + * includes this header with the value of the server-side encryption algorithm used + * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> + */ + inline HeadObjectResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadata = value; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadata = std::move(value); } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadata.emplace(key, value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadata.emplace(std::move(key), std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& AddMetadata(const char* key, Aws::String&& value) { m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& AddMetadata(Aws::String&& key, const char* value) { m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline HeadObjectResult& AddMetadata(const char* key, const char* value) { m_metadata.emplace(key, value); return *this; } + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline HeadObjectResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline HeadObjectResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline HeadObjectResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline HeadObjectResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline HeadObjectResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline HeadObjectResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline HeadObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline HeadObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline HeadObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption + * with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption + * with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption + * with AWS KMS (SSE-KMS).</p> + */ + inline HeadObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClass = value; } + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClass = std::move(value); } + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline HeadObjectResult& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>Provides storage class information of the object. Amazon S3 returns this + * header for all objects except for S3 Standard storage class objects.</p> <p>For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a>.</p> + */ + inline HeadObjectResult& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline HeadObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline HeadObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + + /** + * <p>Amazon S3 can return this header if your request involves a bucket that is + * either a source or a destination in a replication rule.</p> <p>In replication, + * you have a source bucket on which you configure replication and destination + * bucket or buckets where Amazon S3 stores object replicas. When you request an + * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) + * from these buckets, Amazon S3 will return the + * <code>x-amz-replication-status</code> header in the response as follows:</p> + * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will + * return the <code>x-amz-replication-status</code> header if the object in your + * request is eligible for replication.</p> <p> For example, suppose that in your + * replication configuration, you specify object prefix <code>TaxDocs</code> + * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. + * Any objects you upload with this key name prefix, for example + * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object + * request with this key name prefix, Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or + * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an + * object from a destination bucket — Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value REPLICA if the object in + * your request is a replica that Amazon S3 created and there is no replica + * modification replication in progress.</p> </li> <li> <p>When replicating objects + * to multiple destination buckets the <code>x-amz-replication-status</code> header + * acts differently. The header of the source object will only return a value of + * COMPLETED when replication is successful to all destinations. The header will + * remain at value PENDING until replication has completed for all destinations. If + * one or more destinations fails replication the header will return FAILED. </p> + * </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> + */ + inline const ReplicationStatus& GetReplicationStatus() const{ return m_replicationStatus; } + + /** + * <p>Amazon S3 can return this header if your request involves a bucket that is + * either a source or a destination in a replication rule.</p> <p>In replication, + * you have a source bucket on which you configure replication and destination + * bucket or buckets where Amazon S3 stores object replicas. When you request an + * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) + * from these buckets, Amazon S3 will return the + * <code>x-amz-replication-status</code> header in the response as follows:</p> + * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will + * return the <code>x-amz-replication-status</code> header if the object in your + * request is eligible for replication.</p> <p> For example, suppose that in your + * replication configuration, you specify object prefix <code>TaxDocs</code> + * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. + * Any objects you upload with this key name prefix, for example + * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object + * request with this key name prefix, Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or + * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an + * object from a destination bucket — Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value REPLICA if the object in + * your request is a replica that Amazon S3 created and there is no replica + * modification replication in progress.</p> </li> <li> <p>When replicating objects + * to multiple destination buckets the <code>x-amz-replication-status</code> header + * acts differently. The header of the source object will only return a value of + * COMPLETED when replication is successful to all destinations. The header will + * remain at value PENDING until replication has completed for all destinations. If + * one or more destinations fails replication the header will return FAILED. </p> + * </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> + */ + inline void SetReplicationStatus(const ReplicationStatus& value) { m_replicationStatus = value; } + + /** + * <p>Amazon S3 can return this header if your request involves a bucket that is + * either a source or a destination in a replication rule.</p> <p>In replication, + * you have a source bucket on which you configure replication and destination + * bucket or buckets where Amazon S3 stores object replicas. When you request an + * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) + * from these buckets, Amazon S3 will return the + * <code>x-amz-replication-status</code> header in the response as follows:</p> + * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will + * return the <code>x-amz-replication-status</code> header if the object in your + * request is eligible for replication.</p> <p> For example, suppose that in your + * replication configuration, you specify object prefix <code>TaxDocs</code> + * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. + * Any objects you upload with this key name prefix, for example + * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object + * request with this key name prefix, Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or + * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an + * object from a destination bucket — Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value REPLICA if the object in + * your request is a replica that Amazon S3 created and there is no replica + * modification replication in progress.</p> </li> <li> <p>When replicating objects + * to multiple destination buckets the <code>x-amz-replication-status</code> header + * acts differently. The header of the source object will only return a value of + * COMPLETED when replication is successful to all destinations. The header will + * remain at value PENDING until replication has completed for all destinations. If + * one or more destinations fails replication the header will return FAILED. </p> + * </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> + */ + inline void SetReplicationStatus(ReplicationStatus&& value) { m_replicationStatus = std::move(value); } + + /** + * <p>Amazon S3 can return this header if your request involves a bucket that is + * either a source or a destination in a replication rule.</p> <p>In replication, + * you have a source bucket on which you configure replication and destination + * bucket or buckets where Amazon S3 stores object replicas. When you request an + * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) + * from these buckets, Amazon S3 will return the + * <code>x-amz-replication-status</code> header in the response as follows:</p> + * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will + * return the <code>x-amz-replication-status</code> header if the object in your + * request is eligible for replication.</p> <p> For example, suppose that in your + * replication configuration, you specify object prefix <code>TaxDocs</code> + * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. + * Any objects you upload with this key name prefix, for example + * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object + * request with this key name prefix, Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or + * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an + * object from a destination bucket — Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value REPLICA if the object in + * your request is a replica that Amazon S3 created and there is no replica + * modification replication in progress.</p> </li> <li> <p>When replicating objects + * to multiple destination buckets the <code>x-amz-replication-status</code> header + * acts differently. The header of the source object will only return a value of + * COMPLETED when replication is successful to all destinations. The header will + * remain at value PENDING until replication has completed for all destinations. If + * one or more destinations fails replication the header will return FAILED. </p> + * </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> + */ + inline HeadObjectResult& WithReplicationStatus(const ReplicationStatus& value) { SetReplicationStatus(value); return *this;} + + /** + * <p>Amazon S3 can return this header if your request involves a bucket that is + * either a source or a destination in a replication rule.</p> <p>In replication, + * you have a source bucket on which you configure replication and destination + * bucket or buckets where Amazon S3 stores object replicas. When you request an + * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) + * from these buckets, Amazon S3 will return the + * <code>x-amz-replication-status</code> header in the response as follows:</p> + * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will + * return the <code>x-amz-replication-status</code> header if the object in your + * request is eligible for replication.</p> <p> For example, suppose that in your + * replication configuration, you specify object prefix <code>TaxDocs</code> + * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. + * Any objects you upload with this key name prefix, for example + * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object + * request with this key name prefix, Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or + * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an + * object from a destination bucket — Amazon S3 will return the + * <code>x-amz-replication-status</code> header with value REPLICA if the object in + * your request is a replica that Amazon S3 created and there is no replica + * modification replication in progress.</p> </li> <li> <p>When replicating objects + * to multiple destination buckets the <code>x-amz-replication-status</code> header + * acts differently. The header of the source object will only return a value of + * COMPLETED when replication is successful to all destinations. The header will + * remain at value PENDING until replication has completed for all destinations. If + * one or more destinations fails replication the header will return FAILED. </p> + * </li> </ul> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> + */ + inline HeadObjectResult& WithReplicationStatus(ReplicationStatus&& value) { SetReplicationStatus(std::move(value)); return *this;} + + + /** + * <p>The count of parts this object has.</p> + */ + inline int GetPartsCount() const{ return m_partsCount; } + + /** + * <p>The count of parts this object has.</p> + */ + inline void SetPartsCount(int value) { m_partsCount = value; } + + /** + * <p>The count of parts this object has.</p> + */ + inline HeadObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} + + + /** + * <p>The Object Lock mode, if any, that's in effect for this object. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission. For more information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>. </p> + */ + inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; } + + /** + * <p>The Object Lock mode, if any, that's in effect for this object. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission. For more information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>. </p> + */ + inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockMode = value; } + + /** + * <p>The Object Lock mode, if any, that's in effect for this object. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission. For more information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>. </p> + */ + inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockMode = std::move(value); } + + /** + * <p>The Object Lock mode, if any, that's in effect for this object. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission. For more information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>. </p> + */ + inline HeadObjectResult& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;} + + /** + * <p>The Object Lock mode, if any, that's in effect for this object. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission. For more information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>. </p> + */ + inline HeadObjectResult& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;} + + + /** + * <p>The date and time when the Object Lock retention period expires. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission.</p> + */ + inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } + + /** + * <p>The date and time when the Object Lock retention period expires. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission.</p> + */ + inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDate = value; } + + /** + * <p>The date and time when the Object Lock retention period expires. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission.</p> + */ + inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDate = std::move(value); } + + /** + * <p>The date and time when the Object Lock retention period expires. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission.</p> + */ + inline HeadObjectResult& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} + + /** + * <p>The date and time when the Object Lock retention period expires. This header + * is only returned if the requester has the <code>s3:GetObjectRetention</code> + * permission.</p> + */ + inline HeadObjectResult& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} + + + /** + * <p>Specifies whether a legal hold is in effect for this object. This header is + * only returned if the requester has the <code>s3:GetObjectLegalHold</code> + * permission. This header is not returned if the specified version of this object + * has never had a legal hold applied. For more information about S3 Object Lock, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } + + /** + * <p>Specifies whether a legal hold is in effect for this object. This header is + * only returned if the requester has the <code>s3:GetObjectLegalHold</code> + * permission. This header is not returned if the specified version of this object + * has never had a legal hold applied. For more information about S3 Object Lock, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatus = value; } + + /** + * <p>Specifies whether a legal hold is in effect for this object. This header is + * only returned if the requester has the <code>s3:GetObjectLegalHold</code> + * permission. This header is not returned if the specified version of this object + * has never had a legal hold applied. For more information about S3 Object Lock, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatus = std::move(value); } + + /** + * <p>Specifies whether a legal hold is in effect for this object. This header is + * only returned if the requester has the <code>s3:GetObjectLegalHold</code> + * permission. This header is not returned if the specified version of this object + * has never had a legal hold applied. For more information about S3 Object Lock, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline HeadObjectResult& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} + + /** + * <p>Specifies whether a legal hold is in effect for this object. This header is + * only returned if the requester has the <code>s3:GetObjectLegalHold</code> + * permission. This header is not returned if the specified version of this object + * has never had a legal hold applied. For more information about S3 Object Lock, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline HeadObjectResult& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} + + private: + + bool m_deleteMarker; + + Aws::String m_acceptRanges; + + Aws::String m_expiration; + + Aws::String m_restore; + + ArchiveStatus m_archiveStatus; + + Aws::Utils::DateTime m_lastModified; + + long long m_contentLength; + + Aws::String m_eTag; + + int m_missingMeta; + + Aws::String m_versionId; + + Aws::String m_cacheControl; + + Aws::String m_contentDisposition; + + Aws::String m_contentEncoding; + + Aws::String m_contentLanguage; + + Aws::String m_contentType; + + Aws::Utils::DateTime m_expires; + + Aws::String m_websiteRedirectLocation; + + ServerSideEncryption m_serverSideEncryption; + + Aws::Map<Aws::String, Aws::String> m_metadata; + + Aws::String m_sSECustomerAlgorithm; + + Aws::String m_sSECustomerKeyMD5; + + Aws::String m_sSEKMSKeyId; + + bool m_bucketKeyEnabled; + + StorageClass m_storageClass; + + RequestCharged m_requestCharged; + + ReplicationStatus m_replicationStatus; + + int m_partsCount; + + ObjectLockMode m_objectLockMode; + + Aws::Utils::DateTime m_objectLockRetainUntilDate; + + ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h new file mode 100644 index 0000000000..1bd88410c6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IndexDocument.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the <code>Suffix</code> element.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IndexDocument">AWS + * API Reference</a></p> + */ + class AWS_S3_API IndexDocument + { + public: + IndexDocument(); + IndexDocument(const Aws::Utils::Xml::XmlNode& xmlNode); + IndexDocument& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline const Aws::String& GetSuffix() const{ return m_suffix; } + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline bool SuffixHasBeenSet() const { return m_suffixHasBeenSet; } + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline void SetSuffix(const Aws::String& value) { m_suffixHasBeenSet = true; m_suffix = value; } + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline void SetSuffix(Aws::String&& value) { m_suffixHasBeenSet = true; m_suffix = std::move(value); } + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline void SetSuffix(const char* value) { m_suffixHasBeenSet = true; m_suffix.assign(value); } + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline IndexDocument& WithSuffix(const Aws::String& value) { SetSuffix(value); return *this;} + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline IndexDocument& WithSuffix(Aws::String&& value) { SetSuffix(std::move(value)); return *this;} + + /** + * <p>A suffix that is appended to a request that is for a directory on the website + * endpoint (for example,if the suffix is index.html and you make a request to + * samplebucket/images/ the data that is returned will be for the object with the + * key name images/index.html) The suffix must not be empty and must not include a + * slash character.</p> + */ + inline IndexDocument& WithSuffix(const char* value) { SetSuffix(value); return *this;} + + private: + + Aws::String m_suffix; + bool m_suffixHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h new file mode 100644 index 0000000000..7e831b799d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Initiator.h @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container element that identifies who initiated the multipart upload. + * </p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Initiator">AWS API + * Reference</a></p> + */ + class AWS_S3_API Initiator + { + public: + Initiator(); + Initiator(const Aws::Utils::Xml::XmlNode& xmlNode); + Initiator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline const Aws::String& GetID() const{ return m_iD; } + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline Initiator& WithID(const Aws::String& value) { SetID(value); return *this;} + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline Initiator& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} + + /** + * <p>If the principal is an AWS account, it provides the Canonical User ID. If the + * principal is an IAM User, it provides a user ARN value.</p> + */ + inline Initiator& WithID(const char* value) { SetID(value); return *this;} + + + /** + * <p>Name of the Principal.</p> + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + + /** + * <p>Name of the Principal.</p> + */ + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + + /** + * <p>Name of the Principal.</p> + */ + inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } + + /** + * <p>Name of the Principal.</p> + */ + inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } + + /** + * <p>Name of the Principal.</p> + */ + inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } + + /** + * <p>Name of the Principal.</p> + */ + inline Initiator& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + + /** + * <p>Name of the Principal.</p> + */ + inline Initiator& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + + /** + * <p>Name of the Principal.</p> + */ + inline Initiator& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + + private: + + Aws::String m_iD; + bool m_iDHasBeenSet; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h new file mode 100644 index 0000000000..332b4ec21d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InputSerialization.h @@ -0,0 +1,190 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/CSVInput.h> +#include <aws/s3/model/CompressionType.h> +#include <aws/s3/model/JSONInput.h> +#include <aws/s3/model/ParquetInput.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes the serialization format of the object.</p><p><h3>See Also:</h3> + * <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InputSerialization">AWS + * API Reference</a></p> + */ + class AWS_S3_API InputSerialization + { + public: + InputSerialization(); + InputSerialization(const Aws::Utils::Xml::XmlNode& xmlNode); + InputSerialization& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Describes the serialization of a CSV-encoded object.</p> + */ + inline const CSVInput& GetCSV() const{ return m_cSV; } + + /** + * <p>Describes the serialization of a CSV-encoded object.</p> + */ + inline bool CSVHasBeenSet() const { return m_cSVHasBeenSet; } + + /** + * <p>Describes the serialization of a CSV-encoded object.</p> + */ + inline void SetCSV(const CSVInput& value) { m_cSVHasBeenSet = true; m_cSV = value; } + + /** + * <p>Describes the serialization of a CSV-encoded object.</p> + */ + inline void SetCSV(CSVInput&& value) { m_cSVHasBeenSet = true; m_cSV = std::move(value); } + + /** + * <p>Describes the serialization of a CSV-encoded object.</p> + */ + inline InputSerialization& WithCSV(const CSVInput& value) { SetCSV(value); return *this;} + + /** + * <p>Describes the serialization of a CSV-encoded object.</p> + */ + inline InputSerialization& WithCSV(CSVInput&& value) { SetCSV(std::move(value)); return *this;} + + + /** + * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. + * Default Value: NONE.</p> + */ + inline const CompressionType& GetCompressionType() const{ return m_compressionType; } + + /** + * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. + * Default Value: NONE.</p> + */ + inline bool CompressionTypeHasBeenSet() const { return m_compressionTypeHasBeenSet; } + + /** + * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. + * Default Value: NONE.</p> + */ + inline void SetCompressionType(const CompressionType& value) { m_compressionTypeHasBeenSet = true; m_compressionType = value; } + + /** + * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. + * Default Value: NONE.</p> + */ + inline void SetCompressionType(CompressionType&& value) { m_compressionTypeHasBeenSet = true; m_compressionType = std::move(value); } + + /** + * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. + * Default Value: NONE.</p> + */ + inline InputSerialization& WithCompressionType(const CompressionType& value) { SetCompressionType(value); return *this;} + + /** + * <p>Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. + * Default Value: NONE.</p> + */ + inline InputSerialization& WithCompressionType(CompressionType&& value) { SetCompressionType(std::move(value)); return *this;} + + + /** + * <p>Specifies JSON as object's input serialization format.</p> + */ + inline const JSONInput& GetJSON() const{ return m_jSON; } + + /** + * <p>Specifies JSON as object's input serialization format.</p> + */ + inline bool JSONHasBeenSet() const { return m_jSONHasBeenSet; } + + /** + * <p>Specifies JSON as object's input serialization format.</p> + */ + inline void SetJSON(const JSONInput& value) { m_jSONHasBeenSet = true; m_jSON = value; } + + /** + * <p>Specifies JSON as object's input serialization format.</p> + */ + inline void SetJSON(JSONInput&& value) { m_jSONHasBeenSet = true; m_jSON = std::move(value); } + + /** + * <p>Specifies JSON as object's input serialization format.</p> + */ + inline InputSerialization& WithJSON(const JSONInput& value) { SetJSON(value); return *this;} + + /** + * <p>Specifies JSON as object's input serialization format.</p> + */ + inline InputSerialization& WithJSON(JSONInput&& value) { SetJSON(std::move(value)); return *this;} + + + /** + * <p>Specifies Parquet as object's input serialization format.</p> + */ + inline const ParquetInput& GetParquet() const{ return m_parquet; } + + /** + * <p>Specifies Parquet as object's input serialization format.</p> + */ + inline bool ParquetHasBeenSet() const { return m_parquetHasBeenSet; } + + /** + * <p>Specifies Parquet as object's input serialization format.</p> + */ + inline void SetParquet(const ParquetInput& value) { m_parquetHasBeenSet = true; m_parquet = value; } + + /** + * <p>Specifies Parquet as object's input serialization format.</p> + */ + inline void SetParquet(ParquetInput&& value) { m_parquetHasBeenSet = true; m_parquet = std::move(value); } + + /** + * <p>Specifies Parquet as object's input serialization format.</p> + */ + inline InputSerialization& WithParquet(const ParquetInput& value) { SetParquet(value); return *this;} + + /** + * <p>Specifies Parquet as object's input serialization format.</p> + */ + inline InputSerialization& WithParquet(ParquetInput&& value) { SetParquet(std::move(value)); return *this;} + + private: + + CSVInput m_cSV; + bool m_cSVHasBeenSet; + + CompressionType m_compressionType; + bool m_compressionTypeHasBeenSet; + + JSONInput m_jSON; + bool m_jSONHasBeenSet; + + ParquetInput m_parquet; + bool m_parquetHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAccessTier.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAccessTier.h new file mode 100644 index 0000000000..b84259b865 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAccessTier.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class IntelligentTieringAccessTier + { + NOT_SET, + ARCHIVE_ACCESS, + DEEP_ARCHIVE_ACCESS + }; + +namespace IntelligentTieringAccessTierMapper +{ +AWS_S3_API IntelligentTieringAccessTier GetIntelligentTieringAccessTierForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForIntelligentTieringAccessTier(IntelligentTieringAccessTier value); +} // namespace IntelligentTieringAccessTierMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h new file mode 100644 index 0000000000..f40740341b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringAndOperator.h @@ -0,0 +1,152 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for specifying S3 Intelligent-Tiering filters. The filters + * determine the subset of objects to which the rule applies.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringAndOperator">AWS + * API Reference</a></p> + */ + class AWS_S3_API IntelligentTieringAndOperator + { + public: + IntelligentTieringAndOperator(); + IntelligentTieringAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + IntelligentTieringAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline IntelligentTieringAndOperator& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline IntelligentTieringAndOperator& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * configuration applies.</p> + */ + inline IntelligentTieringAndOperator& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline IntelligentTieringAndOperator& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline IntelligentTieringAndOperator& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline IntelligentTieringAndOperator& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the + * configuration to apply.</p> + */ + inline IntelligentTieringAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::Vector<Tag> m_tags; + bool m_tagsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h new file mode 100644 index 0000000000..5e89009326 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringConfiguration.h @@ -0,0 +1,223 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/IntelligentTieringFilter.h> +#include <aws/s3/model/IntelligentTieringStatus.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tiering.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 + * bucket.</p> <p>For information about the S3 Intelligent-Tiering storage class, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API IntelligentTieringConfiguration + { + public: + IntelligentTieringConfiguration(); + IntelligentTieringConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + IntelligentTieringConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline IntelligentTieringConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline IntelligentTieringConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline IntelligentTieringConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>Specifies a bucket filter. The configuration only includes objects that meet + * the filter's criteria.</p> + */ + inline const IntelligentTieringFilter& GetFilter() const{ return m_filter; } + + /** + * <p>Specifies a bucket filter. The configuration only includes objects that meet + * the filter's criteria.</p> + */ + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + /** + * <p>Specifies a bucket filter. The configuration only includes objects that meet + * the filter's criteria.</p> + */ + inline void SetFilter(const IntelligentTieringFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + /** + * <p>Specifies a bucket filter. The configuration only includes objects that meet + * the filter's criteria.</p> + */ + inline void SetFilter(IntelligentTieringFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + /** + * <p>Specifies a bucket filter. The configuration only includes objects that meet + * the filter's criteria.</p> + */ + inline IntelligentTieringConfiguration& WithFilter(const IntelligentTieringFilter& value) { SetFilter(value); return *this;} + + /** + * <p>Specifies a bucket filter. The configuration only includes objects that meet + * the filter's criteria.</p> + */ + inline IntelligentTieringConfiguration& WithFilter(IntelligentTieringFilter&& value) { SetFilter(std::move(value)); return *this;} + + + /** + * <p>Specifies the status of the configuration.</p> + */ + inline const IntelligentTieringStatus& GetStatus() const{ return m_status; } + + /** + * <p>Specifies the status of the configuration.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>Specifies the status of the configuration.</p> + */ + inline void SetStatus(const IntelligentTieringStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>Specifies the status of the configuration.</p> + */ + inline void SetStatus(IntelligentTieringStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>Specifies the status of the configuration.</p> + */ + inline IntelligentTieringConfiguration& WithStatus(const IntelligentTieringStatus& value) { SetStatus(value); return *this;} + + /** + * <p>Specifies the status of the configuration.</p> + */ + inline IntelligentTieringConfiguration& WithStatus(IntelligentTieringStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline const Aws::Vector<Tiering>& GetTierings() const{ return m_tierings; } + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline bool TieringsHasBeenSet() const { return m_tieringsHasBeenSet; } + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline void SetTierings(const Aws::Vector<Tiering>& value) { m_tieringsHasBeenSet = true; m_tierings = value; } + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline void SetTierings(Aws::Vector<Tiering>&& value) { m_tieringsHasBeenSet = true; m_tierings = std::move(value); } + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline IntelligentTieringConfiguration& WithTierings(const Aws::Vector<Tiering>& value) { SetTierings(value); return *this;} + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline IntelligentTieringConfiguration& WithTierings(Aws::Vector<Tiering>&& value) { SetTierings(std::move(value)); return *this;} + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline IntelligentTieringConfiguration& AddTierings(const Tiering& value) { m_tieringsHasBeenSet = true; m_tierings.push_back(value); return *this; } + + /** + * <p>Specifies the S3 Intelligent-Tiering storage class tier of the + * configuration.</p> + */ + inline IntelligentTieringConfiguration& AddTierings(Tiering&& value) { m_tieringsHasBeenSet = true; m_tierings.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + IntelligentTieringFilter m_filter; + bool m_filterHasBeenSet; + + IntelligentTieringStatus m_status; + bool m_statusHasBeenSet; + + Aws::Vector<Tiering> m_tierings; + bool m_tieringsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h new file mode 100644 index 0000000000..971f9569cc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringFilter.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Tag.h> +#include <aws/s3/model/IntelligentTieringAndOperator.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The <code>Filter</code> is used to identify objects that the S3 + * Intelligent-Tiering configuration applies to.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringFilter">AWS + * API Reference</a></p> + */ + class AWS_S3_API IntelligentTieringFilter + { + public: + IntelligentTieringFilter(); + IntelligentTieringFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + IntelligentTieringFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline IntelligentTieringFilter& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline IntelligentTieringFilter& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline IntelligentTieringFilter& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + + inline const Tag& GetTag() const{ return m_tag; } + + + inline bool TagHasBeenSet() const { return m_tagHasBeenSet; } + + + inline void SetTag(const Tag& value) { m_tagHasBeenSet = true; m_tag = value; } + + + inline void SetTag(Tag&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); } + + + inline IntelligentTieringFilter& WithTag(const Tag& value) { SetTag(value); return *this;} + + + inline IntelligentTieringFilter& WithTag(Tag&& value) { SetTag(std::move(value)); return *this;} + + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline const IntelligentTieringAndOperator& GetAnd() const{ return m_and; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline bool AndHasBeenSet() const { return m_andHasBeenSet; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline void SetAnd(const IntelligentTieringAndOperator& value) { m_andHasBeenSet = true; m_and = value; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline void SetAnd(IntelligentTieringAndOperator&& value) { m_andHasBeenSet = true; m_and = std::move(value); } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline IntelligentTieringFilter& WithAnd(const IntelligentTieringAndOperator& value) { SetAnd(value); return *this;} + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline IntelligentTieringFilter& WithAnd(IntelligentTieringAndOperator&& value) { SetAnd(std::move(value)); return *this;} + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Tag m_tag; + bool m_tagHasBeenSet; + + IntelligentTieringAndOperator m_and; + bool m_andHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringStatus.h new file mode 100644 index 0000000000..f829375dab --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/IntelligentTieringStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class IntelligentTieringStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace IntelligentTieringStatusMapper +{ +AWS_S3_API IntelligentTieringStatus GetIntelligentTieringStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForIntelligentTieringStatus(IntelligentTieringStatus value); +} // namespace IntelligentTieringStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h new file mode 100644 index 0000000000..2ce6a101d2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InvalidObjectState.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/IntelligentTieringAccessTier.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Object is archived and inaccessible until restored.</p><p><h3>See Also:</h3> + * <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InvalidObjectState">AWS + * API Reference</a></p> + */ + class AWS_S3_API InvalidObjectState + { + public: + InvalidObjectState(); + InvalidObjectState(const Aws::Utils::Xml::XmlNode& xmlNode); + InvalidObjectState& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + + inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + + inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + + inline InvalidObjectState& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + + inline InvalidObjectState& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + + inline const IntelligentTieringAccessTier& GetAccessTier() const{ return m_accessTier; } + + + inline bool AccessTierHasBeenSet() const { return m_accessTierHasBeenSet; } + + + inline void SetAccessTier(const IntelligentTieringAccessTier& value) { m_accessTierHasBeenSet = true; m_accessTier = value; } + + + inline void SetAccessTier(IntelligentTieringAccessTier&& value) { m_accessTierHasBeenSet = true; m_accessTier = std::move(value); } + + + inline InvalidObjectState& WithAccessTier(const IntelligentTieringAccessTier& value) { SetAccessTier(value); return *this;} + + + inline InvalidObjectState& WithAccessTier(IntelligentTieringAccessTier&& value) { SetAccessTier(std::move(value)); return *this;} + + private: + + StorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + IntelligentTieringAccessTier m_accessTier; + bool m_accessTierHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h new file mode 100644 index 0000000000..d48347ff65 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryConfiguration.h @@ -0,0 +1,340 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/InventoryDestination.h> +#include <aws/s3/model/InventoryFilter.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/InventoryIncludedObjectVersions.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/InventorySchedule.h> +#include <aws/s3/model/InventoryOptionalField.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the inventory configuration for an Amazon S3 bucket. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html">GET + * Bucket inventory</a> in the <i>Amazon Simple Storage Service API Reference</i>. + * </p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API InventoryConfiguration + { + public: + InventoryConfiguration(); + InventoryConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + InventoryConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Contains information about where to publish the inventory results.</p> + */ + inline const InventoryDestination& GetDestination() const{ return m_destination; } + + /** + * <p>Contains information about where to publish the inventory results.</p> + */ + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + + /** + * <p>Contains information about where to publish the inventory results.</p> + */ + inline void SetDestination(const InventoryDestination& value) { m_destinationHasBeenSet = true; m_destination = value; } + + /** + * <p>Contains information about where to publish the inventory results.</p> + */ + inline void SetDestination(InventoryDestination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + + /** + * <p>Contains information about where to publish the inventory results.</p> + */ + inline InventoryConfiguration& WithDestination(const InventoryDestination& value) { SetDestination(value); return *this;} + + /** + * <p>Contains information about where to publish the inventory results.</p> + */ + inline InventoryConfiguration& WithDestination(InventoryDestination&& value) { SetDestination(std::move(value)); return *this;} + + + /** + * <p>Specifies whether the inventory is enabled or disabled. If set to + * <code>True</code>, an inventory list is generated. If set to <code>False</code>, + * no inventory list is generated.</p> + */ + inline bool GetIsEnabled() const{ return m_isEnabled; } + + /** + * <p>Specifies whether the inventory is enabled or disabled. If set to + * <code>True</code>, an inventory list is generated. If set to <code>False</code>, + * no inventory list is generated.</p> + */ + inline bool IsEnabledHasBeenSet() const { return m_isEnabledHasBeenSet; } + + /** + * <p>Specifies whether the inventory is enabled or disabled. If set to + * <code>True</code>, an inventory list is generated. If set to <code>False</code>, + * no inventory list is generated.</p> + */ + inline void SetIsEnabled(bool value) { m_isEnabledHasBeenSet = true; m_isEnabled = value; } + + /** + * <p>Specifies whether the inventory is enabled or disabled. If set to + * <code>True</code>, an inventory list is generated. If set to <code>False</code>, + * no inventory list is generated.</p> + */ + inline InventoryConfiguration& WithIsEnabled(bool value) { SetIsEnabled(value); return *this;} + + + /** + * <p>Specifies an inventory filter. The inventory only includes objects that meet + * the filter's criteria.</p> + */ + inline const InventoryFilter& GetFilter() const{ return m_filter; } + + /** + * <p>Specifies an inventory filter. The inventory only includes objects that meet + * the filter's criteria.</p> + */ + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + /** + * <p>Specifies an inventory filter. The inventory only includes objects that meet + * the filter's criteria.</p> + */ + inline void SetFilter(const InventoryFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + /** + * <p>Specifies an inventory filter. The inventory only includes objects that meet + * the filter's criteria.</p> + */ + inline void SetFilter(InventoryFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + /** + * <p>Specifies an inventory filter. The inventory only includes objects that meet + * the filter's criteria.</p> + */ + inline InventoryConfiguration& WithFilter(const InventoryFilter& value) { SetFilter(value); return *this;} + + /** + * <p>Specifies an inventory filter. The inventory only includes objects that meet + * the filter's criteria.</p> + */ + inline InventoryConfiguration& WithFilter(InventoryFilter&& value) { SetFilter(std::move(value)); return *this;} + + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline InventoryConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline InventoryConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline InventoryConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>Object versions to include in the inventory list. If set to <code>All</code>, + * the list includes all the object versions, which adds the version-related fields + * <code>VersionId</code>, <code>IsLatest</code>, and <code>DeleteMarker</code> to + * the list. If set to <code>Current</code>, the list does not contain these + * version-related fields.</p> + */ + inline const InventoryIncludedObjectVersions& GetIncludedObjectVersions() const{ return m_includedObjectVersions; } + + /** + * <p>Object versions to include in the inventory list. If set to <code>All</code>, + * the list includes all the object versions, which adds the version-related fields + * <code>VersionId</code>, <code>IsLatest</code>, and <code>DeleteMarker</code> to + * the list. If set to <code>Current</code>, the list does not contain these + * version-related fields.</p> + */ + inline bool IncludedObjectVersionsHasBeenSet() const { return m_includedObjectVersionsHasBeenSet; } + + /** + * <p>Object versions to include in the inventory list. If set to <code>All</code>, + * the list includes all the object versions, which adds the version-related fields + * <code>VersionId</code>, <code>IsLatest</code>, and <code>DeleteMarker</code> to + * the list. If set to <code>Current</code>, the list does not contain these + * version-related fields.</p> + */ + inline void SetIncludedObjectVersions(const InventoryIncludedObjectVersions& value) { m_includedObjectVersionsHasBeenSet = true; m_includedObjectVersions = value; } + + /** + * <p>Object versions to include in the inventory list. If set to <code>All</code>, + * the list includes all the object versions, which adds the version-related fields + * <code>VersionId</code>, <code>IsLatest</code>, and <code>DeleteMarker</code> to + * the list. If set to <code>Current</code>, the list does not contain these + * version-related fields.</p> + */ + inline void SetIncludedObjectVersions(InventoryIncludedObjectVersions&& value) { m_includedObjectVersionsHasBeenSet = true; m_includedObjectVersions = std::move(value); } + + /** + * <p>Object versions to include in the inventory list. If set to <code>All</code>, + * the list includes all the object versions, which adds the version-related fields + * <code>VersionId</code>, <code>IsLatest</code>, and <code>DeleteMarker</code> to + * the list. If set to <code>Current</code>, the list does not contain these + * version-related fields.</p> + */ + inline InventoryConfiguration& WithIncludedObjectVersions(const InventoryIncludedObjectVersions& value) { SetIncludedObjectVersions(value); return *this;} + + /** + * <p>Object versions to include in the inventory list. If set to <code>All</code>, + * the list includes all the object versions, which adds the version-related fields + * <code>VersionId</code>, <code>IsLatest</code>, and <code>DeleteMarker</code> to + * the list. If set to <code>Current</code>, the list does not contain these + * version-related fields.</p> + */ + inline InventoryConfiguration& WithIncludedObjectVersions(InventoryIncludedObjectVersions&& value) { SetIncludedObjectVersions(std::move(value)); return *this;} + + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline const Aws::Vector<InventoryOptionalField>& GetOptionalFields() const{ return m_optionalFields; } + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline bool OptionalFieldsHasBeenSet() const { return m_optionalFieldsHasBeenSet; } + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline void SetOptionalFields(const Aws::Vector<InventoryOptionalField>& value) { m_optionalFieldsHasBeenSet = true; m_optionalFields = value; } + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline void SetOptionalFields(Aws::Vector<InventoryOptionalField>&& value) { m_optionalFieldsHasBeenSet = true; m_optionalFields = std::move(value); } + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline InventoryConfiguration& WithOptionalFields(const Aws::Vector<InventoryOptionalField>& value) { SetOptionalFields(value); return *this;} + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline InventoryConfiguration& WithOptionalFields(Aws::Vector<InventoryOptionalField>&& value) { SetOptionalFields(std::move(value)); return *this;} + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline InventoryConfiguration& AddOptionalFields(const InventoryOptionalField& value) { m_optionalFieldsHasBeenSet = true; m_optionalFields.push_back(value); return *this; } + + /** + * <p>Contains the optional fields that are included in the inventory results.</p> + */ + inline InventoryConfiguration& AddOptionalFields(InventoryOptionalField&& value) { m_optionalFieldsHasBeenSet = true; m_optionalFields.push_back(std::move(value)); return *this; } + + + /** + * <p>Specifies the schedule for generating inventory results.</p> + */ + inline const InventorySchedule& GetSchedule() const{ return m_schedule; } + + /** + * <p>Specifies the schedule for generating inventory results.</p> + */ + inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } + + /** + * <p>Specifies the schedule for generating inventory results.</p> + */ + inline void SetSchedule(const InventorySchedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; } + + /** + * <p>Specifies the schedule for generating inventory results.</p> + */ + inline void SetSchedule(InventorySchedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } + + /** + * <p>Specifies the schedule for generating inventory results.</p> + */ + inline InventoryConfiguration& WithSchedule(const InventorySchedule& value) { SetSchedule(value); return *this;} + + /** + * <p>Specifies the schedule for generating inventory results.</p> + */ + inline InventoryConfiguration& WithSchedule(InventorySchedule&& value) { SetSchedule(std::move(value)); return *this;} + + private: + + InventoryDestination m_destination; + bool m_destinationHasBeenSet; + + bool m_isEnabled; + bool m_isEnabledHasBeenSet; + + InventoryFilter m_filter; + bool m_filterHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + InventoryIncludedObjectVersions m_includedObjectVersions; + bool m_includedObjectVersionsHasBeenSet; + + Aws::Vector<InventoryOptionalField> m_optionalFields; + bool m_optionalFieldsHasBeenSet; + + InventorySchedule m_schedule; + bool m_scheduleHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h new file mode 100644 index 0000000000..08f259cd74 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryDestination.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/InventoryS3BucketDestination.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the inventory configuration for an Amazon S3 bucket.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryDestination">AWS + * API Reference</a></p> + */ + class AWS_S3_API InventoryDestination + { + public: + InventoryDestination(); + InventoryDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + InventoryDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Contains the bucket name, file format, bucket owner (optional), and prefix + * (optional) where inventory results are published.</p> + */ + inline const InventoryS3BucketDestination& GetS3BucketDestination() const{ return m_s3BucketDestination; } + + /** + * <p>Contains the bucket name, file format, bucket owner (optional), and prefix + * (optional) where inventory results are published.</p> + */ + inline bool S3BucketDestinationHasBeenSet() const { return m_s3BucketDestinationHasBeenSet; } + + /** + * <p>Contains the bucket name, file format, bucket owner (optional), and prefix + * (optional) where inventory results are published.</p> + */ + inline void SetS3BucketDestination(const InventoryS3BucketDestination& value) { m_s3BucketDestinationHasBeenSet = true; m_s3BucketDestination = value; } + + /** + * <p>Contains the bucket name, file format, bucket owner (optional), and prefix + * (optional) where inventory results are published.</p> + */ + inline void SetS3BucketDestination(InventoryS3BucketDestination&& value) { m_s3BucketDestinationHasBeenSet = true; m_s3BucketDestination = std::move(value); } + + /** + * <p>Contains the bucket name, file format, bucket owner (optional), and prefix + * (optional) where inventory results are published.</p> + */ + inline InventoryDestination& WithS3BucketDestination(const InventoryS3BucketDestination& value) { SetS3BucketDestination(value); return *this;} + + /** + * <p>Contains the bucket name, file format, bucket owner (optional), and prefix + * (optional) where inventory results are published.</p> + */ + inline InventoryDestination& WithS3BucketDestination(InventoryS3BucketDestination&& value) { SetS3BucketDestination(std::move(value)); return *this;} + + private: + + InventoryS3BucketDestination m_s3BucketDestination; + bool m_s3BucketDestinationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h new file mode 100644 index 0000000000..6c11c72634 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryEncryption.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/SSES3.h> +#include <aws/s3/model/SSEKMS.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Contains the type of server-side encryption used to encrypt the inventory + * results.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryEncryption">AWS + * API Reference</a></p> + */ + class AWS_S3_API InventoryEncryption + { + public: + InventoryEncryption(); + InventoryEncryption(const Aws::Utils::Xml::XmlNode& xmlNode); + InventoryEncryption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the use of SSE-S3 to encrypt delivered inventory reports.</p> + */ + inline const SSES3& GetSSES3() const{ return m_sSES3; } + + /** + * <p>Specifies the use of SSE-S3 to encrypt delivered inventory reports.</p> + */ + inline bool SSES3HasBeenSet() const { return m_sSES3HasBeenSet; } + + /** + * <p>Specifies the use of SSE-S3 to encrypt delivered inventory reports.</p> + */ + inline void SetSSES3(const SSES3& value) { m_sSES3HasBeenSet = true; m_sSES3 = value; } + + /** + * <p>Specifies the use of SSE-S3 to encrypt delivered inventory reports.</p> + */ + inline void SetSSES3(SSES3&& value) { m_sSES3HasBeenSet = true; m_sSES3 = std::move(value); } + + /** + * <p>Specifies the use of SSE-S3 to encrypt delivered inventory reports.</p> + */ + inline InventoryEncryption& WithSSES3(const SSES3& value) { SetSSES3(value); return *this;} + + /** + * <p>Specifies the use of SSE-S3 to encrypt delivered inventory reports.</p> + */ + inline InventoryEncryption& WithSSES3(SSES3&& value) { SetSSES3(std::move(value)); return *this;} + + + /** + * <p>Specifies the use of SSE-KMS to encrypt delivered inventory reports.</p> + */ + inline const SSEKMS& GetSSEKMS() const{ return m_sSEKMS; } + + /** + * <p>Specifies the use of SSE-KMS to encrypt delivered inventory reports.</p> + */ + inline bool SSEKMSHasBeenSet() const { return m_sSEKMSHasBeenSet; } + + /** + * <p>Specifies the use of SSE-KMS to encrypt delivered inventory reports.</p> + */ + inline void SetSSEKMS(const SSEKMS& value) { m_sSEKMSHasBeenSet = true; m_sSEKMS = value; } + + /** + * <p>Specifies the use of SSE-KMS to encrypt delivered inventory reports.</p> + */ + inline void SetSSEKMS(SSEKMS&& value) { m_sSEKMSHasBeenSet = true; m_sSEKMS = std::move(value); } + + /** + * <p>Specifies the use of SSE-KMS to encrypt delivered inventory reports.</p> + */ + inline InventoryEncryption& WithSSEKMS(const SSEKMS& value) { SetSSEKMS(value); return *this;} + + /** + * <p>Specifies the use of SSE-KMS to encrypt delivered inventory reports.</p> + */ + inline InventoryEncryption& WithSSEKMS(SSEKMS&& value) { SetSSEKMS(std::move(value)); return *this;} + + private: + + SSES3 m_sSES3; + bool m_sSES3HasBeenSet; + + SSEKMS m_sSEKMS; + bool m_sSEKMSHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h new file mode 100644 index 0000000000..919ccf6dd7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFilter.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies an inventory filter. The inventory only includes objects that meet + * the filter's criteria.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryFilter">AWS + * API Reference</a></p> + */ + class AWS_S3_API InventoryFilter + { + public: + InventoryFilter(); + InventoryFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + InventoryFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline InventoryFilter& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline InventoryFilter& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix that an object must have to be included in the inventory + * results.</p> + */ + inline InventoryFilter& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFormat.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFormat.h new file mode 100644 index 0000000000..12ca4babb7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFormat.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class InventoryFormat + { + NOT_SET, + CSV, + ORC, + Parquet + }; + +namespace InventoryFormatMapper +{ +AWS_S3_API InventoryFormat GetInventoryFormatForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForInventoryFormat(InventoryFormat value); +} // namespace InventoryFormatMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFrequency.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFrequency.h new file mode 100644 index 0000000000..7e004c1f41 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryFrequency.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class InventoryFrequency + { + NOT_SET, + Daily, + Weekly + }; + +namespace InventoryFrequencyMapper +{ +AWS_S3_API InventoryFrequency GetInventoryFrequencyForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForInventoryFrequency(InventoryFrequency value); +} // namespace InventoryFrequencyMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryIncludedObjectVersions.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryIncludedObjectVersions.h new file mode 100644 index 0000000000..80386e591f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryIncludedObjectVersions.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class InventoryIncludedObjectVersions + { + NOT_SET, + All, + Current + }; + +namespace InventoryIncludedObjectVersionsMapper +{ +AWS_S3_API InventoryIncludedObjectVersions GetInventoryIncludedObjectVersionsForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForInventoryIncludedObjectVersions(InventoryIncludedObjectVersions value); +} // namespace InventoryIncludedObjectVersionsMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h new file mode 100644 index 0000000000..9959aa0bfb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryOptionalField.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class InventoryOptionalField + { + NOT_SET, + Size, + LastModifiedDate, + StorageClass, + ETag, + IsMultipartUploaded, + ReplicationStatus, + EncryptionStatus, + ObjectLockRetainUntilDate, + ObjectLockMode, + ObjectLockLegalHoldStatus, + IntelligentTieringAccessTier + }; + +namespace InventoryOptionalFieldMapper +{ +AWS_S3_API InventoryOptionalField GetInventoryOptionalFieldForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForInventoryOptionalField(InventoryOptionalField value); +} // namespace InventoryOptionalFieldMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h new file mode 100644 index 0000000000..d2f4f0027e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventoryS3BucketDestination.h @@ -0,0 +1,285 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/InventoryFormat.h> +#include <aws/s3/model/InventoryEncryption.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Contains the bucket name, file format, bucket owner (optional), and prefix + * (optional) where inventory results are published.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryS3BucketDestination">AWS + * API Reference</a></p> + */ + class AWS_S3_API InventoryS3BucketDestination + { + public: + InventoryS3BucketDestination(); + InventoryS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode); + InventoryS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline InventoryS3BucketDestination& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline InventoryS3BucketDestination& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + * <p>The account ID that owns the destination S3 bucket. If no account ID is + * provided, the owner is not validated before exporting data. </p> <p> + * Although this value is optional, we strongly recommend that you set it to help + * prevent problems if the destination bucket ownership changes. </p> + */ + inline InventoryS3BucketDestination& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline InventoryS3BucketDestination& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline InventoryS3BucketDestination& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the bucket where inventory results will be + * published.</p> + */ + inline InventoryS3BucketDestination& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Specifies the output format of the inventory results.</p> + */ + inline const InventoryFormat& GetFormat() const{ return m_format; } + + /** + * <p>Specifies the output format of the inventory results.</p> + */ + inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } + + /** + * <p>Specifies the output format of the inventory results.</p> + */ + inline void SetFormat(const InventoryFormat& value) { m_formatHasBeenSet = true; m_format = value; } + + /** + * <p>Specifies the output format of the inventory results.</p> + */ + inline void SetFormat(InventoryFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } + + /** + * <p>Specifies the output format of the inventory results.</p> + */ + inline InventoryS3BucketDestination& WithFormat(const InventoryFormat& value) { SetFormat(value); return *this;} + + /** + * <p>Specifies the output format of the inventory results.</p> + */ + inline InventoryS3BucketDestination& WithFormat(InventoryFormat&& value) { SetFormat(std::move(value)); return *this;} + + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline InventoryS3BucketDestination& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline InventoryS3BucketDestination& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix that is prepended to all inventory results.</p> + */ + inline InventoryS3BucketDestination& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>Contains the type of server-side encryption used to encrypt the inventory + * results.</p> + */ + inline const InventoryEncryption& GetEncryption() const{ return m_encryption; } + + /** + * <p>Contains the type of server-side encryption used to encrypt the inventory + * results.</p> + */ + inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; } + + /** + * <p>Contains the type of server-side encryption used to encrypt the inventory + * results.</p> + */ + inline void SetEncryption(const InventoryEncryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; } + + /** + * <p>Contains the type of server-side encryption used to encrypt the inventory + * results.</p> + */ + inline void SetEncryption(InventoryEncryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); } + + /** + * <p>Contains the type of server-side encryption used to encrypt the inventory + * results.</p> + */ + inline InventoryS3BucketDestination& WithEncryption(const InventoryEncryption& value) { SetEncryption(value); return *this;} + + /** + * <p>Contains the type of server-side encryption used to encrypt the inventory + * results.</p> + */ + inline InventoryS3BucketDestination& WithEncryption(InventoryEncryption&& value) { SetEncryption(std::move(value)); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet; + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + InventoryFormat m_format; + bool m_formatHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + InventoryEncryption m_encryption; + bool m_encryptionHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h new file mode 100644 index 0000000000..7a6933d2de --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/InventorySchedule.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/InventoryFrequency.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the schedule for generating inventory results.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventorySchedule">AWS + * API Reference</a></p> + */ + class AWS_S3_API InventorySchedule + { + public: + InventorySchedule(); + InventorySchedule(const Aws::Utils::Xml::XmlNode& xmlNode); + InventorySchedule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies how frequently inventory results are produced.</p> + */ + inline const InventoryFrequency& GetFrequency() const{ return m_frequency; } + + /** + * <p>Specifies how frequently inventory results are produced.</p> + */ + inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } + + /** + * <p>Specifies how frequently inventory results are produced.</p> + */ + inline void SetFrequency(const InventoryFrequency& value) { m_frequencyHasBeenSet = true; m_frequency = value; } + + /** + * <p>Specifies how frequently inventory results are produced.</p> + */ + inline void SetFrequency(InventoryFrequency&& value) { m_frequencyHasBeenSet = true; m_frequency = std::move(value); } + + /** + * <p>Specifies how frequently inventory results are produced.</p> + */ + inline InventorySchedule& WithFrequency(const InventoryFrequency& value) { SetFrequency(value); return *this;} + + /** + * <p>Specifies how frequently inventory results are produced.</p> + */ + inline InventorySchedule& WithFrequency(InventoryFrequency&& value) { SetFrequency(std::move(value)); return *this;} + + private: + + InventoryFrequency m_frequency; + bool m_frequencyHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h new file mode 100644 index 0000000000..be157654bd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONInput.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/JSONType.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies JSON as object's input serialization format.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONInput">AWS API + * Reference</a></p> + */ + class AWS_S3_API JSONInput + { + public: + JSONInput(); + JSONInput(const Aws::Utils::Xml::XmlNode& xmlNode); + JSONInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The type of JSON. Valid values: Document, Lines.</p> + */ + inline const JSONType& GetType() const{ return m_type; } + + /** + * <p>The type of JSON. Valid values: Document, Lines.</p> + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + * <p>The type of JSON. Valid values: Document, Lines.</p> + */ + inline void SetType(const JSONType& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + * <p>The type of JSON. Valid values: Document, Lines.</p> + */ + inline void SetType(JSONType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + * <p>The type of JSON. Valid values: Document, Lines.</p> + */ + inline JSONInput& WithType(const JSONType& value) { SetType(value); return *this;} + + /** + * <p>The type of JSON. Valid values: Document, Lines.</p> + */ + inline JSONInput& WithType(JSONType&& value) { SetType(std::move(value)); return *this;} + + private: + + JSONType m_type; + bool m_typeHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h new file mode 100644 index 0000000000..8a4865a7c0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONOutput.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies JSON as request's output serialization format.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONOutput">AWS API + * Reference</a></p> + */ + class AWS_S3_API JSONOutput + { + public: + JSONOutput(); + JSONOutput(const Aws::Utils::Xml::XmlNode& xmlNode); + JSONOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline const Aws::String& GetRecordDelimiter() const{ return m_recordDelimiter; } + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline bool RecordDelimiterHasBeenSet() const { return m_recordDelimiterHasBeenSet; } + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline void SetRecordDelimiter(const Aws::String& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = value; } + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline void SetRecordDelimiter(Aws::String&& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = std::move(value); } + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline void SetRecordDelimiter(const char* value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter.assign(value); } + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline JSONOutput& WithRecordDelimiter(const Aws::String& value) { SetRecordDelimiter(value); return *this;} + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline JSONOutput& WithRecordDelimiter(Aws::String&& value) { SetRecordDelimiter(std::move(value)); return *this;} + + /** + * <p>The value used to separate individual records in the output. If no value is + * specified, Amazon S3 uses a newline character ('\n').</p> + */ + inline JSONOutput& WithRecordDelimiter(const char* value) { SetRecordDelimiter(value); return *this;} + + private: + + Aws::String m_recordDelimiter; + bool m_recordDelimiterHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONType.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONType.h new file mode 100644 index 0000000000..cf3268228d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/JSONType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class JSONType + { + NOT_SET, + DOCUMENT, + LINES + }; + +namespace JSONTypeMapper +{ +AWS_S3_API JSONType GetJSONTypeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForJSONType(JSONType value); +} // namespace JSONTypeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h new file mode 100644 index 0000000000..df9aaa6bdf --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LambdaFunctionConfiguration.h @@ -0,0 +1,218 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/NotificationConfigurationFilter.h> +#include <aws/s3/model/Event.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for specifying the configuration for AWS Lambda + * notifications.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LambdaFunctionConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API LambdaFunctionConfiguration + { + public: + LambdaFunctionConfiguration(); + LambdaFunctionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + LambdaFunctionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const Aws::String& GetId() const{ return m_id; } + + + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + + inline LambdaFunctionConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + + inline LambdaFunctionConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + + inline LambdaFunctionConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline const Aws::String& GetLambdaFunctionArn() const{ return m_lambdaFunctionArn; } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline bool LambdaFunctionArnHasBeenSet() const { return m_lambdaFunctionArnHasBeenSet; } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline void SetLambdaFunctionArn(const Aws::String& value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn = value; } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline void SetLambdaFunctionArn(Aws::String&& value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn = std::move(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline void SetLambdaFunctionArn(const char* value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn.assign(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline LambdaFunctionConfiguration& WithLambdaFunctionArn(const Aws::String& value) { SetLambdaFunctionArn(value); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline LambdaFunctionConfiguration& WithLambdaFunctionArn(Aws::String&& value) { SetLambdaFunctionArn(std::move(value)); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + * invokes when the specified event type occurs.</p> + */ + inline LambdaFunctionConfiguration& WithLambdaFunctionArn(const char* value) { SetLambdaFunctionArn(value); return *this;} + + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline const Aws::Vector<Event>& GetEvents() const{ return m_events; } + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline LambdaFunctionConfiguration& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;} + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline LambdaFunctionConfiguration& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;} + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline LambdaFunctionConfiguration& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + * <p>The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline LambdaFunctionConfiguration& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + + + inline const NotificationConfigurationFilter& GetFilter() const{ return m_filter; } + + + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + + inline void SetFilter(const NotificationConfigurationFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + + inline void SetFilter(NotificationConfigurationFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + + inline LambdaFunctionConfiguration& WithFilter(const NotificationConfigurationFilter& value) { SetFilter(value); return *this;} + + + inline LambdaFunctionConfiguration& WithFilter(NotificationConfigurationFilter&& value) { SetFilter(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_lambdaFunctionArn; + bool m_lambdaFunctionArnHasBeenSet; + + Aws::Vector<Event> m_events; + bool m_eventsHasBeenSet; + + NotificationConfigurationFilter m_filter; + bool m_filterHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h new file mode 100644 index 0000000000..3da3b89dd8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleConfiguration.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Rule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for lifecycle rules. You can add as many as 1000 + * rules.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API LifecycleConfiguration + { + public: + LifecycleConfiguration(); + LifecycleConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + LifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline const Aws::Vector<Rule>& GetRules() const{ return m_rules; } + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline void SetRules(const Aws::Vector<Rule>& value) { m_rulesHasBeenSet = true; m_rules = value; } + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline void SetRules(Aws::Vector<Rule>&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline LifecycleConfiguration& WithRules(const Aws::Vector<Rule>& value) { SetRules(value); return *this;} + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline LifecycleConfiguration& WithRules(Aws::Vector<Rule>&& value) { SetRules(std::move(value)); return *this;} + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline LifecycleConfiguration& AddRules(const Rule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } + + /** + * <p>Specifies lifecycle configuration rules for an Amazon S3 bucket. </p> + */ + inline LifecycleConfiguration& AddRules(Rule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<Rule> m_rules; + bool m_rulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h new file mode 100644 index 0000000000..cb9628df58 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleExpiration.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/DateTime.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the expiration for the lifecycle of the object.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleExpiration">AWS + * API Reference</a></p> + */ + class AWS_S3_API LifecycleExpiration + { + public: + LifecycleExpiration(); + LifecycleExpiration(const Aws::Utils::Xml::XmlNode& xmlNode); + LifecycleExpiration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Indicates at what date the object is to be moved or deleted. Should be in GMT + * ISO 8601 Format.</p> + */ + inline const Aws::Utils::DateTime& GetDate() const{ return m_date; } + + /** + * <p>Indicates at what date the object is to be moved or deleted. Should be in GMT + * ISO 8601 Format.</p> + */ + inline bool DateHasBeenSet() const { return m_dateHasBeenSet; } + + /** + * <p>Indicates at what date the object is to be moved or deleted. Should be in GMT + * ISO 8601 Format.</p> + */ + inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; } + + /** + * <p>Indicates at what date the object is to be moved or deleted. Should be in GMT + * ISO 8601 Format.</p> + */ + inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = std::move(value); } + + /** + * <p>Indicates at what date the object is to be moved or deleted. Should be in GMT + * ISO 8601 Format.</p> + */ + inline LifecycleExpiration& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;} + + /** + * <p>Indicates at what date the object is to be moved or deleted. Should be in GMT + * ISO 8601 Format.</p> + */ + inline LifecycleExpiration& WithDate(Aws::Utils::DateTime&& value) { SetDate(std::move(value)); return *this;} + + + /** + * <p>Indicates the lifetime, in days, of the objects that are subject to the rule. + * The value must be a non-zero positive integer.</p> + */ + inline int GetDays() const{ return m_days; } + + /** + * <p>Indicates the lifetime, in days, of the objects that are subject to the rule. + * The value must be a non-zero positive integer.</p> + */ + inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; } + + /** + * <p>Indicates the lifetime, in days, of the objects that are subject to the rule. + * The value must be a non-zero positive integer.</p> + */ + inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; } + + /** + * <p>Indicates the lifetime, in days, of the objects that are subject to the rule. + * The value must be a non-zero positive integer.</p> + */ + inline LifecycleExpiration& WithDays(int value) { SetDays(value); return *this;} + + + /** + * <p>Indicates whether Amazon S3 will remove a delete marker with no noncurrent + * versions. If set to true, the delete marker will be expired; if set to false the + * policy takes no action. This cannot be specified with Days or Date in a + * Lifecycle Expiration Policy.</p> + */ + inline bool GetExpiredObjectDeleteMarker() const{ return m_expiredObjectDeleteMarker; } + + /** + * <p>Indicates whether Amazon S3 will remove a delete marker with no noncurrent + * versions. If set to true, the delete marker will be expired; if set to false the + * policy takes no action. This cannot be specified with Days or Date in a + * Lifecycle Expiration Policy.</p> + */ + inline bool ExpiredObjectDeleteMarkerHasBeenSet() const { return m_expiredObjectDeleteMarkerHasBeenSet; } + + /** + * <p>Indicates whether Amazon S3 will remove a delete marker with no noncurrent + * versions. If set to true, the delete marker will be expired; if set to false the + * policy takes no action. This cannot be specified with Days or Date in a + * Lifecycle Expiration Policy.</p> + */ + inline void SetExpiredObjectDeleteMarker(bool value) { m_expiredObjectDeleteMarkerHasBeenSet = true; m_expiredObjectDeleteMarker = value; } + + /** + * <p>Indicates whether Amazon S3 will remove a delete marker with no noncurrent + * versions. If set to true, the delete marker will be expired; if set to false the + * policy takes no action. This cannot be specified with Days or Date in a + * Lifecycle Expiration Policy.</p> + */ + inline LifecycleExpiration& WithExpiredObjectDeleteMarker(bool value) { SetExpiredObjectDeleteMarker(value); return *this;} + + private: + + Aws::Utils::DateTime m_date; + bool m_dateHasBeenSet; + + int m_days; + bool m_daysHasBeenSet; + + bool m_expiredObjectDeleteMarker; + bool m_expiredObjectDeleteMarkerHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h new file mode 100644 index 0000000000..573af31c60 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRule.h @@ -0,0 +1,379 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/LifecycleExpiration.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/LifecycleRuleFilter.h> +#include <aws/s3/model/ExpirationStatus.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/NoncurrentVersionExpiration.h> +#include <aws/s3/model/AbortIncompleteMultipartUpload.h> +#include <aws/s3/model/Transition.h> +#include <aws/s3/model/NoncurrentVersionTransition.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRule">AWS + * API Reference</a></p> + */ + class AWS_S3_API LifecycleRule + { + public: + LifecycleRule(); + LifecycleRule(const Aws::Utils::Xml::XmlNode& xmlNode); + LifecycleRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the expiration for the lifecycle of the object in the form of date, + * days and, whether the object has a delete marker.</p> + */ + inline const LifecycleExpiration& GetExpiration() const{ return m_expiration; } + + /** + * <p>Specifies the expiration for the lifecycle of the object in the form of date, + * days and, whether the object has a delete marker.</p> + */ + inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; } + + /** + * <p>Specifies the expiration for the lifecycle of the object in the form of date, + * days and, whether the object has a delete marker.</p> + */ + inline void SetExpiration(const LifecycleExpiration& value) { m_expirationHasBeenSet = true; m_expiration = value; } + + /** + * <p>Specifies the expiration for the lifecycle of the object in the form of date, + * days and, whether the object has a delete marker.</p> + */ + inline void SetExpiration(LifecycleExpiration&& value) { m_expirationHasBeenSet = true; m_expiration = std::move(value); } + + /** + * <p>Specifies the expiration for the lifecycle of the object in the form of date, + * days and, whether the object has a delete marker.</p> + */ + inline LifecycleRule& WithExpiration(const LifecycleExpiration& value) { SetExpiration(value); return *this;} + + /** + * <p>Specifies the expiration for the lifecycle of the object in the form of date, + * days and, whether the object has a delete marker.</p> + */ + inline LifecycleRule& WithExpiration(LifecycleExpiration&& value) { SetExpiration(std::move(value)); return *this;} + + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline const Aws::String& GetID() const{ return m_iD; } + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline LifecycleRule& WithID(const Aws::String& value) { SetID(value); return *this;} + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline LifecycleRule& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} + + /** + * <p>Unique identifier for the rule. The value cannot be longer than 255 + * characters.</p> + */ + inline LifecycleRule& WithID(const char* value) { SetID(value); return *this;} + + + + inline const LifecycleRuleFilter& GetFilter() const{ return m_filter; } + + + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + + inline void SetFilter(const LifecycleRuleFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + + inline void SetFilter(LifecycleRuleFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + + inline LifecycleRule& WithFilter(const LifecycleRuleFilter& value) { SetFilter(value); return *this;} + + + inline LifecycleRule& WithFilter(LifecycleRuleFilter&& value) { SetFilter(std::move(value)); return *this;} + + + /** + * <p>If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is + * not currently being applied.</p> + */ + inline const ExpirationStatus& GetStatus() const{ return m_status; } + + /** + * <p>If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is + * not currently being applied.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is + * not currently being applied.</p> + */ + inline void SetStatus(const ExpirationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is + * not currently being applied.</p> + */ + inline void SetStatus(ExpirationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is + * not currently being applied.</p> + */ + inline LifecycleRule& WithStatus(const ExpirationStatus& value) { SetStatus(value); return *this;} + + /** + * <p>If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is + * not currently being applied.</p> + */ + inline LifecycleRule& WithStatus(ExpirationStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline const Aws::Vector<Transition>& GetTransitions() const{ return m_transitions; } + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline bool TransitionsHasBeenSet() const { return m_transitionsHasBeenSet; } + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline void SetTransitions(const Aws::Vector<Transition>& value) { m_transitionsHasBeenSet = true; m_transitions = value; } + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline void SetTransitions(Aws::Vector<Transition>&& value) { m_transitionsHasBeenSet = true; m_transitions = std::move(value); } + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline LifecycleRule& WithTransitions(const Aws::Vector<Transition>& value) { SetTransitions(value); return *this;} + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline LifecycleRule& WithTransitions(Aws::Vector<Transition>&& value) { SetTransitions(std::move(value)); return *this;} + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline LifecycleRule& AddTransitions(const Transition& value) { m_transitionsHasBeenSet = true; m_transitions.push_back(value); return *this; } + + /** + * <p>Specifies when an Amazon S3 object transitions to a specified storage + * class.</p> + */ + inline LifecycleRule& AddTransitions(Transition&& value) { m_transitionsHasBeenSet = true; m_transitions.push_back(std::move(value)); return *this; } + + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline const Aws::Vector<NoncurrentVersionTransition>& GetNoncurrentVersionTransitions() const{ return m_noncurrentVersionTransitions; } + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline bool NoncurrentVersionTransitionsHasBeenSet() const { return m_noncurrentVersionTransitionsHasBeenSet; } + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline void SetNoncurrentVersionTransitions(const Aws::Vector<NoncurrentVersionTransition>& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions = value; } + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline void SetNoncurrentVersionTransitions(Aws::Vector<NoncurrentVersionTransition>&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions = std::move(value); } + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline LifecycleRule& WithNoncurrentVersionTransitions(const Aws::Vector<NoncurrentVersionTransition>& value) { SetNoncurrentVersionTransitions(value); return *this;} + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline LifecycleRule& WithNoncurrentVersionTransitions(Aws::Vector<NoncurrentVersionTransition>&& value) { SetNoncurrentVersionTransitions(std::move(value)); return *this;} + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline LifecycleRule& AddNoncurrentVersionTransitions(const NoncurrentVersionTransition& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.push_back(value); return *this; } + + /** + * <p> Specifies the transition rule for the lifecycle rule that describes when + * noncurrent objects transition to a specific storage class. If your bucket is + * versioning-enabled (or versioning is suspended), you can set this action to + * request that Amazon S3 transition noncurrent object versions to a specific + * storage class at a set period in the object's lifetime. </p> + */ + inline LifecycleRule& AddNoncurrentVersionTransitions(NoncurrentVersionTransition&& value) { m_noncurrentVersionTransitionsHasBeenSet = true; m_noncurrentVersionTransitions.push_back(std::move(value)); return *this; } + + + + inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const{ return m_noncurrentVersionExpiration; } + + + inline bool NoncurrentVersionExpirationHasBeenSet() const { return m_noncurrentVersionExpirationHasBeenSet; } + + + inline void SetNoncurrentVersionExpiration(const NoncurrentVersionExpiration& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = value; } + + + inline void SetNoncurrentVersionExpiration(NoncurrentVersionExpiration&& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = std::move(value); } + + + inline LifecycleRule& WithNoncurrentVersionExpiration(const NoncurrentVersionExpiration& value) { SetNoncurrentVersionExpiration(value); return *this;} + + + inline LifecycleRule& WithNoncurrentVersionExpiration(NoncurrentVersionExpiration&& value) { SetNoncurrentVersionExpiration(std::move(value)); return *this;} + + + + inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const{ return m_abortIncompleteMultipartUpload; } + + + inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; } + + + inline void SetAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = value; } + + + inline void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload&& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = std::move(value); } + + + inline LifecycleRule& WithAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload& value) { SetAbortIncompleteMultipartUpload(value); return *this;} + + + inline LifecycleRule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload&& value) { SetAbortIncompleteMultipartUpload(std::move(value)); return *this;} + + private: + + LifecycleExpiration m_expiration; + bool m_expirationHasBeenSet; + + Aws::String m_iD; + bool m_iDHasBeenSet; + + LifecycleRuleFilter m_filter; + bool m_filterHasBeenSet; + + ExpirationStatus m_status; + bool m_statusHasBeenSet; + + Aws::Vector<Transition> m_transitions; + bool m_transitionsHasBeenSet; + + Aws::Vector<NoncurrentVersionTransition> m_noncurrentVersionTransitions; + bool m_noncurrentVersionTransitionsHasBeenSet; + + NoncurrentVersionExpiration m_noncurrentVersionExpiration; + bool m_noncurrentVersionExpirationHasBeenSet; + + AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload; + bool m_abortIncompleteMultipartUploadHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h new file mode 100644 index 0000000000..36ccbdd5f3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleAndOperator.h @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>This is used in a Lifecycle Rule Filter to apply a logical AND to two or more + * predicates. The Lifecycle Rule will apply to any object matching all of the + * predicates configured inside the And operator.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleAndOperator">AWS + * API Reference</a></p> + */ + class AWS_S3_API LifecycleRuleAndOperator + { + public: + LifecycleRuleAndOperator(); + LifecycleRuleAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + LifecycleRuleAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline LifecycleRuleAndOperator& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline LifecycleRuleAndOperator& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline LifecycleRuleAndOperator& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline LifecycleRuleAndOperator& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline LifecycleRuleAndOperator& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline LifecycleRuleAndOperator& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + * <p>All of these tags must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline LifecycleRuleAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::Vector<Tag> m_tags; + bool m_tagsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h new file mode 100644 index 0000000000..1903c7af67 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LifecycleRuleFilter.h @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Tag.h> +#include <aws/s3/model/LifecycleRuleAndOperator.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The <code>Filter</code> is used to identify objects that a Lifecycle Rule + * applies to. A <code>Filter</code> must have exactly one of <code>Prefix</code>, + * <code>Tag</code>, or <code>And</code> specified.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleFilter">AWS + * API Reference</a></p> + */ + class AWS_S3_API LifecycleRuleFilter + { + public: + LifecycleRuleFilter(); + LifecycleRuleFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + LifecycleRuleFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline LifecycleRuleFilter& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline LifecycleRuleFilter& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Prefix identifying one or more objects to which the rule applies.</p> + */ + inline LifecycleRuleFilter& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>This tag must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline const Tag& GetTag() const{ return m_tag; } + + /** + * <p>This tag must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline bool TagHasBeenSet() const { return m_tagHasBeenSet; } + + /** + * <p>This tag must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline void SetTag(const Tag& value) { m_tagHasBeenSet = true; m_tag = value; } + + /** + * <p>This tag must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline void SetTag(Tag&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); } + + /** + * <p>This tag must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline LifecycleRuleFilter& WithTag(const Tag& value) { SetTag(value); return *this;} + + /** + * <p>This tag must exist in the object's tag set in order for the rule to + * apply.</p> + */ + inline LifecycleRuleFilter& WithTag(Tag&& value) { SetTag(std::move(value)); return *this;} + + + + inline const LifecycleRuleAndOperator& GetAnd() const{ return m_and; } + + + inline bool AndHasBeenSet() const { return m_andHasBeenSet; } + + + inline void SetAnd(const LifecycleRuleAndOperator& value) { m_andHasBeenSet = true; m_and = value; } + + + inline void SetAnd(LifecycleRuleAndOperator&& value) { m_andHasBeenSet = true; m_and = std::move(value); } + + + inline LifecycleRuleFilter& WithAnd(const LifecycleRuleAndOperator& value) { SetAnd(value); return *this;} + + + inline LifecycleRuleFilter& WithAnd(LifecycleRuleAndOperator&& value) { SetAnd(std::move(value)); return *this;} + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Tag m_tag; + bool m_tagHasBeenSet; + + LifecycleRuleAndOperator m_and; + bool m_andHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h new file mode 100644 index 0000000000..c4e27125e7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsRequest.h @@ -0,0 +1,247 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListBucketAnalyticsConfigurationsRequest : public S3Request + { + public: + ListBucketAnalyticsConfigurationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListBucketAnalyticsConfigurations"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket from which analytics configurations are retrieved.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline bool ContinuationTokenHasBeenSet() const { return m_continuationTokenHasBeenSet; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = value; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = std::move(value); } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationTokenHasBeenSet = true; m_continuationToken.assign(value); } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketAnalyticsConfigurationsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListBucketAnalyticsConfigurationsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListBucketAnalyticsConfigurationsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListBucketAnalyticsConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListBucketAnalyticsConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketAnalyticsConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketAnalyticsConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListBucketAnalyticsConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketAnalyticsConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketAnalyticsConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_continuationToken; + bool m_continuationTokenHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h new file mode 100644 index 0000000000..9fc4f7cb24 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketAnalyticsConfigurationsResult.h @@ -0,0 +1,207 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/AnalyticsConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListBucketAnalyticsConfigurationsResult + { + public: + ListBucketAnalyticsConfigurationsResult(); + ListBucketAnalyticsConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListBucketAnalyticsConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Indicates whether the returned list of analytics configurations is complete. + * A value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>Indicates whether the returned list of analytics configurations is complete. + * A value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>Indicates whether the returned list of analytics configurations is complete. + * A value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>The marker that is used as a starting point for this analytics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>The marker that is used as a starting point for this analytics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationToken = value; } + + /** + * <p>The marker that is used as a starting point for this analytics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationToken = std::move(value); } + + /** + * <p>The marker that is used as a starting point for this analytics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationToken.assign(value); } + + /** + * <p>The marker that is used as a starting point for this analytics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>The marker that is used as a starting point for this analytics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>The marker that is used as a starting point for this analytics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which indicates that there are more analytics configurations to list. The + * next request must include this <code>NextContinuationToken</code>. The token is + * obfuscated and is not a usable value.</p> + */ + inline const Aws::String& GetNextContinuationToken() const{ return m_nextContinuationToken; } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which indicates that there are more analytics configurations to list. The + * next request must include this <code>NextContinuationToken</code>. The token is + * obfuscated and is not a usable value.</p> + */ + inline void SetNextContinuationToken(const Aws::String& value) { m_nextContinuationToken = value; } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which indicates that there are more analytics configurations to list. The + * next request must include this <code>NextContinuationToken</code>. The token is + * obfuscated and is not a usable value.</p> + */ + inline void SetNextContinuationToken(Aws::String&& value) { m_nextContinuationToken = std::move(value); } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which indicates that there are more analytics configurations to list. The + * next request must include this <code>NextContinuationToken</code>. The token is + * obfuscated and is not a usable value.</p> + */ + inline void SetNextContinuationToken(const char* value) { m_nextContinuationToken.assign(value); } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which indicates that there are more analytics configurations to list. The + * next request must include this <code>NextContinuationToken</code>. The token is + * obfuscated and is not a usable value.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithNextContinuationToken(const Aws::String& value) { SetNextContinuationToken(value); return *this;} + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which indicates that there are more analytics configurations to list. The + * next request must include this <code>NextContinuationToken</code>. The token is + * obfuscated and is not a usable value.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithNextContinuationToken(Aws::String&& value) { SetNextContinuationToken(std::move(value)); return *this;} + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which indicates that there are more analytics configurations to list. The + * next request must include this <code>NextContinuationToken</code>. The token is + * obfuscated and is not a usable value.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithNextContinuationToken(const char* value) { SetNextContinuationToken(value); return *this;} + + + /** + * <p>The list of analytics configurations for a bucket.</p> + */ + inline const Aws::Vector<AnalyticsConfiguration>& GetAnalyticsConfigurationList() const{ return m_analyticsConfigurationList; } + + /** + * <p>The list of analytics configurations for a bucket.</p> + */ + inline void SetAnalyticsConfigurationList(const Aws::Vector<AnalyticsConfiguration>& value) { m_analyticsConfigurationList = value; } + + /** + * <p>The list of analytics configurations for a bucket.</p> + */ + inline void SetAnalyticsConfigurationList(Aws::Vector<AnalyticsConfiguration>&& value) { m_analyticsConfigurationList = std::move(value); } + + /** + * <p>The list of analytics configurations for a bucket.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithAnalyticsConfigurationList(const Aws::Vector<AnalyticsConfiguration>& value) { SetAnalyticsConfigurationList(value); return *this;} + + /** + * <p>The list of analytics configurations for a bucket.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& WithAnalyticsConfigurationList(Aws::Vector<AnalyticsConfiguration>&& value) { SetAnalyticsConfigurationList(std::move(value)); return *this;} + + /** + * <p>The list of analytics configurations for a bucket.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& AddAnalyticsConfigurationList(const AnalyticsConfiguration& value) { m_analyticsConfigurationList.push_back(value); return *this; } + + /** + * <p>The list of analytics configurations for a bucket.</p> + */ + inline ListBucketAnalyticsConfigurationsResult& AddAnalyticsConfigurationList(AnalyticsConfiguration&& value) { m_analyticsConfigurationList.push_back(std::move(value)); return *this; } + + private: + + bool m_isTruncated; + + Aws::String m_continuationToken; + + Aws::String m_nextContinuationToken; + + Aws::Vector<AnalyticsConfiguration> m_analyticsConfigurationList; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h new file mode 100644 index 0000000000..5a20d97c15 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h @@ -0,0 +1,193 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListBucketIntelligentTieringConfigurationsRequest : public S3Request + { + public: + ListBucketIntelligentTieringConfigurationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListBucketIntelligentTieringConfigurations"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline ListBucketIntelligentTieringConfigurationsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline ListBucketIntelligentTieringConfigurationsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline ListBucketIntelligentTieringConfigurationsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline bool ContinuationTokenHasBeenSet() const { return m_continuationTokenHasBeenSet; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = value; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = std::move(value); } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationTokenHasBeenSet = true; m_continuationToken.assign(value); } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListBucketIntelligentTieringConfigurationsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListBucketIntelligentTieringConfigurationsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListBucketIntelligentTieringConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListBucketIntelligentTieringConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketIntelligentTieringConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketIntelligentTieringConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListBucketIntelligentTieringConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketIntelligentTieringConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketIntelligentTieringConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_continuationToken; + bool m_continuationTokenHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h new file mode 100644 index 0000000000..0203f9ac43 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsResult.h @@ -0,0 +1,207 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/IntelligentTieringConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListBucketIntelligentTieringConfigurationsResult + { + public: + ListBucketIntelligentTieringConfigurationsResult(); + ListBucketIntelligentTieringConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListBucketIntelligentTieringConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Indicates whether the returned list of analytics configurations is complete. + * A value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>Indicates whether the returned list of analytics configurations is complete. + * A value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>Indicates whether the returned list of analytics configurations is complete. + * A value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationToken = value; } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationToken = std::move(value); } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationToken.assign(value); } + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>The ContinuationToken that represents a placeholder from where this request + * should begin.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline const Aws::String& GetNextContinuationToken() const{ return m_nextContinuationToken; } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline void SetNextContinuationToken(const Aws::String& value) { m_nextContinuationToken = value; } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline void SetNextContinuationToken(Aws::String&& value) { m_nextContinuationToken = std::move(value); } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline void SetNextContinuationToken(const char* value) { m_nextContinuationToken.assign(value); } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithNextContinuationToken(const Aws::String& value) { SetNextContinuationToken(value); return *this;} + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithNextContinuationToken(Aws::String&& value) { SetNextContinuationToken(std::move(value)); return *this;} + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithNextContinuationToken(const char* value) { SetNextContinuationToken(value); return *this;} + + + /** + * <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p> + */ + inline const Aws::Vector<IntelligentTieringConfiguration>& GetIntelligentTieringConfigurationList() const{ return m_intelligentTieringConfigurationList; } + + /** + * <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p> + */ + inline void SetIntelligentTieringConfigurationList(const Aws::Vector<IntelligentTieringConfiguration>& value) { m_intelligentTieringConfigurationList = value; } + + /** + * <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p> + */ + inline void SetIntelligentTieringConfigurationList(Aws::Vector<IntelligentTieringConfiguration>&& value) { m_intelligentTieringConfigurationList = std::move(value); } + + /** + * <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithIntelligentTieringConfigurationList(const Aws::Vector<IntelligentTieringConfiguration>& value) { SetIntelligentTieringConfigurationList(value); return *this;} + + /** + * <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& WithIntelligentTieringConfigurationList(Aws::Vector<IntelligentTieringConfiguration>&& value) { SetIntelligentTieringConfigurationList(std::move(value)); return *this;} + + /** + * <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& AddIntelligentTieringConfigurationList(const IntelligentTieringConfiguration& value) { m_intelligentTieringConfigurationList.push_back(value); return *this; } + + /** + * <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p> + */ + inline ListBucketIntelligentTieringConfigurationsResult& AddIntelligentTieringConfigurationList(IntelligentTieringConfiguration&& value) { m_intelligentTieringConfigurationList.push_back(std::move(value)); return *this; } + + private: + + bool m_isTruncated; + + Aws::String m_continuationToken; + + Aws::String m_nextContinuationToken; + + Aws::Vector<IntelligentTieringConfiguration> m_intelligentTieringConfigurationList; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h new file mode 100644 index 0000000000..d1b424439d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsRequest.h @@ -0,0 +1,271 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListBucketInventoryConfigurationsRequest : public S3Request + { + public: + ListBucketInventoryConfigurationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListBucketInventoryConfigurations"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the inventory configurations to + * retrieve.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline bool ContinuationTokenHasBeenSet() const { return m_continuationTokenHasBeenSet; } + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = value; } + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = std::move(value); } + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationTokenHasBeenSet = true; m_continuationToken.assign(value); } + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>The marker used to continue an inventory configuration listing that has been + * truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketInventoryConfigurationsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListBucketInventoryConfigurationsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListBucketInventoryConfigurationsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListBucketInventoryConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListBucketInventoryConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketInventoryConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketInventoryConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListBucketInventoryConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketInventoryConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketInventoryConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_continuationToken; + bool m_continuationTokenHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h new file mode 100644 index 0000000000..e28a0661e3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketInventoryConfigurationsResult.h @@ -0,0 +1,207 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/InventoryConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListBucketInventoryConfigurationsResult + { + public: + ListBucketInventoryConfigurationsResult(); + ListBucketInventoryConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListBucketInventoryConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>If sent in the request, the marker that is used as a starting point for this + * inventory configuration list response.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>If sent in the request, the marker that is used as a starting point for this + * inventory configuration list response.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationToken = value; } + + /** + * <p>If sent in the request, the marker that is used as a starting point for this + * inventory configuration list response.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationToken = std::move(value); } + + /** + * <p>If sent in the request, the marker that is used as a starting point for this + * inventory configuration list response.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationToken.assign(value); } + + /** + * <p>If sent in the request, the marker that is used as a starting point for this + * inventory configuration list response.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>If sent in the request, the marker that is used as a starting point for this + * inventory configuration list response.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>If sent in the request, the marker that is used as a starting point for this + * inventory configuration list response.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p>The list of inventory configurations for a bucket.</p> + */ + inline const Aws::Vector<InventoryConfiguration>& GetInventoryConfigurationList() const{ return m_inventoryConfigurationList; } + + /** + * <p>The list of inventory configurations for a bucket.</p> + */ + inline void SetInventoryConfigurationList(const Aws::Vector<InventoryConfiguration>& value) { m_inventoryConfigurationList = value; } + + /** + * <p>The list of inventory configurations for a bucket.</p> + */ + inline void SetInventoryConfigurationList(Aws::Vector<InventoryConfiguration>&& value) { m_inventoryConfigurationList = std::move(value); } + + /** + * <p>The list of inventory configurations for a bucket.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithInventoryConfigurationList(const Aws::Vector<InventoryConfiguration>& value) { SetInventoryConfigurationList(value); return *this;} + + /** + * <p>The list of inventory configurations for a bucket.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithInventoryConfigurationList(Aws::Vector<InventoryConfiguration>&& value) { SetInventoryConfigurationList(std::move(value)); return *this;} + + /** + * <p>The list of inventory configurations for a bucket.</p> + */ + inline ListBucketInventoryConfigurationsResult& AddInventoryConfigurationList(const InventoryConfiguration& value) { m_inventoryConfigurationList.push_back(value); return *this; } + + /** + * <p>The list of inventory configurations for a bucket.</p> + */ + inline ListBucketInventoryConfigurationsResult& AddInventoryConfigurationList(InventoryConfiguration&& value) { m_inventoryConfigurationList.push_back(std::move(value)); return *this; } + + + /** + * <p>Tells whether the returned list of inventory configurations is complete. A + * value of true indicates that the list is not complete and the + * NextContinuationToken is provided for a subsequent request.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>Tells whether the returned list of inventory configurations is complete. A + * value of true indicates that the list is not complete and the + * NextContinuationToken is provided for a subsequent request.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>Tells whether the returned list of inventory configurations is complete. A + * value of true indicates that the list is not complete and the + * NextContinuationToken is provided for a subsequent request.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline const Aws::String& GetNextContinuationToken() const{ return m_nextContinuationToken; } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline void SetNextContinuationToken(const Aws::String& value) { m_nextContinuationToken = value; } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline void SetNextContinuationToken(Aws::String&& value) { m_nextContinuationToken = std::move(value); } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline void SetNextContinuationToken(const char* value) { m_nextContinuationToken.assign(value); } + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithNextContinuationToken(const Aws::String& value) { SetNextContinuationToken(value); return *this;} + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithNextContinuationToken(Aws::String&& value) { SetNextContinuationToken(std::move(value)); return *this;} + + /** + * <p>The marker used to continue this inventory configuration listing. Use the + * <code>NextContinuationToken</code> from this response to continue the listing in + * a subsequent request. The continuation token is an opaque value that Amazon S3 + * understands.</p> + */ + inline ListBucketInventoryConfigurationsResult& WithNextContinuationToken(const char* value) { SetNextContinuationToken(value); return *this;} + + private: + + Aws::String m_continuationToken; + + Aws::Vector<InventoryConfiguration> m_inventoryConfigurationList; + + bool m_isTruncated; + + Aws::String m_nextContinuationToken; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h new file mode 100644 index 0000000000..ce84ae1a59 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsRequest.h @@ -0,0 +1,263 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListBucketMetricsConfigurationsRequest : public S3Request + { + public: + ListBucketMetricsConfigurationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListBucketMetricsConfigurations"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the metrics configurations to retrieve.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline bool ContinuationTokenHasBeenSet() const { return m_continuationTokenHasBeenSet; } + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = value; } + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = std::move(value); } + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationTokenHasBeenSet = true; m_continuationToken.assign(value); } + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>The marker that is used to continue a metrics configuration listing that has + * been truncated. Use the NextContinuationToken from a previously truncated list + * response to continue the listing. The continuation token is an opaque value that + * Amazon S3 understands.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListBucketMetricsConfigurationsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListBucketMetricsConfigurationsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListBucketMetricsConfigurationsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListBucketMetricsConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListBucketMetricsConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketMetricsConfigurationsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketMetricsConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListBucketMetricsConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListBucketMetricsConfigurationsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListBucketMetricsConfigurationsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_continuationToken; + bool m_continuationTokenHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h new file mode 100644 index 0000000000..4c070322b2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketMetricsConfigurationsResult.h @@ -0,0 +1,207 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/MetricsConfiguration.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListBucketMetricsConfigurationsResult + { + public: + ListBucketMetricsConfigurationsResult(); + ListBucketMetricsConfigurationsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListBucketMetricsConfigurationsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Indicates whether the returned list of metrics configurations is complete. A + * value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>Indicates whether the returned list of metrics configurations is complete. A + * value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>Indicates whether the returned list of metrics configurations is complete. A + * value of true indicates that the list is not complete and the + * NextContinuationToken will be provided for a subsequent request.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>The marker that is used as a starting point for this metrics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>The marker that is used as a starting point for this metrics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationToken = value; } + + /** + * <p>The marker that is used as a starting point for this metrics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationToken = std::move(value); } + + /** + * <p>The marker that is used as a starting point for this metrics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationToken.assign(value); } + + /** + * <p>The marker that is used as a starting point for this metrics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>The marker that is used as a starting point for this metrics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>The marker that is used as a starting point for this metrics configuration + * list response. This value is present if it was sent in the request.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p>The marker used to continue a metrics configuration listing that has been + * truncated. Use the <code>NextContinuationToken</code> from a previously + * truncated list response to continue the listing. The continuation token is an + * opaque value that Amazon S3 understands.</p> + */ + inline const Aws::String& GetNextContinuationToken() const{ return m_nextContinuationToken; } + + /** + * <p>The marker used to continue a metrics configuration listing that has been + * truncated. Use the <code>NextContinuationToken</code> from a previously + * truncated list response to continue the listing. The continuation token is an + * opaque value that Amazon S3 understands.</p> + */ + inline void SetNextContinuationToken(const Aws::String& value) { m_nextContinuationToken = value; } + + /** + * <p>The marker used to continue a metrics configuration listing that has been + * truncated. Use the <code>NextContinuationToken</code> from a previously + * truncated list response to continue the listing. The continuation token is an + * opaque value that Amazon S3 understands.</p> + */ + inline void SetNextContinuationToken(Aws::String&& value) { m_nextContinuationToken = std::move(value); } + + /** + * <p>The marker used to continue a metrics configuration listing that has been + * truncated. Use the <code>NextContinuationToken</code> from a previously + * truncated list response to continue the listing. The continuation token is an + * opaque value that Amazon S3 understands.</p> + */ + inline void SetNextContinuationToken(const char* value) { m_nextContinuationToken.assign(value); } + + /** + * <p>The marker used to continue a metrics configuration listing that has been + * truncated. Use the <code>NextContinuationToken</code> from a previously + * truncated list response to continue the listing. The continuation token is an + * opaque value that Amazon S3 understands.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithNextContinuationToken(const Aws::String& value) { SetNextContinuationToken(value); return *this;} + + /** + * <p>The marker used to continue a metrics configuration listing that has been + * truncated. Use the <code>NextContinuationToken</code> from a previously + * truncated list response to continue the listing. The continuation token is an + * opaque value that Amazon S3 understands.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithNextContinuationToken(Aws::String&& value) { SetNextContinuationToken(std::move(value)); return *this;} + + /** + * <p>The marker used to continue a metrics configuration listing that has been + * truncated. Use the <code>NextContinuationToken</code> from a previously + * truncated list response to continue the listing. The continuation token is an + * opaque value that Amazon S3 understands.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithNextContinuationToken(const char* value) { SetNextContinuationToken(value); return *this;} + + + /** + * <p>The list of metrics configurations for a bucket.</p> + */ + inline const Aws::Vector<MetricsConfiguration>& GetMetricsConfigurationList() const{ return m_metricsConfigurationList; } + + /** + * <p>The list of metrics configurations for a bucket.</p> + */ + inline void SetMetricsConfigurationList(const Aws::Vector<MetricsConfiguration>& value) { m_metricsConfigurationList = value; } + + /** + * <p>The list of metrics configurations for a bucket.</p> + */ + inline void SetMetricsConfigurationList(Aws::Vector<MetricsConfiguration>&& value) { m_metricsConfigurationList = std::move(value); } + + /** + * <p>The list of metrics configurations for a bucket.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithMetricsConfigurationList(const Aws::Vector<MetricsConfiguration>& value) { SetMetricsConfigurationList(value); return *this;} + + /** + * <p>The list of metrics configurations for a bucket.</p> + */ + inline ListBucketMetricsConfigurationsResult& WithMetricsConfigurationList(Aws::Vector<MetricsConfiguration>&& value) { SetMetricsConfigurationList(std::move(value)); return *this;} + + /** + * <p>The list of metrics configurations for a bucket.</p> + */ + inline ListBucketMetricsConfigurationsResult& AddMetricsConfigurationList(const MetricsConfiguration& value) { m_metricsConfigurationList.push_back(value); return *this; } + + /** + * <p>The list of metrics configurations for a bucket.</p> + */ + inline ListBucketMetricsConfigurationsResult& AddMetricsConfigurationList(MetricsConfiguration&& value) { m_metricsConfigurationList.push_back(std::move(value)); return *this; } + + private: + + bool m_isTruncated; + + Aws::String m_continuationToken; + + Aws::String m_nextContinuationToken; + + Aws::Vector<MetricsConfiguration> m_metricsConfigurationList; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h new file mode 100644 index 0000000000..a580ac0aad --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketsResult.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Owner.h> +#include <aws/s3/model/Bucket.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListBucketsResult + { + public: + ListBucketsResult(); + ListBucketsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListBucketsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The list of buckets owned by the requestor.</p> + */ + inline const Aws::Vector<Bucket>& GetBuckets() const{ return m_buckets; } + + /** + * <p>The list of buckets owned by the requestor.</p> + */ + inline void SetBuckets(const Aws::Vector<Bucket>& value) { m_buckets = value; } + + /** + * <p>The list of buckets owned by the requestor.</p> + */ + inline void SetBuckets(Aws::Vector<Bucket>&& value) { m_buckets = std::move(value); } + + /** + * <p>The list of buckets owned by the requestor.</p> + */ + inline ListBucketsResult& WithBuckets(const Aws::Vector<Bucket>& value) { SetBuckets(value); return *this;} + + /** + * <p>The list of buckets owned by the requestor.</p> + */ + inline ListBucketsResult& WithBuckets(Aws::Vector<Bucket>&& value) { SetBuckets(std::move(value)); return *this;} + + /** + * <p>The list of buckets owned by the requestor.</p> + */ + inline ListBucketsResult& AddBuckets(const Bucket& value) { m_buckets.push_back(value); return *this; } + + /** + * <p>The list of buckets owned by the requestor.</p> + */ + inline ListBucketsResult& AddBuckets(Bucket&& value) { m_buckets.push_back(std::move(value)); return *this; } + + + /** + * <p>The owner of the buckets listed.</p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p>The owner of the buckets listed.</p> + */ + inline void SetOwner(const Owner& value) { m_owner = value; } + + /** + * <p>The owner of the buckets listed.</p> + */ + inline void SetOwner(Owner&& value) { m_owner = std::move(value); } + + /** + * <p>The owner of the buckets listed.</p> + */ + inline ListBucketsResult& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p>The owner of the buckets listed.</p> + */ + inline ListBucketsResult& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + private: + + Aws::Vector<Bucket> m_buckets; + + Owner m_owner; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h new file mode 100644 index 0000000000..e40941b26a --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsRequest.h @@ -0,0 +1,730 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListMultipartUploadsRequest : public S3Request + { + public: + ListMultipartUploadsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListMultipartUploads"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListMultipartUploadsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListMultipartUploadsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated. </p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListMultipartUploadsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; } + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; } + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); } + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); } + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline ListMultipartUploadsRequest& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline ListMultipartUploadsRequest& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>Character you use to group keys.</p> <p>All keys that contain the same string + * between the prefix, if specified, and the first occurrence of the delimiter + * after the prefix are grouped under a single result element, + * <code>CommonPrefixes</code>. If you don't specify the prefix parameter, then the + * substring starts at the beginning of the key. The keys that are grouped under + * <code>CommonPrefixes</code> result element are not returned elsewhere in the + * response.</p> + */ + inline ListMultipartUploadsRequest& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + + inline bool EncodingTypeHasBeenSet() const { return m_encodingTypeHasBeenSet; } + + + inline void SetEncodingType(const EncodingType& value) { m_encodingTypeHasBeenSet = true; m_encodingType = value; } + + + inline void SetEncodingType(EncodingType&& value) { m_encodingTypeHasBeenSet = true; m_encodingType = std::move(value); } + + + inline ListMultipartUploadsRequest& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + + inline ListMultipartUploadsRequest& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline const Aws::String& GetKeyMarker() const{ return m_keyMarker; } + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline bool KeyMarkerHasBeenSet() const { return m_keyMarkerHasBeenSet; } + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline void SetKeyMarker(const Aws::String& value) { m_keyMarkerHasBeenSet = true; m_keyMarker = value; } + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline void SetKeyMarker(Aws::String&& value) { m_keyMarkerHasBeenSet = true; m_keyMarker = std::move(value); } + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline void SetKeyMarker(const char* value) { m_keyMarkerHasBeenSet = true; m_keyMarker.assign(value); } + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline ListMultipartUploadsRequest& WithKeyMarker(const Aws::String& value) { SetKeyMarker(value); return *this;} + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline ListMultipartUploadsRequest& WithKeyMarker(Aws::String&& value) { SetKeyMarker(std::move(value)); return *this;} + + /** + * <p>Together with upload-id-marker, this parameter specifies the multipart upload + * after which listing should begin.</p> <p>If <code>upload-id-marker</code> is not + * specified, only the keys lexicographically greater than the specified + * <code>key-marker</code> will be included in the list.</p> <p>If + * <code>upload-id-marker</code> is specified, any multipart uploads for a key + * equal to the <code>key-marker</code> might also be included, provided those + * multipart uploads have upload IDs lexicographically greater than the specified + * <code>upload-id-marker</code>.</p> + */ + inline ListMultipartUploadsRequest& WithKeyMarker(const char* value) { SetKeyMarker(value); return *this;} + + + /** + * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in + * the response body. 1,000 is the maximum number of uploads that can be returned + * in a response.</p> + */ + inline int GetMaxUploads() const{ return m_maxUploads; } + + /** + * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in + * the response body. 1,000 is the maximum number of uploads that can be returned + * in a response.</p> + */ + inline bool MaxUploadsHasBeenSet() const { return m_maxUploadsHasBeenSet; } + + /** + * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in + * the response body. 1,000 is the maximum number of uploads that can be returned + * in a response.</p> + */ + inline void SetMaxUploads(int value) { m_maxUploadsHasBeenSet = true; m_maxUploads = value; } + + /** + * <p>Sets the maximum number of multipart uploads, from 1 to 1,000, to return in + * the response body. 1,000 is the maximum number of uploads that can be returned + * in a response.</p> + */ + inline ListMultipartUploadsRequest& WithMaxUploads(int value) { SetMaxUploads(value); return *this;} + + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline ListMultipartUploadsRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline ListMultipartUploadsRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Lists in-progress uploads only for those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different grouping of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.)</p> + */ + inline ListMultipartUploadsRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline const Aws::String& GetUploadIdMarker() const{ return m_uploadIdMarker; } + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline bool UploadIdMarkerHasBeenSet() const { return m_uploadIdMarkerHasBeenSet; } + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline void SetUploadIdMarker(const Aws::String& value) { m_uploadIdMarkerHasBeenSet = true; m_uploadIdMarker = value; } + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline void SetUploadIdMarker(Aws::String&& value) { m_uploadIdMarkerHasBeenSet = true; m_uploadIdMarker = std::move(value); } + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline void SetUploadIdMarker(const char* value) { m_uploadIdMarkerHasBeenSet = true; m_uploadIdMarker.assign(value); } + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline ListMultipartUploadsRequest& WithUploadIdMarker(const Aws::String& value) { SetUploadIdMarker(value); return *this;} + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline ListMultipartUploadsRequest& WithUploadIdMarker(Aws::String&& value) { SetUploadIdMarker(std::move(value)); return *this;} + + /** + * <p>Together with key-marker, specifies the multipart upload after which listing + * should begin. If key-marker is not specified, the upload-id-marker parameter is + * ignored. Otherwise, any multipart uploads for a key equal to the key-marker + * might be included in the list only if they have an upload ID lexicographically + * greater than the specified <code>upload-id-marker</code>.</p> + */ + inline ListMultipartUploadsRequest& WithUploadIdMarker(const char* value) { SetUploadIdMarker(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListMultipartUploadsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListMultipartUploadsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListMultipartUploadsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListMultipartUploadsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListMultipartUploadsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListMultipartUploadsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_delimiter; + bool m_delimiterHasBeenSet; + + EncodingType m_encodingType; + bool m_encodingTypeHasBeenSet; + + Aws::String m_keyMarker; + bool m_keyMarkerHasBeenSet; + + int m_maxUploads; + bool m_maxUploadsHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::String m_uploadIdMarker; + bool m_uploadIdMarkerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h new file mode 100644 index 0000000000..70cf65ba6d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListMultipartUploadsResult.h @@ -0,0 +1,549 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/s3/model/MultipartUpload.h> +#include <aws/s3/model/CommonPrefix.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListMultipartUploadsResult + { + public: + ListMultipartUploadsResult(); + ListMultipartUploadsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListMultipartUploadsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucket = value; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(const char* value) { m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline ListMultipartUploadsResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline ListMultipartUploadsResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline ListMultipartUploadsResult& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The key at or after which the listing began.</p> + */ + inline const Aws::String& GetKeyMarker() const{ return m_keyMarker; } + + /** + * <p>The key at or after which the listing began.</p> + */ + inline void SetKeyMarker(const Aws::String& value) { m_keyMarker = value; } + + /** + * <p>The key at or after which the listing began.</p> + */ + inline void SetKeyMarker(Aws::String&& value) { m_keyMarker = std::move(value); } + + /** + * <p>The key at or after which the listing began.</p> + */ + inline void SetKeyMarker(const char* value) { m_keyMarker.assign(value); } + + /** + * <p>The key at or after which the listing began.</p> + */ + inline ListMultipartUploadsResult& WithKeyMarker(const Aws::String& value) { SetKeyMarker(value); return *this;} + + /** + * <p>The key at or after which the listing began.</p> + */ + inline ListMultipartUploadsResult& WithKeyMarker(Aws::String&& value) { SetKeyMarker(std::move(value)); return *this;} + + /** + * <p>The key at or after which the listing began.</p> + */ + inline ListMultipartUploadsResult& WithKeyMarker(const char* value) { SetKeyMarker(value); return *this;} + + + /** + * <p>Upload ID after which listing began.</p> + */ + inline const Aws::String& GetUploadIdMarker() const{ return m_uploadIdMarker; } + + /** + * <p>Upload ID after which listing began.</p> + */ + inline void SetUploadIdMarker(const Aws::String& value) { m_uploadIdMarker = value; } + + /** + * <p>Upload ID after which listing began.</p> + */ + inline void SetUploadIdMarker(Aws::String&& value) { m_uploadIdMarker = std::move(value); } + + /** + * <p>Upload ID after which listing began.</p> + */ + inline void SetUploadIdMarker(const char* value) { m_uploadIdMarker.assign(value); } + + /** + * <p>Upload ID after which listing began.</p> + */ + inline ListMultipartUploadsResult& WithUploadIdMarker(const Aws::String& value) { SetUploadIdMarker(value); return *this;} + + /** + * <p>Upload ID after which listing began.</p> + */ + inline ListMultipartUploadsResult& WithUploadIdMarker(Aws::String&& value) { SetUploadIdMarker(std::move(value)); return *this;} + + /** + * <p>Upload ID after which listing began.</p> + */ + inline ListMultipartUploadsResult& WithUploadIdMarker(const char* value) { SetUploadIdMarker(value); return *this;} + + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the key-marker request parameter in a subsequent request.</p> + */ + inline const Aws::String& GetNextKeyMarker() const{ return m_nextKeyMarker; } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the key-marker request parameter in a subsequent request.</p> + */ + inline void SetNextKeyMarker(const Aws::String& value) { m_nextKeyMarker = value; } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the key-marker request parameter in a subsequent request.</p> + */ + inline void SetNextKeyMarker(Aws::String&& value) { m_nextKeyMarker = std::move(value); } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the key-marker request parameter in a subsequent request.</p> + */ + inline void SetNextKeyMarker(const char* value) { m_nextKeyMarker.assign(value); } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the key-marker request parameter in a subsequent request.</p> + */ + inline ListMultipartUploadsResult& WithNextKeyMarker(const Aws::String& value) { SetNextKeyMarker(value); return *this;} + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the key-marker request parameter in a subsequent request.</p> + */ + inline ListMultipartUploadsResult& WithNextKeyMarker(Aws::String&& value) { SetNextKeyMarker(std::move(value)); return *this;} + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the key-marker request parameter in a subsequent request.</p> + */ + inline ListMultipartUploadsResult& WithNextKeyMarker(const char* value) { SetNextKeyMarker(value); return *this;} + + + /** + * <p>When a prefix is provided in the request, this field contains the specified + * prefix. The result contains only keys starting with the specified prefix.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>When a prefix is provided in the request, this field contains the specified + * prefix. The result contains only keys starting with the specified prefix.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefix = value; } + + /** + * <p>When a prefix is provided in the request, this field contains the specified + * prefix. The result contains only keys starting with the specified prefix.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefix = std::move(value); } + + /** + * <p>When a prefix is provided in the request, this field contains the specified + * prefix. The result contains only keys starting with the specified prefix.</p> + */ + inline void SetPrefix(const char* value) { m_prefix.assign(value); } + + /** + * <p>When a prefix is provided in the request, this field contains the specified + * prefix. The result contains only keys starting with the specified prefix.</p> + */ + inline ListMultipartUploadsResult& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>When a prefix is provided in the request, this field contains the specified + * prefix. The result contains only keys starting with the specified prefix.</p> + */ + inline ListMultipartUploadsResult& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>When a prefix is provided in the request, this field contains the specified + * prefix. The result contains only keys starting with the specified prefix.</p> + */ + inline ListMultipartUploadsResult& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>Contains the delimiter you specified in the request. If you don't specify a + * delimiter in your request, this element is absent from the response.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>Contains the delimiter you specified in the request. If you don't specify a + * delimiter in your request, this element is absent from the response.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiter = value; } + + /** + * <p>Contains the delimiter you specified in the request. If you don't specify a + * delimiter in your request, this element is absent from the response.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiter = std::move(value); } + + /** + * <p>Contains the delimiter you specified in the request. If you don't specify a + * delimiter in your request, this element is absent from the response.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiter.assign(value); } + + /** + * <p>Contains the delimiter you specified in the request. If you don't specify a + * delimiter in your request, this element is absent from the response.</p> + */ + inline ListMultipartUploadsResult& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>Contains the delimiter you specified in the request. If you don't specify a + * delimiter in your request, this element is absent from the response.</p> + */ + inline ListMultipartUploadsResult& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>Contains the delimiter you specified in the request. If you don't specify a + * delimiter in your request, this element is absent from the response.</p> + */ + inline ListMultipartUploadsResult& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the <code>upload-id-marker</code> request parameter in a subsequent + * request.</p> + */ + inline const Aws::String& GetNextUploadIdMarker() const{ return m_nextUploadIdMarker; } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the <code>upload-id-marker</code> request parameter in a subsequent + * request.</p> + */ + inline void SetNextUploadIdMarker(const Aws::String& value) { m_nextUploadIdMarker = value; } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the <code>upload-id-marker</code> request parameter in a subsequent + * request.</p> + */ + inline void SetNextUploadIdMarker(Aws::String&& value) { m_nextUploadIdMarker = std::move(value); } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the <code>upload-id-marker</code> request parameter in a subsequent + * request.</p> + */ + inline void SetNextUploadIdMarker(const char* value) { m_nextUploadIdMarker.assign(value); } + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the <code>upload-id-marker</code> request parameter in a subsequent + * request.</p> + */ + inline ListMultipartUploadsResult& WithNextUploadIdMarker(const Aws::String& value) { SetNextUploadIdMarker(value); return *this;} + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the <code>upload-id-marker</code> request parameter in a subsequent + * request.</p> + */ + inline ListMultipartUploadsResult& WithNextUploadIdMarker(Aws::String&& value) { SetNextUploadIdMarker(std::move(value)); return *this;} + + /** + * <p>When a list is truncated, this element specifies the value that should be + * used for the <code>upload-id-marker</code> request parameter in a subsequent + * request.</p> + */ + inline ListMultipartUploadsResult& WithNextUploadIdMarker(const char* value) { SetNextUploadIdMarker(value); return *this;} + + + /** + * <p>Maximum number of multipart uploads that could have been included in the + * response.</p> + */ + inline int GetMaxUploads() const{ return m_maxUploads; } + + /** + * <p>Maximum number of multipart uploads that could have been included in the + * response.</p> + */ + inline void SetMaxUploads(int value) { m_maxUploads = value; } + + /** + * <p>Maximum number of multipart uploads that could have been included in the + * response.</p> + */ + inline ListMultipartUploadsResult& WithMaxUploads(int value) { SetMaxUploads(value); return *this;} + + + /** + * <p>Indicates whether the returned list of multipart uploads is truncated. A + * value of true indicates that the list was truncated. The list can be truncated + * if the number of multipart uploads exceeds the limit allowed or specified by max + * uploads.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>Indicates whether the returned list of multipart uploads is truncated. A + * value of true indicates that the list was truncated. The list can be truncated + * if the number of multipart uploads exceeds the limit allowed or specified by max + * uploads.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>Indicates whether the returned list of multipart uploads is truncated. A + * value of true indicates that the list was truncated. The list can be truncated + * if the number of multipart uploads exceeds the limit allowed or specified by max + * uploads.</p> + */ + inline ListMultipartUploadsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>Container for elements related to a particular multipart upload. A response + * can contain zero or more <code>Upload</code> elements.</p> + */ + inline const Aws::Vector<MultipartUpload>& GetUploads() const{ return m_uploads; } + + /** + * <p>Container for elements related to a particular multipart upload. A response + * can contain zero or more <code>Upload</code> elements.</p> + */ + inline void SetUploads(const Aws::Vector<MultipartUpload>& value) { m_uploads = value; } + + /** + * <p>Container for elements related to a particular multipart upload. A response + * can contain zero or more <code>Upload</code> elements.</p> + */ + inline void SetUploads(Aws::Vector<MultipartUpload>&& value) { m_uploads = std::move(value); } + + /** + * <p>Container for elements related to a particular multipart upload. A response + * can contain zero or more <code>Upload</code> elements.</p> + */ + inline ListMultipartUploadsResult& WithUploads(const Aws::Vector<MultipartUpload>& value) { SetUploads(value); return *this;} + + /** + * <p>Container for elements related to a particular multipart upload. A response + * can contain zero or more <code>Upload</code> elements.</p> + */ + inline ListMultipartUploadsResult& WithUploads(Aws::Vector<MultipartUpload>&& value) { SetUploads(std::move(value)); return *this;} + + /** + * <p>Container for elements related to a particular multipart upload. A response + * can contain zero or more <code>Upload</code> elements.</p> + */ + inline ListMultipartUploadsResult& AddUploads(const MultipartUpload& value) { m_uploads.push_back(value); return *this; } + + /** + * <p>Container for elements related to a particular multipart upload. A response + * can contain zero or more <code>Upload</code> elements.</p> + */ + inline ListMultipartUploadsResult& AddUploads(MultipartUpload&& value) { m_uploads.push_back(std::move(value)); return *this; } + + + /** + * <p>If you specify a delimiter in the request, then the result returns each + * distinct key prefix containing the delimiter in a <code>CommonPrefixes</code> + * element. The distinct key prefixes are returned in the <code>Prefix</code> child + * element.</p> + */ + inline const Aws::Vector<CommonPrefix>& GetCommonPrefixes() const{ return m_commonPrefixes; } + + /** + * <p>If you specify a delimiter in the request, then the result returns each + * distinct key prefix containing the delimiter in a <code>CommonPrefixes</code> + * element. The distinct key prefixes are returned in the <code>Prefix</code> child + * element.</p> + */ + inline void SetCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { m_commonPrefixes = value; } + + /** + * <p>If you specify a delimiter in the request, then the result returns each + * distinct key prefix containing the delimiter in a <code>CommonPrefixes</code> + * element. The distinct key prefixes are returned in the <code>Prefix</code> child + * element.</p> + */ + inline void SetCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { m_commonPrefixes = std::move(value); } + + /** + * <p>If you specify a delimiter in the request, then the result returns each + * distinct key prefix containing the delimiter in a <code>CommonPrefixes</code> + * element. The distinct key prefixes are returned in the <code>Prefix</code> child + * element.</p> + */ + inline ListMultipartUploadsResult& WithCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { SetCommonPrefixes(value); return *this;} + + /** + * <p>If you specify a delimiter in the request, then the result returns each + * distinct key prefix containing the delimiter in a <code>CommonPrefixes</code> + * element. The distinct key prefixes are returned in the <code>Prefix</code> child + * element.</p> + */ + inline ListMultipartUploadsResult& WithCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { SetCommonPrefixes(std::move(value)); return *this;} + + /** + * <p>If you specify a delimiter in the request, then the result returns each + * distinct key prefix containing the delimiter in a <code>CommonPrefixes</code> + * element. The distinct key prefixes are returned in the <code>Prefix</code> child + * element.</p> + */ + inline ListMultipartUploadsResult& AddCommonPrefixes(const CommonPrefix& value) { m_commonPrefixes.push_back(value); return *this; } + + /** + * <p>If you specify a delimiter in the request, then the result returns each + * distinct key prefix containing the delimiter in a <code>CommonPrefixes</code> + * element. The distinct key prefixes are returned in the <code>Prefix</code> child + * element.</p> + */ + inline ListMultipartUploadsResult& AddCommonPrefixes(CommonPrefix&& value) { m_commonPrefixes.push_back(std::move(value)); return *this; } + + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + * <p>If you specify <code>encoding-type</code> request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter</code>, + * <code>KeyMarker</code>, <code>Prefix</code>, <code>NextKeyMarker</code>, + * <code>Key</code>.</p> + */ + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + * <p>If you specify <code>encoding-type</code> request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter</code>, + * <code>KeyMarker</code>, <code>Prefix</code>, <code>NextKeyMarker</code>, + * <code>Key</code>.</p> + */ + inline void SetEncodingType(const EncodingType& value) { m_encodingType = value; } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + * <p>If you specify <code>encoding-type</code> request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter</code>, + * <code>KeyMarker</code>, <code>Prefix</code>, <code>NextKeyMarker</code>, + * <code>Key</code>.</p> + */ + inline void SetEncodingType(EncodingType&& value) { m_encodingType = std::move(value); } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + * <p>If you specify <code>encoding-type</code> request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter</code>, + * <code>KeyMarker</code>, <code>Prefix</code>, <code>NextKeyMarker</code>, + * <code>Key</code>.</p> + */ + inline ListMultipartUploadsResult& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + * <p>If you specify <code>encoding-type</code> request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter</code>, + * <code>KeyMarker</code>, <code>Prefix</code>, <code>NextKeyMarker</code>, + * <code>Key</code>.</p> + */ + inline ListMultipartUploadsResult& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + private: + + Aws::String m_bucket; + + Aws::String m_keyMarker; + + Aws::String m_uploadIdMarker; + + Aws::String m_nextKeyMarker; + + Aws::String m_prefix; + + Aws::String m_delimiter; + + Aws::String m_nextUploadIdMarker; + + int m_maxUploads; + + bool m_isTruncated; + + Aws::Vector<MultipartUpload> m_uploads; + + Aws::Vector<CommonPrefix> m_commonPrefixes; + + EncodingType m_encodingType; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h new file mode 100644 index 0000000000..652fe1c89c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsRequest.h @@ -0,0 +1,502 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListObjectVersionsRequest : public S3Request + { + public: + ListObjectVersionsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListObjectVersions"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline ListObjectVersionsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline ListObjectVersionsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name that contains the objects. </p> + */ + inline ListObjectVersionsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; } + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; } + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); } + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); } + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline ListObjectVersionsRequest& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline ListObjectVersionsRequest& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>A delimiter is a character that you specify to group keys. All keys that + * contain the same string between the <code>prefix</code> and the first occurrence + * of the delimiter are grouped under a single result element in CommonPrefixes. + * These groups are counted as one result against the max-keys limitation. These + * keys are not returned elsewhere in the response.</p> + */ + inline ListObjectVersionsRequest& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + + inline bool EncodingTypeHasBeenSet() const { return m_encodingTypeHasBeenSet; } + + + inline void SetEncodingType(const EncodingType& value) { m_encodingTypeHasBeenSet = true; m_encodingType = value; } + + + inline void SetEncodingType(EncodingType&& value) { m_encodingTypeHasBeenSet = true; m_encodingType = std::move(value); } + + + inline ListObjectVersionsRequest& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + + inline ListObjectVersionsRequest& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline const Aws::String& GetKeyMarker() const{ return m_keyMarker; } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline bool KeyMarkerHasBeenSet() const { return m_keyMarkerHasBeenSet; } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline void SetKeyMarker(const Aws::String& value) { m_keyMarkerHasBeenSet = true; m_keyMarker = value; } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline void SetKeyMarker(Aws::String&& value) { m_keyMarkerHasBeenSet = true; m_keyMarker = std::move(value); } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline void SetKeyMarker(const char* value) { m_keyMarkerHasBeenSet = true; m_keyMarker.assign(value); } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline ListObjectVersionsRequest& WithKeyMarker(const Aws::String& value) { SetKeyMarker(value); return *this;} + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline ListObjectVersionsRequest& WithKeyMarker(Aws::String&& value) { SetKeyMarker(std::move(value)); return *this;} + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline ListObjectVersionsRequest& WithKeyMarker(const char* value) { SetKeyMarker(value); return *this;} + + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. If additional keys satisfy the search criteria, but were not + * returned because max-keys was exceeded, the response contains + * <isTruncated>true</isTruncated>. To return the additional keys, see + * key-marker and version-id-marker.</p> + */ + inline int GetMaxKeys() const{ return m_maxKeys; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. If additional keys satisfy the search criteria, but were not + * returned because max-keys was exceeded, the response contains + * <isTruncated>true</isTruncated>. To return the additional keys, see + * key-marker and version-id-marker.</p> + */ + inline bool MaxKeysHasBeenSet() const { return m_maxKeysHasBeenSet; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. If additional keys satisfy the search criteria, but were not + * returned because max-keys was exceeded, the response contains + * <isTruncated>true</isTruncated>. To return the additional keys, see + * key-marker and version-id-marker.</p> + */ + inline void SetMaxKeys(int value) { m_maxKeysHasBeenSet = true; m_maxKeys = value; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. If additional keys satisfy the search criteria, but were not + * returned because max-keys was exceeded, the response contains + * <isTruncated>true</isTruncated>. To return the additional keys, see + * key-marker and version-id-marker.</p> + */ + inline ListObjectVersionsRequest& WithMaxKeys(int value) { SetMaxKeys(value); return *this;} + + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline ListObjectVersionsRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline ListObjectVersionsRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Use this parameter to select only those keys that begin with the specified + * prefix. You can use prefixes to separate a bucket into different groupings of + * keys. (You can think of using prefix to make groups in the same way you'd use a + * folder in a file system.) You can use prefix with delimiter to roll up numerous + * objects into a single result under CommonPrefixes. </p> + */ + inline ListObjectVersionsRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline const Aws::String& GetVersionIdMarker() const{ return m_versionIdMarker; } + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline bool VersionIdMarkerHasBeenSet() const { return m_versionIdMarkerHasBeenSet; } + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline void SetVersionIdMarker(const Aws::String& value) { m_versionIdMarkerHasBeenSet = true; m_versionIdMarker = value; } + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline void SetVersionIdMarker(Aws::String&& value) { m_versionIdMarkerHasBeenSet = true; m_versionIdMarker = std::move(value); } + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline void SetVersionIdMarker(const char* value) { m_versionIdMarkerHasBeenSet = true; m_versionIdMarker.assign(value); } + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline ListObjectVersionsRequest& WithVersionIdMarker(const Aws::String& value) { SetVersionIdMarker(value); return *this;} + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline ListObjectVersionsRequest& WithVersionIdMarker(Aws::String&& value) { SetVersionIdMarker(std::move(value)); return *this;} + + /** + * <p>Specifies the object version you want to start listing from.</p> + */ + inline ListObjectVersionsRequest& WithVersionIdMarker(const char* value) { SetVersionIdMarker(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectVersionsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectVersionsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectVersionsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListObjectVersionsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListObjectVersionsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListObjectVersionsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListObjectVersionsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListObjectVersionsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListObjectVersionsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListObjectVersionsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListObjectVersionsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListObjectVersionsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_delimiter; + bool m_delimiterHasBeenSet; + + EncodingType m_encodingType; + bool m_encodingTypeHasBeenSet; + + Aws::String m_keyMarker; + bool m_keyMarkerHasBeenSet; + + int m_maxKeys; + bool m_maxKeysHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::String m_versionIdMarker; + bool m_versionIdMarkerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h new file mode 100644 index 0000000000..20909af4ad --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectVersionsResult.h @@ -0,0 +1,604 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/s3/model/ObjectVersion.h> +#include <aws/s3/model/DeleteMarkerEntry.h> +#include <aws/s3/model/CommonPrefix.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListObjectVersionsResult + { + public: + ListObjectVersionsResult(); + ListObjectVersionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListObjectVersionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>A flag that indicates whether Amazon S3 returned all of the results that + * satisfied the search criteria. If your results were truncated, you can make a + * follow-up paginated request using the NextKeyMarker and NextVersionIdMarker + * response parameters as a starting place in another request to return the rest of + * the results.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>A flag that indicates whether Amazon S3 returned all of the results that + * satisfied the search criteria. If your results were truncated, you can make a + * follow-up paginated request using the NextKeyMarker and NextVersionIdMarker + * response parameters as a starting place in another request to return the rest of + * the results.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>A flag that indicates whether Amazon S3 returned all of the results that + * satisfied the search criteria. If your results were truncated, you can make a + * follow-up paginated request using the NextKeyMarker and NextVersionIdMarker + * response parameters as a starting place in another request to return the rest of + * the results.</p> + */ + inline ListObjectVersionsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>Marks the last key returned in a truncated response.</p> + */ + inline const Aws::String& GetKeyMarker() const{ return m_keyMarker; } + + /** + * <p>Marks the last key returned in a truncated response.</p> + */ + inline void SetKeyMarker(const Aws::String& value) { m_keyMarker = value; } + + /** + * <p>Marks the last key returned in a truncated response.</p> + */ + inline void SetKeyMarker(Aws::String&& value) { m_keyMarker = std::move(value); } + + /** + * <p>Marks the last key returned in a truncated response.</p> + */ + inline void SetKeyMarker(const char* value) { m_keyMarker.assign(value); } + + /** + * <p>Marks the last key returned in a truncated response.</p> + */ + inline ListObjectVersionsResult& WithKeyMarker(const Aws::String& value) { SetKeyMarker(value); return *this;} + + /** + * <p>Marks the last key returned in a truncated response.</p> + */ + inline ListObjectVersionsResult& WithKeyMarker(Aws::String&& value) { SetKeyMarker(std::move(value)); return *this;} + + /** + * <p>Marks the last key returned in a truncated response.</p> + */ + inline ListObjectVersionsResult& WithKeyMarker(const char* value) { SetKeyMarker(value); return *this;} + + + /** + * <p>Marks the last version of the key returned in a truncated response.</p> + */ + inline const Aws::String& GetVersionIdMarker() const{ return m_versionIdMarker; } + + /** + * <p>Marks the last version of the key returned in a truncated response.</p> + */ + inline void SetVersionIdMarker(const Aws::String& value) { m_versionIdMarker = value; } + + /** + * <p>Marks the last version of the key returned in a truncated response.</p> + */ + inline void SetVersionIdMarker(Aws::String&& value) { m_versionIdMarker = std::move(value); } + + /** + * <p>Marks the last version of the key returned in a truncated response.</p> + */ + inline void SetVersionIdMarker(const char* value) { m_versionIdMarker.assign(value); } + + /** + * <p>Marks the last version of the key returned in a truncated response.</p> + */ + inline ListObjectVersionsResult& WithVersionIdMarker(const Aws::String& value) { SetVersionIdMarker(value); return *this;} + + /** + * <p>Marks the last version of the key returned in a truncated response.</p> + */ + inline ListObjectVersionsResult& WithVersionIdMarker(Aws::String&& value) { SetVersionIdMarker(std::move(value)); return *this;} + + /** + * <p>Marks the last version of the key returned in a truncated response.</p> + */ + inline ListObjectVersionsResult& WithVersionIdMarker(const char* value) { SetVersionIdMarker(value); return *this;} + + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextKeyMarker</code> specifies the first key not returned that satisfies + * the search criteria. Use this value for the key-marker request parameter in a + * subsequent request.</p> + */ + inline const Aws::String& GetNextKeyMarker() const{ return m_nextKeyMarker; } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextKeyMarker</code> specifies the first key not returned that satisfies + * the search criteria. Use this value for the key-marker request parameter in a + * subsequent request.</p> + */ + inline void SetNextKeyMarker(const Aws::String& value) { m_nextKeyMarker = value; } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextKeyMarker</code> specifies the first key not returned that satisfies + * the search criteria. Use this value for the key-marker request parameter in a + * subsequent request.</p> + */ + inline void SetNextKeyMarker(Aws::String&& value) { m_nextKeyMarker = std::move(value); } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextKeyMarker</code> specifies the first key not returned that satisfies + * the search criteria. Use this value for the key-marker request parameter in a + * subsequent request.</p> + */ + inline void SetNextKeyMarker(const char* value) { m_nextKeyMarker.assign(value); } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextKeyMarker</code> specifies the first key not returned that satisfies + * the search criteria. Use this value for the key-marker request parameter in a + * subsequent request.</p> + */ + inline ListObjectVersionsResult& WithNextKeyMarker(const Aws::String& value) { SetNextKeyMarker(value); return *this;} + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextKeyMarker</code> specifies the first key not returned that satisfies + * the search criteria. Use this value for the key-marker request parameter in a + * subsequent request.</p> + */ + inline ListObjectVersionsResult& WithNextKeyMarker(Aws::String&& value) { SetNextKeyMarker(std::move(value)); return *this;} + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextKeyMarker</code> specifies the first key not returned that satisfies + * the search criteria. Use this value for the key-marker request parameter in a + * subsequent request.</p> + */ + inline ListObjectVersionsResult& WithNextKeyMarker(const char* value) { SetNextKeyMarker(value); return *this;} + + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextVersionIdMarker</code> specifies the first object version not returned + * that satisfies the search criteria. Use this value for the version-id-marker + * request parameter in a subsequent request.</p> + */ + inline const Aws::String& GetNextVersionIdMarker() const{ return m_nextVersionIdMarker; } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextVersionIdMarker</code> specifies the first object version not returned + * that satisfies the search criteria. Use this value for the version-id-marker + * request parameter in a subsequent request.</p> + */ + inline void SetNextVersionIdMarker(const Aws::String& value) { m_nextVersionIdMarker = value; } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextVersionIdMarker</code> specifies the first object version not returned + * that satisfies the search criteria. Use this value for the version-id-marker + * request parameter in a subsequent request.</p> + */ + inline void SetNextVersionIdMarker(Aws::String&& value) { m_nextVersionIdMarker = std::move(value); } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextVersionIdMarker</code> specifies the first object version not returned + * that satisfies the search criteria. Use this value for the version-id-marker + * request parameter in a subsequent request.</p> + */ + inline void SetNextVersionIdMarker(const char* value) { m_nextVersionIdMarker.assign(value); } + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextVersionIdMarker</code> specifies the first object version not returned + * that satisfies the search criteria. Use this value for the version-id-marker + * request parameter in a subsequent request.</p> + */ + inline ListObjectVersionsResult& WithNextVersionIdMarker(const Aws::String& value) { SetNextVersionIdMarker(value); return *this;} + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextVersionIdMarker</code> specifies the first object version not returned + * that satisfies the search criteria. Use this value for the version-id-marker + * request parameter in a subsequent request.</p> + */ + inline ListObjectVersionsResult& WithNextVersionIdMarker(Aws::String&& value) { SetNextVersionIdMarker(std::move(value)); return *this;} + + /** + * <p>When the number of responses exceeds the value of <code>MaxKeys</code>, + * <code>NextVersionIdMarker</code> specifies the first object version not returned + * that satisfies the search criteria. Use this value for the version-id-marker + * request parameter in a subsequent request.</p> + */ + inline ListObjectVersionsResult& WithNextVersionIdMarker(const char* value) { SetNextVersionIdMarker(value); return *this;} + + + /** + * <p>Container for version information.</p> + */ + inline const Aws::Vector<ObjectVersion>& GetVersions() const{ return m_versions; } + + /** + * <p>Container for version information.</p> + */ + inline void SetVersions(const Aws::Vector<ObjectVersion>& value) { m_versions = value; } + + /** + * <p>Container for version information.</p> + */ + inline void SetVersions(Aws::Vector<ObjectVersion>&& value) { m_versions = std::move(value); } + + /** + * <p>Container for version information.</p> + */ + inline ListObjectVersionsResult& WithVersions(const Aws::Vector<ObjectVersion>& value) { SetVersions(value); return *this;} + + /** + * <p>Container for version information.</p> + */ + inline ListObjectVersionsResult& WithVersions(Aws::Vector<ObjectVersion>&& value) { SetVersions(std::move(value)); return *this;} + + /** + * <p>Container for version information.</p> + */ + inline ListObjectVersionsResult& AddVersions(const ObjectVersion& value) { m_versions.push_back(value); return *this; } + + /** + * <p>Container for version information.</p> + */ + inline ListObjectVersionsResult& AddVersions(ObjectVersion&& value) { m_versions.push_back(std::move(value)); return *this; } + + + /** + * <p>Container for an object that is a delete marker.</p> + */ + inline const Aws::Vector<DeleteMarkerEntry>& GetDeleteMarkers() const{ return m_deleteMarkers; } + + /** + * <p>Container for an object that is a delete marker.</p> + */ + inline void SetDeleteMarkers(const Aws::Vector<DeleteMarkerEntry>& value) { m_deleteMarkers = value; } + + /** + * <p>Container for an object that is a delete marker.</p> + */ + inline void SetDeleteMarkers(Aws::Vector<DeleteMarkerEntry>&& value) { m_deleteMarkers = std::move(value); } + + /** + * <p>Container for an object that is a delete marker.</p> + */ + inline ListObjectVersionsResult& WithDeleteMarkers(const Aws::Vector<DeleteMarkerEntry>& value) { SetDeleteMarkers(value); return *this;} + + /** + * <p>Container for an object that is a delete marker.</p> + */ + inline ListObjectVersionsResult& WithDeleteMarkers(Aws::Vector<DeleteMarkerEntry>&& value) { SetDeleteMarkers(std::move(value)); return *this;} + + /** + * <p>Container for an object that is a delete marker.</p> + */ + inline ListObjectVersionsResult& AddDeleteMarkers(const DeleteMarkerEntry& value) { m_deleteMarkers.push_back(value); return *this; } + + /** + * <p>Container for an object that is a delete marker.</p> + */ + inline ListObjectVersionsResult& AddDeleteMarkers(DeleteMarkerEntry&& value) { m_deleteMarkers.push_back(std::move(value)); return *this; } + + + /** + * <p>The bucket name.</p> + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + * <p>The bucket name.</p> + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + * <p>The bucket name.</p> + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + * <p>The bucket name.</p> + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + * <p>The bucket name.</p> + */ + inline ListObjectVersionsResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline ListObjectVersionsResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline ListObjectVersionsResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + * <p>Selects objects that start with the value supplied by this parameter.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Selects objects that start with the value supplied by this parameter.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefix = value; } + + /** + * <p>Selects objects that start with the value supplied by this parameter.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefix = std::move(value); } + + /** + * <p>Selects objects that start with the value supplied by this parameter.</p> + */ + inline void SetPrefix(const char* value) { m_prefix.assign(value); } + + /** + * <p>Selects objects that start with the value supplied by this parameter.</p> + */ + inline ListObjectVersionsResult& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Selects objects that start with the value supplied by this parameter.</p> + */ + inline ListObjectVersionsResult& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Selects objects that start with the value supplied by this parameter.</p> + */ + inline ListObjectVersionsResult& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>The delimiter grouping the included keys. A delimiter is a character that you + * specify to group keys. All keys that contain the same string between the prefix + * and the first occurrence of the delimiter are grouped under a single result + * element in <code>CommonPrefixes</code>. These groups are counted as one result + * against the max-keys limitation. These keys are not returned elsewhere in the + * response.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>The delimiter grouping the included keys. A delimiter is a character that you + * specify to group keys. All keys that contain the same string between the prefix + * and the first occurrence of the delimiter are grouped under a single result + * element in <code>CommonPrefixes</code>. These groups are counted as one result + * against the max-keys limitation. These keys are not returned elsewhere in the + * response.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiter = value; } + + /** + * <p>The delimiter grouping the included keys. A delimiter is a character that you + * specify to group keys. All keys that contain the same string between the prefix + * and the first occurrence of the delimiter are grouped under a single result + * element in <code>CommonPrefixes</code>. These groups are counted as one result + * against the max-keys limitation. These keys are not returned elsewhere in the + * response.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiter = std::move(value); } + + /** + * <p>The delimiter grouping the included keys. A delimiter is a character that you + * specify to group keys. All keys that contain the same string between the prefix + * and the first occurrence of the delimiter are grouped under a single result + * element in <code>CommonPrefixes</code>. These groups are counted as one result + * against the max-keys limitation. These keys are not returned elsewhere in the + * response.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiter.assign(value); } + + /** + * <p>The delimiter grouping the included keys. A delimiter is a character that you + * specify to group keys. All keys that contain the same string between the prefix + * and the first occurrence of the delimiter are grouped under a single result + * element in <code>CommonPrefixes</code>. These groups are counted as one result + * against the max-keys limitation. These keys are not returned elsewhere in the + * response.</p> + */ + inline ListObjectVersionsResult& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>The delimiter grouping the included keys. A delimiter is a character that you + * specify to group keys. All keys that contain the same string between the prefix + * and the first occurrence of the delimiter are grouped under a single result + * element in <code>CommonPrefixes</code>. These groups are counted as one result + * against the max-keys limitation. These keys are not returned elsewhere in the + * response.</p> + */ + inline ListObjectVersionsResult& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>The delimiter grouping the included keys. A delimiter is a character that you + * specify to group keys. All keys that contain the same string between the prefix + * and the first occurrence of the delimiter are grouped under a single result + * element in <code>CommonPrefixes</code>. These groups are counted as one result + * against the max-keys limitation. These keys are not returned elsewhere in the + * response.</p> + */ + inline ListObjectVersionsResult& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + /** + * <p>Specifies the maximum number of objects to return.</p> + */ + inline int GetMaxKeys() const{ return m_maxKeys; } + + /** + * <p>Specifies the maximum number of objects to return.</p> + */ + inline void SetMaxKeys(int value) { m_maxKeys = value; } + + /** + * <p>Specifies the maximum number of objects to return.</p> + */ + inline ListObjectVersionsResult& WithMaxKeys(int value) { SetMaxKeys(value); return *this;} + + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> + */ + inline const Aws::Vector<CommonPrefix>& GetCommonPrefixes() const{ return m_commonPrefixes; } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> + */ + inline void SetCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { m_commonPrefixes = value; } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> + */ + inline void SetCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { m_commonPrefixes = std::move(value); } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> + */ + inline ListObjectVersionsResult& WithCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { SetCommonPrefixes(value); return *this;} + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> + */ + inline ListObjectVersionsResult& WithCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { SetCommonPrefixes(std::move(value)); return *this;} + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> + */ + inline ListObjectVersionsResult& AddCommonPrefixes(const CommonPrefix& value) { m_commonPrefixes.push_back(value); return *this; } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> + */ + inline ListObjectVersionsResult& AddCommonPrefixes(CommonPrefix&& value) { m_commonPrefixes.push_back(std::move(value)); return *this; } + + + /** + * <p> Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>KeyMarker, NextKeyMarker, Prefix, + * Key</code>, and <code>Delimiter</code>.</p> + */ + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + /** + * <p> Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>KeyMarker, NextKeyMarker, Prefix, + * Key</code>, and <code>Delimiter</code>.</p> + */ + inline void SetEncodingType(const EncodingType& value) { m_encodingType = value; } + + /** + * <p> Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>KeyMarker, NextKeyMarker, Prefix, + * Key</code>, and <code>Delimiter</code>.</p> + */ + inline void SetEncodingType(EncodingType&& value) { m_encodingType = std::move(value); } + + /** + * <p> Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>KeyMarker, NextKeyMarker, Prefix, + * Key</code>, and <code>Delimiter</code>.</p> + */ + inline ListObjectVersionsResult& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + /** + * <p> Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>KeyMarker, NextKeyMarker, Prefix, + * Key</code>, and <code>Delimiter</code>.</p> + */ + inline ListObjectVersionsResult& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + private: + + bool m_isTruncated; + + Aws::String m_keyMarker; + + Aws::String m_versionIdMarker; + + Aws::String m_nextKeyMarker; + + Aws::String m_nextVersionIdMarker; + + Aws::Vector<ObjectVersion> m_versions; + + Aws::Vector<DeleteMarkerEntry> m_deleteMarkers; + + Aws::String m_name; + + Aws::String m_prefix; + + Aws::String m_delimiter; + + int m_maxKeys; + + Aws::Vector<CommonPrefix> m_commonPrefixes; + + EncodingType m_encodingType; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h new file mode 100644 index 0000000000..08a2bdccd3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsRequest.h @@ -0,0 +1,573 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListObjectsRequest : public S3Request + { + public: + ListObjectsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListObjects"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket containing the objects.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline ListObjectsRequest& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline ListObjectsRequest& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline ListObjectsRequest& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + + inline bool EncodingTypeHasBeenSet() const { return m_encodingTypeHasBeenSet; } + + + inline void SetEncodingType(const EncodingType& value) { m_encodingTypeHasBeenSet = true; m_encodingType = value; } + + + inline void SetEncodingType(EncodingType&& value) { m_encodingTypeHasBeenSet = true; m_encodingType = std::move(value); } + + + inline ListObjectsRequest& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + + inline ListObjectsRequest& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline const Aws::String& GetMarker() const{ return m_marker; } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline ListObjectsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline ListObjectsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} + + /** + * <p>Specifies the key to start with when listing objects in a bucket.</p> + */ + inline ListObjectsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} + + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. </p> + */ + inline int GetMaxKeys() const{ return m_maxKeys; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. </p> + */ + inline bool MaxKeysHasBeenSet() const { return m_maxKeysHasBeenSet; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. </p> + */ + inline void SetMaxKeys(int value) { m_maxKeysHasBeenSet = true; m_maxKeys = value; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more. </p> + */ + inline ListObjectsRequest& WithMaxKeys(int value) { SetMaxKeys(value); return *this;} + + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline ListObjectsRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline ListObjectsRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline ListObjectsRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request. Bucket owners need not specify this parameter in their + * requests.</p> + */ + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request. Bucket owners need not specify this parameter in their + * requests.</p> + */ + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request. Bucket owners need not specify this parameter in their + * requests.</p> + */ + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request. Bucket owners need not specify this parameter in their + * requests.</p> + */ + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request. Bucket owners need not specify this parameter in their + * requests.</p> + */ + inline ListObjectsRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request. Bucket owners need not specify this parameter in their + * requests.</p> + */ + inline ListObjectsRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListObjectsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListObjectsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListObjectsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListObjectsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListObjectsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListObjectsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_delimiter; + bool m_delimiterHasBeenSet; + + EncodingType m_encodingType; + bool m_encodingTypeHasBeenSet; + + Aws::String m_marker; + bool m_markerHasBeenSet; + + int m_maxKeys; + bool m_maxKeysHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h new file mode 100644 index 0000000000..69f60d384b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsResult.h @@ -0,0 +1,509 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/s3/model/Object.h> +#include <aws/s3/model/CommonPrefix.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListObjectsResult + { + public: + ListObjectsResult(); + ListObjectsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListObjectsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>A flag that indicates whether Amazon S3 returned all of the results that + * satisfied the search criteria.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>A flag that indicates whether Amazon S3 returned all of the results that + * satisfied the search criteria.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>A flag that indicates whether Amazon S3 returned all of the results that + * satisfied the search criteria.</p> + */ + inline ListObjectsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>Indicates where in the bucket listing begins. Marker is included in the + * response if it was sent with the request.</p> + */ + inline const Aws::String& GetMarker() const{ return m_marker; } + + /** + * <p>Indicates where in the bucket listing begins. Marker is included in the + * response if it was sent with the request.</p> + */ + inline void SetMarker(const Aws::String& value) { m_marker = value; } + + /** + * <p>Indicates where in the bucket listing begins. Marker is included in the + * response if it was sent with the request.</p> + */ + inline void SetMarker(Aws::String&& value) { m_marker = std::move(value); } + + /** + * <p>Indicates where in the bucket listing begins. Marker is included in the + * response if it was sent with the request.</p> + */ + inline void SetMarker(const char* value) { m_marker.assign(value); } + + /** + * <p>Indicates where in the bucket listing begins. Marker is included in the + * response if it was sent with the request.</p> + */ + inline ListObjectsResult& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} + + /** + * <p>Indicates where in the bucket listing begins. Marker is included in the + * response if it was sent with the request.</p> + */ + inline ListObjectsResult& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} + + /** + * <p>Indicates where in the bucket listing begins. Marker is included in the + * response if it was sent with the request.</p> + */ + inline ListObjectsResult& WithMarker(const char* value) { SetMarker(value); return *this;} + + + /** + * <p>When response is truncated (the IsTruncated element value in the response is + * true), you can use the key name in this field as marker in the subsequent + * request to get next set of objects. Amazon S3 lists objects in alphabetical + * order Note: This element is returned only if you have delimiter request + * parameter specified. If response does not include the NextMarker and it is + * truncated, you can use the value of the last Key in the response as the marker + * in the subsequent request to get the next set of object keys.</p> + */ + inline const Aws::String& GetNextMarker() const{ return m_nextMarker; } + + /** + * <p>When response is truncated (the IsTruncated element value in the response is + * true), you can use the key name in this field as marker in the subsequent + * request to get next set of objects. Amazon S3 lists objects in alphabetical + * order Note: This element is returned only if you have delimiter request + * parameter specified. If response does not include the NextMarker and it is + * truncated, you can use the value of the last Key in the response as the marker + * in the subsequent request to get the next set of object keys.</p> + */ + inline void SetNextMarker(const Aws::String& value) { m_nextMarker = value; } + + /** + * <p>When response is truncated (the IsTruncated element value in the response is + * true), you can use the key name in this field as marker in the subsequent + * request to get next set of objects. Amazon S3 lists objects in alphabetical + * order Note: This element is returned only if you have delimiter request + * parameter specified. If response does not include the NextMarker and it is + * truncated, you can use the value of the last Key in the response as the marker + * in the subsequent request to get the next set of object keys.</p> + */ + inline void SetNextMarker(Aws::String&& value) { m_nextMarker = std::move(value); } + + /** + * <p>When response is truncated (the IsTruncated element value in the response is + * true), you can use the key name in this field as marker in the subsequent + * request to get next set of objects. Amazon S3 lists objects in alphabetical + * order Note: This element is returned only if you have delimiter request + * parameter specified. If response does not include the NextMarker and it is + * truncated, you can use the value of the last Key in the response as the marker + * in the subsequent request to get the next set of object keys.</p> + */ + inline void SetNextMarker(const char* value) { m_nextMarker.assign(value); } + + /** + * <p>When response is truncated (the IsTruncated element value in the response is + * true), you can use the key name in this field as marker in the subsequent + * request to get next set of objects. Amazon S3 lists objects in alphabetical + * order Note: This element is returned only if you have delimiter request + * parameter specified. If response does not include the NextMarker and it is + * truncated, you can use the value of the last Key in the response as the marker + * in the subsequent request to get the next set of object keys.</p> + */ + inline ListObjectsResult& WithNextMarker(const Aws::String& value) { SetNextMarker(value); return *this;} + + /** + * <p>When response is truncated (the IsTruncated element value in the response is + * true), you can use the key name in this field as marker in the subsequent + * request to get next set of objects. Amazon S3 lists objects in alphabetical + * order Note: This element is returned only if you have delimiter request + * parameter specified. If response does not include the NextMarker and it is + * truncated, you can use the value of the last Key in the response as the marker + * in the subsequent request to get the next set of object keys.</p> + */ + inline ListObjectsResult& WithNextMarker(Aws::String&& value) { SetNextMarker(std::move(value)); return *this;} + + /** + * <p>When response is truncated (the IsTruncated element value in the response is + * true), you can use the key name in this field as marker in the subsequent + * request to get next set of objects. Amazon S3 lists objects in alphabetical + * order Note: This element is returned only if you have delimiter request + * parameter specified. If response does not include the NextMarker and it is + * truncated, you can use the value of the last Key in the response as the marker + * in the subsequent request to get the next set of object keys.</p> + */ + inline ListObjectsResult& WithNextMarker(const char* value) { SetNextMarker(value); return *this;} + + + /** + * <p>Metadata about each object returned.</p> + */ + inline const Aws::Vector<Object>& GetContents() const{ return m_contents; } + + /** + * <p>Metadata about each object returned.</p> + */ + inline void SetContents(const Aws::Vector<Object>& value) { m_contents = value; } + + /** + * <p>Metadata about each object returned.</p> + */ + inline void SetContents(Aws::Vector<Object>&& value) { m_contents = std::move(value); } + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsResult& WithContents(const Aws::Vector<Object>& value) { SetContents(value); return *this;} + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsResult& WithContents(Aws::Vector<Object>&& value) { SetContents(std::move(value)); return *this;} + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsResult& AddContents(const Object& value) { m_contents.push_back(value); return *this; } + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsResult& AddContents(Object&& value) { m_contents.push_back(std::move(value)); return *this; } + + + /** + * <p>The bucket name.</p> + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + * <p>The bucket name.</p> + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + * <p>The bucket name.</p> + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + * <p>The bucket name.</p> + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + * <p>The bucket name.</p> + */ + inline ListObjectsResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline ListObjectsResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline ListObjectsResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + * <p>Keys that begin with the indicated prefix.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Keys that begin with the indicated prefix.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefix = value; } + + /** + * <p>Keys that begin with the indicated prefix.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefix = std::move(value); } + + /** + * <p>Keys that begin with the indicated prefix.</p> + */ + inline void SetPrefix(const char* value) { m_prefix.assign(value); } + + /** + * <p>Keys that begin with the indicated prefix.</p> + */ + inline ListObjectsResult& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Keys that begin with the indicated prefix.</p> + */ + inline ListObjectsResult& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Keys that begin with the indicated prefix.</p> + */ + inline ListObjectsResult& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * <code>CommonPrefixes</code> collection. These rolled-up keys are not returned + * elsewhere in the response. Each rolled-up result counts as only one return + * against the <code>MaxKeys</code> value.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * <code>CommonPrefixes</code> collection. These rolled-up keys are not returned + * elsewhere in the response. Each rolled-up result counts as only one return + * against the <code>MaxKeys</code> value.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiter = value; } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * <code>CommonPrefixes</code> collection. These rolled-up keys are not returned + * elsewhere in the response. Each rolled-up result counts as only one return + * against the <code>MaxKeys</code> value.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiter = std::move(value); } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * <code>CommonPrefixes</code> collection. These rolled-up keys are not returned + * elsewhere in the response. Each rolled-up result counts as only one return + * against the <code>MaxKeys</code> value.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiter.assign(value); } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * <code>CommonPrefixes</code> collection. These rolled-up keys are not returned + * elsewhere in the response. Each rolled-up result counts as only one return + * against the <code>MaxKeys</code> value.</p> + */ + inline ListObjectsResult& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * <code>CommonPrefixes</code> collection. These rolled-up keys are not returned + * elsewhere in the response. Each rolled-up result counts as only one return + * against the <code>MaxKeys</code> value.</p> + */ + inline ListObjectsResult& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * <code>CommonPrefixes</code> collection. These rolled-up keys are not returned + * elsewhere in the response. Each rolled-up result counts as only one return + * against the <code>MaxKeys</code> value.</p> + */ + inline ListObjectsResult& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + /** + * <p>The maximum number of keys returned in the response body.</p> + */ + inline int GetMaxKeys() const{ return m_maxKeys; } + + /** + * <p>The maximum number of keys returned in the response body.</p> + */ + inline void SetMaxKeys(int value) { m_maxKeys = value; } + + /** + * <p>The maximum number of keys returned in the response body.</p> + */ + inline ListObjectsResult& WithMaxKeys(int value) { SetMaxKeys(value); return *this;} + + + /** + * <p>All of the keys rolled up in a common prefix count as a single return when + * calculating the number of returns. </p> <p>A response can contain CommonPrefixes + * only if you specify a delimiter.</p> <p>CommonPrefixes contains all (if there + * are any) keys between Prefix and the next occurrence of the string specified by + * the delimiter.</p> <p> CommonPrefixes lists keys that act like subdirectories in + * the directory specified by Prefix.</p> <p>For example, if the prefix is notes/ + * and the delimiter is a slash (/) as in notes/summer/july, the common prefix is + * notes/summer/. All of the keys that roll up into a common prefix count as a + * single return when calculating the number of returns.</p> + */ + inline const Aws::Vector<CommonPrefix>& GetCommonPrefixes() const{ return m_commonPrefixes; } + + /** + * <p>All of the keys rolled up in a common prefix count as a single return when + * calculating the number of returns. </p> <p>A response can contain CommonPrefixes + * only if you specify a delimiter.</p> <p>CommonPrefixes contains all (if there + * are any) keys between Prefix and the next occurrence of the string specified by + * the delimiter.</p> <p> CommonPrefixes lists keys that act like subdirectories in + * the directory specified by Prefix.</p> <p>For example, if the prefix is notes/ + * and the delimiter is a slash (/) as in notes/summer/july, the common prefix is + * notes/summer/. All of the keys that roll up into a common prefix count as a + * single return when calculating the number of returns.</p> + */ + inline void SetCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { m_commonPrefixes = value; } + + /** + * <p>All of the keys rolled up in a common prefix count as a single return when + * calculating the number of returns. </p> <p>A response can contain CommonPrefixes + * only if you specify a delimiter.</p> <p>CommonPrefixes contains all (if there + * are any) keys between Prefix and the next occurrence of the string specified by + * the delimiter.</p> <p> CommonPrefixes lists keys that act like subdirectories in + * the directory specified by Prefix.</p> <p>For example, if the prefix is notes/ + * and the delimiter is a slash (/) as in notes/summer/july, the common prefix is + * notes/summer/. All of the keys that roll up into a common prefix count as a + * single return when calculating the number of returns.</p> + */ + inline void SetCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { m_commonPrefixes = std::move(value); } + + /** + * <p>All of the keys rolled up in a common prefix count as a single return when + * calculating the number of returns. </p> <p>A response can contain CommonPrefixes + * only if you specify a delimiter.</p> <p>CommonPrefixes contains all (if there + * are any) keys between Prefix and the next occurrence of the string specified by + * the delimiter.</p> <p> CommonPrefixes lists keys that act like subdirectories in + * the directory specified by Prefix.</p> <p>For example, if the prefix is notes/ + * and the delimiter is a slash (/) as in notes/summer/july, the common prefix is + * notes/summer/. All of the keys that roll up into a common prefix count as a + * single return when calculating the number of returns.</p> + */ + inline ListObjectsResult& WithCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { SetCommonPrefixes(value); return *this;} + + /** + * <p>All of the keys rolled up in a common prefix count as a single return when + * calculating the number of returns. </p> <p>A response can contain CommonPrefixes + * only if you specify a delimiter.</p> <p>CommonPrefixes contains all (if there + * are any) keys between Prefix and the next occurrence of the string specified by + * the delimiter.</p> <p> CommonPrefixes lists keys that act like subdirectories in + * the directory specified by Prefix.</p> <p>For example, if the prefix is notes/ + * and the delimiter is a slash (/) as in notes/summer/july, the common prefix is + * notes/summer/. All of the keys that roll up into a common prefix count as a + * single return when calculating the number of returns.</p> + */ + inline ListObjectsResult& WithCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { SetCommonPrefixes(std::move(value)); return *this;} + + /** + * <p>All of the keys rolled up in a common prefix count as a single return when + * calculating the number of returns. </p> <p>A response can contain CommonPrefixes + * only if you specify a delimiter.</p> <p>CommonPrefixes contains all (if there + * are any) keys between Prefix and the next occurrence of the string specified by + * the delimiter.</p> <p> CommonPrefixes lists keys that act like subdirectories in + * the directory specified by Prefix.</p> <p>For example, if the prefix is notes/ + * and the delimiter is a slash (/) as in notes/summer/july, the common prefix is + * notes/summer/. All of the keys that roll up into a common prefix count as a + * single return when calculating the number of returns.</p> + */ + inline ListObjectsResult& AddCommonPrefixes(const CommonPrefix& value) { m_commonPrefixes.push_back(value); return *this; } + + /** + * <p>All of the keys rolled up in a common prefix count as a single return when + * calculating the number of returns. </p> <p>A response can contain CommonPrefixes + * only if you specify a delimiter.</p> <p>CommonPrefixes contains all (if there + * are any) keys between Prefix and the next occurrence of the string specified by + * the delimiter.</p> <p> CommonPrefixes lists keys that act like subdirectories in + * the directory specified by Prefix.</p> <p>For example, if the prefix is notes/ + * and the delimiter is a slash (/) as in notes/summer/july, the common prefix is + * notes/summer/. All of the keys that roll up into a common prefix count as a + * single return when calculating the number of returns.</p> + */ + inline ListObjectsResult& AddCommonPrefixes(CommonPrefix&& value) { m_commonPrefixes.push_back(std::move(value)); return *this; } + + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline void SetEncodingType(const EncodingType& value) { m_encodingType = value; } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline void SetEncodingType(EncodingType&& value) { m_encodingType = std::move(value); } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline ListObjectsResult& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline ListObjectsResult& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + private: + + bool m_isTruncated; + + Aws::String m_marker; + + Aws::String m_nextMarker; + + Aws::Vector<Object> m_contents; + + Aws::String m_name; + + Aws::String m_prefix; + + Aws::String m_delimiter; + + int m_maxKeys; + + Aws::Vector<CommonPrefix> m_commonPrefixes; + + EncodingType m_encodingType; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h new file mode 100644 index 0000000000..c5e875a674 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Request.h @@ -0,0 +1,693 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListObjectsV2Request : public S3Request + { + public: + ListObjectsV2Request(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListObjectsV2"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsV2Request& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsV2Request& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>Bucket name to list. </p> <p>When using this API with an access point, you + * must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsV2Request& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); } + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline ListObjectsV2Request& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline ListObjectsV2Request& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>A delimiter is a character you use to group keys.</p> + */ + inline ListObjectsV2Request& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline bool EncodingTypeHasBeenSet() const { return m_encodingTypeHasBeenSet; } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline void SetEncodingType(const EncodingType& value) { m_encodingTypeHasBeenSet = true; m_encodingType = value; } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline void SetEncodingType(EncodingType&& value) { m_encodingTypeHasBeenSet = true; m_encodingType = std::move(value); } + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline ListObjectsV2Request& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + /** + * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p> + */ + inline ListObjectsV2Request& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more.</p> + */ + inline int GetMaxKeys() const{ return m_maxKeys; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more.</p> + */ + inline bool MaxKeysHasBeenSet() const { return m_maxKeysHasBeenSet; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more.</p> + */ + inline void SetMaxKeys(int value) { m_maxKeysHasBeenSet = true; m_maxKeys = value; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more.</p> + */ + inline ListObjectsV2Request& WithMaxKeys(int value) { SetMaxKeys(value); return *this;} + + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline ListObjectsV2Request& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline ListObjectsV2Request& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Limits the response to keys that begin with the specified prefix.</p> + */ + inline ListObjectsV2Request& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline bool ContinuationTokenHasBeenSet() const { return m_continuationTokenHasBeenSet; } + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = value; } + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = std::move(value); } + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationTokenHasBeenSet = true; m_continuationToken.assign(value); } + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline ListObjectsV2Request& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline ListObjectsV2Request& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p>ContinuationToken indicates Amazon S3 that the list is being continued on + * this bucket with a token. ContinuationToken is obfuscated and is not a real + * key.</p> + */ + inline ListObjectsV2Request& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p>The owner field is not present in listV2 by default, if you want to return + * owner field with each key in the result then set the fetch owner field to + * true.</p> + */ + inline bool GetFetchOwner() const{ return m_fetchOwner; } + + /** + * <p>The owner field is not present in listV2 by default, if you want to return + * owner field with each key in the result then set the fetch owner field to + * true.</p> + */ + inline bool FetchOwnerHasBeenSet() const { return m_fetchOwnerHasBeenSet; } + + /** + * <p>The owner field is not present in listV2 by default, if you want to return + * owner field with each key in the result then set the fetch owner field to + * true.</p> + */ + inline void SetFetchOwner(bool value) { m_fetchOwnerHasBeenSet = true; m_fetchOwner = value; } + + /** + * <p>The owner field is not present in listV2 by default, if you want to return + * owner field with each key in the result then set the fetch owner field to + * true.</p> + */ + inline ListObjectsV2Request& WithFetchOwner(bool value) { SetFetchOwner(value); return *this;} + + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline const Aws::String& GetStartAfter() const{ return m_startAfter; } + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline bool StartAfterHasBeenSet() const { return m_startAfterHasBeenSet; } + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline void SetStartAfter(const Aws::String& value) { m_startAfterHasBeenSet = true; m_startAfter = value; } + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline void SetStartAfter(Aws::String&& value) { m_startAfterHasBeenSet = true; m_startAfter = std::move(value); } + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline void SetStartAfter(const char* value) { m_startAfterHasBeenSet = true; m_startAfter.assign(value); } + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline ListObjectsV2Request& WithStartAfter(const Aws::String& value) { SetStartAfter(value); return *this;} + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline ListObjectsV2Request& WithStartAfter(Aws::String&& value) { SetStartAfter(std::move(value)); return *this;} + + /** + * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 + * starts listing after this specified key. StartAfter can be any key in the + * bucket.</p> + */ + inline ListObjectsV2Request& WithStartAfter(const char* value) { SetStartAfter(value); return *this;} + + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request in V2 style. Bucket owners need not specify this parameter in + * their requests.</p> + */ + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request in V2 style. Bucket owners need not specify this parameter in + * their requests.</p> + */ + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request in V2 style. Bucket owners need not specify this parameter in + * their requests.</p> + */ + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request in V2 style. Bucket owners need not specify this parameter in + * their requests.</p> + */ + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request in V2 style. Bucket owners need not specify this parameter in + * their requests.</p> + */ + inline ListObjectsV2Request& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + /** + * <p>Confirms that the requester knows that she or he will be charged for the list + * objects request in V2 style. Bucket owners need not specify this parameter in + * their requests.</p> + */ + inline ListObjectsV2Request& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectsV2Request& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectsV2Request& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListObjectsV2Request& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListObjectsV2Request& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListObjectsV2Request& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListObjectsV2Request& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListObjectsV2Request& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListObjectsV2Request& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListObjectsV2Request& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListObjectsV2Request& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListObjectsV2Request& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListObjectsV2Request& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_delimiter; + bool m_delimiterHasBeenSet; + + EncodingType m_encodingType; + bool m_encodingTypeHasBeenSet; + + int m_maxKeys; + bool m_maxKeysHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::String m_continuationToken; + bool m_continuationTokenHasBeenSet; + + bool m_fetchOwner; + bool m_fetchOwnerHasBeenSet; + + Aws::String m_startAfter; + bool m_startAfterHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h new file mode 100644 index 0000000000..44c2e059a4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h @@ -0,0 +1,726 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/EncodingType.h> +#include <aws/s3/model/Object.h> +#include <aws/s3/model/CommonPrefix.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListObjectsV2Result + { + public: + ListObjectsV2Result(); + ListObjectsV2Result(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListObjectsV2Result& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>Set to false if all of the results were returned. Set to true if more keys + * are available to return. If the number of results exceeds that specified by + * MaxKeys, all of the results might not be returned.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p>Set to false if all of the results were returned. Set to true if more keys + * are available to return. If the number of results exceeds that specified by + * MaxKeys, all of the results might not be returned.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p>Set to false if all of the results were returned. Set to true if more keys + * are available to return. If the number of results exceeds that specified by + * MaxKeys, all of the results might not be returned.</p> + */ + inline ListObjectsV2Result& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p>Metadata about each object returned.</p> + */ + inline const Aws::Vector<Object>& GetContents() const{ return m_contents; } + + /** + * <p>Metadata about each object returned.</p> + */ + inline void SetContents(const Aws::Vector<Object>& value) { m_contents = value; } + + /** + * <p>Metadata about each object returned.</p> + */ + inline void SetContents(Aws::Vector<Object>&& value) { m_contents = std::move(value); } + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsV2Result& WithContents(const Aws::Vector<Object>& value) { SetContents(value); return *this;} + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsV2Result& WithContents(Aws::Vector<Object>&& value) { SetContents(std::move(value)); return *this;} + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsV2Result& AddContents(const Object& value) { m_contents.push_back(value); return *this; } + + /** + * <p>Metadata about each object returned.</p> + */ + inline ListObjectsV2Result& AddContents(Object&& value) { m_contents.push_back(std::move(value)); return *this; } + + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsV2Result& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsV2Result& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListObjectsV2Result& WithName(const char* value) { SetName(value); return *this;} + + + /** + * <p> Keys that begin with the indicated prefix.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p> Keys that begin with the indicated prefix.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefix = value; } + + /** + * <p> Keys that begin with the indicated prefix.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefix = std::move(value); } + + /** + * <p> Keys that begin with the indicated prefix.</p> + */ + inline void SetPrefix(const char* value) { m_prefix.assign(value); } + + /** + * <p> Keys that begin with the indicated prefix.</p> + */ + inline ListObjectsV2Result& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p> Keys that begin with the indicated prefix.</p> + */ + inline ListObjectsV2Result& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p> Keys that begin with the indicated prefix.</p> + */ + inline ListObjectsV2Result& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere in + * the response. Each rolled-up result counts as only one return against the + * <code>MaxKeys</code> value.</p> + */ + inline const Aws::String& GetDelimiter() const{ return m_delimiter; } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere in + * the response. Each rolled-up result counts as only one return against the + * <code>MaxKeys</code> value.</p> + */ + inline void SetDelimiter(const Aws::String& value) { m_delimiter = value; } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere in + * the response. Each rolled-up result counts as only one return against the + * <code>MaxKeys</code> value.</p> + */ + inline void SetDelimiter(Aws::String&& value) { m_delimiter = std::move(value); } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere in + * the response. Each rolled-up result counts as only one return against the + * <code>MaxKeys</code> value.</p> + */ + inline void SetDelimiter(const char* value) { m_delimiter.assign(value); } + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere in + * the response. Each rolled-up result counts as only one return against the + * <code>MaxKeys</code> value.</p> + */ + inline ListObjectsV2Result& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere in + * the response. Each rolled-up result counts as only one return against the + * <code>MaxKeys</code> value.</p> + */ + inline ListObjectsV2Result& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} + + /** + * <p>Causes keys that contain the same string between the prefix and the first + * occurrence of the delimiter to be rolled up into a single result element in the + * CommonPrefixes collection. These rolled-up keys are not returned elsewhere in + * the response. Each rolled-up result counts as only one return against the + * <code>MaxKeys</code> value.</p> + */ + inline ListObjectsV2Result& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} + + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more.</p> + */ + inline int GetMaxKeys() const{ return m_maxKeys; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more.</p> + */ + inline void SetMaxKeys(int value) { m_maxKeys = value; } + + /** + * <p>Sets the maximum number of keys returned in the response. By default the API + * returns up to 1,000 key names. The response might contain fewer keys but will + * never contain more.</p> + */ + inline ListObjectsV2Result& WithMaxKeys(int value) { SetMaxKeys(value); return *this;} + + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> <p>A response can contain + * <code>CommonPrefixes</code> only if you specify a delimiter.</p> <p> + * <code>CommonPrefixes</code> contains all (if there are any) keys between + * <code>Prefix</code> and the next occurrence of the string specified by a + * delimiter.</p> <p> <code>CommonPrefixes</code> lists keys that act like + * subdirectories in the directory specified by <code>Prefix</code>.</p> <p>For + * example, if the prefix is <code>notes/</code> and the delimiter is a slash + * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is + * <code>notes/summer/</code>. All of the keys that roll up into a common prefix + * count as a single return when calculating the number of returns. </p> + */ + inline const Aws::Vector<CommonPrefix>& GetCommonPrefixes() const{ return m_commonPrefixes; } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> <p>A response can contain + * <code>CommonPrefixes</code> only if you specify a delimiter.</p> <p> + * <code>CommonPrefixes</code> contains all (if there are any) keys between + * <code>Prefix</code> and the next occurrence of the string specified by a + * delimiter.</p> <p> <code>CommonPrefixes</code> lists keys that act like + * subdirectories in the directory specified by <code>Prefix</code>.</p> <p>For + * example, if the prefix is <code>notes/</code> and the delimiter is a slash + * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is + * <code>notes/summer/</code>. All of the keys that roll up into a common prefix + * count as a single return when calculating the number of returns. </p> + */ + inline void SetCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { m_commonPrefixes = value; } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> <p>A response can contain + * <code>CommonPrefixes</code> only if you specify a delimiter.</p> <p> + * <code>CommonPrefixes</code> contains all (if there are any) keys between + * <code>Prefix</code> and the next occurrence of the string specified by a + * delimiter.</p> <p> <code>CommonPrefixes</code> lists keys that act like + * subdirectories in the directory specified by <code>Prefix</code>.</p> <p>For + * example, if the prefix is <code>notes/</code> and the delimiter is a slash + * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is + * <code>notes/summer/</code>. All of the keys that roll up into a common prefix + * count as a single return when calculating the number of returns. </p> + */ + inline void SetCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { m_commonPrefixes = std::move(value); } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> <p>A response can contain + * <code>CommonPrefixes</code> only if you specify a delimiter.</p> <p> + * <code>CommonPrefixes</code> contains all (if there are any) keys between + * <code>Prefix</code> and the next occurrence of the string specified by a + * delimiter.</p> <p> <code>CommonPrefixes</code> lists keys that act like + * subdirectories in the directory specified by <code>Prefix</code>.</p> <p>For + * example, if the prefix is <code>notes/</code> and the delimiter is a slash + * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is + * <code>notes/summer/</code>. All of the keys that roll up into a common prefix + * count as a single return when calculating the number of returns. </p> + */ + inline ListObjectsV2Result& WithCommonPrefixes(const Aws::Vector<CommonPrefix>& value) { SetCommonPrefixes(value); return *this;} + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> <p>A response can contain + * <code>CommonPrefixes</code> only if you specify a delimiter.</p> <p> + * <code>CommonPrefixes</code> contains all (if there are any) keys between + * <code>Prefix</code> and the next occurrence of the string specified by a + * delimiter.</p> <p> <code>CommonPrefixes</code> lists keys that act like + * subdirectories in the directory specified by <code>Prefix</code>.</p> <p>For + * example, if the prefix is <code>notes/</code> and the delimiter is a slash + * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is + * <code>notes/summer/</code>. All of the keys that roll up into a common prefix + * count as a single return when calculating the number of returns. </p> + */ + inline ListObjectsV2Result& WithCommonPrefixes(Aws::Vector<CommonPrefix>&& value) { SetCommonPrefixes(std::move(value)); return *this;} + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> <p>A response can contain + * <code>CommonPrefixes</code> only if you specify a delimiter.</p> <p> + * <code>CommonPrefixes</code> contains all (if there are any) keys between + * <code>Prefix</code> and the next occurrence of the string specified by a + * delimiter.</p> <p> <code>CommonPrefixes</code> lists keys that act like + * subdirectories in the directory specified by <code>Prefix</code>.</p> <p>For + * example, if the prefix is <code>notes/</code> and the delimiter is a slash + * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is + * <code>notes/summer/</code>. All of the keys that roll up into a common prefix + * count as a single return when calculating the number of returns. </p> + */ + inline ListObjectsV2Result& AddCommonPrefixes(const CommonPrefix& value) { m_commonPrefixes.push_back(value); return *this; } + + /** + * <p>All of the keys rolled up into a common prefix count as a single return when + * calculating the number of returns.</p> <p>A response can contain + * <code>CommonPrefixes</code> only if you specify a delimiter.</p> <p> + * <code>CommonPrefixes</code> contains all (if there are any) keys between + * <code>Prefix</code> and the next occurrence of the string specified by a + * delimiter.</p> <p> <code>CommonPrefixes</code> lists keys that act like + * subdirectories in the directory specified by <code>Prefix</code>.</p> <p>For + * example, if the prefix is <code>notes/</code> and the delimiter is a slash + * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is + * <code>notes/summer/</code>. All of the keys that roll up into a common prefix + * count as a single return when calculating the number of returns. </p> + */ + inline ListObjectsV2Result& AddCommonPrefixes(CommonPrefix&& value) { m_commonPrefixes.push_back(std::move(value)); return *this; } + + + /** + * <p>Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify the encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter, Prefix, Key,</code> + * and <code>StartAfter</code>.</p> + */ + inline const EncodingType& GetEncodingType() const{ return m_encodingType; } + + /** + * <p>Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify the encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter, Prefix, Key,</code> + * and <code>StartAfter</code>.</p> + */ + inline void SetEncodingType(const EncodingType& value) { m_encodingType = value; } + + /** + * <p>Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify the encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter, Prefix, Key,</code> + * and <code>StartAfter</code>.</p> + */ + inline void SetEncodingType(EncodingType&& value) { m_encodingType = std::move(value); } + + /** + * <p>Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify the encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter, Prefix, Key,</code> + * and <code>StartAfter</code>.</p> + */ + inline ListObjectsV2Result& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} + + /** + * <p>Encoding type used by Amazon S3 to encode object key names in the XML + * response.</p> <p>If you specify the encoding-type request parameter, Amazon S3 + * includes this element in the response, and returns encoded key name values in + * the following response elements:</p> <p> <code>Delimiter, Prefix, Key,</code> + * and <code>StartAfter</code>.</p> + */ + inline ListObjectsV2Result& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} + + + /** + * <p>KeyCount is the number of keys returned with this request. KeyCount will + * always be less than equals to MaxKeys field. Say you ask for 50 keys, your + * result will include less than equals 50 keys </p> + */ + inline int GetKeyCount() const{ return m_keyCount; } + + /** + * <p>KeyCount is the number of keys returned with this request. KeyCount will + * always be less than equals to MaxKeys field. Say you ask for 50 keys, your + * result will include less than equals 50 keys </p> + */ + inline void SetKeyCount(int value) { m_keyCount = value; } + + /** + * <p>KeyCount is the number of keys returned with this request. KeyCount will + * always be less than equals to MaxKeys field. Say you ask for 50 keys, your + * result will include less than equals 50 keys </p> + */ + inline ListObjectsV2Result& WithKeyCount(int value) { SetKeyCount(value); return *this;} + + + /** + * <p> If ContinuationToken was sent with the request, it is included in the + * response.</p> + */ + inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } + + /** + * <p> If ContinuationToken was sent with the request, it is included in the + * response.</p> + */ + inline void SetContinuationToken(const Aws::String& value) { m_continuationToken = value; } + + /** + * <p> If ContinuationToken was sent with the request, it is included in the + * response.</p> + */ + inline void SetContinuationToken(Aws::String&& value) { m_continuationToken = std::move(value); } + + /** + * <p> If ContinuationToken was sent with the request, it is included in the + * response.</p> + */ + inline void SetContinuationToken(const char* value) { m_continuationToken.assign(value); } + + /** + * <p> If ContinuationToken was sent with the request, it is included in the + * response.</p> + */ + inline ListObjectsV2Result& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} + + /** + * <p> If ContinuationToken was sent with the request, it is included in the + * response.</p> + */ + inline ListObjectsV2Result& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} + + /** + * <p> If ContinuationToken was sent with the request, it is included in the + * response.</p> + */ + inline ListObjectsV2Result& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} + + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which means there are more keys in the bucket that can be listed. The next + * list requests to Amazon S3 can be continued with this + * <code>NextContinuationToken</code>. <code>NextContinuationToken</code> is + * obfuscated and is not a real key</p> + */ + inline const Aws::String& GetNextContinuationToken() const{ return m_nextContinuationToken; } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which means there are more keys in the bucket that can be listed. The next + * list requests to Amazon S3 can be continued with this + * <code>NextContinuationToken</code>. <code>NextContinuationToken</code> is + * obfuscated and is not a real key</p> + */ + inline void SetNextContinuationToken(const Aws::String& value) { m_nextContinuationToken = value; } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which means there are more keys in the bucket that can be listed. The next + * list requests to Amazon S3 can be continued with this + * <code>NextContinuationToken</code>. <code>NextContinuationToken</code> is + * obfuscated and is not a real key</p> + */ + inline void SetNextContinuationToken(Aws::String&& value) { m_nextContinuationToken = std::move(value); } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which means there are more keys in the bucket that can be listed. The next + * list requests to Amazon S3 can be continued with this + * <code>NextContinuationToken</code>. <code>NextContinuationToken</code> is + * obfuscated and is not a real key</p> + */ + inline void SetNextContinuationToken(const char* value) { m_nextContinuationToken.assign(value); } + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which means there are more keys in the bucket that can be listed. The next + * list requests to Amazon S3 can be continued with this + * <code>NextContinuationToken</code>. <code>NextContinuationToken</code> is + * obfuscated and is not a real key</p> + */ + inline ListObjectsV2Result& WithNextContinuationToken(const Aws::String& value) { SetNextContinuationToken(value); return *this;} + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which means there are more keys in the bucket that can be listed. The next + * list requests to Amazon S3 can be continued with this + * <code>NextContinuationToken</code>. <code>NextContinuationToken</code> is + * obfuscated and is not a real key</p> + */ + inline ListObjectsV2Result& WithNextContinuationToken(Aws::String&& value) { SetNextContinuationToken(std::move(value)); return *this;} + + /** + * <p> <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is + * true, which means there are more keys in the bucket that can be listed. The next + * list requests to Amazon S3 can be continued with this + * <code>NextContinuationToken</code>. <code>NextContinuationToken</code> is + * obfuscated and is not a real key</p> + */ + inline ListObjectsV2Result& WithNextContinuationToken(const char* value) { SetNextContinuationToken(value); return *this;} + + + /** + * <p>If StartAfter was sent with the request, it is included in the response.</p> + */ + inline const Aws::String& GetStartAfter() const{ return m_startAfter; } + + /** + * <p>If StartAfter was sent with the request, it is included in the response.</p> + */ + inline void SetStartAfter(const Aws::String& value) { m_startAfter = value; } + + /** + * <p>If StartAfter was sent with the request, it is included in the response.</p> + */ + inline void SetStartAfter(Aws::String&& value) { m_startAfter = std::move(value); } + + /** + * <p>If StartAfter was sent with the request, it is included in the response.</p> + */ + inline void SetStartAfter(const char* value) { m_startAfter.assign(value); } + + /** + * <p>If StartAfter was sent with the request, it is included in the response.</p> + */ + inline ListObjectsV2Result& WithStartAfter(const Aws::String& value) { SetStartAfter(value); return *this;} + + /** + * <p>If StartAfter was sent with the request, it is included in the response.</p> + */ + inline ListObjectsV2Result& WithStartAfter(Aws::String&& value) { SetStartAfter(std::move(value)); return *this;} + + /** + * <p>If StartAfter was sent with the request, it is included in the response.</p> + */ + inline ListObjectsV2Result& WithStartAfter(const char* value) { SetStartAfter(value); return *this;} + + private: + + bool m_isTruncated; + + Aws::Vector<Object> m_contents; + + Aws::String m_name; + + Aws::String m_prefix; + + Aws::String m_delimiter; + + int m_maxKeys; + + Aws::Vector<CommonPrefix> m_commonPrefixes; + + EncodingType m_encodingType; + + int m_keyCount; + + Aws::String m_continuationToken; + + Aws::String m_nextContinuationToken; + + Aws::String m_startAfter; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h new file mode 100644 index 0000000000..eca155dfe3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsRequest.h @@ -0,0 +1,502 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API ListPartsRequest : public S3Request + { + public: + ListPartsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListParts"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListPartsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListPartsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which the parts are being uploaded. </p> <p>When + * using this API with an access point, you must direct requests to the access + * point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ListPartsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline ListPartsRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline ListPartsRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline ListPartsRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline int GetMaxParts() const{ return m_maxParts; } + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline bool MaxPartsHasBeenSet() const { return m_maxPartsHasBeenSet; } + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline void SetMaxParts(int value) { m_maxPartsHasBeenSet = true; m_maxParts = value; } + + /** + * <p>Sets the maximum number of parts to return.</p> + */ + inline ListPartsRequest& WithMaxParts(int value) { SetMaxParts(value); return *this;} + + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline int GetPartNumberMarker() const{ return m_partNumberMarker; } + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline bool PartNumberMarkerHasBeenSet() const { return m_partNumberMarkerHasBeenSet; } + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline void SetPartNumberMarker(int value) { m_partNumberMarkerHasBeenSet = true; m_partNumberMarker = value; } + + /** + * <p>Specifies the part after which listing should begin. Only parts with higher + * part numbers will be listed.</p> + */ + inline ListPartsRequest& WithPartNumberMarker(int value) { SetPartNumberMarker(value); return *this;} + + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline ListPartsRequest& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline ListPartsRequest& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline ListPartsRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline ListPartsRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline ListPartsRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListPartsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListPartsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline ListPartsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline ListPartsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline ListPartsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline ListPartsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline ListPartsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListPartsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListPartsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline ListPartsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline ListPartsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline ListPartsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + int m_maxParts; + bool m_maxPartsHasBeenSet; + + int m_partNumberMarker; + bool m_partNumberMarkerHasBeenSet; + + Aws::String m_uploadId; + bool m_uploadIdHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h new file mode 100644 index 0000000000..9cf2e6d514 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ListPartsResult.h @@ -0,0 +1,547 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Initiator.h> +#include <aws/s3/model/Owner.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/s3/model/Part.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API ListPartsResult + { + public: + ListPartsResult(); + ListPartsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + ListPartsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, then the response includes this header indicating + * when the initiated multipart upload will become eligible for abort operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>The + * response will also include the <code>x-amz-abort-rule-id</code> header that will + * provide the ID of the lifecycle configuration rule that defines this action.</p> + */ + inline const Aws::Utils::DateTime& GetAbortDate() const{ return m_abortDate; } + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, then the response includes this header indicating + * when the initiated multipart upload will become eligible for abort operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>The + * response will also include the <code>x-amz-abort-rule-id</code> header that will + * provide the ID of the lifecycle configuration rule that defines this action.</p> + */ + inline void SetAbortDate(const Aws::Utils::DateTime& value) { m_abortDate = value; } + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, then the response includes this header indicating + * when the initiated multipart upload will become eligible for abort operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>The + * response will also include the <code>x-amz-abort-rule-id</code> header that will + * provide the ID of the lifecycle configuration rule that defines this action.</p> + */ + inline void SetAbortDate(Aws::Utils::DateTime&& value) { m_abortDate = std::move(value); } + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, then the response includes this header indicating + * when the initiated multipart upload will become eligible for abort operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>The + * response will also include the <code>x-amz-abort-rule-id</code> header that will + * provide the ID of the lifecycle configuration rule that defines this action.</p> + */ + inline ListPartsResult& WithAbortDate(const Aws::Utils::DateTime& value) { SetAbortDate(value); return *this;} + + /** + * <p>If the bucket has a lifecycle rule configured with an action to abort + * incomplete multipart uploads and the prefix in the lifecycle rule matches the + * object name in the request, then the response includes this header indicating + * when the initiated multipart upload will become eligible for abort operation. + * For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting + * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p> <p>The + * response will also include the <code>x-amz-abort-rule-id</code> header that will + * provide the ID of the lifecycle configuration rule that defines this action.</p> + */ + inline ListPartsResult& WithAbortDate(Aws::Utils::DateTime&& value) { SetAbortDate(std::move(value)); return *this;} + + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies applicable lifecycle configuration rule that defines the action to + * abort incomplete multipart uploads.</p> + */ + inline const Aws::String& GetAbortRuleId() const{ return m_abortRuleId; } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies applicable lifecycle configuration rule that defines the action to + * abort incomplete multipart uploads.</p> + */ + inline void SetAbortRuleId(const Aws::String& value) { m_abortRuleId = value; } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies applicable lifecycle configuration rule that defines the action to + * abort incomplete multipart uploads.</p> + */ + inline void SetAbortRuleId(Aws::String&& value) { m_abortRuleId = std::move(value); } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies applicable lifecycle configuration rule that defines the action to + * abort incomplete multipart uploads.</p> + */ + inline void SetAbortRuleId(const char* value) { m_abortRuleId.assign(value); } + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies applicable lifecycle configuration rule that defines the action to + * abort incomplete multipart uploads.</p> + */ + inline ListPartsResult& WithAbortRuleId(const Aws::String& value) { SetAbortRuleId(value); return *this;} + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies applicable lifecycle configuration rule that defines the action to + * abort incomplete multipart uploads.</p> + */ + inline ListPartsResult& WithAbortRuleId(Aws::String&& value) { SetAbortRuleId(std::move(value)); return *this;} + + /** + * <p>This header is returned along with the <code>x-amz-abort-date</code> header. + * It identifies applicable lifecycle configuration rule that defines the action to + * abort incomplete multipart uploads.</p> + */ + inline ListPartsResult& WithAbortRuleId(const char* value) { SetAbortRuleId(value); return *this;} + + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucket = value; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline void SetBucket(const char* value) { m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline ListPartsResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline ListPartsResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + */ + inline ListPartsResult& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_key = value; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_key = std::move(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_key.assign(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline ListPartsResult& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline ListPartsResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline ListPartsResult& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadId = value; } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadId = std::move(value); } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline void SetUploadId(const char* value) { m_uploadId.assign(value); } + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline ListPartsResult& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline ListPartsResult& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose parts are being listed.</p> + */ + inline ListPartsResult& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the part-number-marker request parameter in a + * subsequent request.</p> + */ + inline int GetPartNumberMarker() const{ return m_partNumberMarker; } + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the part-number-marker request parameter in a + * subsequent request.</p> + */ + inline void SetPartNumberMarker(int value) { m_partNumberMarker = value; } + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the part-number-marker request parameter in a + * subsequent request.</p> + */ + inline ListPartsResult& WithPartNumberMarker(int value) { SetPartNumberMarker(value); return *this;} + + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the part-number-marker request parameter in a + * subsequent request.</p> + */ + inline int GetNextPartNumberMarker() const{ return m_nextPartNumberMarker; } + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the part-number-marker request parameter in a + * subsequent request.</p> + */ + inline void SetNextPartNumberMarker(int value) { m_nextPartNumberMarker = value; } + + /** + * <p>When a list is truncated, this element specifies the last part in the list, + * as well as the value to use for the part-number-marker request parameter in a + * subsequent request.</p> + */ + inline ListPartsResult& WithNextPartNumberMarker(int value) { SetNextPartNumberMarker(value); return *this;} + + + /** + * <p>Maximum number of parts that were allowed in the response.</p> + */ + inline int GetMaxParts() const{ return m_maxParts; } + + /** + * <p>Maximum number of parts that were allowed in the response.</p> + */ + inline void SetMaxParts(int value) { m_maxParts = value; } + + /** + * <p>Maximum number of parts that were allowed in the response.</p> + */ + inline ListPartsResult& WithMaxParts(int value) { SetMaxParts(value); return *this;} + + + /** + * <p> Indicates whether the returned list of parts is truncated. A true value + * indicates that the list was truncated. A list can be truncated if the number of + * parts exceeds the limit returned in the MaxParts element.</p> + */ + inline bool GetIsTruncated() const{ return m_isTruncated; } + + /** + * <p> Indicates whether the returned list of parts is truncated. A true value + * indicates that the list was truncated. A list can be truncated if the number of + * parts exceeds the limit returned in the MaxParts element.</p> + */ + inline void SetIsTruncated(bool value) { m_isTruncated = value; } + + /** + * <p> Indicates whether the returned list of parts is truncated. A true value + * indicates that the list was truncated. A list can be truncated if the number of + * parts exceeds the limit returned in the MaxParts element.</p> + */ + inline ListPartsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} + + + /** + * <p> Container for elements related to a particular part. A response can contain + * zero or more <code>Part</code> elements.</p> + */ + inline const Aws::Vector<Part>& GetParts() const{ return m_parts; } + + /** + * <p> Container for elements related to a particular part. A response can contain + * zero or more <code>Part</code> elements.</p> + */ + inline void SetParts(const Aws::Vector<Part>& value) { m_parts = value; } + + /** + * <p> Container for elements related to a particular part. A response can contain + * zero or more <code>Part</code> elements.</p> + */ + inline void SetParts(Aws::Vector<Part>&& value) { m_parts = std::move(value); } + + /** + * <p> Container for elements related to a particular part. A response can contain + * zero or more <code>Part</code> elements.</p> + */ + inline ListPartsResult& WithParts(const Aws::Vector<Part>& value) { SetParts(value); return *this;} + + /** + * <p> Container for elements related to a particular part. A response can contain + * zero or more <code>Part</code> elements.</p> + */ + inline ListPartsResult& WithParts(Aws::Vector<Part>&& value) { SetParts(std::move(value)); return *this;} + + /** + * <p> Container for elements related to a particular part. A response can contain + * zero or more <code>Part</code> elements.</p> + */ + inline ListPartsResult& AddParts(const Part& value) { m_parts.push_back(value); return *this; } + + /** + * <p> Container for elements related to a particular part. A response can contain + * zero or more <code>Part</code> elements.</p> + */ + inline ListPartsResult& AddParts(Part&& value) { m_parts.push_back(std::move(value)); return *this; } + + + /** + * <p>Container element that identifies who initiated the multipart upload. If the + * initiator is an AWS account, this element provides the same information as the + * <code>Owner</code> element. If the initiator is an IAM User, this element + * provides the user ARN and display name.</p> + */ + inline const Initiator& GetInitiator() const{ return m_initiator; } + + /** + * <p>Container element that identifies who initiated the multipart upload. If the + * initiator is an AWS account, this element provides the same information as the + * <code>Owner</code> element. If the initiator is an IAM User, this element + * provides the user ARN and display name.</p> + */ + inline void SetInitiator(const Initiator& value) { m_initiator = value; } + + /** + * <p>Container element that identifies who initiated the multipart upload. If the + * initiator is an AWS account, this element provides the same information as the + * <code>Owner</code> element. If the initiator is an IAM User, this element + * provides the user ARN and display name.</p> + */ + inline void SetInitiator(Initiator&& value) { m_initiator = std::move(value); } + + /** + * <p>Container element that identifies who initiated the multipart upload. If the + * initiator is an AWS account, this element provides the same information as the + * <code>Owner</code> element. If the initiator is an IAM User, this element + * provides the user ARN and display name.</p> + */ + inline ListPartsResult& WithInitiator(const Initiator& value) { SetInitiator(value); return *this;} + + /** + * <p>Container element that identifies who initiated the multipart upload. If the + * initiator is an AWS account, this element provides the same information as the + * <code>Owner</code> element. If the initiator is an IAM User, this element + * provides the user ARN and display name.</p> + */ + inline ListPartsResult& WithInitiator(Initiator&& value) { SetInitiator(std::move(value)); return *this;} + + + /** + * <p> Container element that identifies the object owner, after the object is + * created. If multipart upload is initiated by an IAM user, this element provides + * the parent account ID and display name.</p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p> Container element that identifies the object owner, after the object is + * created. If multipart upload is initiated by an IAM user, this element provides + * the parent account ID and display name.</p> + */ + inline void SetOwner(const Owner& value) { m_owner = value; } + + /** + * <p> Container element that identifies the object owner, after the object is + * created. If multipart upload is initiated by an IAM user, this element provides + * the parent account ID and display name.</p> + */ + inline void SetOwner(Owner&& value) { m_owner = std::move(value); } + + /** + * <p> Container element that identifies the object owner, after the object is + * created. If multipart upload is initiated by an IAM user, this element provides + * the parent account ID and display name.</p> + */ + inline ListPartsResult& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p> Container element that identifies the object owner, after the object is + * created. If multipart upload is initiated by an IAM user, this element provides + * the parent account ID and display name.</p> + */ + inline ListPartsResult& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + + /** + * <p>Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded + * object.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded + * object.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClass = value; } + + /** + * <p>Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded + * object.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClass = std::move(value); } + + /** + * <p>Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded + * object.</p> + */ + inline ListPartsResult& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded + * object.</p> + */ + inline ListPartsResult& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline ListPartsResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline ListPartsResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_abortDate; + + Aws::String m_abortRuleId; + + Aws::String m_bucket; + + Aws::String m_key; + + Aws::String m_uploadId; + + int m_partNumberMarker; + + int m_nextPartNumberMarker; + + int m_maxParts; + + bool m_isTruncated; + + Aws::Vector<Part> m_parts; + + Initiator m_initiator; + + Owner m_owner; + + StorageClass m_storageClass; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h new file mode 100644 index 0000000000..444fbf49f0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/LoggingEnabled.h @@ -0,0 +1,238 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/TargetGrant.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes where logs are stored and the prefix that Amazon S3 assigns to all + * log object keys for a bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html">PUT + * Bucket logging</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LoggingEnabled">AWS + * API Reference</a></p> + */ + class AWS_S3_API LoggingEnabled + { + public: + LoggingEnabled(); + LoggingEnabled(const Aws::Utils::Xml::XmlNode& xmlNode); + LoggingEnabled& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline const Aws::String& GetTargetBucket() const{ return m_targetBucket; } + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline bool TargetBucketHasBeenSet() const { return m_targetBucketHasBeenSet; } + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline void SetTargetBucket(const Aws::String& value) { m_targetBucketHasBeenSet = true; m_targetBucket = value; } + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline void SetTargetBucket(Aws::String&& value) { m_targetBucketHasBeenSet = true; m_targetBucket = std::move(value); } + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline void SetTargetBucket(const char* value) { m_targetBucketHasBeenSet = true; m_targetBucket.assign(value); } + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline LoggingEnabled& WithTargetBucket(const Aws::String& value) { SetTargetBucket(value); return *this;} + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline LoggingEnabled& WithTargetBucket(Aws::String&& value) { SetTargetBucket(std::move(value)); return *this;} + + /** + * <p>Specifies the bucket where you want Amazon S3 to store server access logs. + * You can have your logs delivered to any bucket that you own, including the same + * bucket that is being logged. You can also configure multiple buckets to deliver + * their logs to the same target bucket. In this case, you should choose a + * different <code>TargetPrefix</code> for each source bucket so that the delivered + * log files can be distinguished by key.</p> + */ + inline LoggingEnabled& WithTargetBucket(const char* value) { SetTargetBucket(value); return *this;} + + + /** + * <p>Container for granting information.</p> + */ + inline const Aws::Vector<TargetGrant>& GetTargetGrants() const{ return m_targetGrants; } + + /** + * <p>Container for granting information.</p> + */ + inline bool TargetGrantsHasBeenSet() const { return m_targetGrantsHasBeenSet; } + + /** + * <p>Container for granting information.</p> + */ + inline void SetTargetGrants(const Aws::Vector<TargetGrant>& value) { m_targetGrantsHasBeenSet = true; m_targetGrants = value; } + + /** + * <p>Container for granting information.</p> + */ + inline void SetTargetGrants(Aws::Vector<TargetGrant>&& value) { m_targetGrantsHasBeenSet = true; m_targetGrants = std::move(value); } + + /** + * <p>Container for granting information.</p> + */ + inline LoggingEnabled& WithTargetGrants(const Aws::Vector<TargetGrant>& value) { SetTargetGrants(value); return *this;} + + /** + * <p>Container for granting information.</p> + */ + inline LoggingEnabled& WithTargetGrants(Aws::Vector<TargetGrant>&& value) { SetTargetGrants(std::move(value)); return *this;} + + /** + * <p>Container for granting information.</p> + */ + inline LoggingEnabled& AddTargetGrants(const TargetGrant& value) { m_targetGrantsHasBeenSet = true; m_targetGrants.push_back(value); return *this; } + + /** + * <p>Container for granting information.</p> + */ + inline LoggingEnabled& AddTargetGrants(TargetGrant&& value) { m_targetGrantsHasBeenSet = true; m_targetGrants.push_back(std::move(value)); return *this; } + + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline const Aws::String& GetTargetPrefix() const{ return m_targetPrefix; } + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline bool TargetPrefixHasBeenSet() const { return m_targetPrefixHasBeenSet; } + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline void SetTargetPrefix(const Aws::String& value) { m_targetPrefixHasBeenSet = true; m_targetPrefix = value; } + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline void SetTargetPrefix(Aws::String&& value) { m_targetPrefixHasBeenSet = true; m_targetPrefix = std::move(value); } + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline void SetTargetPrefix(const char* value) { m_targetPrefixHasBeenSet = true; m_targetPrefix.assign(value); } + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline LoggingEnabled& WithTargetPrefix(const Aws::String& value) { SetTargetPrefix(value); return *this;} + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline LoggingEnabled& WithTargetPrefix(Aws::String&& value) { SetTargetPrefix(std::move(value)); return *this;} + + /** + * <p>A prefix for all log object keys. If you store log files from multiple Amazon + * S3 buckets in a single bucket, you can use a prefix to distinguish which log + * files came from which bucket.</p> + */ + inline LoggingEnabled& WithTargetPrefix(const char* value) { SetTargetPrefix(value); return *this;} + + private: + + Aws::String m_targetBucket; + bool m_targetBucketHasBeenSet; + + Aws::Vector<TargetGrant> m_targetGrants; + bool m_targetGrantsHasBeenSet; + + Aws::String m_targetPrefix; + bool m_targetPrefixHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADelete.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADelete.h new file mode 100644 index 0000000000..02a689681e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADelete.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class MFADelete + { + NOT_SET, + Enabled, + Disabled + }; + +namespace MFADeleteMapper +{ +AWS_S3_API MFADelete GetMFADeleteForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForMFADelete(MFADelete value); +} // namespace MFADeleteMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADeleteStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADeleteStatus.h new file mode 100644 index 0000000000..f48fcf21ca --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MFADeleteStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class MFADeleteStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace MFADeleteStatusMapper +{ +AWS_S3_API MFADeleteStatus GetMFADeleteStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForMFADeleteStatus(MFADeleteStatus value); +} // namespace MFADeleteStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataDirective.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataDirective.h new file mode 100644 index 0000000000..74e71b2a42 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataDirective.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class MetadataDirective + { + NOT_SET, + COPY, + REPLACE + }; + +namespace MetadataDirectiveMapper +{ +AWS_S3_API MetadataDirective GetMetadataDirectiveForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForMetadataDirective(MetadataDirective value); +} // namespace MetadataDirectiveMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h new file mode 100644 index 0000000000..b6d876e918 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetadataEntry.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A metadata key-value pair to store with an object.</p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataEntry">AWS + * API Reference</a></p> + */ + class AWS_S3_API MetadataEntry + { + public: + MetadataEntry(); + MetadataEntry(const Aws::Utils::Xml::XmlNode& xmlNode); + MetadataEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Name of the Object.</p> + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + * <p>Name of the Object.</p> + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + * <p>Name of the Object.</p> + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + * <p>Name of the Object.</p> + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + * <p>Name of the Object.</p> + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + * <p>Name of the Object.</p> + */ + inline MetadataEntry& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + * <p>Name of the Object.</p> + */ + inline MetadataEntry& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + * <p>Name of the Object.</p> + */ + inline MetadataEntry& WithName(const char* value) { SetName(value); return *this;} + + + /** + * <p>Value of the Object.</p> + */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + * <p>Value of the Object.</p> + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + * <p>Value of the Object.</p> + */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + * <p>Value of the Object.</p> + */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + * <p>Value of the Object.</p> + */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + * <p>Value of the Object.</p> + */ + inline MetadataEntry& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + * <p>Value of the Object.</p> + */ + inline MetadataEntry& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + * <p>Value of the Object.</p> + */ + inline MetadataEntry& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet; + + Aws::String m_value; + bool m_valueHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h new file mode 100644 index 0000000000..815b2b556c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Metrics.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/MetricsStatus.h> +#include <aws/s3/model/ReplicationTimeValue.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p> A container specifying replication metrics-related settings enabling + * replication metrics and events.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Metrics">AWS API + * Reference</a></p> + */ + class AWS_S3_API Metrics + { + public: + Metrics(); + Metrics(const Aws::Utils::Xml::XmlNode& xmlNode); + Metrics& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p> Specifies whether the replication metrics are enabled. </p> + */ + inline const MetricsStatus& GetStatus() const{ return m_status; } + + /** + * <p> Specifies whether the replication metrics are enabled. </p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p> Specifies whether the replication metrics are enabled. </p> + */ + inline void SetStatus(const MetricsStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p> Specifies whether the replication metrics are enabled. </p> + */ + inline void SetStatus(MetricsStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p> Specifies whether the replication metrics are enabled. </p> + */ + inline Metrics& WithStatus(const MetricsStatus& value) { SetStatus(value); return *this;} + + /** + * <p> Specifies whether the replication metrics are enabled. </p> + */ + inline Metrics& WithStatus(MetricsStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + * <p> A container specifying the time threshold for emitting the + * <code>s3:Replication:OperationMissedThreshold</code> event. </p> + */ + inline const ReplicationTimeValue& GetEventThreshold() const{ return m_eventThreshold; } + + /** + * <p> A container specifying the time threshold for emitting the + * <code>s3:Replication:OperationMissedThreshold</code> event. </p> + */ + inline bool EventThresholdHasBeenSet() const { return m_eventThresholdHasBeenSet; } + + /** + * <p> A container specifying the time threshold for emitting the + * <code>s3:Replication:OperationMissedThreshold</code> event. </p> + */ + inline void SetEventThreshold(const ReplicationTimeValue& value) { m_eventThresholdHasBeenSet = true; m_eventThreshold = value; } + + /** + * <p> A container specifying the time threshold for emitting the + * <code>s3:Replication:OperationMissedThreshold</code> event. </p> + */ + inline void SetEventThreshold(ReplicationTimeValue&& value) { m_eventThresholdHasBeenSet = true; m_eventThreshold = std::move(value); } + + /** + * <p> A container specifying the time threshold for emitting the + * <code>s3:Replication:OperationMissedThreshold</code> event. </p> + */ + inline Metrics& WithEventThreshold(const ReplicationTimeValue& value) { SetEventThreshold(value); return *this;} + + /** + * <p> A container specifying the time threshold for emitting the + * <code>s3:Replication:OperationMissedThreshold</code> event. </p> + */ + inline Metrics& WithEventThreshold(ReplicationTimeValue&& value) { SetEventThreshold(std::move(value)); return *this;} + + private: + + MetricsStatus m_status; + bool m_statusHasBeenSet; + + ReplicationTimeValue m_eventThreshold; + bool m_eventThresholdHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h new file mode 100644 index 0000000000..e413af11d9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsAndOperator.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsAndOperator">AWS + * API Reference</a></p> + */ + class AWS_S3_API MetricsAndOperator + { + public: + MetricsAndOperator(); + MetricsAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + MetricsAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline MetricsAndOperator& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline MetricsAndOperator& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix used when evaluating an AND predicate.</p> + */ + inline MetricsAndOperator& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline MetricsAndOperator& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline MetricsAndOperator& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline MetricsAndOperator& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + * <p>The list of tags used when evaluating an AND predicate.</p> + */ + inline MetricsAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::Vector<Tag> m_tags; + bool m_tagsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h new file mode 100644 index 0000000000..57abb1c653 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsConfiguration.h @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/MetricsFilter.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies a metrics configuration for the CloudWatch request metrics + * (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're + * updating an existing metrics configuration, note that this is a full replacement + * of the existing metrics configuration. If you don't include the elements you + * want to keep, they are erased. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html"> + * PUT Bucket metrics</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API MetricsConfiguration + { + public: + MetricsConfiguration(); + MetricsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + MetricsConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline MetricsConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline MetricsConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline MetricsConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>Specifies a metrics configuration filter. The metrics configuration will only + * include objects that meet the filter's criteria. A filter must be a prefix, a + * tag, or a conjunction (MetricsAndOperator).</p> + */ + inline const MetricsFilter& GetFilter() const{ return m_filter; } + + /** + * <p>Specifies a metrics configuration filter. The metrics configuration will only + * include objects that meet the filter's criteria. A filter must be a prefix, a + * tag, or a conjunction (MetricsAndOperator).</p> + */ + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + /** + * <p>Specifies a metrics configuration filter. The metrics configuration will only + * include objects that meet the filter's criteria. A filter must be a prefix, a + * tag, or a conjunction (MetricsAndOperator).</p> + */ + inline void SetFilter(const MetricsFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + /** + * <p>Specifies a metrics configuration filter. The metrics configuration will only + * include objects that meet the filter's criteria. A filter must be a prefix, a + * tag, or a conjunction (MetricsAndOperator).</p> + */ + inline void SetFilter(MetricsFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + /** + * <p>Specifies a metrics configuration filter. The metrics configuration will only + * include objects that meet the filter's criteria. A filter must be a prefix, a + * tag, or a conjunction (MetricsAndOperator).</p> + */ + inline MetricsConfiguration& WithFilter(const MetricsFilter& value) { SetFilter(value); return *this;} + + /** + * <p>Specifies a metrics configuration filter. The metrics configuration will only + * include objects that meet the filter's criteria. A filter must be a prefix, a + * tag, or a conjunction (MetricsAndOperator).</p> + */ + inline MetricsConfiguration& WithFilter(MetricsFilter&& value) { SetFilter(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + MetricsFilter m_filter; + bool m_filterHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h new file mode 100644 index 0000000000..1305abdf21 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsFilter.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Tag.h> +#include <aws/s3/model/MetricsAndOperator.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies a metrics configuration filter. The metrics configuration only + * includes objects that meet the filter's criteria. A filter must be a prefix, a + * tag, or a conjunction (MetricsAndOperator).</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsFilter">AWS + * API Reference</a></p> + */ + class AWS_S3_API MetricsFilter + { + public: + MetricsFilter(); + MetricsFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + MetricsFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>The tag used when evaluating a metrics filter.</p> + */ + inline const Tag& GetTag() const{ return m_tag; } + + /** + * <p>The tag used when evaluating a metrics filter.</p> + */ + inline bool TagHasBeenSet() const { return m_tagHasBeenSet; } + + /** + * <p>The tag used when evaluating a metrics filter.</p> + */ + inline void SetTag(const Tag& value) { m_tagHasBeenSet = true; m_tag = value; } + + /** + * <p>The tag used when evaluating a metrics filter.</p> + */ + inline void SetTag(Tag&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); } + + /** + * <p>The tag used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithTag(const Tag& value) { SetTag(value); return *this;} + + /** + * <p>The tag used when evaluating a metrics filter.</p> + */ + inline MetricsFilter& WithTag(Tag&& value) { SetTag(std::move(value)); return *this;} + + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline const MetricsAndOperator& GetAnd() const{ return m_and; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline bool AndHasBeenSet() const { return m_andHasBeenSet; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline void SetAnd(const MetricsAndOperator& value) { m_andHasBeenSet = true; m_and = value; } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline void SetAnd(MetricsAndOperator&& value) { m_andHasBeenSet = true; m_and = std::move(value); } + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline MetricsFilter& WithAnd(const MetricsAndOperator& value) { SetAnd(value); return *this;} + + /** + * <p>A conjunction (logical AND) of predicates, which is used in evaluating a + * metrics filter. The operator must have at least two predicates, and an object + * must match all of the predicates in order for the filter to apply.</p> + */ + inline MetricsFilter& WithAnd(MetricsAndOperator&& value) { SetAnd(std::move(value)); return *this;} + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Tag m_tag; + bool m_tagHasBeenSet; + + MetricsAndOperator m_and; + bool m_andHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsStatus.h new file mode 100644 index 0000000000..adaa3d7b65 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MetricsStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class MetricsStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace MetricsStatusMapper +{ +AWS_S3_API MetricsStatus GetMetricsStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForMetricsStatus(MetricsStatus value); +} // namespace MetricsStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h new file mode 100644 index 0000000000..29eafa4222 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/MultipartUpload.h @@ -0,0 +1,273 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/Owner.h> +#include <aws/s3/model/Initiator.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the <code>MultipartUpload</code> for the Amazon S3 + * object.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MultipartUpload">AWS + * API Reference</a></p> + */ + class AWS_S3_API MultipartUpload + { + public: + MultipartUpload(); + MultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode); + MultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); } + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline MultipartUpload& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline MultipartUpload& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>Upload ID that identifies the multipart upload.</p> + */ + inline MultipartUpload& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline MultipartUpload& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline MultipartUpload& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Key of the object for which the multipart upload was initiated.</p> + */ + inline MultipartUpload& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Date and time at which the multipart upload was initiated.</p> + */ + inline const Aws::Utils::DateTime& GetInitiated() const{ return m_initiated; } + + /** + * <p>Date and time at which the multipart upload was initiated.</p> + */ + inline bool InitiatedHasBeenSet() const { return m_initiatedHasBeenSet; } + + /** + * <p>Date and time at which the multipart upload was initiated.</p> + */ + inline void SetInitiated(const Aws::Utils::DateTime& value) { m_initiatedHasBeenSet = true; m_initiated = value; } + + /** + * <p>Date and time at which the multipart upload was initiated.</p> + */ + inline void SetInitiated(Aws::Utils::DateTime&& value) { m_initiatedHasBeenSet = true; m_initiated = std::move(value); } + + /** + * <p>Date and time at which the multipart upload was initiated.</p> + */ + inline MultipartUpload& WithInitiated(const Aws::Utils::DateTime& value) { SetInitiated(value); return *this;} + + /** + * <p>Date and time at which the multipart upload was initiated.</p> + */ + inline MultipartUpload& WithInitiated(Aws::Utils::DateTime&& value) { SetInitiated(std::move(value)); return *this;} + + + /** + * <p>The class of storage used to store the object.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline MultipartUpload& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>The class of storage used to store the object.</p> + */ + inline MultipartUpload& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>Specifies the owner of the object that is part of the multipart upload. </p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p>Specifies the owner of the object that is part of the multipart upload. </p> + */ + inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } + + /** + * <p>Specifies the owner of the object that is part of the multipart upload. </p> + */ + inline void SetOwner(const Owner& value) { m_ownerHasBeenSet = true; m_owner = value; } + + /** + * <p>Specifies the owner of the object that is part of the multipart upload. </p> + */ + inline void SetOwner(Owner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } + + /** + * <p>Specifies the owner of the object that is part of the multipart upload. </p> + */ + inline MultipartUpload& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p>Specifies the owner of the object that is part of the multipart upload. </p> + */ + inline MultipartUpload& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + + /** + * <p>Identifies who initiated the multipart upload.</p> + */ + inline const Initiator& GetInitiator() const{ return m_initiator; } + + /** + * <p>Identifies who initiated the multipart upload.</p> + */ + inline bool InitiatorHasBeenSet() const { return m_initiatorHasBeenSet; } + + /** + * <p>Identifies who initiated the multipart upload.</p> + */ + inline void SetInitiator(const Initiator& value) { m_initiatorHasBeenSet = true; m_initiator = value; } + + /** + * <p>Identifies who initiated the multipart upload.</p> + */ + inline void SetInitiator(Initiator&& value) { m_initiatorHasBeenSet = true; m_initiator = std::move(value); } + + /** + * <p>Identifies who initiated the multipart upload.</p> + */ + inline MultipartUpload& WithInitiator(const Initiator& value) { SetInitiator(value); return *this;} + + /** + * <p>Identifies who initiated the multipart upload.</p> + */ + inline MultipartUpload& WithInitiator(Initiator&& value) { SetInitiator(std::move(value)); return *this;} + + private: + + Aws::String m_uploadId; + bool m_uploadIdHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::Utils::DateTime m_initiated; + bool m_initiatedHasBeenSet; + + StorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + Owner m_owner; + bool m_ownerHasBeenSet; + + Initiator m_initiator; + bool m_initiatorHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h new file mode 100644 index 0000000000..9e966d7722 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionExpiration.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 + * permanently deletes the noncurrent object versions. You set this lifecycle + * configuration action on a bucket that has versioning enabled (or suspended) to + * request that Amazon S3 delete noncurrent object versions at a specific period in + * the object's lifetime.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionExpiration">AWS + * API Reference</a></p> + */ + class AWS_S3_API NoncurrentVersionExpiration + { + public: + NoncurrentVersionExpiration(); + NoncurrentVersionExpiration(const Aws::Utils::Xml::XmlNode& xmlNode); + NoncurrentVersionExpiration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline int GetNoncurrentDays() const{ return m_noncurrentDays; } + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline bool NoncurrentDaysHasBeenSet() const { return m_noncurrentDaysHasBeenSet; } + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetNoncurrentDays(int value) { m_noncurrentDaysHasBeenSet = true; m_noncurrentDays = value; } + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline NoncurrentVersionExpiration& WithNoncurrentDays(int value) { SetNoncurrentDays(value); return *this;} + + private: + + int m_noncurrentDays; + bool m_noncurrentDaysHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h new file mode 100644 index 0000000000..03c21414a5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NoncurrentVersionTransition.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/TransitionStorageClass.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the transition rule that describes when noncurrent objects + * transition to the <code>STANDARD_IA</code>, <code>ONEZONE_IA</code>, + * <code>INTELLIGENT_TIERING</code>, <code>GLACIER</code>, or + * <code>DEEP_ARCHIVE</code> storage class. If your bucket is versioning-enabled + * (or versioning is suspended), you can set this action to request that Amazon S3 + * transition noncurrent object versions to the <code>STANDARD_IA</code>, + * <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>, <code>GLACIER</code>, + * or <code>DEEP_ARCHIVE</code> storage class at a specific period in the object's + * lifetime.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionTransition">AWS + * API Reference</a></p> + */ + class AWS_S3_API NoncurrentVersionTransition + { + public: + NoncurrentVersionTransition(); + NoncurrentVersionTransition(const Aws::Utils::Xml::XmlNode& xmlNode); + NoncurrentVersionTransition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates How Long an Object Has Been Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline int GetNoncurrentDays() const{ return m_noncurrentDays; } + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates How Long an Object Has Been Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline bool NoncurrentDaysHasBeenSet() const { return m_noncurrentDaysHasBeenSet; } + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates How Long an Object Has Been Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetNoncurrentDays(int value) { m_noncurrentDaysHasBeenSet = true; m_noncurrentDays = value; } + + /** + * <p>Specifies the number of days an object is noncurrent before Amazon S3 can + * perform the associated action. For information about the noncurrent days + * calculations, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How + * Amazon S3 Calculates How Long an Object Has Been Noncurrent</a> in the <i>Amazon + * Simple Storage Service Developer Guide</i>.</p> + */ + inline NoncurrentVersionTransition& WithNoncurrentDays(int value) { SetNoncurrentDays(value); return *this;} + + + /** + * <p>The class of storage used to store the object.</p> + */ + inline const TransitionStorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(const TransitionStorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(TransitionStorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline NoncurrentVersionTransition& WithStorageClass(const TransitionStorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>The class of storage used to store the object.</p> + */ + inline NoncurrentVersionTransition& WithStorageClass(TransitionStorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + private: + + int m_noncurrentDays; + bool m_noncurrentDaysHasBeenSet; + + TransitionStorageClass m_storageClass; + bool m_storageClassHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h new file mode 100644 index 0000000000..f479b46490 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfiguration.h @@ -0,0 +1,205 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/TopicConfiguration.h> +#include <aws/s3/model/QueueConfiguration.h> +#include <aws/s3/model/LambdaFunctionConfiguration.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for specifying the notification configuration of the bucket. If + * this element is empty, notifications are turned off for the + * bucket.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API NotificationConfiguration + { + public: + NotificationConfiguration(); + NotificationConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + NotificationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline const Aws::Vector<TopicConfiguration>& GetTopicConfigurations() const{ return m_topicConfigurations; } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline bool TopicConfigurationsHasBeenSet() const { return m_topicConfigurationsHasBeenSet; } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline void SetTopicConfigurations(const Aws::Vector<TopicConfiguration>& value) { m_topicConfigurationsHasBeenSet = true; m_topicConfigurations = value; } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline void SetTopicConfigurations(Aws::Vector<TopicConfiguration>&& value) { m_topicConfigurationsHasBeenSet = true; m_topicConfigurations = std::move(value); } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline NotificationConfiguration& WithTopicConfigurations(const Aws::Vector<TopicConfiguration>& value) { SetTopicConfigurations(value); return *this;} + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline NotificationConfiguration& WithTopicConfigurations(Aws::Vector<TopicConfiguration>&& value) { SetTopicConfigurations(std::move(value)); return *this;} + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline NotificationConfiguration& AddTopicConfigurations(const TopicConfiguration& value) { m_topicConfigurationsHasBeenSet = true; m_topicConfigurations.push_back(value); return *this; } + + /** + * <p>The topic to which notifications are sent and the events for which + * notifications are generated.</p> + */ + inline NotificationConfiguration& AddTopicConfigurations(TopicConfiguration&& value) { m_topicConfigurationsHasBeenSet = true; m_topicConfigurations.push_back(std::move(value)); return *this; } + + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline const Aws::Vector<QueueConfiguration>& GetQueueConfigurations() const{ return m_queueConfigurations; } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline bool QueueConfigurationsHasBeenSet() const { return m_queueConfigurationsHasBeenSet; } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline void SetQueueConfigurations(const Aws::Vector<QueueConfiguration>& value) { m_queueConfigurationsHasBeenSet = true; m_queueConfigurations = value; } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline void SetQueueConfigurations(Aws::Vector<QueueConfiguration>&& value) { m_queueConfigurationsHasBeenSet = true; m_queueConfigurations = std::move(value); } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline NotificationConfiguration& WithQueueConfigurations(const Aws::Vector<QueueConfiguration>& value) { SetQueueConfigurations(value); return *this;} + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline NotificationConfiguration& WithQueueConfigurations(Aws::Vector<QueueConfiguration>&& value) { SetQueueConfigurations(std::move(value)); return *this;} + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline NotificationConfiguration& AddQueueConfigurations(const QueueConfiguration& value) { m_queueConfigurationsHasBeenSet = true; m_queueConfigurations.push_back(value); return *this; } + + /** + * <p>The Amazon Simple Queue Service queues to publish messages to and the events + * for which to publish messages.</p> + */ + inline NotificationConfiguration& AddQueueConfigurations(QueueConfiguration&& value) { m_queueConfigurationsHasBeenSet = true; m_queueConfigurations.push_back(std::move(value)); return *this; } + + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline const Aws::Vector<LambdaFunctionConfiguration>& GetLambdaFunctionConfigurations() const{ return m_lambdaFunctionConfigurations; } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline bool LambdaFunctionConfigurationsHasBeenSet() const { return m_lambdaFunctionConfigurationsHasBeenSet; } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline void SetLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations = value; } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline void SetLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations = std::move(value); } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline NotificationConfiguration& WithLambdaFunctionConfigurations(const Aws::Vector<LambdaFunctionConfiguration>& value) { SetLambdaFunctionConfigurations(value); return *this;} + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline NotificationConfiguration& WithLambdaFunctionConfigurations(Aws::Vector<LambdaFunctionConfiguration>&& value) { SetLambdaFunctionConfigurations(std::move(value)); return *this;} + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline NotificationConfiguration& AddLambdaFunctionConfigurations(const LambdaFunctionConfiguration& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations.push_back(value); return *this; } + + /** + * <p>Describes the AWS Lambda functions to invoke and the events for which to + * invoke them.</p> + */ + inline NotificationConfiguration& AddLambdaFunctionConfigurations(LambdaFunctionConfiguration&& value) { m_lambdaFunctionConfigurationsHasBeenSet = true; m_lambdaFunctionConfigurations.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<TopicConfiguration> m_topicConfigurations; + bool m_topicConfigurationsHasBeenSet; + + Aws::Vector<QueueConfiguration> m_queueConfigurations; + bool m_queueConfigurationsHasBeenSet; + + Aws::Vector<LambdaFunctionConfiguration> m_lambdaFunctionConfigurations; + bool m_lambdaFunctionConfigurationsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h new file mode 100644 index 0000000000..fabb46afcf --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationDeprecated.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/TopicConfigurationDeprecated.h> +#include <aws/s3/model/QueueConfigurationDeprecated.h> +#include <aws/s3/model/CloudFunctionConfiguration.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + class AWS_S3_API NotificationConfigurationDeprecated + { + public: + NotificationConfigurationDeprecated(); + NotificationConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); + NotificationConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>This data type is deprecated. A container for specifying the configuration + * for publication of messages to an Amazon Simple Notification Service (Amazon + * SNS) topic when Amazon S3 detects specified events. </p> + */ + inline const TopicConfigurationDeprecated& GetTopicConfiguration() const{ return m_topicConfiguration; } + + /** + * <p>This data type is deprecated. A container for specifying the configuration + * for publication of messages to an Amazon Simple Notification Service (Amazon + * SNS) topic when Amazon S3 detects specified events. </p> + */ + inline bool TopicConfigurationHasBeenSet() const { return m_topicConfigurationHasBeenSet; } + + /** + * <p>This data type is deprecated. A container for specifying the configuration + * for publication of messages to an Amazon Simple Notification Service (Amazon + * SNS) topic when Amazon S3 detects specified events. </p> + */ + inline void SetTopicConfiguration(const TopicConfigurationDeprecated& value) { m_topicConfigurationHasBeenSet = true; m_topicConfiguration = value; } + + /** + * <p>This data type is deprecated. A container for specifying the configuration + * for publication of messages to an Amazon Simple Notification Service (Amazon + * SNS) topic when Amazon S3 detects specified events. </p> + */ + inline void SetTopicConfiguration(TopicConfigurationDeprecated&& value) { m_topicConfigurationHasBeenSet = true; m_topicConfiguration = std::move(value); } + + /** + * <p>This data type is deprecated. A container for specifying the configuration + * for publication of messages to an Amazon Simple Notification Service (Amazon + * SNS) topic when Amazon S3 detects specified events. </p> + */ + inline NotificationConfigurationDeprecated& WithTopicConfiguration(const TopicConfigurationDeprecated& value) { SetTopicConfiguration(value); return *this;} + + /** + * <p>This data type is deprecated. A container for specifying the configuration + * for publication of messages to an Amazon Simple Notification Service (Amazon + * SNS) topic when Amazon S3 detects specified events. </p> + */ + inline NotificationConfigurationDeprecated& WithTopicConfiguration(TopicConfigurationDeprecated&& value) { SetTopicConfiguration(std::move(value)); return *this;} + + + /** + * <p>This data type is deprecated. This data type specifies the configuration for + * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when + * Amazon S3 detects specified events. </p> + */ + inline const QueueConfigurationDeprecated& GetQueueConfiguration() const{ return m_queueConfiguration; } + + /** + * <p>This data type is deprecated. This data type specifies the configuration for + * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when + * Amazon S3 detects specified events. </p> + */ + inline bool QueueConfigurationHasBeenSet() const { return m_queueConfigurationHasBeenSet; } + + /** + * <p>This data type is deprecated. This data type specifies the configuration for + * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when + * Amazon S3 detects specified events. </p> + */ + inline void SetQueueConfiguration(const QueueConfigurationDeprecated& value) { m_queueConfigurationHasBeenSet = true; m_queueConfiguration = value; } + + /** + * <p>This data type is deprecated. This data type specifies the configuration for + * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when + * Amazon S3 detects specified events. </p> + */ + inline void SetQueueConfiguration(QueueConfigurationDeprecated&& value) { m_queueConfigurationHasBeenSet = true; m_queueConfiguration = std::move(value); } + + /** + * <p>This data type is deprecated. This data type specifies the configuration for + * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when + * Amazon S3 detects specified events. </p> + */ + inline NotificationConfigurationDeprecated& WithQueueConfiguration(const QueueConfigurationDeprecated& value) { SetQueueConfiguration(value); return *this;} + + /** + * <p>This data type is deprecated. This data type specifies the configuration for + * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when + * Amazon S3 detects specified events. </p> + */ + inline NotificationConfigurationDeprecated& WithQueueConfiguration(QueueConfigurationDeprecated&& value) { SetQueueConfiguration(std::move(value)); return *this;} + + + /** + * <p>Container for specifying the AWS Lambda notification configuration.</p> + */ + inline const CloudFunctionConfiguration& GetCloudFunctionConfiguration() const{ return m_cloudFunctionConfiguration; } + + /** + * <p>Container for specifying the AWS Lambda notification configuration.</p> + */ + inline bool CloudFunctionConfigurationHasBeenSet() const { return m_cloudFunctionConfigurationHasBeenSet; } + + /** + * <p>Container for specifying the AWS Lambda notification configuration.</p> + */ + inline void SetCloudFunctionConfiguration(const CloudFunctionConfiguration& value) { m_cloudFunctionConfigurationHasBeenSet = true; m_cloudFunctionConfiguration = value; } + + /** + * <p>Container for specifying the AWS Lambda notification configuration.</p> + */ + inline void SetCloudFunctionConfiguration(CloudFunctionConfiguration&& value) { m_cloudFunctionConfigurationHasBeenSet = true; m_cloudFunctionConfiguration = std::move(value); } + + /** + * <p>Container for specifying the AWS Lambda notification configuration.</p> + */ + inline NotificationConfigurationDeprecated& WithCloudFunctionConfiguration(const CloudFunctionConfiguration& value) { SetCloudFunctionConfiguration(value); return *this;} + + /** + * <p>Container for specifying the AWS Lambda notification configuration.</p> + */ + inline NotificationConfigurationDeprecated& WithCloudFunctionConfiguration(CloudFunctionConfiguration&& value) { SetCloudFunctionConfiguration(std::move(value)); return *this;} + + private: + + TopicConfigurationDeprecated m_topicConfiguration; + bool m_topicConfigurationHasBeenSet; + + QueueConfigurationDeprecated m_queueConfiguration; + bool m_queueConfigurationHasBeenSet; + + CloudFunctionConfiguration m_cloudFunctionConfiguration; + bool m_cloudFunctionConfigurationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h new file mode 100644 index 0000000000..36e3ba429f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/NotificationConfigurationFilter.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/S3KeyFilter.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies object key name filtering rules. For information about key name + * filtering, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring + * Event Notifications</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationFilter">AWS + * API Reference</a></p> + */ + class AWS_S3_API NotificationConfigurationFilter + { + public: + NotificationConfigurationFilter(); + NotificationConfigurationFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + NotificationConfigurationFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const S3KeyFilter& GetKey() const{ return m_key; } + + + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + + inline void SetKey(const S3KeyFilter& value) { m_keyHasBeenSet = true; m_key = value; } + + + inline void SetKey(S3KeyFilter&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + + inline NotificationConfigurationFilter& WithKey(const S3KeyFilter& value) { SetKey(value); return *this;} + + + inline NotificationConfigurationFilter& WithKey(S3KeyFilter&& value) { SetKey(std::move(value)); return *this;} + + private: + + S3KeyFilter m_key; + bool m_keyHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h new file mode 100644 index 0000000000..a041642ca7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Object.h @@ -0,0 +1,358 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/ObjectStorageClass.h> +#include <aws/s3/model/Owner.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>An object consists of data and its descriptive metadata.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Object">AWS API + * Reference</a></p> + */ + class AWS_S3_API Object + { + public: + Object(); + Object(const Aws::Utils::Xml::XmlNode& xmlNode); + Object& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline Object& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline Object& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The name that you assign to an object. You use the object key to retrieve the + * object.</p> + */ + inline Object& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The date the Object was Last Modified</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>The date the Object was Last Modified</p> + */ + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + + /** + * <p>The date the Object was Last Modified</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + + /** + * <p>The date the Object was Last Modified</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + + /** + * <p>The date the Object was Last Modified</p> + */ + inline Object& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>The date the Object was Last Modified</p> + */ + inline Object& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline Object& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline Object& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>The entity tag is a hash of the object. The ETag reflects changes only to the + * contents of an object, not its metadata. The ETag may or may not be an MD5 + * digest of the object data. Whether or not it is depends on how the object was + * created and how it is encrypted as described below:</p> <ul> <li> <p>Objects + * created by the PUT Object, POST Object, or Copy operation, or through the AWS + * Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that + * are an MD5 digest of their object data.</p> </li> <li> <p>Objects created by the + * PUT Object, POST Object, or Copy operation, or through the AWS Management + * Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 + * digest of their object data.</p> </li> <li> <p>If an object is created by either + * the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, + * regardless of the method of encryption.</p> </li> </ul> + */ + inline Object& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>Size in bytes of the object</p> + */ + inline long long GetSize() const{ return m_size; } + + /** + * <p>Size in bytes of the object</p> + */ + inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } + + /** + * <p>Size in bytes of the object</p> + */ + inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; } + + /** + * <p>Size in bytes of the object</p> + */ + inline Object& WithSize(long long value) { SetSize(value); return *this;} + + + /** + * <p>The class of storage used to store the object.</p> + */ + inline const ObjectStorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(const ObjectStorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(ObjectStorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline Object& WithStorageClass(const ObjectStorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>The class of storage used to store the object.</p> + */ + inline Object& WithStorageClass(ObjectStorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>The owner of the object</p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p>The owner of the object</p> + */ + inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } + + /** + * <p>The owner of the object</p> + */ + inline void SetOwner(const Owner& value) { m_ownerHasBeenSet = true; m_owner = value; } + + /** + * <p>The owner of the object</p> + */ + inline void SetOwner(Owner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } + + /** + * <p>The owner of the object</p> + */ + inline Object& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p>The owner of the object</p> + */ + inline Object& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet; + + Aws::String m_eTag; + bool m_eTagHasBeenSet; + + long long m_size; + bool m_sizeHasBeenSet; + + ObjectStorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + Owner m_owner; + bool m_ownerHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectCannedACL.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectCannedACL.h new file mode 100644 index 0000000000..7c5c6376c9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectCannedACL.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectCannedACL + { + NOT_SET, + private_, + public_read, + public_read_write, + authenticated_read, + aws_exec_read, + bucket_owner_read, + bucket_owner_full_control + }; + +namespace ObjectCannedACLMapper +{ +AWS_S3_API ObjectCannedACL GetObjectCannedACLForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectCannedACL(ObjectCannedACL value); +} // namespace ObjectCannedACLMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h new file mode 100644 index 0000000000..ef7bdd50a8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectIdentifier.h @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Object Identifier is unique value to identify objects.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectIdentifier">AWS + * API Reference</a></p> + */ + class AWS_S3_API ObjectIdentifier + { + public: + ObjectIdentifier(); + ObjectIdentifier(const Aws::Utils::Xml::XmlNode& xmlNode); + ObjectIdentifier& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Key name of the object to delete.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Key name of the object to delete.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Key name of the object to delete.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Key name of the object to delete.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Key name of the object to delete.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Key name of the object to delete.</p> + */ + inline ObjectIdentifier& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Key name of the object to delete.</p> + */ + inline ObjectIdentifier& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Key name of the object to delete.</p> + */ + inline ObjectIdentifier& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline ObjectIdentifier& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline ObjectIdentifier& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>VersionId for the specific version of the object to delete.</p> + */ + inline ObjectIdentifier& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h new file mode 100644 index 0000000000..4d83cc9565 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockConfiguration.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectLockEnabled.h> +#include <aws/s3/model/ObjectLockRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The container element for Object Lock configuration parameters.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API ObjectLockConfiguration + { + public: + ObjectLockConfiguration(); + ObjectLockConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + ObjectLockConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Indicates whether this bucket has an Object Lock configuration enabled.</p> + */ + inline const ObjectLockEnabled& GetObjectLockEnabled() const{ return m_objectLockEnabled; } + + /** + * <p>Indicates whether this bucket has an Object Lock configuration enabled.</p> + */ + inline bool ObjectLockEnabledHasBeenSet() const { return m_objectLockEnabledHasBeenSet; } + + /** + * <p>Indicates whether this bucket has an Object Lock configuration enabled.</p> + */ + inline void SetObjectLockEnabled(const ObjectLockEnabled& value) { m_objectLockEnabledHasBeenSet = true; m_objectLockEnabled = value; } + + /** + * <p>Indicates whether this bucket has an Object Lock configuration enabled.</p> + */ + inline void SetObjectLockEnabled(ObjectLockEnabled&& value) { m_objectLockEnabledHasBeenSet = true; m_objectLockEnabled = std::move(value); } + + /** + * <p>Indicates whether this bucket has an Object Lock configuration enabled.</p> + */ + inline ObjectLockConfiguration& WithObjectLockEnabled(const ObjectLockEnabled& value) { SetObjectLockEnabled(value); return *this;} + + /** + * <p>Indicates whether this bucket has an Object Lock configuration enabled.</p> + */ + inline ObjectLockConfiguration& WithObjectLockEnabled(ObjectLockEnabled&& value) { SetObjectLockEnabled(std::move(value)); return *this;} + + + /** + * <p>The Object Lock rule in place for the specified object.</p> + */ + inline const ObjectLockRule& GetRule() const{ return m_rule; } + + /** + * <p>The Object Lock rule in place for the specified object.</p> + */ + inline bool RuleHasBeenSet() const { return m_ruleHasBeenSet; } + + /** + * <p>The Object Lock rule in place for the specified object.</p> + */ + inline void SetRule(const ObjectLockRule& value) { m_ruleHasBeenSet = true; m_rule = value; } + + /** + * <p>The Object Lock rule in place for the specified object.</p> + */ + inline void SetRule(ObjectLockRule&& value) { m_ruleHasBeenSet = true; m_rule = std::move(value); } + + /** + * <p>The Object Lock rule in place for the specified object.</p> + */ + inline ObjectLockConfiguration& WithRule(const ObjectLockRule& value) { SetRule(value); return *this;} + + /** + * <p>The Object Lock rule in place for the specified object.</p> + */ + inline ObjectLockConfiguration& WithRule(ObjectLockRule&& value) { SetRule(std::move(value)); return *this;} + + private: + + ObjectLockEnabled m_objectLockEnabled; + bool m_objectLockEnabledHasBeenSet; + + ObjectLockRule m_rule; + bool m_ruleHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockEnabled.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockEnabled.h new file mode 100644 index 0000000000..fb7bf42351 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockEnabled.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectLockEnabled + { + NOT_SET, + Enabled + }; + +namespace ObjectLockEnabledMapper +{ +AWS_S3_API ObjectLockEnabled GetObjectLockEnabledForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectLockEnabled(ObjectLockEnabled value); +} // namespace ObjectLockEnabledMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h new file mode 100644 index 0000000000..fdeba38dda --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHold.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A Legal Hold configuration for an object.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockLegalHold">AWS + * API Reference</a></p> + */ + class AWS_S3_API ObjectLockLegalHold + { + public: + ObjectLockLegalHold(); + ObjectLockLegalHold(const Aws::Utils::Xml::XmlNode& xmlNode); + ObjectLockLegalHold& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Indicates whether the specified object has a Legal Hold in place.</p> + */ + inline const ObjectLockLegalHoldStatus& GetStatus() const{ return m_status; } + + /** + * <p>Indicates whether the specified object has a Legal Hold in place.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>Indicates whether the specified object has a Legal Hold in place.</p> + */ + inline void SetStatus(const ObjectLockLegalHoldStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>Indicates whether the specified object has a Legal Hold in place.</p> + */ + inline void SetStatus(ObjectLockLegalHoldStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>Indicates whether the specified object has a Legal Hold in place.</p> + */ + inline ObjectLockLegalHold& WithStatus(const ObjectLockLegalHoldStatus& value) { SetStatus(value); return *this;} + + /** + * <p>Indicates whether the specified object has a Legal Hold in place.</p> + */ + inline ObjectLockLegalHold& WithStatus(ObjectLockLegalHoldStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + ObjectLockLegalHoldStatus m_status; + bool m_statusHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHoldStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHoldStatus.h new file mode 100644 index 0000000000..8c3960640d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockLegalHoldStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectLockLegalHoldStatus + { + NOT_SET, + ON, + OFF + }; + +namespace ObjectLockLegalHoldStatusMapper +{ +AWS_S3_API ObjectLockLegalHoldStatus GetObjectLockLegalHoldStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus value); +} // namespace ObjectLockLegalHoldStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockMode.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockMode.h new file mode 100644 index 0000000000..06f9015667 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockMode.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectLockMode + { + NOT_SET, + GOVERNANCE, + COMPLIANCE + }; + +namespace ObjectLockModeMapper +{ +AWS_S3_API ObjectLockMode GetObjectLockModeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectLockMode(ObjectLockMode value); +} // namespace ObjectLockModeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h new file mode 100644 index 0000000000..26c60fdb78 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetention.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectLockRetentionMode.h> +#include <aws/core/utils/DateTime.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A Retention configuration for an object.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRetention">AWS + * API Reference</a></p> + */ + class AWS_S3_API ObjectLockRetention + { + public: + ObjectLockRetention(); + ObjectLockRetention(const Aws::Utils::Xml::XmlNode& xmlNode); + ObjectLockRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Indicates the Retention mode for the specified object.</p> + */ + inline const ObjectLockRetentionMode& GetMode() const{ return m_mode; } + + /** + * <p>Indicates the Retention mode for the specified object.</p> + */ + inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } + + /** + * <p>Indicates the Retention mode for the specified object.</p> + */ + inline void SetMode(const ObjectLockRetentionMode& value) { m_modeHasBeenSet = true; m_mode = value; } + + /** + * <p>Indicates the Retention mode for the specified object.</p> + */ + inline void SetMode(ObjectLockRetentionMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } + + /** + * <p>Indicates the Retention mode for the specified object.</p> + */ + inline ObjectLockRetention& WithMode(const ObjectLockRetentionMode& value) { SetMode(value); return *this;} + + /** + * <p>Indicates the Retention mode for the specified object.</p> + */ + inline ObjectLockRetention& WithMode(ObjectLockRetentionMode&& value) { SetMode(std::move(value)); return *this;} + + + /** + * <p>The date on which this Object Lock Retention will expire.</p> + */ + inline const Aws::Utils::DateTime& GetRetainUntilDate() const{ return m_retainUntilDate; } + + /** + * <p>The date on which this Object Lock Retention will expire.</p> + */ + inline bool RetainUntilDateHasBeenSet() const { return m_retainUntilDateHasBeenSet; } + + /** + * <p>The date on which this Object Lock Retention will expire.</p> + */ + inline void SetRetainUntilDate(const Aws::Utils::DateTime& value) { m_retainUntilDateHasBeenSet = true; m_retainUntilDate = value; } + + /** + * <p>The date on which this Object Lock Retention will expire.</p> + */ + inline void SetRetainUntilDate(Aws::Utils::DateTime&& value) { m_retainUntilDateHasBeenSet = true; m_retainUntilDate = std::move(value); } + + /** + * <p>The date on which this Object Lock Retention will expire.</p> + */ + inline ObjectLockRetention& WithRetainUntilDate(const Aws::Utils::DateTime& value) { SetRetainUntilDate(value); return *this;} + + /** + * <p>The date on which this Object Lock Retention will expire.</p> + */ + inline ObjectLockRetention& WithRetainUntilDate(Aws::Utils::DateTime&& value) { SetRetainUntilDate(std::move(value)); return *this;} + + private: + + ObjectLockRetentionMode m_mode; + bool m_modeHasBeenSet; + + Aws::Utils::DateTime m_retainUntilDate; + bool m_retainUntilDateHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetentionMode.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetentionMode.h new file mode 100644 index 0000000000..099f787e82 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRetentionMode.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectLockRetentionMode + { + NOT_SET, + GOVERNANCE, + COMPLIANCE + }; + +namespace ObjectLockRetentionModeMapper +{ +AWS_S3_API ObjectLockRetentionMode GetObjectLockRetentionModeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectLockRetentionMode(ObjectLockRetentionMode value); +} // namespace ObjectLockRetentionModeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h new file mode 100644 index 0000000000..17523929d6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectLockRule.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/DefaultRetention.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The container element for an Object Lock rule.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRule">AWS + * API Reference</a></p> + */ + class AWS_S3_API ObjectLockRule + { + public: + ObjectLockRule(); + ObjectLockRule(const Aws::Utils::Xml::XmlNode& xmlNode); + ObjectLockRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The default retention period that you want to apply to new objects placed in + * the specified bucket.</p> + */ + inline const DefaultRetention& GetDefaultRetention() const{ return m_defaultRetention; } + + /** + * <p>The default retention period that you want to apply to new objects placed in + * the specified bucket.</p> + */ + inline bool DefaultRetentionHasBeenSet() const { return m_defaultRetentionHasBeenSet; } + + /** + * <p>The default retention period that you want to apply to new objects placed in + * the specified bucket.</p> + */ + inline void SetDefaultRetention(const DefaultRetention& value) { m_defaultRetentionHasBeenSet = true; m_defaultRetention = value; } + + /** + * <p>The default retention period that you want to apply to new objects placed in + * the specified bucket.</p> + */ + inline void SetDefaultRetention(DefaultRetention&& value) { m_defaultRetentionHasBeenSet = true; m_defaultRetention = std::move(value); } + + /** + * <p>The default retention period that you want to apply to new objects placed in + * the specified bucket.</p> + */ + inline ObjectLockRule& WithDefaultRetention(const DefaultRetention& value) { SetDefaultRetention(value); return *this;} + + /** + * <p>The default retention period that you want to apply to new objects placed in + * the specified bucket.</p> + */ + inline ObjectLockRule& WithDefaultRetention(DefaultRetention&& value) { SetDefaultRetention(std::move(value)); return *this;} + + private: + + DefaultRetention m_defaultRetention; + bool m_defaultRetentionHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h new file mode 100644 index 0000000000..06ba5f9daa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectOwnership.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectOwnership + { + NOT_SET, + BucketOwnerPreferred, + ObjectWriter + }; + +namespace ObjectOwnershipMapper +{ +AWS_S3_API ObjectOwnership GetObjectOwnershipForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectOwnership(ObjectOwnership value); +} // namespace ObjectOwnershipMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h new file mode 100644 index 0000000000..814e5de398 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectStorageClass.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectStorageClass + { + NOT_SET, + STANDARD, + REDUCED_REDUNDANCY, + GLACIER, + STANDARD_IA, + ONEZONE_IA, + INTELLIGENT_TIERING, + DEEP_ARCHIVE, + OUTPOSTS + }; + +namespace ObjectStorageClassMapper +{ +AWS_S3_API ObjectStorageClass GetObjectStorageClassForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectStorageClass(ObjectStorageClass value); +} // namespace ObjectStorageClassMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h new file mode 100644 index 0000000000..d084d24b1e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersion.h @@ -0,0 +1,333 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ObjectVersionStorageClass.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/Owner.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The version of an object.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectVersion">AWS + * API Reference</a></p> + */ + class AWS_S3_API ObjectVersion + { + public: + ObjectVersion(); + ObjectVersion(const Aws::Utils::Xml::XmlNode& xmlNode); + ObjectVersion& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline ObjectVersion& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline ObjectVersion& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>The entity tag is an MD5 hash of that version of the object.</p> + */ + inline ObjectVersion& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>Size in bytes of the object.</p> + */ + inline long long GetSize() const{ return m_size; } + + /** + * <p>Size in bytes of the object.</p> + */ + inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } + + /** + * <p>Size in bytes of the object.</p> + */ + inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; } + + /** + * <p>Size in bytes of the object.</p> + */ + inline ObjectVersion& WithSize(long long value) { SetSize(value); return *this;} + + + /** + * <p>The class of storage used to store the object.</p> + */ + inline const ObjectVersionStorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(const ObjectVersionStorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline void SetStorageClass(ObjectVersionStorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>The class of storage used to store the object.</p> + */ + inline ObjectVersion& WithStorageClass(const ObjectVersionStorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>The class of storage used to store the object.</p> + */ + inline ObjectVersion& WithStorageClass(ObjectVersionStorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>The object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The object key.</p> + */ + inline ObjectVersion& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key.</p> + */ + inline ObjectVersion& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key.</p> + */ + inline ObjectVersion& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Version ID of an object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Version ID of an object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>Version ID of an object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>Version ID of an object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>Version ID of an object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>Version ID of an object.</p> + */ + inline ObjectVersion& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Version ID of an object.</p> + */ + inline ObjectVersion& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Version ID of an object.</p> + */ + inline ObjectVersion& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline bool GetIsLatest() const{ return m_isLatest; } + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline bool IsLatestHasBeenSet() const { return m_isLatestHasBeenSet; } + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline void SetIsLatest(bool value) { m_isLatestHasBeenSet = true; m_isLatest = value; } + + /** + * <p>Specifies whether the object is (true) or is not (false) the latest version + * of an object.</p> + */ + inline ObjectVersion& WithIsLatest(bool value) { SetIsLatest(value); return *this;} + + + /** + * <p>Date and time the object was last modified.</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + + /** + * <p>Date and time the object was last modified.</p> + */ + inline ObjectVersion& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>Date and time the object was last modified.</p> + */ + inline ObjectVersion& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + + /** + * <p>Specifies the owner of the object.</p> + */ + inline const Owner& GetOwner() const{ return m_owner; } + + /** + * <p>Specifies the owner of the object.</p> + */ + inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } + + /** + * <p>Specifies the owner of the object.</p> + */ + inline void SetOwner(const Owner& value) { m_ownerHasBeenSet = true; m_owner = value; } + + /** + * <p>Specifies the owner of the object.</p> + */ + inline void SetOwner(Owner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } + + /** + * <p>Specifies the owner of the object.</p> + */ + inline ObjectVersion& WithOwner(const Owner& value) { SetOwner(value); return *this;} + + /** + * <p>Specifies the owner of the object.</p> + */ + inline ObjectVersion& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} + + private: + + Aws::String m_eTag; + bool m_eTagHasBeenSet; + + long long m_size; + bool m_sizeHasBeenSet; + + ObjectVersionStorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + bool m_isLatest; + bool m_isLatestHasBeenSet; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet; + + Owner m_owner; + bool m_ownerHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersionStorageClass.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersionStorageClass.h new file mode 100644 index 0000000000..04724dfa08 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ObjectVersionStorageClass.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ObjectVersionStorageClass + { + NOT_SET, + STANDARD + }; + +namespace ObjectVersionStorageClassMapper +{ +AWS_S3_API ObjectVersionStorageClass GetObjectVersionStorageClassForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForObjectVersionStorageClass(ObjectVersionStorageClass value); +} // namespace ObjectVersionStorageClassMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h new file mode 100644 index 0000000000..4240773137 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputLocation.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/S3Location.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes the location where the restore job's output is + * stored.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputLocation">AWS + * API Reference</a></p> + */ + class AWS_S3_API OutputLocation + { + public: + OutputLocation(); + OutputLocation(const Aws::Utils::Xml::XmlNode& xmlNode); + OutputLocation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Describes an S3 location that will receive the results of the restore + * request.</p> + */ + inline const S3Location& GetS3() const{ return m_s3; } + + /** + * <p>Describes an S3 location that will receive the results of the restore + * request.</p> + */ + inline bool S3HasBeenSet() const { return m_s3HasBeenSet; } + + /** + * <p>Describes an S3 location that will receive the results of the restore + * request.</p> + */ + inline void SetS3(const S3Location& value) { m_s3HasBeenSet = true; m_s3 = value; } + + /** + * <p>Describes an S3 location that will receive the results of the restore + * request.</p> + */ + inline void SetS3(S3Location&& value) { m_s3HasBeenSet = true; m_s3 = std::move(value); } + + /** + * <p>Describes an S3 location that will receive the results of the restore + * request.</p> + */ + inline OutputLocation& WithS3(const S3Location& value) { SetS3(value); return *this;} + + /** + * <p>Describes an S3 location that will receive the results of the restore + * request.</p> + */ + inline OutputLocation& WithS3(S3Location&& value) { SetS3(std::move(value)); return *this;} + + private: + + S3Location m_s3; + bool m_s3HasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h new file mode 100644 index 0000000000..92331d902c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OutputSerialization.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/CSVOutput.h> +#include <aws/s3/model/JSONOutput.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes how results of the Select job are serialized.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OutputSerialization">AWS + * API Reference</a></p> + */ + class AWS_S3_API OutputSerialization + { + public: + OutputSerialization(); + OutputSerialization(const Aws::Utils::Xml::XmlNode& xmlNode); + OutputSerialization& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Describes the serialization of CSV-encoded Select results.</p> + */ + inline const CSVOutput& GetCSV() const{ return m_cSV; } + + /** + * <p>Describes the serialization of CSV-encoded Select results.</p> + */ + inline bool CSVHasBeenSet() const { return m_cSVHasBeenSet; } + + /** + * <p>Describes the serialization of CSV-encoded Select results.</p> + */ + inline void SetCSV(const CSVOutput& value) { m_cSVHasBeenSet = true; m_cSV = value; } + + /** + * <p>Describes the serialization of CSV-encoded Select results.</p> + */ + inline void SetCSV(CSVOutput&& value) { m_cSVHasBeenSet = true; m_cSV = std::move(value); } + + /** + * <p>Describes the serialization of CSV-encoded Select results.</p> + */ + inline OutputSerialization& WithCSV(const CSVOutput& value) { SetCSV(value); return *this;} + + /** + * <p>Describes the serialization of CSV-encoded Select results.</p> + */ + inline OutputSerialization& WithCSV(CSVOutput&& value) { SetCSV(std::move(value)); return *this;} + + + /** + * <p>Specifies JSON as request's output serialization format.</p> + */ + inline const JSONOutput& GetJSON() const{ return m_jSON; } + + /** + * <p>Specifies JSON as request's output serialization format.</p> + */ + inline bool JSONHasBeenSet() const { return m_jSONHasBeenSet; } + + /** + * <p>Specifies JSON as request's output serialization format.</p> + */ + inline void SetJSON(const JSONOutput& value) { m_jSONHasBeenSet = true; m_jSON = value; } + + /** + * <p>Specifies JSON as request's output serialization format.</p> + */ + inline void SetJSON(JSONOutput&& value) { m_jSONHasBeenSet = true; m_jSON = std::move(value); } + + /** + * <p>Specifies JSON as request's output serialization format.</p> + */ + inline OutputSerialization& WithJSON(const JSONOutput& value) { SetJSON(value); return *this;} + + /** + * <p>Specifies JSON as request's output serialization format.</p> + */ + inline OutputSerialization& WithJSON(JSONOutput&& value) { SetJSON(std::move(value)); return *this;} + + private: + + CSVOutput m_cSV; + bool m_cSVHasBeenSet; + + JSONOutput m_jSON; + bool m_jSONHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h new file mode 100644 index 0000000000..4f3f5d6aaa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the owner's display name and ID.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Owner">AWS API + * Reference</a></p> + */ + class AWS_S3_API Owner + { + public: + Owner(); + Owner(const Aws::Utils::Xml::XmlNode& xmlNode); + Owner& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Container for the display name of the owner.</p> + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + + /** + * <p>Container for the display name of the owner.</p> + */ + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + + /** + * <p>Container for the display name of the owner.</p> + */ + inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } + + /** + * <p>Container for the display name of the owner.</p> + */ + inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } + + /** + * <p>Container for the display name of the owner.</p> + */ + inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } + + /** + * <p>Container for the display name of the owner.</p> + */ + inline Owner& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + + /** + * <p>Container for the display name of the owner.</p> + */ + inline Owner& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + + /** + * <p>Container for the display name of the owner.</p> + */ + inline Owner& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + + + /** + * <p>Container for the ID of the owner.</p> + */ + inline const Aws::String& GetID() const{ return m_iD; } + + /** + * <p>Container for the ID of the owner.</p> + */ + inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } + + /** + * <p>Container for the ID of the owner.</p> + */ + inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } + + /** + * <p>Container for the ID of the owner.</p> + */ + inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } + + /** + * <p>Container for the ID of the owner.</p> + */ + inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } + + /** + * <p>Container for the ID of the owner.</p> + */ + inline Owner& WithID(const Aws::String& value) { SetID(value); return *this;} + + /** + * <p>Container for the ID of the owner.</p> + */ + inline Owner& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} + + /** + * <p>Container for the ID of the owner.</p> + */ + inline Owner& WithID(const char* value) { SetID(value); return *this;} + + private: + + Aws::String m_displayName; + bool m_displayNameHasBeenSet; + + Aws::String m_iD; + bool m_iDHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnerOverride.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnerOverride.h new file mode 100644 index 0000000000..0d9660a9ca --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnerOverride.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class OwnerOverride + { + NOT_SET, + Destination + }; + +namespace OwnerOverrideMapper +{ +AWS_S3_API OwnerOverride GetOwnerOverrideForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForOwnerOverride(OwnerOverride value); +} // namespace OwnerOverrideMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h new file mode 100644 index 0000000000..a0d1a3542f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControls.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/OwnershipControlsRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The container element for a bucket's ownership controls.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControls">AWS + * API Reference</a></p> + */ + class AWS_S3_API OwnershipControls + { + public: + OwnershipControls(); + OwnershipControls(const Aws::Utils::Xml::XmlNode& xmlNode); + OwnershipControls& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline const Aws::Vector<OwnershipControlsRule>& GetRules() const{ return m_rules; } + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline void SetRules(const Aws::Vector<OwnershipControlsRule>& value) { m_rulesHasBeenSet = true; m_rules = value; } + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline void SetRules(Aws::Vector<OwnershipControlsRule>&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline OwnershipControls& WithRules(const Aws::Vector<OwnershipControlsRule>& value) { SetRules(value); return *this;} + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline OwnershipControls& WithRules(Aws::Vector<OwnershipControlsRule>&& value) { SetRules(std::move(value)); return *this;} + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline OwnershipControls& AddRules(const OwnershipControlsRule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } + + /** + * <p>The container element for an ownership control rule.</p> + */ + inline OwnershipControls& AddRules(OwnershipControlsRule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<OwnershipControlsRule> m_rules; + bool m_rulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h new file mode 100644 index 0000000000..2e512c810c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/OwnershipControlsRule.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ObjectOwnership.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The container element for an ownership control rule.</p><p><h3>See Also:</h3> + * <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControlsRule">AWS + * API Reference</a></p> + */ + class AWS_S3_API OwnershipControlsRule + { + public: + OwnershipControlsRule(); + OwnershipControlsRule(const Aws::Utils::Xml::XmlNode& xmlNode); + OwnershipControlsRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const ObjectOwnership& GetObjectOwnership() const{ return m_objectOwnership; } + + + inline bool ObjectOwnershipHasBeenSet() const { return m_objectOwnershipHasBeenSet; } + + + inline void SetObjectOwnership(const ObjectOwnership& value) { m_objectOwnershipHasBeenSet = true; m_objectOwnership = value; } + + + inline void SetObjectOwnership(ObjectOwnership&& value) { m_objectOwnershipHasBeenSet = true; m_objectOwnership = std::move(value); } + + + inline OwnershipControlsRule& WithObjectOwnership(const ObjectOwnership& value) { SetObjectOwnership(value); return *this;} + + + inline OwnershipControlsRule& WithObjectOwnership(ObjectOwnership&& value) { SetObjectOwnership(std::move(value)); return *this;} + + private: + + ObjectOwnership m_objectOwnership; + bool m_objectOwnershipHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h new file mode 100644 index 0000000000..3bc15a8481 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ParquetInput.h @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for Parquet.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ParquetInput">AWS API + * Reference</a></p> + */ + class AWS_S3_API ParquetInput + { + public: + ParquetInput(); + ParquetInput(const Aws::Utils::Xml::XmlNode& xmlNode); + ParquetInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h new file mode 100644 index 0000000000..6b83d534f1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Part.h @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for elements related to a part.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Part">AWS API + * Reference</a></p> + */ + class AWS_S3_API Part + { + public: + Part(); + Part(const Aws::Utils::Xml::XmlNode& xmlNode); + Part& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Part number identifying the part. This is a positive integer between 1 and + * 10,000.</p> + */ + inline int GetPartNumber() const{ return m_partNumber; } + + /** + * <p>Part number identifying the part. This is a positive integer between 1 and + * 10,000.</p> + */ + inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; } + + /** + * <p>Part number identifying the part. This is a positive integer between 1 and + * 10,000.</p> + */ + inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; } + + /** + * <p>Part number identifying the part. This is a positive integer between 1 and + * 10,000.</p> + */ + inline Part& WithPartNumber(int value) { SetPartNumber(value); return *this;} + + + /** + * <p>Date and time at which the part was uploaded.</p> + */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + + /** + * <p>Date and time at which the part was uploaded.</p> + */ + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + + /** + * <p>Date and time at which the part was uploaded.</p> + */ + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + + /** + * <p>Date and time at which the part was uploaded.</p> + */ + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + + /** + * <p>Date and time at which the part was uploaded.</p> + */ + inline Part& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + + /** + * <p>Date and time at which the part was uploaded.</p> + */ + inline Part& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline Part& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline Part& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>Entity tag returned when the part was uploaded.</p> + */ + inline Part& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>Size in bytes of the uploaded part data.</p> + */ + inline long long GetSize() const{ return m_size; } + + /** + * <p>Size in bytes of the uploaded part data.</p> + */ + inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } + + /** + * <p>Size in bytes of the uploaded part data.</p> + */ + inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; } + + /** + * <p>Size in bytes of the uploaded part data.</p> + */ + inline Part& WithSize(long long value) { SetSize(value); return *this;} + + private: + + int m_partNumber; + bool m_partNumberHasBeenSet; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet; + + Aws::String m_eTag; + bool m_eTagHasBeenSet; + + long long m_size; + bool m_sizeHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Payer.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Payer.h new file mode 100644 index 0000000000..5e04c72bd2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Payer.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class Payer + { + NOT_SET, + Requester, + BucketOwner + }; + +namespace PayerMapper +{ +AWS_S3_API Payer GetPayerForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForPayer(Payer value); +} // namespace PayerMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Permission.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Permission.h new file mode 100644 index 0000000000..a0c648a444 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Permission.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class Permission + { + NOT_SET, + FULL_CONTROL, + WRITE, + WRITE_ACP, + READ, + READ_ACP + }; + +namespace PermissionMapper +{ +AWS_S3_API Permission GetPermissionForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForPermission(Permission value); +} // namespace PermissionMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h new file mode 100644 index 0000000000..cd0cfd393b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PolicyStatus.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The container element for a bucket's policy status.</p><p><h3>See Also:</h3> + * <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PolicyStatus">AWS + * API Reference</a></p> + */ + class AWS_S3_API PolicyStatus + { + public: + PolicyStatus(); + PolicyStatus(const Aws::Utils::Xml::XmlNode& xmlNode); + PolicyStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The policy status for this bucket. <code>TRUE</code> indicates that this + * bucket is public. <code>FALSE</code> indicates that the bucket is not + * public.</p> + */ + inline bool GetIsPublic() const{ return m_isPublic; } + + /** + * <p>The policy status for this bucket. <code>TRUE</code> indicates that this + * bucket is public. <code>FALSE</code> indicates that the bucket is not + * public.</p> + */ + inline bool IsPublicHasBeenSet() const { return m_isPublicHasBeenSet; } + + /** + * <p>The policy status for this bucket. <code>TRUE</code> indicates that this + * bucket is public. <code>FALSE</code> indicates that the bucket is not + * public.</p> + */ + inline void SetIsPublic(bool value) { m_isPublicHasBeenSet = true; m_isPublic = value; } + + /** + * <p>The policy status for this bucket. <code>TRUE</code> indicates that this + * bucket is public. <code>FALSE</code> indicates that the bucket is not + * public.</p> + */ + inline PolicyStatus& WithIsPublic(bool value) { SetIsPublic(value); return *this;} + + private: + + bool m_isPublic; + bool m_isPublicHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h new file mode 100644 index 0000000000..a188e5b9c7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Progress.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>This data type contains information about progress of an + * operation.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Progress">AWS API + * Reference</a></p> + */ + class AWS_S3_API Progress + { + public: + Progress(); + Progress(const Aws::Utils::Xml::XmlNode& xmlNode); + Progress& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The current number of object bytes scanned.</p> + */ + inline long long GetBytesScanned() const{ return m_bytesScanned; } + + /** + * <p>The current number of object bytes scanned.</p> + */ + inline bool BytesScannedHasBeenSet() const { return m_bytesScannedHasBeenSet; } + + /** + * <p>The current number of object bytes scanned.</p> + */ + inline void SetBytesScanned(long long value) { m_bytesScannedHasBeenSet = true; m_bytesScanned = value; } + + /** + * <p>The current number of object bytes scanned.</p> + */ + inline Progress& WithBytesScanned(long long value) { SetBytesScanned(value); return *this;} + + + /** + * <p>The current number of uncompressed object bytes processed.</p> + */ + inline long long GetBytesProcessed() const{ return m_bytesProcessed; } + + /** + * <p>The current number of uncompressed object bytes processed.</p> + */ + inline bool BytesProcessedHasBeenSet() const { return m_bytesProcessedHasBeenSet; } + + /** + * <p>The current number of uncompressed object bytes processed.</p> + */ + inline void SetBytesProcessed(long long value) { m_bytesProcessedHasBeenSet = true; m_bytesProcessed = value; } + + /** + * <p>The current number of uncompressed object bytes processed.</p> + */ + inline Progress& WithBytesProcessed(long long value) { SetBytesProcessed(value); return *this;} + + + /** + * <p>The current number of bytes of records payload data returned.</p> + */ + inline long long GetBytesReturned() const{ return m_bytesReturned; } + + /** + * <p>The current number of bytes of records payload data returned.</p> + */ + inline bool BytesReturnedHasBeenSet() const { return m_bytesReturnedHasBeenSet; } + + /** + * <p>The current number of bytes of records payload data returned.</p> + */ + inline void SetBytesReturned(long long value) { m_bytesReturnedHasBeenSet = true; m_bytesReturned = value; } + + /** + * <p>The current number of bytes of records payload data returned.</p> + */ + inline Progress& WithBytesReturned(long long value) { SetBytesReturned(value); return *this;} + + private: + + long long m_bytesScanned; + bool m_bytesScannedHasBeenSet; + + long long m_bytesProcessed; + bool m_bytesProcessedHasBeenSet; + + long long m_bytesReturned; + bool m_bytesReturnedHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h new file mode 100644 index 0000000000..9b3b8edf85 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ProgressEvent.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Progress.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>This data type contains information about the progress event of an + * operation.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ProgressEvent">AWS + * API Reference</a></p> + */ + class AWS_S3_API ProgressEvent + { + public: + ProgressEvent(); + ProgressEvent(const Aws::Utils::Xml::XmlNode& xmlNode); + ProgressEvent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The Progress event details.</p> + */ + inline const Progress& GetDetails() const{ return m_details; } + + /** + * <p>The Progress event details.</p> + */ + inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } + + /** + * <p>The Progress event details.</p> + */ + inline void SetDetails(const Progress& value) { m_detailsHasBeenSet = true; m_details = value; } + + /** + * <p>The Progress event details.</p> + */ + inline void SetDetails(Progress&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); } + + /** + * <p>The Progress event details.</p> + */ + inline ProgressEvent& WithDetails(const Progress& value) { SetDetails(value); return *this;} + + /** + * <p>The Progress event details.</p> + */ + inline ProgressEvent& WithDetails(Progress&& value) { SetDetails(std::move(value)); return *this;} + + private: + + Progress m_details; + bool m_detailsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Protocol.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Protocol.h new file mode 100644 index 0000000000..efaa9c8990 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Protocol.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class Protocol + { + NOT_SET, + http, + https + }; + +namespace ProtocolMapper +{ +AWS_S3_API Protocol GetProtocolForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForProtocol(Protocol value); +} // namespace ProtocolMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h new file mode 100644 index 0000000000..b1eefb24cd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PublicAccessBlockConfiguration.h @@ -0,0 +1,219 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The PublicAccessBlock configuration that you want to apply to this Amazon S3 + * bucket. 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 Simple Storage Service Developer + * Guide</i>. </p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PublicAccessBlockConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API PublicAccessBlockConfiguration + { + public: + PublicAccessBlockConfiguration(); + PublicAccessBlockConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + PublicAccessBlockConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) + * for this bucket and objects in this bucket. Setting this element to + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl + * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> + * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> + * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> + */ + inline bool GetBlockPublicAcls() const{ return m_blockPublicAcls; } + + /** + * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) + * for this bucket and objects in this bucket. Setting this element to + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl + * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> + * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> + * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> + */ + inline bool BlockPublicAclsHasBeenSet() const { return m_blockPublicAclsHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) + * for this bucket and objects in this bucket. Setting this element to + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl + * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> + * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> + * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> + */ + inline void SetBlockPublicAcls(bool value) { m_blockPublicAclsHasBeenSet = true; m_blockPublicAcls = value; } + + /** + * <p>Specifies whether Amazon S3 should block public access control lists (ACLs) + * for this bucket and objects in this bucket. Setting this element to + * <code>TRUE</code> causes the following behavior:</p> <ul> <li> <p>PUT Bucket acl + * and PUT Object acl calls fail if the specified ACL is public.</p> </li> <li> + * <p>PUT Object calls fail if the request includes a public ACL.</p> </li> <li> + * <p>PUT Bucket calls fail if the request includes a public ACL.</p> </li> </ul> + * <p>Enabling this setting doesn't affect existing policies or ACLs.</p> + */ + inline PublicAccessBlockConfiguration& WithBlockPublicAcls(bool value) { SetBlockPublicAcls(value); return *this;} + + + /** + * <p>Specifies whether Amazon S3 should ignore public ACLs for this bucket and + * objects in this bucket. Setting this element to <code>TRUE</code> causes Amazon + * S3 to ignore all public ACLs on this bucket and objects in this bucket.</p> + * <p>Enabling this setting doesn't affect the persistence of any existing ACLs and + * doesn't prevent new public ACLs from being set.</p> + */ + inline bool GetIgnorePublicAcls() const{ return m_ignorePublicAcls; } + + /** + * <p>Specifies whether Amazon S3 should ignore public ACLs for this bucket and + * objects in this bucket. Setting this element to <code>TRUE</code> causes Amazon + * S3 to ignore all public ACLs on this bucket and objects in this bucket.</p> + * <p>Enabling this setting doesn't affect the persistence of any existing ACLs and + * doesn't prevent new public ACLs from being set.</p> + */ + inline bool IgnorePublicAclsHasBeenSet() const { return m_ignorePublicAclsHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should ignore public ACLs for this bucket and + * objects in this bucket. Setting this element to <code>TRUE</code> causes Amazon + * S3 to ignore all public ACLs on this bucket and objects in this bucket.</p> + * <p>Enabling this setting doesn't affect the persistence of any existing ACLs and + * doesn't prevent new public ACLs from being set.</p> + */ + inline void SetIgnorePublicAcls(bool value) { m_ignorePublicAclsHasBeenSet = true; m_ignorePublicAcls = value; } + + /** + * <p>Specifies whether Amazon S3 should ignore public ACLs for this bucket and + * objects in this bucket. Setting this element to <code>TRUE</code> causes Amazon + * S3 to ignore all public ACLs on this bucket and objects in this bucket.</p> + * <p>Enabling this setting doesn't affect the persistence of any existing ACLs and + * doesn't prevent new public ACLs from being set.</p> + */ + inline PublicAccessBlockConfiguration& WithIgnorePublicAcls(bool value) { SetIgnorePublicAcls(value); return *this;} + + + /** + * <p>Specifies whether Amazon S3 should block public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> causes Amazon S3 to reject + * calls to PUT Bucket policy if the specified bucket policy allows public access. + * </p> <p>Enabling this setting doesn't affect existing bucket policies.</p> + */ + inline bool GetBlockPublicPolicy() const{ return m_blockPublicPolicy; } + + /** + * <p>Specifies whether Amazon S3 should block public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> causes Amazon S3 to reject + * calls to PUT Bucket policy if the specified bucket policy allows public access. + * </p> <p>Enabling this setting doesn't affect existing bucket policies.</p> + */ + inline bool BlockPublicPolicyHasBeenSet() const { return m_blockPublicPolicyHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should block public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> causes Amazon S3 to reject + * calls to PUT Bucket policy if the specified bucket policy allows public access. + * </p> <p>Enabling this setting doesn't affect existing bucket policies.</p> + */ + inline void SetBlockPublicPolicy(bool value) { m_blockPublicPolicyHasBeenSet = true; m_blockPublicPolicy = value; } + + /** + * <p>Specifies whether Amazon S3 should block public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> causes Amazon S3 to reject + * calls to PUT Bucket policy if the specified bucket policy allows public access. + * </p> <p>Enabling this setting doesn't affect existing bucket policies.</p> + */ + inline PublicAccessBlockConfiguration& WithBlockPublicPolicy(bool value) { SetBlockPublicPolicy(value); return *this;} + + + /** + * <p>Specifies whether Amazon S3 should restrict public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> restricts access to this + * bucket to only AWS service principals and authorized users within this account + * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect + * previously stored bucket policies, except that public and cross-account access + * within any public bucket policy, including non-public delegation to specific + * accounts, is blocked.</p> + */ + inline bool GetRestrictPublicBuckets() const{ return m_restrictPublicBuckets; } + + /** + * <p>Specifies whether Amazon S3 should restrict public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> restricts access to this + * bucket to only AWS service principals and authorized users within this account + * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect + * previously stored bucket policies, except that public and cross-account access + * within any public bucket policy, including non-public delegation to specific + * accounts, is blocked.</p> + */ + inline bool RestrictPublicBucketsHasBeenSet() const { return m_restrictPublicBucketsHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should restrict public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> restricts access to this + * bucket to only AWS service principals and authorized users within this account + * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect + * previously stored bucket policies, except that public and cross-account access + * within any public bucket policy, including non-public delegation to specific + * accounts, is blocked.</p> + */ + inline void SetRestrictPublicBuckets(bool value) { m_restrictPublicBucketsHasBeenSet = true; m_restrictPublicBuckets = value; } + + /** + * <p>Specifies whether Amazon S3 should restrict public bucket policies for this + * bucket. Setting this element to <code>TRUE</code> restricts access to this + * bucket to only AWS service principals and authorized users within this account + * if the bucket has a public policy.</p> <p>Enabling this setting doesn't affect + * previously stored bucket policies, except that public and cross-account access + * within any public bucket policy, including non-public delegation to specific + * accounts, is blocked.</p> + */ + inline PublicAccessBlockConfiguration& WithRestrictPublicBuckets(bool value) { SetRestrictPublicBuckets(value); return *this;} + + private: + + bool m_blockPublicAcls; + bool m_blockPublicAclsHasBeenSet; + + bool m_ignorePublicAcls; + bool m_ignorePublicAclsHasBeenSet; + + bool m_blockPublicPolicy; + bool m_blockPublicPolicyHasBeenSet; + + bool m_restrictPublicBuckets; + bool m_restrictPublicBucketsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h new file mode 100644 index 0000000000..a595afdbcc --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAccelerateConfigurationRequest.h @@ -0,0 +1,230 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/AccelerateConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketAccelerateConfigurationRequest : public S3Request + { + public: + PutBucketAccelerateConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketAccelerateConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which the accelerate configuration is set.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Container for setting the transfer acceleration state.</p> + */ + inline const AccelerateConfiguration& GetAccelerateConfiguration() const{ return m_accelerateConfiguration; } + + /** + * <p>Container for setting the transfer acceleration state.</p> + */ + inline bool AccelerateConfigurationHasBeenSet() const { return m_accelerateConfigurationHasBeenSet; } + + /** + * <p>Container for setting the transfer acceleration state.</p> + */ + inline void SetAccelerateConfiguration(const AccelerateConfiguration& value) { m_accelerateConfigurationHasBeenSet = true; m_accelerateConfiguration = value; } + + /** + * <p>Container for setting the transfer acceleration state.</p> + */ + inline void SetAccelerateConfiguration(AccelerateConfiguration&& value) { m_accelerateConfigurationHasBeenSet = true; m_accelerateConfiguration = std::move(value); } + + /** + * <p>Container for setting the transfer acceleration state.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithAccelerateConfiguration(const AccelerateConfiguration& value) { SetAccelerateConfiguration(value); return *this;} + + /** + * <p>Container for setting the transfer acceleration state.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithAccelerateConfiguration(AccelerateConfiguration&& value) { SetAccelerateConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketAccelerateConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketAccelerateConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + AccelerateConfiguration m_accelerateConfiguration; + bool m_accelerateConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h new file mode 100644 index 0000000000..43d1f63287 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAclRequest.h @@ -0,0 +1,585 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/s3/model/BucketCannedACL.h> +#include <aws/s3/model/AccessControlPolicy.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketAclRequest : public S3Request + { + public: + PutBucketAclRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketAcl"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline const BucketCannedACL& GetACL() const{ return m_aCL; } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline void SetACL(const BucketCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline void SetACL(BucketCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); } + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline PutBucketAclRequest& WithACL(const BucketCannedACL& value) { SetACL(value); return *this;} + + /** + * <p>The canned ACL to apply to the bucket.</p> + */ + inline PutBucketAclRequest& WithACL(BucketCannedACL&& value) { SetACL(std::move(value)); return *this;} + + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline const AccessControlPolicy& GetAccessControlPolicy() const{ return m_accessControlPolicy; } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline bool AccessControlPolicyHasBeenSet() const { return m_accessControlPolicyHasBeenSet; } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline void SetAccessControlPolicy(const AccessControlPolicy& value) { m_accessControlPolicyHasBeenSet = true; m_accessControlPolicy = value; } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline void SetAccessControlPolicy(AccessControlPolicy&& value) { m_accessControlPolicyHasBeenSet = true; m_accessControlPolicy = std::move(value); } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline PutBucketAclRequest& WithAccessControlPolicy(const AccessControlPolicy& value) { SetAccessControlPolicy(value); return *this;} + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline PutBucketAclRequest& WithAccessControlPolicy(AccessControlPolicy&& value) { SetAccessControlPolicy(std::move(value)); return *this;} + + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline PutBucketAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline PutBucketAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket to which to apply the ACL.</p> + */ + inline PutBucketAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketAclRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketAclRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketAclRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline PutBucketAclRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;} + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline PutBucketAclRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;} + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> + */ + inline PutBucketAclRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;} + + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline const Aws::String& GetGrantRead() const{ return m_grantRead; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline PutBucketAclRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;} + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline PutBucketAclRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;} + + /** + * <p>Allows grantee to list the objects in the bucket.</p> + */ + inline PutBucketAclRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;} + + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); } + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline PutBucketAclRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;} + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline PutBucketAclRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the bucket ACL.</p> + */ + inline PutBucketAclRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;} + + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline PutBucketAclRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;} + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline PutBucketAclRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;} + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline PutBucketAclRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;} + + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline PutBucketAclRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline PutBucketAclRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> + */ + inline PutBucketAclRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketAclRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketAclRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketAclRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketAclRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + BucketCannedACL m_aCL; + bool m_aCLHasBeenSet; + + AccessControlPolicy m_accessControlPolicy; + bool m_accessControlPolicyHasBeenSet; + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_grantFullControl; + bool m_grantFullControlHasBeenSet; + + Aws::String m_grantRead; + bool m_grantReadHasBeenSet; + + Aws::String m_grantReadACP; + bool m_grantReadACPHasBeenSet; + + Aws::String m_grantWrite; + bool m_grantWriteHasBeenSet; + + Aws::String m_grantWriteACP; + bool m_grantWriteACPHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h new file mode 100644 index 0000000000..a3dfe078c4 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketAnalyticsConfigurationRequest.h @@ -0,0 +1,274 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/AnalyticsConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketAnalyticsConfigurationRequest : public S3Request + { + public: + PutBucketAnalyticsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketAnalyticsConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which an analytics configuration is stored.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID that identifies the analytics configuration.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline const AnalyticsConfiguration& GetAnalyticsConfiguration() const{ return m_analyticsConfiguration; } + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline bool AnalyticsConfigurationHasBeenSet() const { return m_analyticsConfigurationHasBeenSet; } + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline void SetAnalyticsConfiguration(const AnalyticsConfiguration& value) { m_analyticsConfigurationHasBeenSet = true; m_analyticsConfiguration = value; } + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline void SetAnalyticsConfiguration(AnalyticsConfiguration&& value) { m_analyticsConfigurationHasBeenSet = true; m_analyticsConfiguration = std::move(value); } + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithAnalyticsConfiguration(const AnalyticsConfiguration& value) { SetAnalyticsConfiguration(value); return *this;} + + /** + * <p>The configuration and any analyses for the analytics filter.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithAnalyticsConfiguration(AnalyticsConfiguration&& value) { SetAnalyticsConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + AnalyticsConfiguration m_analyticsConfiguration; + bool m_analyticsConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h new file mode 100644 index 0000000000..5273651e51 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketCorsRequest.h @@ -0,0 +1,340 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/CORSConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketCorsRequest : public S3Request + { + public: + PutBucketCorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketCors"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline PutBucketCorsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline PutBucketCorsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p> + */ + inline PutBucketCorsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Describes the cross-origin access configuration for objects in an Amazon S3 + * bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline const CORSConfiguration& GetCORSConfiguration() const{ return m_cORSConfiguration; } + + /** + * <p>Describes the cross-origin access configuration for objects in an Amazon S3 + * bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline bool CORSConfigurationHasBeenSet() const { return m_cORSConfigurationHasBeenSet; } + + /** + * <p>Describes the cross-origin access configuration for objects in an Amazon S3 + * bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline void SetCORSConfiguration(const CORSConfiguration& value) { m_cORSConfigurationHasBeenSet = true; m_cORSConfiguration = value; } + + /** + * <p>Describes the cross-origin access configuration for objects in an Amazon S3 + * bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline void SetCORSConfiguration(CORSConfiguration&& value) { m_cORSConfigurationHasBeenSet = true; m_cORSConfiguration = std::move(value); } + + /** + * <p>Describes the cross-origin access configuration for objects in an Amazon S3 + * bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline PutBucketCorsRequest& WithCORSConfiguration(const CORSConfiguration& value) { SetCORSConfiguration(value); return *this;} + + /** + * <p>Describes the cross-origin access configuration for objects in an Amazon S3 + * bucket. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling + * Cross-Origin Resource Sharing</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline PutBucketCorsRequest& WithCORSConfiguration(CORSConfiguration&& value) { SetCORSConfiguration(std::move(value)); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketCorsRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketCorsRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.</a> </p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketCorsRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketCorsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketCorsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + CORSConfiguration m_cORSConfiguration; + bool m_cORSConfigurationHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h new file mode 100644 index 0000000000..4df4aa8648 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketEncryptionRequest.h @@ -0,0 +1,328 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ServerSideEncryptionConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketEncryptionRequest : public S3Request + { + public: + PutBucketEncryptionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketEncryption"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline PutBucketEncryptionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline PutBucketEncryptionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>Specifies default encryption for a bucket using server-side encryption with + * Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS + * (SSE-KMS). For information about the Amazon S3 default encryption feature, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon + * S3 Default Bucket Encryption</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline PutBucketEncryptionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline PutBucketEncryptionRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline PutBucketEncryptionRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption + * configuration.</p> <p>For requests made using the AWS Command Line Interface + * (CLI) or AWS SDKs, this field is calculated automatically.</p> + */ + inline PutBucketEncryptionRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + + inline const ServerSideEncryptionConfiguration& GetServerSideEncryptionConfiguration() const{ return m_serverSideEncryptionConfiguration; } + + + inline bool ServerSideEncryptionConfigurationHasBeenSet() const { return m_serverSideEncryptionConfigurationHasBeenSet; } + + + inline void SetServerSideEncryptionConfiguration(const ServerSideEncryptionConfiguration& value) { m_serverSideEncryptionConfigurationHasBeenSet = true; m_serverSideEncryptionConfiguration = value; } + + + inline void SetServerSideEncryptionConfiguration(ServerSideEncryptionConfiguration&& value) { m_serverSideEncryptionConfigurationHasBeenSet = true; m_serverSideEncryptionConfiguration = std::move(value); } + + + inline PutBucketEncryptionRequest& WithServerSideEncryptionConfiguration(const ServerSideEncryptionConfiguration& value) { SetServerSideEncryptionConfiguration(value); return *this;} + + + inline PutBucketEncryptionRequest& WithServerSideEncryptionConfiguration(ServerSideEncryptionConfiguration&& value) { SetServerSideEncryptionConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketEncryptionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketEncryptionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + ServerSideEncryptionConfiguration m_serverSideEncryptionConfiguration; + bool m_serverSideEncryptionConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h new file mode 100644 index 0000000000..9055e5c1d8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h @@ -0,0 +1,220 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/IntelligentTieringConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketIntelligentTieringConfigurationRequest : public S3Request + { + public: + PutBucketIntelligentTieringConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketIntelligentTieringConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose configuration you want to modify or + * retrieve.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline const IntelligentTieringConfiguration& GetIntelligentTieringConfiguration() const{ return m_intelligentTieringConfiguration; } + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline bool IntelligentTieringConfigurationHasBeenSet() const { return m_intelligentTieringConfigurationHasBeenSet; } + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline void SetIntelligentTieringConfiguration(const IntelligentTieringConfiguration& value) { m_intelligentTieringConfigurationHasBeenSet = true; m_intelligentTieringConfiguration = value; } + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline void SetIntelligentTieringConfiguration(IntelligentTieringConfiguration&& value) { m_intelligentTieringConfigurationHasBeenSet = true; m_intelligentTieringConfiguration = std::move(value); } + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithIntelligentTieringConfiguration(const IntelligentTieringConfiguration& value) { SetIntelligentTieringConfiguration(value); return *this;} + + /** + * <p>Container for S3 Intelligent-Tiering configuration.</p> + */ + inline PutBucketIntelligentTieringConfigurationRequest& WithIntelligentTieringConfiguration(IntelligentTieringConfiguration&& value) { SetIntelligentTieringConfiguration(std::move(value)); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + IntelligentTieringConfiguration m_intelligentTieringConfiguration; + bool m_intelligentTieringConfigurationHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h new file mode 100644 index 0000000000..bbddeea373 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketInventoryConfigurationRequest.h @@ -0,0 +1,274 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/InventoryConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketInventoryConfigurationRequest : public S3Request + { + public: + PutBucketInventoryConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketInventoryConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket where the inventory configuration will be stored.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the inventory configuration.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline const InventoryConfiguration& GetInventoryConfiguration() const{ return m_inventoryConfiguration; } + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline bool InventoryConfigurationHasBeenSet() const { return m_inventoryConfigurationHasBeenSet; } + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline void SetInventoryConfiguration(const InventoryConfiguration& value) { m_inventoryConfigurationHasBeenSet = true; m_inventoryConfiguration = value; } + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline void SetInventoryConfiguration(InventoryConfiguration&& value) { m_inventoryConfigurationHasBeenSet = true; m_inventoryConfiguration = std::move(value); } + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithInventoryConfiguration(const InventoryConfiguration& value) { SetInventoryConfiguration(value); return *this;} + + /** + * <p>Specifies the inventory configuration.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithInventoryConfiguration(InventoryConfiguration&& value) { SetInventoryConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + InventoryConfiguration m_inventoryConfiguration; + bool m_inventoryConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h new file mode 100644 index 0000000000..d47ef16067 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLifecycleConfigurationRequest.h @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/BucketLifecycleConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketLifecycleConfigurationRequest : public S3Request + { + public: + PutBucketLifecycleConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketLifecycleConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to set the configuration.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p> + */ + inline const BucketLifecycleConfiguration& GetLifecycleConfiguration() const{ return m_lifecycleConfiguration; } + + /** + * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p> + */ + inline bool LifecycleConfigurationHasBeenSet() const { return m_lifecycleConfigurationHasBeenSet; } + + /** + * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p> + */ + inline void SetLifecycleConfiguration(const BucketLifecycleConfiguration& value) { m_lifecycleConfigurationHasBeenSet = true; m_lifecycleConfiguration = value; } + + /** + * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p> + */ + inline void SetLifecycleConfiguration(BucketLifecycleConfiguration&& value) { m_lifecycleConfigurationHasBeenSet = true; m_lifecycleConfiguration = std::move(value); } + + /** + * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithLifecycleConfiguration(const BucketLifecycleConfiguration& value) { SetLifecycleConfiguration(value); return *this;} + + /** + * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithLifecycleConfiguration(BucketLifecycleConfiguration&& value) { SetLifecycleConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketLifecycleConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketLifecycleConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketLifecycleConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketLifecycleConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + BucketLifecycleConfiguration m_lifecycleConfiguration; + bool m_lifecycleConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h new file mode 100644 index 0000000000..925daf94f9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketLoggingRequest.h @@ -0,0 +1,292 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/BucketLoggingStatus.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketLoggingRequest : public S3Request + { + public: + PutBucketLoggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketLogging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline PutBucketLoggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline PutBucketLoggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which to set the logging parameters.</p> + */ + inline PutBucketLoggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Container for logging status information.</p> + */ + inline const BucketLoggingStatus& GetBucketLoggingStatus() const{ return m_bucketLoggingStatus; } + + /** + * <p>Container for logging status information.</p> + */ + inline bool BucketLoggingStatusHasBeenSet() const { return m_bucketLoggingStatusHasBeenSet; } + + /** + * <p>Container for logging status information.</p> + */ + inline void SetBucketLoggingStatus(const BucketLoggingStatus& value) { m_bucketLoggingStatusHasBeenSet = true; m_bucketLoggingStatus = value; } + + /** + * <p>Container for logging status information.</p> + */ + inline void SetBucketLoggingStatus(BucketLoggingStatus&& value) { m_bucketLoggingStatusHasBeenSet = true; m_bucketLoggingStatus = std::move(value); } + + /** + * <p>Container for logging status information.</p> + */ + inline PutBucketLoggingRequest& WithBucketLoggingStatus(const BucketLoggingStatus& value) { SetBucketLoggingStatus(value); return *this;} + + /** + * <p>Container for logging status information.</p> + */ + inline PutBucketLoggingRequest& WithBucketLoggingStatus(BucketLoggingStatus&& value) { SetBucketLoggingStatus(std::move(value)); return *this;} + + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutBucketLoggingRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutBucketLoggingRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutBucketLoggingRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketLoggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketLoggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketLoggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketLoggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketLoggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketLoggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketLoggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketLoggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketLoggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + BucketLoggingStatus m_bucketLoggingStatus; + bool m_bucketLoggingStatusHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h new file mode 100644 index 0000000000..c61e5e8b0c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketMetricsConfigurationRequest.h @@ -0,0 +1,274 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/MetricsConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketMetricsConfigurationRequest : public S3Request + { + public: + PutBucketMetricsConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketMetricsConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket for which the metrics configuration is set.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + * <p>The ID used to identify the metrics configuration.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline const MetricsConfiguration& GetMetricsConfiguration() const{ return m_metricsConfiguration; } + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline bool MetricsConfigurationHasBeenSet() const { return m_metricsConfigurationHasBeenSet; } + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline void SetMetricsConfiguration(const MetricsConfiguration& value) { m_metricsConfigurationHasBeenSet = true; m_metricsConfiguration = value; } + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline void SetMetricsConfiguration(MetricsConfiguration&& value) { m_metricsConfigurationHasBeenSet = true; m_metricsConfiguration = std::move(value); } + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithMetricsConfiguration(const MetricsConfiguration& value) { SetMetricsConfiguration(value); return *this;} + + /** + * <p>Specifies the metrics configuration.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithMetricsConfiguration(MetricsConfiguration&& value) { SetMetricsConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_id; + bool m_idHasBeenSet; + + MetricsConfiguration m_metricsConfiguration; + bool m_metricsConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h new file mode 100644 index 0000000000..364fe22be8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketNotificationConfigurationRequest.h @@ -0,0 +1,218 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/NotificationConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketNotificationConfigurationRequest : public S3Request + { + public: + PutBucketNotificationConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketNotificationConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket.</p> + */ + inline PutBucketNotificationConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket.</p> + */ + inline PutBucketNotificationConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket.</p> + */ + inline PutBucketNotificationConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + + inline const NotificationConfiguration& GetNotificationConfiguration() const{ return m_notificationConfiguration; } + + + inline bool NotificationConfigurationHasBeenSet() const { return m_notificationConfigurationHasBeenSet; } + + + inline void SetNotificationConfiguration(const NotificationConfiguration& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = value; } + + + inline void SetNotificationConfiguration(NotificationConfiguration&& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = std::move(value); } + + + inline PutBucketNotificationConfigurationRequest& WithNotificationConfiguration(const NotificationConfiguration& value) { SetNotificationConfiguration(value); return *this;} + + + inline PutBucketNotificationConfigurationRequest& WithNotificationConfiguration(NotificationConfiguration&& value) { SetNotificationConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketNotificationConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketNotificationConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketNotificationConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketNotificationConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + NotificationConfiguration m_notificationConfiguration; + bool m_notificationConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h new file mode 100644 index 0000000000..7bf3cda70e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketOwnershipControlsRequest.h @@ -0,0 +1,306 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/OwnershipControls.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketOwnershipControlsRequest : public S3Request + { + public: + PutBucketOwnershipControlsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketOwnershipControls"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline PutBucketOwnershipControlsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline PutBucketOwnershipControlsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>OwnershipControls</code> you + * want to set.</p> + */ + inline PutBucketOwnershipControlsRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutBucketOwnershipControlsRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutBucketOwnershipControlsRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash of the <code>OwnershipControls</code> request body. </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutBucketOwnershipControlsRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketOwnershipControlsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketOwnershipControlsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketOwnershipControlsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * that you want to apply to this Amazon S3 bucket.</p> + */ + inline const OwnershipControls& GetOwnershipControls() const{ return m_ownershipControls; } + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * that you want to apply to this Amazon S3 bucket.</p> + */ + inline bool OwnershipControlsHasBeenSet() const { return m_ownershipControlsHasBeenSet; } + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * that you want to apply to this Amazon S3 bucket.</p> + */ + inline void SetOwnershipControls(const OwnershipControls& value) { m_ownershipControlsHasBeenSet = true; m_ownershipControls = value; } + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * that you want to apply to this Amazon S3 bucket.</p> + */ + inline void SetOwnershipControls(OwnershipControls&& value) { m_ownershipControlsHasBeenSet = true; m_ownershipControls = std::move(value); } + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * that you want to apply to this Amazon S3 bucket.</p> + */ + inline PutBucketOwnershipControlsRequest& WithOwnershipControls(const OwnershipControls& value) { SetOwnershipControls(value); return *this;} + + /** + * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) + * that you want to apply to this Amazon S3 bucket.</p> + */ + inline PutBucketOwnershipControlsRequest& WithOwnershipControls(OwnershipControls&& value) { SetOwnershipControls(std::move(value)); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + OwnershipControls m_ownershipControls; + bool m_ownershipControlsHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h new file mode 100644 index 0000000000..8d916cd218 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketPolicyRequest.h @@ -0,0 +1,284 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketPolicyRequest : public StreamingS3Request + { + public: + PutBucketPolicyRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketPolicy"; } + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The name of the bucket.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket.</p> + */ + inline PutBucketPolicyRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket.</p> + */ + inline PutBucketPolicyRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket.</p> + */ + inline PutBucketPolicyRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutBucketPolicyRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutBucketPolicyRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash of the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutBucketPolicyRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Set this parameter to true to confirm that you want to remove your + * permissions to change this bucket policy in the future.</p> + */ + inline bool GetConfirmRemoveSelfBucketAccess() const{ return m_confirmRemoveSelfBucketAccess; } + + /** + * <p>Set this parameter to true to confirm that you want to remove your + * permissions to change this bucket policy in the future.</p> + */ + inline bool ConfirmRemoveSelfBucketAccessHasBeenSet() const { return m_confirmRemoveSelfBucketAccessHasBeenSet; } + + /** + * <p>Set this parameter to true to confirm that you want to remove your + * permissions to change this bucket policy in the future.</p> + */ + inline void SetConfirmRemoveSelfBucketAccess(bool value) { m_confirmRemoveSelfBucketAccessHasBeenSet = true; m_confirmRemoveSelfBucketAccess = value; } + + /** + * <p>Set this parameter to true to confirm that you want to remove your + * permissions to change this bucket policy in the future.</p> + */ + inline PutBucketPolicyRequest& WithConfirmRemoveSelfBucketAccess(bool value) { SetConfirmRemoveSelfBucketAccess(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketPolicyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketPolicyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketPolicyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketPolicyRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketPolicyRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + bool m_confirmRemoveSelfBucketAccess; + bool m_confirmRemoveSelfBucketAccessHasBeenSet; + + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h new file mode 100644 index 0000000000..db4696e01d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketReplicationRequest.h @@ -0,0 +1,348 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ReplicationConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketReplicationRequest : public S3Request + { + public: + PutBucketReplicationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketReplication"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The name of the bucket</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket</p> + */ + inline PutBucketReplicationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket</p> + */ + inline PutBucketReplicationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket</p> + */ + inline PutBucketReplicationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketReplicationRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketReplicationRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketReplicationRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + + inline const ReplicationConfiguration& GetReplicationConfiguration() const{ return m_replicationConfiguration; } + + + inline bool ReplicationConfigurationHasBeenSet() const { return m_replicationConfigurationHasBeenSet; } + + + inline void SetReplicationConfiguration(const ReplicationConfiguration& value) { m_replicationConfigurationHasBeenSet = true; m_replicationConfiguration = value; } + + + inline void SetReplicationConfiguration(ReplicationConfiguration&& value) { m_replicationConfigurationHasBeenSet = true; m_replicationConfiguration = std::move(value); } + + + inline PutBucketReplicationRequest& WithReplicationConfiguration(const ReplicationConfiguration& value) { SetReplicationConfiguration(value); return *this;} + + + inline PutBucketReplicationRequest& WithReplicationConfiguration(ReplicationConfiguration&& value) { SetReplicationConfiguration(std::move(value)); return *this;} + + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline const Aws::String& GetToken() const{ return m_token; } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline PutBucketReplicationRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline PutBucketReplicationRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline PutBucketReplicationRequest& WithToken(const char* value) { SetToken(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketReplicationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketReplicationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketReplicationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketReplicationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketReplicationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + ReplicationConfiguration m_replicationConfiguration; + bool m_replicationConfigurationHasBeenSet; + + Aws::String m_token; + bool m_tokenHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h new file mode 100644 index 0000000000..f5840d203d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketRequestPaymentRequest.h @@ -0,0 +1,316 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPaymentConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketRequestPaymentRequest : public S3Request + { + public: + PutBucketRequestPaymentRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketRequestPayment"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name.</p> + */ + inline PutBucketRequestPaymentRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketRequestPaymentRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketRequestPaymentRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketRequestPaymentRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketRequestPaymentRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketRequestPaymentRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Container for Payer.</p> + */ + inline const RequestPaymentConfiguration& GetRequestPaymentConfiguration() const{ return m_requestPaymentConfiguration; } + + /** + * <p>Container for Payer.</p> + */ + inline bool RequestPaymentConfigurationHasBeenSet() const { return m_requestPaymentConfigurationHasBeenSet; } + + /** + * <p>Container for Payer.</p> + */ + inline void SetRequestPaymentConfiguration(const RequestPaymentConfiguration& value) { m_requestPaymentConfigurationHasBeenSet = true; m_requestPaymentConfiguration = value; } + + /** + * <p>Container for Payer.</p> + */ + inline void SetRequestPaymentConfiguration(RequestPaymentConfiguration&& value) { m_requestPaymentConfigurationHasBeenSet = true; m_requestPaymentConfiguration = std::move(value); } + + /** + * <p>Container for Payer.</p> + */ + inline PutBucketRequestPaymentRequest& WithRequestPaymentConfiguration(const RequestPaymentConfiguration& value) { SetRequestPaymentConfiguration(value); return *this;} + + /** + * <p>Container for Payer.</p> + */ + inline PutBucketRequestPaymentRequest& WithRequestPaymentConfiguration(RequestPaymentConfiguration&& value) { SetRequestPaymentConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketRequestPaymentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketRequestPaymentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketRequestPaymentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketRequestPaymentRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketRequestPaymentRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketRequestPaymentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketRequestPaymentRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketRequestPaymentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketRequestPaymentRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + RequestPaymentConfiguration m_requestPaymentConfiguration; + bool m_requestPaymentConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h new file mode 100644 index 0000000000..1454f4239f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketTaggingRequest.h @@ -0,0 +1,316 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Tagging.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketTaggingRequest : public S3Request + { + public: + PutBucketTaggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketTagging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name.</p> + */ + inline PutBucketTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketTaggingRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketTaggingRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketTaggingRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements.</p> + */ + inline const Tagging& GetTagging() const{ return m_tagging; } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements.</p> + */ + inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements.</p> + */ + inline void SetTagging(const Tagging& value) { m_taggingHasBeenSet = true; m_tagging = value; } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements.</p> + */ + inline void SetTagging(Tagging&& value) { m_taggingHasBeenSet = true; m_tagging = std::move(value); } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements.</p> + */ + inline PutBucketTaggingRequest& WithTagging(const Tagging& value) { SetTagging(value); return *this;} + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements.</p> + */ + inline PutBucketTaggingRequest& WithTagging(Tagging&& value) { SetTagging(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Tagging m_tagging; + bool m_taggingHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h new file mode 100644 index 0000000000..9e306b05b2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketVersioningRequest.h @@ -0,0 +1,368 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/VersioningConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketVersioningRequest : public S3Request + { + public: + PutBucketVersioningRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketVersioning"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name.</p> + */ + inline PutBucketVersioningRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketVersioningRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketVersioningRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketVersioningRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketVersioningRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>>The base64-encoded 128-bit MD5 digest of the data. You must use this + * header as a message integrity check to verify that the request body was not + * corrupted in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketVersioningRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline const Aws::String& GetMFA() const{ return m_mFA; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline bool MFAHasBeenSet() const { return m_mFAHasBeenSet; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline void SetMFA(const Aws::String& value) { m_mFAHasBeenSet = true; m_mFA = value; } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline void SetMFA(Aws::String&& value) { m_mFAHasBeenSet = true; m_mFA = std::move(value); } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline void SetMFA(const char* value) { m_mFAHasBeenSet = true; m_mFA.assign(value); } + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline PutBucketVersioningRequest& WithMFA(const Aws::String& value) { SetMFA(value); return *this;} + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline PutBucketVersioningRequest& WithMFA(Aws::String&& value) { SetMFA(std::move(value)); return *this;} + + /** + * <p>The concatenation of the authentication device's serial number, a space, and + * the value that is displayed on your authentication device.</p> + */ + inline PutBucketVersioningRequest& WithMFA(const char* value) { SetMFA(value); return *this;} + + + /** + * <p>Container for setting the versioning state.</p> + */ + inline const VersioningConfiguration& GetVersioningConfiguration() const{ return m_versioningConfiguration; } + + /** + * <p>Container for setting the versioning state.</p> + */ + inline bool VersioningConfigurationHasBeenSet() const { return m_versioningConfigurationHasBeenSet; } + + /** + * <p>Container for setting the versioning state.</p> + */ + inline void SetVersioningConfiguration(const VersioningConfiguration& value) { m_versioningConfigurationHasBeenSet = true; m_versioningConfiguration = value; } + + /** + * <p>Container for setting the versioning state.</p> + */ + inline void SetVersioningConfiguration(VersioningConfiguration&& value) { m_versioningConfigurationHasBeenSet = true; m_versioningConfiguration = std::move(value); } + + /** + * <p>Container for setting the versioning state.</p> + */ + inline PutBucketVersioningRequest& WithVersioningConfiguration(const VersioningConfiguration& value) { SetVersioningConfiguration(value); return *this;} + + /** + * <p>Container for setting the versioning state.</p> + */ + inline PutBucketVersioningRequest& WithVersioningConfiguration(VersioningConfiguration&& value) { SetVersioningConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketVersioningRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketVersioningRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketVersioningRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketVersioningRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketVersioningRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketVersioningRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketVersioningRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketVersioningRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketVersioningRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketVersioningRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketVersioningRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketVersioningRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_mFA; + bool m_mFAHasBeenSet; + + VersioningConfiguration m_versioningConfiguration; + bool m_versioningConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h new file mode 100644 index 0000000000..695dae41c8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketWebsiteRequest.h @@ -0,0 +1,316 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/WebsiteConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutBucketWebsiteRequest : public S3Request + { + public: + PutBucketWebsiteRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutBucketWebsite"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name.</p> + */ + inline PutBucketWebsiteRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketWebsiteRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> + */ + inline PutBucketWebsiteRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketWebsiteRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketWebsiteRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. You must use this header + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, see <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests + * made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is + * calculated automatically.</p> + */ + inline PutBucketWebsiteRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Container for the request.</p> + */ + inline const WebsiteConfiguration& GetWebsiteConfiguration() const{ return m_websiteConfiguration; } + + /** + * <p>Container for the request.</p> + */ + inline bool WebsiteConfigurationHasBeenSet() const { return m_websiteConfigurationHasBeenSet; } + + /** + * <p>Container for the request.</p> + */ + inline void SetWebsiteConfiguration(const WebsiteConfiguration& value) { m_websiteConfigurationHasBeenSet = true; m_websiteConfiguration = value; } + + /** + * <p>Container for the request.</p> + */ + inline void SetWebsiteConfiguration(WebsiteConfiguration&& value) { m_websiteConfigurationHasBeenSet = true; m_websiteConfiguration = std::move(value); } + + /** + * <p>Container for the request.</p> + */ + inline PutBucketWebsiteRequest& WithWebsiteConfiguration(const WebsiteConfiguration& value) { SetWebsiteConfiguration(value); return *this;} + + /** + * <p>Container for the request.</p> + */ + inline PutBucketWebsiteRequest& WithWebsiteConfiguration(WebsiteConfiguration&& value) { SetWebsiteConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketWebsiteRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketWebsiteRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutBucketWebsiteRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutBucketWebsiteRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutBucketWebsiteRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + WebsiteConfiguration m_websiteConfiguration; + bool m_websiteConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h new file mode 100644 index 0000000000..e2ec137af3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclRequest.h @@ -0,0 +1,948 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/s3/model/ObjectCannedACL.h> +#include <aws/s3/model/AccessControlPolicy.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutObjectAclRequest : public S3Request + { + public: + PutObjectAclRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutObjectAcl"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> + */ + inline const ObjectCannedACL& GetACL() const{ return m_aCL; } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> + */ + inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> + */ + inline void SetACL(const ObjectCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> + */ + inline void SetACL(ObjectCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> + */ + inline PutObjectAclRequest& WithACL(const ObjectCannedACL& value) { SetACL(value); return *this;} + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> + */ + inline PutObjectAclRequest& WithACL(ObjectCannedACL&& value) { SetACL(std::move(value)); return *this;} + + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline const AccessControlPolicy& GetAccessControlPolicy() const{ return m_accessControlPolicy; } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline bool AccessControlPolicyHasBeenSet() const { return m_accessControlPolicyHasBeenSet; } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline void SetAccessControlPolicy(const AccessControlPolicy& value) { m_accessControlPolicyHasBeenSet = true; m_accessControlPolicy = value; } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline void SetAccessControlPolicy(AccessControlPolicy&& value) { m_accessControlPolicyHasBeenSet = true; m_accessControlPolicy = std::move(value); } + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline PutObjectAclRequest& WithAccessControlPolicy(const AccessControlPolicy& value) { SetAccessControlPolicy(value); return *this;} + + /** + * <p>Contains the elements that set the ACL permissions for an object per + * grantee.</p> + */ + inline PutObjectAclRequest& WithAccessControlPolicy(AccessControlPolicy&& value) { SetAccessControlPolicy(std::move(value)); return *this;} + + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name that contains the object to which you want to attach the ACL. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutObjectAclRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutObjectAclRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used + * as a message integrity check to verify that the request body was not corrupted + * in transit. For more information, go to <a + * href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864.></a> </p> <p>For + * requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field + * is calculated automatically.</p> + */ + inline PutObjectAclRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); } + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;} + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;} + + /** + * <p>Allows grantee the read, write, read ACP, and write ACP permissions on the + * bucket.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;} + + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantRead() const{ return m_grantRead; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); } + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;} + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;} + + /** + * <p>Allows grantee to list the objects in the bucket.</p> <p>This action is not + * supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;} + + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; } + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); } + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); } + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;} + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the bucket ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;} + + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); } + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline PutObjectAclRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;} + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline PutObjectAclRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;} + + /** + * <p>Allows grantee to create, overwrite, and delete any object in the bucket.</p> + */ + inline PutObjectAclRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;} + + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectAclRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;} + + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectAclRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectAclRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Key for which the PUT operation was initiated.</p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectAclRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline PutObjectAclRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline PutObjectAclRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline PutObjectAclRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline PutObjectAclRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline PutObjectAclRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutObjectAclRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutObjectAclRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutObjectAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutObjectAclRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectAclRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + ObjectCannedACL m_aCL; + bool m_aCLHasBeenSet; + + AccessControlPolicy m_accessControlPolicy; + bool m_accessControlPolicyHasBeenSet; + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_grantFullControl; + bool m_grantFullControlHasBeenSet; + + Aws::String m_grantRead; + bool m_grantReadHasBeenSet; + + Aws::String m_grantReadACP; + bool m_grantReadACPHasBeenSet; + + Aws::String m_grantWrite; + bool m_grantWriteHasBeenSet; + + Aws::String m_grantWriteACP; + bool m_grantWriteACPHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h new file mode 100644 index 0000000000..0047bbca99 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectAclResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API PutObjectAclResult + { + public: + PutObjectAclResult(); + PutObjectAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + PutObjectAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline PutObjectAclResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline PutObjectAclResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h new file mode 100644 index 0000000000..4bf13e588f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldRequest.h @@ -0,0 +1,481 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ObjectLockLegalHold.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutObjectLegalHoldRequest : public S3Request + { + public: + PutObjectLegalHoldRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutObjectLegalHold"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectLegalHoldRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectLegalHoldRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the object that you want to place a Legal Hold on. + * </p> <p>When using this API with an access point, you must direct requests to + * the access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectLegalHoldRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline PutObjectLegalHoldRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline PutObjectLegalHoldRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The key name for the object that you want to place a Legal Hold on.</p> + */ + inline PutObjectLegalHoldRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Container element for the Legal Hold configuration you want to apply to the + * specified object.</p> + */ + inline const ObjectLockLegalHold& GetLegalHold() const{ return m_legalHold; } + + /** + * <p>Container element for the Legal Hold configuration you want to apply to the + * specified object.</p> + */ + inline bool LegalHoldHasBeenSet() const { return m_legalHoldHasBeenSet; } + + /** + * <p>Container element for the Legal Hold configuration you want to apply to the + * specified object.</p> + */ + inline void SetLegalHold(const ObjectLockLegalHold& value) { m_legalHoldHasBeenSet = true; m_legalHold = value; } + + /** + * <p>Container element for the Legal Hold configuration you want to apply to the + * specified object.</p> + */ + inline void SetLegalHold(ObjectLockLegalHold&& value) { m_legalHoldHasBeenSet = true; m_legalHold = std::move(value); } + + /** + * <p>Container element for the Legal Hold configuration you want to apply to the + * specified object.</p> + */ + inline PutObjectLegalHoldRequest& WithLegalHold(const ObjectLockLegalHold& value) { SetLegalHold(value); return *this;} + + /** + * <p>Container element for the Legal Hold configuration you want to apply to the + * specified object.</p> + */ + inline PutObjectLegalHoldRequest& WithLegalHold(ObjectLockLegalHold&& value) { SetLegalHold(std::move(value)); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline PutObjectLegalHoldRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline PutObjectLegalHoldRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline PutObjectLegalHoldRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline PutObjectLegalHoldRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID of the object that you want to place a Legal Hold on.</p> + */ + inline PutObjectLegalHoldRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectLegalHoldRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectLegalHoldRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectLegalHoldRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectLegalHoldRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectLegalHoldRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectLegalHoldRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutObjectLegalHoldRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutObjectLegalHoldRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutObjectLegalHoldRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutObjectLegalHoldRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectLegalHoldRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectLegalHoldRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutObjectLegalHoldRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectLegalHoldRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectLegalHoldRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + ObjectLockLegalHold m_legalHold; + bool m_legalHoldHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h new file mode 100644 index 0000000000..f4322c70f9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLegalHoldResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API PutObjectLegalHoldResult + { + public: + PutObjectLegalHoldResult(); + PutObjectLegalHoldResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + PutObjectLegalHoldResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline PutObjectLegalHoldResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline PutObjectLegalHoldResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h new file mode 100644 index 0000000000..249fa153b1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationRequest.h @@ -0,0 +1,365 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ObjectLockConfiguration.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutObjectLockConfigurationRequest : public S3Request + { + public: + PutObjectLockConfigurationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutObjectLockConfiguration"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline PutObjectLockConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline PutObjectLockConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket whose Object Lock configuration you want to create or replace.</p> + */ + inline PutObjectLockConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The Object Lock configuration that you want to apply to the specified + * bucket.</p> + */ + inline const ObjectLockConfiguration& GetObjectLockConfiguration() const{ return m_objectLockConfiguration; } + + /** + * <p>The Object Lock configuration that you want to apply to the specified + * bucket.</p> + */ + inline bool ObjectLockConfigurationHasBeenSet() const { return m_objectLockConfigurationHasBeenSet; } + + /** + * <p>The Object Lock configuration that you want to apply to the specified + * bucket.</p> + */ + inline void SetObjectLockConfiguration(const ObjectLockConfiguration& value) { m_objectLockConfigurationHasBeenSet = true; m_objectLockConfiguration = value; } + + /** + * <p>The Object Lock configuration that you want to apply to the specified + * bucket.</p> + */ + inline void SetObjectLockConfiguration(ObjectLockConfiguration&& value) { m_objectLockConfigurationHasBeenSet = true; m_objectLockConfiguration = std::move(value); } + + /** + * <p>The Object Lock configuration that you want to apply to the specified + * bucket.</p> + */ + inline PutObjectLockConfigurationRequest& WithObjectLockConfiguration(const ObjectLockConfiguration& value) { SetObjectLockConfiguration(value); return *this;} + + /** + * <p>The Object Lock configuration that you want to apply to the specified + * bucket.</p> + */ + inline PutObjectLockConfigurationRequest& WithObjectLockConfiguration(ObjectLockConfiguration&& value) { SetObjectLockConfiguration(std::move(value)); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline PutObjectLockConfigurationRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline PutObjectLockConfigurationRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline const Aws::String& GetToken() const{ return m_token; } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline PutObjectLockConfigurationRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline PutObjectLockConfigurationRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} + + /** + * <p>A token to allow Object Lock to be enabled for an existing bucket.</p> + */ + inline PutObjectLockConfigurationRequest& WithToken(const char* value) { SetToken(value); return *this;} + + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectLockConfigurationRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectLockConfigurationRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectLockConfigurationRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectLockConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectLockConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectLockConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutObjectLockConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutObjectLockConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutObjectLockConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectLockConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectLockConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectLockConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + ObjectLockConfiguration m_objectLockConfiguration; + bool m_objectLockConfigurationHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_token; + bool m_tokenHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h new file mode 100644 index 0000000000..c3b86b53d5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectLockConfigurationResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API PutObjectLockConfigurationResult + { + public: + PutObjectLockConfigurationResult(); + PutObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + PutObjectLockConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline PutObjectLockConfigurationResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline PutObjectLockConfigurationResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h new file mode 100644 index 0000000000..27a829ce55 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRequest.h @@ -0,0 +1,1987 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/s3/model/ObjectCannedACL.h> +#include <aws/core/utils/Array.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/s3/model/ObjectLockMode.h> +#include <aws/s3/model/ObjectLockLegalHoldStatus.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutObjectRequest : public StreamingS3Request + { + public: + PutObjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutObject"; } + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline const ObjectCannedACL& GetACL() const{ return m_aCL; } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetACL(const ObjectCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetACL(ObjectCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); } + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithACL(const ObjectCannedACL& value) { SetACL(value); return *this;} + + /** + * <p>The canned ACL to apply to the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned + * ACL</a>.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithACL(ObjectCannedACL&& value) { SetACL(std::move(value)); return *this;} + + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name to which the PUT operation was initiated. </p> <p>When using + * this API with an access point, you must direct requests to the access point + * hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; } + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline void SetCacheControl(const Aws::String& value) { m_cacheControlHasBeenSet = true; m_cacheControl = value; } + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline void SetCacheControl(Aws::String&& value) { m_cacheControlHasBeenSet = true; m_cacheControl = std::move(value); } + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline void SetCacheControl(const char* value) { m_cacheControlHasBeenSet = true; m_cacheControl.assign(value); } + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline PutObjectRequest& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline PutObjectRequest& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + + /** + * <p> Can be used to specify caching behavior along the request/reply chain. For + * more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p> + */ + inline PutObjectRequest& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; } + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline void SetContentDisposition(const Aws::String& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = value; } + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline void SetContentDisposition(Aws::String&& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = std::move(value); } + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline void SetContentDisposition(const char* value) { m_contentDispositionHasBeenSet = true; m_contentDisposition.assign(value); } + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline PutObjectRequest& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;} + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline PutObjectRequest& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;} + + /** + * <p>Specifies presentational information for the object. For more information, + * see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1</a>.</p> + */ + inline PutObjectRequest& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;} + + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline void SetContentEncoding(const Aws::String& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = value; } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline void SetContentEncoding(Aws::String&& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = std::move(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline void SetContentEncoding(const char* value) { m_contentEncodingHasBeenSet = true; m_contentEncoding.assign(value); } + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline PutObjectRequest& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline PutObjectRequest& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;} + + /** + * <p>Specifies what content encodings have been applied to the object and thus + * what decoding mechanisms must be applied to obtain the media-type referenced by + * the Content-Type header field. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11</a>.</p> + */ + inline PutObjectRequest& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;} + + + /** + * <p>The language the content is in.</p> + */ + inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; } + + /** + * <p>The language the content is in.</p> + */ + inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const Aws::String& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = value; } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(Aws::String&& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = std::move(value); } + + /** + * <p>The language the content is in.</p> + */ + inline void SetContentLanguage(const char* value) { m_contentLanguageHasBeenSet = true; m_contentLanguage.assign(value); } + + /** + * <p>The language the content is in.</p> + */ + inline PutObjectRequest& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline PutObjectRequest& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;} + + /** + * <p>The language the content is in.</p> + */ + inline PutObjectRequest& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;} + + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13</a>.</p> + */ + inline long long GetContentLength() const{ return m_contentLength; } + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13</a>.</p> + */ + inline bool ContentLengthHasBeenSet() const { return m_contentLengthHasBeenSet; } + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13</a>.</p> + */ + inline void SetContentLength(long long value) { m_contentLengthHasBeenSet = true; m_contentLength = value; } + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically. For more information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13</a>.</p> + */ + inline PutObjectRequest& WithContentLength(long long value) { SetContentLength(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline PutObjectRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline PutObjectRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) + * according to RFC 1864. This header can be used as a message integrity check to + * verify that the data is the same data that was originally sent. Although it is + * optional, we recommend using the Content-MD5 mechanism as an end-to-end + * integrity check. For more information about REST request authentication, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST + * Authentication</a>.</p> + */ + inline PutObjectRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The date and time at which the object is no longer cacheable. For more + * information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21</a>.</p> + */ + inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; } + + /** + * <p>The date and time at which the object is no longer cacheable. For more + * information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21</a>.</p> + */ + inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; } + + /** + * <p>The date and time at which the object is no longer cacheable. For more + * information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21</a>.</p> + */ + inline void SetExpires(const Aws::Utils::DateTime& value) { m_expiresHasBeenSet = true; m_expires = value; } + + /** + * <p>The date and time at which the object is no longer cacheable. For more + * information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21</a>.</p> + */ + inline void SetExpires(Aws::Utils::DateTime&& value) { m_expiresHasBeenSet = true; m_expires = std::move(value); } + + /** + * <p>The date and time at which the object is no longer cacheable. For more + * information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21</a>.</p> + */ + inline PutObjectRequest& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;} + + /** + * <p>The date and time at which the object is no longer cacheable. For more + * information, see <a + * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21</a>.</p> + */ + inline PutObjectRequest& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;} + + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); } + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;} + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;} + + /** + * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the + * object.</p> <p>This action is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;} + + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantRead() const{ return m_grantRead; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); } + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;} + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the object data and its metadata.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;} + + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); } + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;} + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to read the object ACL.</p> <p>This action is not supported by + * Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;} + + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); } + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;} + + /** + * <p>Allows grantee to write the ACL for the applicable object.</p> <p>This action + * is not supported by Amazon S3 on Outposts.</p> + */ + inline PutObjectRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;} + + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline PutObjectRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline PutObjectRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the PUT operation was initiated.</p> + */ + inline PutObjectRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadataHasBeenSet = true; m_metadata = value; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;} + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + * <p>A map of metadata to store with the object in S3.</p> + */ + inline PutObjectRequest& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline PutObjectRequest& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline PutObjectRequest& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline PutObjectRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created + * objects. The STANDARD storage class provides high durability and high + * availability. Depending on performance needs, you can specify a different + * Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For + * more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage + * Classes</a> in the <i>Amazon S3 Service Developer Guide</i>.</p> + */ + inline PutObjectRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline const Aws::String& GetWebsiteRedirectLocation() const{ return m_websiteRedirectLocation; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline bool WebsiteRedirectLocationHasBeenSet() const { return m_websiteRedirectLocationHasBeenSet; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline void SetWebsiteRedirectLocation(const Aws::String& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = value; } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline void SetWebsiteRedirectLocation(Aws::String&& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = std::move(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline void SetWebsiteRedirectLocation(const char* value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation.assign(value); } + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline PutObjectRequest& WithWebsiteRedirectLocation(const Aws::String& value) { SetWebsiteRedirectLocation(value); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline PutObjectRequest& WithWebsiteRedirectLocation(Aws::String&& value) { SetWebsiteRedirectLocation(std::move(value)); return *this;} + + /** + * <p>If the bucket is configured as a website, redirects requests for this object + * to another object in the same bucket or to an external URL. Amazon S3 stores the + * value of this header in the object metadata. For information about object + * metadata, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object + * Key and Metadata</a>.</p> <p>In the following example, the request header sets + * the redirect to an object (anotherPage.html) in the same bucket:</p> <p> + * <code>x-amz-website-redirect-location: /anotherPage.html</code> </p> <p>In the + * following example, the request header sets the object redirect to another + * website:</p> <p> <code>x-amz-website-redirect-location: + * http://www.example.com/</code> </p> <p>For more information about website + * hosting in Amazon S3, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting + * Websites on Amazon S3</a> and <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How + * to Configure Website Page Redirects</a>. </p> + */ + inline PutObjectRequest& WithWebsiteRedirectLocation(const char* value) { SetWebsiteRedirectLocation(value); return *this;} + + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline PutObjectRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline PutObjectRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline PutObjectRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline PutObjectRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline PutObjectRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p> + */ + inline PutObjectRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline PutObjectRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline PutObjectRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline PutObjectRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline PutObjectRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline PutObjectRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetrical customer managed customer master key (CMK) that + * was used for the object.</p> <p> If the value of + * <code>x-amz-server-side-encryption</code> is <code>aws:kms</code>, this header + * specifies the ID of the symmetric customer managed AWS KMS CMK that will be used + * for the object. If you specify + * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code> + * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS + * managed CMK in AWS to protect the data.</p> + */ + inline PutObjectRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); } + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline PutObjectRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline PutObjectRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} + + /** + * <p>Specifies the AWS KMS Encryption Context to use for object encryption. The + * value of this header is a base64-encoded UTF-8 string holding JSON with the + * encryption context key-value pairs.</p> + */ + inline PutObjectRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} + + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with a PUT operation doesn’t affect + * bucket-level settings for S3 Bucket Key.</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with a PUT operation doesn’t affect + * bucket-level settings for S3 Bucket Key.</p> + */ + inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with a PUT operation doesn’t affect + * bucket-level settings for S3 Bucket Key.</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption + * with server-side encryption using AWS KMS (SSE-KMS). Setting this header to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption + * with SSE-KMS.</p> <p>Specifying this header with a PUT operation doesn’t affect + * bucket-level settings for S3 Bucket Key.</p> + */ + inline PutObjectRequest& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline PutObjectRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline PutObjectRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline const Aws::String& GetTagging() const{ return m_tagging; } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline void SetTagging(const Aws::String& value) { m_taggingHasBeenSet = true; m_tagging = value; } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline void SetTagging(Aws::String&& value) { m_taggingHasBeenSet = true; m_tagging = std::move(value); } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline void SetTagging(const char* value) { m_taggingHasBeenSet = true; m_tagging.assign(value); } + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline PutObjectRequest& WithTagging(const Aws::String& value) { SetTagging(value); return *this;} + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline PutObjectRequest& WithTagging(Aws::String&& value) { SetTagging(std::move(value)); return *this;} + + /** + * <p>The tag-set for the object. The tag-set must be encoded as URL Query + * parameters. (For example, "Key1=Value1")</p> + */ + inline PutObjectRequest& WithTagging(const char* value) { SetTagging(value); return *this;} + + + /** + * <p>The Object Lock mode that you want to apply to this object.</p> + */ + inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; } + + /** + * <p>The Object Lock mode that you want to apply to this object.</p> + */ + inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; } + + /** + * <p>The Object Lock mode that you want to apply to this object.</p> + */ + inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = value; } + + /** + * <p>The Object Lock mode that you want to apply to this object.</p> + */ + inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = std::move(value); } + + /** + * <p>The Object Lock mode that you want to apply to this object.</p> + */ + inline PutObjectRequest& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;} + + /** + * <p>The Object Lock mode that you want to apply to this object.</p> + */ + inline PutObjectRequest& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;} + + + /** + * <p>The date and time when you want this object's Object Lock to expire.</p> + */ + inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } + + /** + * <p>The date and time when you want this object's Object Lock to expire.</p> + */ + inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; } + + /** + * <p>The date and time when you want this object's Object Lock to expire.</p> + */ + inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = value; } + + /** + * <p>The date and time when you want this object's Object Lock to expire.</p> + */ + inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::move(value); } + + /** + * <p>The date and time when you want this object's Object Lock to expire.</p> + */ + inline PutObjectRequest& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} + + /** + * <p>The date and time when you want this object's Object Lock to expire.</p> + */ + inline PutObjectRequest& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} + + + /** + * <p>Specifies whether a legal hold will be applied to this object. For more + * information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } + + /** + * <p>Specifies whether a legal hold will be applied to this object. For more + * information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; } + + /** + * <p>Specifies whether a legal hold will be applied to this object. For more + * information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; } + + /** + * <p>Specifies whether a legal hold will be applied to this object. For more + * information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); } + + /** + * <p>Specifies whether a legal hold will be applied to this object. For more + * information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline PutObjectRequest& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} + + /** + * <p>Specifies whether a legal hold will be applied to this object. For more + * information about S3 Object Lock, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object + * Lock</a>.</p> + */ + inline PutObjectRequest& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutObjectRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutObjectRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutObjectRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + ObjectCannedACL m_aCL; + bool m_aCLHasBeenSet; + + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_cacheControl; + bool m_cacheControlHasBeenSet; + + Aws::String m_contentDisposition; + bool m_contentDispositionHasBeenSet; + + Aws::String m_contentEncoding; + bool m_contentEncodingHasBeenSet; + + Aws::String m_contentLanguage; + bool m_contentLanguageHasBeenSet; + + long long m_contentLength; + bool m_contentLengthHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::Utils::DateTime m_expires; + bool m_expiresHasBeenSet; + + Aws::String m_grantFullControl; + bool m_grantFullControlHasBeenSet; + + Aws::String m_grantRead; + bool m_grantReadHasBeenSet; + + Aws::String m_grantReadACP; + bool m_grantReadACPHasBeenSet; + + Aws::String m_grantWriteACP; + bool m_grantWriteACPHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_metadata; + bool m_metadataHasBeenSet; + + ServerSideEncryption m_serverSideEncryption; + bool m_serverSideEncryptionHasBeenSet; + + StorageClass m_storageClass; + bool m_storageClassHasBeenSet; + + Aws::String m_websiteRedirectLocation; + bool m_websiteRedirectLocationHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + Aws::String m_sSEKMSKeyId; + bool m_sSEKMSKeyIdHasBeenSet; + + Aws::String m_sSEKMSEncryptionContext; + bool m_sSEKMSEncryptionContextHasBeenSet; + + bool m_bucketKeyEnabled; + bool m_bucketKeyEnabledHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_tagging; + bool m_taggingHasBeenSet; + + ObjectLockMode m_objectLockMode; + bool m_objectLockModeHasBeenSet; + + Aws::Utils::DateTime m_objectLockRetainUntilDate; + bool m_objectLockRetainUntilDateHasBeenSet; + + ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; + bool m_objectLockLegalHoldStatusHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h new file mode 100644 index 0000000000..f8b5bf13e7 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectResult.h @@ -0,0 +1,480 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API PutObjectResult + { + public: + PutObjectResult(); + PutObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + PutObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p> If the expiration is configured for the object (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), + * the response includes this header. It includes the expiry-date and rule-id + * key-value pairs that provide information about object expiration. The value of + * the rule-id is URL encoded.</p> + */ + inline const Aws::String& GetExpiration() const{ return m_expiration; } + + /** + * <p> If the expiration is configured for the object (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), + * the response includes this header. It includes the expiry-date and rule-id + * key-value pairs that provide information about object expiration. The value of + * the rule-id is URL encoded.</p> + */ + inline void SetExpiration(const Aws::String& value) { m_expiration = value; } + + /** + * <p> If the expiration is configured for the object (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), + * the response includes this header. It includes the expiry-date and rule-id + * key-value pairs that provide information about object expiration. The value of + * the rule-id is URL encoded.</p> + */ + inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } + + /** + * <p> If the expiration is configured for the object (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), + * the response includes this header. It includes the expiry-date and rule-id + * key-value pairs that provide information about object expiration. The value of + * the rule-id is URL encoded.</p> + */ + inline void SetExpiration(const char* value) { m_expiration.assign(value); } + + /** + * <p> If the expiration is configured for the object (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), + * the response includes this header. It includes the expiry-date and rule-id + * key-value pairs that provide information about object expiration. The value of + * the rule-id is URL encoded.</p> + */ + inline PutObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} + + /** + * <p> If the expiration is configured for the object (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), + * the response includes this header. It includes the expiry-date and rule-id + * key-value pairs that provide information about object expiration. The value of + * the rule-id is URL encoded.</p> + */ + inline PutObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} + + /** + * <p> If the expiration is configured for the object (see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), + * the response includes this header. It includes the expiry-date and rule-id + * key-value pairs that provide information about object expiration. The value of + * the rule-id is URL encoded.</p> + */ + inline PutObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} + + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTag = value; } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline void SetETag(const char* value) { m_eTag.assign(value); } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline PutObjectResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline PutObjectResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline PutObjectResult& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>If you specified server-side encryption either with an AWS KMS customer + * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the + * response includes this header. It confirms the encryption algorithm that Amazon + * S3 used to encrypt the object.</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>If you specified server-side encryption either with an AWS KMS customer + * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the + * response includes this header. It confirms the encryption algorithm that Amazon + * S3 used to encrypt the object.</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>If you specified server-side encryption either with an AWS KMS customer + * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the + * response includes this header. It confirms the encryption algorithm that Amazon + * S3 used to encrypt the object.</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>If you specified server-side encryption either with an AWS KMS customer + * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the + * response includes this header. It confirms the encryption algorithm that Amazon + * S3 used to encrypt the object.</p> + */ + inline PutObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>If you specified server-side encryption either with an AWS KMS customer + * master key (CMK) or Amazon S3-managed encryption key in your PUT request, the + * response includes this header. It confirms the encryption algorithm that Amazon + * S3 used to encrypt the object.</p> + */ + inline PutObjectResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>Version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>Version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>Version of the object.</p> + */ + inline PutObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>Version of the object.</p> + */ + inline PutObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>Version of the object.</p> + */ + inline PutObjectResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline PutObjectResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline PutObjectResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline PutObjectResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline PutObjectResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline PutObjectResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline PutObjectResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was + * used for the object. </p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was + * used for the object. </p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was + * used for the object. </p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was + * used for the object. </p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was + * used for the object. </p> + */ + inline PutObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was + * used for the object. </p> + */ + inline PutObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If <code>x-amz-server-side-encryption</code> is present and has the value of + * <code>aws:kms</code>, this header specifies the ID of the AWS Key Management + * Service (AWS KMS) symmetric customer managed customer master key (CMK) that was + * used for the object. </p> + */ + inline PutObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); } + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline PutObjectResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;} + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline PutObjectResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;} + + /** + * <p>If present, specifies the AWS KMS Encryption Context to use for object + * encryption. The value of this header is a base64-encoded UTF-8 string holding + * JSON with the encryption context key-value pairs.</p> + */ + inline PutObjectResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;} + + + /** + * <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline PutObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline PutObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline PutObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + Aws::String m_expiration; + + Aws::String m_eTag; + + ServerSideEncryption m_serverSideEncryption; + + Aws::String m_versionId; + + Aws::String m_sSECustomerAlgorithm; + + Aws::String m_sSECustomerKeyMD5; + + Aws::String m_sSEKMSKeyId; + + Aws::String m_sSEKMSEncryptionContext; + + bool m_bucketKeyEnabled; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h new file mode 100644 index 0000000000..6efb8470e0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionRequest.h @@ -0,0 +1,527 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ObjectLockRetention.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutObjectRetentionRequest : public S3Request + { + public: + PutObjectRetentionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutObjectRetention"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectRetentionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectRetentionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name that contains the object you want to apply this Object + * Retention configuration to. </p> <p>When using this API with an access point, + * you must direct requests to the access point hostname. The access point hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectRetentionRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline PutObjectRetentionRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline PutObjectRetentionRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The key name for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline PutObjectRetentionRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The container element for the Object Retention configuration.</p> + */ + inline const ObjectLockRetention& GetRetention() const{ return m_retention; } + + /** + * <p>The container element for the Object Retention configuration.</p> + */ + inline bool RetentionHasBeenSet() const { return m_retentionHasBeenSet; } + + /** + * <p>The container element for the Object Retention configuration.</p> + */ + inline void SetRetention(const ObjectLockRetention& value) { m_retentionHasBeenSet = true; m_retention = value; } + + /** + * <p>The container element for the Object Retention configuration.</p> + */ + inline void SetRetention(ObjectLockRetention&& value) { m_retentionHasBeenSet = true; m_retention = std::move(value); } + + /** + * <p>The container element for the Object Retention configuration.</p> + */ + inline PutObjectRetentionRequest& WithRetention(const ObjectLockRetention& value) { SetRetention(value); return *this;} + + /** + * <p>The container element for the Object Retention configuration.</p> + */ + inline PutObjectRetentionRequest& WithRetention(ObjectLockRetention&& value) { SetRetention(std::move(value)); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline PutObjectRetentionRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline PutObjectRetentionRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline PutObjectRetentionRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline PutObjectRetentionRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The version ID for the object that you want to apply this Object Retention + * configuration to.</p> + */ + inline PutObjectRetentionRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>Indicates whether this operation should bypass Governance-mode + * restrictions.</p> + */ + inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; } + + /** + * <p>Indicates whether this operation should bypass Governance-mode + * restrictions.</p> + */ + inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; } + + /** + * <p>Indicates whether this operation should bypass Governance-mode + * restrictions.</p> + */ + inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; } + + /** + * <p>Indicates whether this operation should bypass Governance-mode + * restrictions.</p> + */ + inline PutObjectRetentionRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;} + + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectRetentionRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectRetentionRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectRetentionRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectRetentionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectRetentionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectRetentionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutObjectRetentionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutObjectRetentionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectRetentionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + ObjectLockRetention m_retention; + bool m_retentionHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + bool m_bypassGovernanceRetention; + bool m_bypassGovernanceRetentionHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h new file mode 100644 index 0000000000..c35bdbd110 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectRetentionResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API PutObjectRetentionResult + { + public: + PutObjectRetentionResult(); + PutObjectRetentionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + PutObjectRetentionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline PutObjectRetentionResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline PutObjectRetentionResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h new file mode 100644 index 0000000000..272b113058 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingRequest.h @@ -0,0 +1,524 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Tagging.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutObjectTaggingRequest : public S3Request + { + public: + PutObjectTaggingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutObjectTagging"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the object. </p> <p>When using this API with an + * access point, you must direct requests to the access point hostname. The access + * point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutObjectTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Name of the object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Name of the object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Name of the object key.</p> + */ + inline PutObjectTaggingRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Name of the object key.</p> + */ + inline PutObjectTaggingRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Name of the object key.</p> + */ + inline PutObjectTaggingRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline PutObjectTaggingRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline PutObjectTaggingRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The versionId of the object that the tag-set will be added to.</p> + */ + inline PutObjectTaggingRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectTaggingRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectTaggingRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash for the request body.</p> <p>For requests made using the AWS + * Command Line Interface (CLI) or AWS SDKs, this field is calculated + * automatically.</p> + */ + inline PutObjectTaggingRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p> + */ + inline const Tagging& GetTagging() const{ return m_tagging; } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p> + */ + inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p> + */ + inline void SetTagging(const Tagging& value) { m_taggingHasBeenSet = true; m_tagging = value; } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p> + */ + inline void SetTagging(Tagging&& value) { m_taggingHasBeenSet = true; m_tagging = std::move(value); } + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p> + */ + inline PutObjectTaggingRequest& WithTagging(const Tagging& value) { SetTagging(value); return *this;} + + /** + * <p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p> + */ + inline PutObjectTaggingRequest& WithTagging(Tagging&& value) { SetTagging(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutObjectTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutObjectTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutObjectTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Tagging m_tagging; + bool m_taggingHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h new file mode 100644 index 0000000000..7a48440e89 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutObjectTaggingResult.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API PutObjectTaggingResult + { + public: + PutObjectTaggingResult(); + PutObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + PutObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The versionId of the object the tag-set was added to.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>The versionId of the object the tag-set was added to.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionId = value; } + + /** + * <p>The versionId of the object the tag-set was added to.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } + + /** + * <p>The versionId of the object the tag-set was added to.</p> + */ + inline void SetVersionId(const char* value) { m_versionId.assign(value); } + + /** + * <p>The versionId of the object the tag-set was added to.</p> + */ + inline PutObjectTaggingResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>The versionId of the object the tag-set was added to.</p> + */ + inline PutObjectTaggingResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>The versionId of the object the tag-set was added to.</p> + */ + inline PutObjectTaggingResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + private: + + Aws::String m_versionId; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h new file mode 100644 index 0000000000..ab558c00d6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/PutPublicAccessBlockRequest.h @@ -0,0 +1,336 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/PublicAccessBlockConfiguration.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API PutPublicAccessBlockRequest : public S3Request + { + public: + PutPublicAccessBlockRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutPublicAccessBlock"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + inline bool ShouldComputeContentMd5() const override { return true; } + + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline PutPublicAccessBlockRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline PutPublicAccessBlockRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the Amazon S3 bucket whose <code>PublicAccessBlock</code> + * configuration you want to set.</p> + */ + inline PutPublicAccessBlockRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline PutPublicAccessBlockRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline PutPublicAccessBlockRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The MD5 hash of the <code>PutPublicAccessBlock</code> request body. </p> + * <p>For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, + * this field is calculated automatically.</p> + */ + inline PutPublicAccessBlockRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>The <code>PublicAccessBlock</code> configuration that you want to apply to + * this Amazon S3 bucket. 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 Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const PublicAccessBlockConfiguration& GetPublicAccessBlockConfiguration() const{ return m_publicAccessBlockConfiguration; } + + /** + * <p>The <code>PublicAccessBlock</code> configuration that you want to apply to + * this Amazon S3 bucket. 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 Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool PublicAccessBlockConfigurationHasBeenSet() const { return m_publicAccessBlockConfigurationHasBeenSet; } + + /** + * <p>The <code>PublicAccessBlock</code> configuration that you want to apply to + * this Amazon S3 bucket. 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 Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetPublicAccessBlockConfiguration(const PublicAccessBlockConfiguration& value) { m_publicAccessBlockConfigurationHasBeenSet = true; m_publicAccessBlockConfiguration = value; } + + /** + * <p>The <code>PublicAccessBlock</code> configuration that you want to apply to + * this Amazon S3 bucket. 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 Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetPublicAccessBlockConfiguration(PublicAccessBlockConfiguration&& value) { m_publicAccessBlockConfigurationHasBeenSet = true; m_publicAccessBlockConfiguration = std::move(value); } + + /** + * <p>The <code>PublicAccessBlock</code> configuration that you want to apply to + * this Amazon S3 bucket. 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 Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutPublicAccessBlockRequest& WithPublicAccessBlockConfiguration(const PublicAccessBlockConfiguration& value) { SetPublicAccessBlockConfiguration(value); return *this;} + + /** + * <p>The <code>PublicAccessBlock</code> configuration that you want to apply to + * this Amazon S3 bucket. 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 Simple Storage Service Developer + * Guide</i>.</p> + */ + inline PutPublicAccessBlockRequest& WithPublicAccessBlockConfiguration(PublicAccessBlockConfiguration&& value) { SetPublicAccessBlockConfiguration(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutPublicAccessBlockRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutPublicAccessBlockRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline PutPublicAccessBlockRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline PutPublicAccessBlockRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline PutPublicAccessBlockRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline PutPublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline PutPublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutPublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutPublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline PutPublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline PutPublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline PutPublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + PublicAccessBlockConfiguration m_publicAccessBlockConfiguration; + bool m_publicAccessBlockConfigurationHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h new file mode 100644 index 0000000000..41cc3d2d70 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfiguration.h @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/NotificationConfigurationFilter.h> +#include <aws/s3/model/Event.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the configuration for publishing messages to an Amazon Simple Queue + * Service (Amazon SQS) queue when Amazon S3 detects specified + * events.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API QueueConfiguration + { + public: + QueueConfiguration(); + QueueConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + QueueConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const Aws::String& GetId() const{ return m_id; } + + + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + + inline QueueConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + + inline QueueConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + + inline QueueConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline const Aws::String& GetQueueArn() const{ return m_queueArn; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline bool QueueArnHasBeenSet() const { return m_queueArnHasBeenSet; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline void SetQueueArn(const Aws::String& value) { m_queueArnHasBeenSet = true; m_queueArn = value; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline void SetQueueArn(Aws::String&& value) { m_queueArnHasBeenSet = true; m_queueArn = std::move(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline void SetQueueArn(const char* value) { m_queueArnHasBeenSet = true; m_queueArn.assign(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline QueueConfiguration& WithQueueArn(const Aws::String& value) { SetQueueArn(value); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline QueueConfiguration& WithQueueArn(Aws::String&& value) { SetQueueArn(std::move(value)); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline QueueConfiguration& WithQueueArn(const char* value) { SetQueueArn(value); return *this;} + + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline const Aws::Vector<Event>& GetEvents() const{ return m_events; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfiguration& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;} + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfiguration& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;} + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfiguration& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfiguration& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + + + inline const NotificationConfigurationFilter& GetFilter() const{ return m_filter; } + + + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + + inline void SetFilter(const NotificationConfigurationFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + + inline void SetFilter(NotificationConfigurationFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + + inline QueueConfiguration& WithFilter(const NotificationConfigurationFilter& value) { SetFilter(value); return *this;} + + + inline QueueConfiguration& WithFilter(NotificationConfigurationFilter&& value) { SetFilter(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_queueArn; + bool m_queueArnHasBeenSet; + + Aws::Vector<Event> m_events; + bool m_eventsHasBeenSet; + + NotificationConfigurationFilter m_filter; + bool m_filterHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h new file mode 100644 index 0000000000..9f99c6a416 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QueueConfigurationDeprecated.h @@ -0,0 +1,174 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Event.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>This data type is deprecated. Use <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_QueueConfiguration.html">QueueConfiguration</a> + * for the same purposes. This data type specifies the configuration for publishing + * messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 + * detects specified events. </p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfigurationDeprecated">AWS + * API Reference</a></p> + */ + class AWS_S3_API QueueConfigurationDeprecated + { + public: + QueueConfigurationDeprecated(); + QueueConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); + QueueConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const Aws::String& GetId() const{ return m_id; } + + + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + + inline QueueConfigurationDeprecated& WithId(const Aws::String& value) { SetId(value); return *this;} + + + inline QueueConfigurationDeprecated& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + + inline QueueConfigurationDeprecated& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline const Aws::Vector<Event>& GetEvents() const{ return m_events; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfigurationDeprecated& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;} + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfigurationDeprecated& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;} + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfigurationDeprecated& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + * <p>A collection of bucket events for which to send notifications</p> + */ + inline QueueConfigurationDeprecated& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline const Aws::String& GetQueue() const{ return m_queue; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline bool QueueHasBeenSet() const { return m_queueHasBeenSet; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline void SetQueue(const Aws::String& value) { m_queueHasBeenSet = true; m_queue = value; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline void SetQueue(Aws::String&& value) { m_queueHasBeenSet = true; m_queue = std::move(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline void SetQueue(const char* value) { m_queueHasBeenSet = true; m_queue.assign(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline QueueConfigurationDeprecated& WithQueue(const Aws::String& value) { SetQueue(value); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline QueueConfigurationDeprecated& WithQueue(Aws::String&& value) { SetQueue(std::move(value)); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 + * publishes a message when it detects events of the specified type. </p> + */ + inline QueueConfigurationDeprecated& WithQueue(const char* value) { SetQueue(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::Vector<Event> m_events; + bool m_eventsHasBeenSet; + + Aws::String m_queue; + bool m_queueHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QuoteFields.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QuoteFields.h new file mode 100644 index 0000000000..5b233ab137 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/QuoteFields.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class QuoteFields + { + NOT_SET, + ALWAYS, + ASNEEDED + }; + +namespace QuoteFieldsMapper +{ +AWS_S3_API QuoteFields GetQuoteFieldsForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForQuoteFields(QuoteFields value); +} // namespace QuoteFieldsMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h new file mode 100644 index 0000000000..30ef211adb --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RecordsEvent.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/Array.h> +#include <utility> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + /** + * <p>The container for the records event.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RecordsEvent">AWS API + * Reference</a></p> + */ + class AWS_S3_API RecordsEvent + { + public: + RecordsEvent() = default; + RecordsEvent(Aws::Vector<unsigned char>&& value) { m_payload = std::move(value); } + + /** + * <p>The byte array of partial, one or more result records.</p> + */ + inline const Aws::Vector<unsigned char>& GetPayload() const { return m_payload; } + + /** + * <p>The byte array of partial, one or more result records.</p> + */ + inline Aws::Vector<unsigned char>&& GetPayloadWithOwnership() { return std::move(m_payload); } + + /** + * <p>The byte array of partial, one or more result records.</p> + */ + inline void SetPayload(const Aws::Vector<unsigned char>& value) { m_payloadHasBeenSet = true; m_payload = value; } + + /** + * <p>The byte array of partial, one or more result records.</p> + */ + inline void SetPayload(Aws::Vector<unsigned char>&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); } + + /** + * <p>The byte array of partial, one or more result records.</p> + */ + inline RecordsEvent& WithPayload(const Aws::Vector<unsigned char>& value) { SetPayload(value); return *this;} + + /** + * <p>The byte array of partial, one or more result records.</p> + */ + inline RecordsEvent& WithPayload(Aws::Vector<unsigned char>&& value) { SetPayload(std::move(value)); return *this;} + + private: + + Aws::Vector<unsigned char> m_payload; + bool m_payloadHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h new file mode 100644 index 0000000000..bda92937fe --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Redirect.h @@ -0,0 +1,342 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Protocol.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies how requests are redirected. In the event of an error, you can + * specify a different error code to return.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Redirect">AWS API + * Reference</a></p> + */ + class AWS_S3_API Redirect + { + public: + Redirect(); + Redirect(const Aws::Utils::Xml::XmlNode& xmlNode); + Redirect& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline const Aws::String& GetHostName() const{ return m_hostName; } + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline bool HostNameHasBeenSet() const { return m_hostNameHasBeenSet; } + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline void SetHostName(const Aws::String& value) { m_hostNameHasBeenSet = true; m_hostName = value; } + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline void SetHostName(Aws::String&& value) { m_hostNameHasBeenSet = true; m_hostName = std::move(value); } + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline void SetHostName(const char* value) { m_hostNameHasBeenSet = true; m_hostName.assign(value); } + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline Redirect& WithHostName(const Aws::String& value) { SetHostName(value); return *this;} + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline Redirect& WithHostName(Aws::String&& value) { SetHostName(std::move(value)); return *this;} + + /** + * <p>The host name to use in the redirect request.</p> + */ + inline Redirect& WithHostName(const char* value) { SetHostName(value); return *this;} + + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline const Aws::String& GetHttpRedirectCode() const{ return m_httpRedirectCode; } + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline bool HttpRedirectCodeHasBeenSet() const { return m_httpRedirectCodeHasBeenSet; } + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline void SetHttpRedirectCode(const Aws::String& value) { m_httpRedirectCodeHasBeenSet = true; m_httpRedirectCode = value; } + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline void SetHttpRedirectCode(Aws::String&& value) { m_httpRedirectCodeHasBeenSet = true; m_httpRedirectCode = std::move(value); } + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline void SetHttpRedirectCode(const char* value) { m_httpRedirectCodeHasBeenSet = true; m_httpRedirectCode.assign(value); } + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline Redirect& WithHttpRedirectCode(const Aws::String& value) { SetHttpRedirectCode(value); return *this;} + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline Redirect& WithHttpRedirectCode(Aws::String&& value) { SetHttpRedirectCode(std::move(value)); return *this;} + + /** + * <p>The HTTP redirect code to use on the response. Not required if one of the + * siblings is present.</p> + */ + inline Redirect& WithHttpRedirectCode(const char* value) { SetHttpRedirectCode(value); return *this;} + + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline const Protocol& GetProtocol() const{ return m_protocol; } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline void SetProtocol(const Protocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline void SetProtocol(Protocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline Redirect& WithProtocol(const Protocol& value) { SetProtocol(value); return *this;} + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline Redirect& WithProtocol(Protocol&& value) { SetProtocol(std::move(value)); return *this;} + + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline const Aws::String& GetReplaceKeyPrefixWith() const{ return m_replaceKeyPrefixWith; } + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline bool ReplaceKeyPrefixWithHasBeenSet() const { return m_replaceKeyPrefixWithHasBeenSet; } + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline void SetReplaceKeyPrefixWith(const Aws::String& value) { m_replaceKeyPrefixWithHasBeenSet = true; m_replaceKeyPrefixWith = value; } + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline void SetReplaceKeyPrefixWith(Aws::String&& value) { m_replaceKeyPrefixWithHasBeenSet = true; m_replaceKeyPrefixWith = std::move(value); } + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline void SetReplaceKeyPrefixWith(const char* value) { m_replaceKeyPrefixWithHasBeenSet = true; m_replaceKeyPrefixWith.assign(value); } + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline Redirect& WithReplaceKeyPrefixWith(const Aws::String& value) { SetReplaceKeyPrefixWith(value); return *this;} + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline Redirect& WithReplaceKeyPrefixWith(Aws::String&& value) { SetReplaceKeyPrefixWith(std::move(value)); return *this;} + + /** + * <p>The object key prefix to use in the redirect request. For example, to + * redirect requests for all pages with prefix <code>docs/</code> (objects in the + * <code>docs/</code> folder) to <code>documents/</code>, you can set a condition + * block with <code>KeyPrefixEquals</code> set to <code>docs/</code> and in the + * Redirect set <code>ReplaceKeyPrefixWith</code> to <code>/documents</code>. Not + * required if one of the siblings is present. Can be present only if + * <code>ReplaceKeyWith</code> is not provided.</p> + */ + inline Redirect& WithReplaceKeyPrefixWith(const char* value) { SetReplaceKeyPrefixWith(value); return *this;} + + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline const Aws::String& GetReplaceKeyWith() const{ return m_replaceKeyWith; } + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline bool ReplaceKeyWithHasBeenSet() const { return m_replaceKeyWithHasBeenSet; } + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline void SetReplaceKeyWith(const Aws::String& value) { m_replaceKeyWithHasBeenSet = true; m_replaceKeyWith = value; } + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline void SetReplaceKeyWith(Aws::String&& value) { m_replaceKeyWithHasBeenSet = true; m_replaceKeyWith = std::move(value); } + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline void SetReplaceKeyWith(const char* value) { m_replaceKeyWithHasBeenSet = true; m_replaceKeyWith.assign(value); } + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline Redirect& WithReplaceKeyWith(const Aws::String& value) { SetReplaceKeyWith(value); return *this;} + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline Redirect& WithReplaceKeyWith(Aws::String&& value) { SetReplaceKeyWith(std::move(value)); return *this;} + + /** + * <p>The specific object key to use in the redirect request. For example, redirect + * request to <code>error.html</code>. Not required if one of the siblings is + * present. Can be present only if <code>ReplaceKeyPrefixWith</code> is not + * provided.</p> + */ + inline Redirect& WithReplaceKeyWith(const char* value) { SetReplaceKeyWith(value); return *this;} + + private: + + Aws::String m_hostName; + bool m_hostNameHasBeenSet; + + Aws::String m_httpRedirectCode; + bool m_httpRedirectCodeHasBeenSet; + + Protocol m_protocol; + bool m_protocolHasBeenSet; + + Aws::String m_replaceKeyPrefixWith; + bool m_replaceKeyPrefixWithHasBeenSet; + + Aws::String m_replaceKeyWith; + bool m_replaceKeyWithHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h new file mode 100644 index 0000000000..73d5a96f6d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RedirectAllRequestsTo.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Protocol.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the redirect behavior of all requests to a website endpoint of an + * Amazon S3 bucket.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RedirectAllRequestsTo">AWS + * API Reference</a></p> + */ + class AWS_S3_API RedirectAllRequestsTo + { + public: + RedirectAllRequestsTo(); + RedirectAllRequestsTo(const Aws::Utils::Xml::XmlNode& xmlNode); + RedirectAllRequestsTo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline const Aws::String& GetHostName() const{ return m_hostName; } + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline bool HostNameHasBeenSet() const { return m_hostNameHasBeenSet; } + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline void SetHostName(const Aws::String& value) { m_hostNameHasBeenSet = true; m_hostName = value; } + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline void SetHostName(Aws::String&& value) { m_hostNameHasBeenSet = true; m_hostName = std::move(value); } + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline void SetHostName(const char* value) { m_hostNameHasBeenSet = true; m_hostName.assign(value); } + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline RedirectAllRequestsTo& WithHostName(const Aws::String& value) { SetHostName(value); return *this;} + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline RedirectAllRequestsTo& WithHostName(Aws::String&& value) { SetHostName(std::move(value)); return *this;} + + /** + * <p>Name of the host where requests are redirected.</p> + */ + inline RedirectAllRequestsTo& WithHostName(const char* value) { SetHostName(value); return *this;} + + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline const Protocol& GetProtocol() const{ return m_protocol; } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline void SetProtocol(const Protocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline void SetProtocol(Protocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline RedirectAllRequestsTo& WithProtocol(const Protocol& value) { SetProtocol(value); return *this;} + + /** + * <p>Protocol to use when redirecting requests. The default is the protocol that + * is used in the original request.</p> + */ + inline RedirectAllRequestsTo& WithProtocol(Protocol&& value) { SetProtocol(std::move(value)); return *this;} + + private: + + Aws::String m_hostName; + bool m_hostNameHasBeenSet; + + Protocol m_protocol; + bool m_protocolHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h new file mode 100644 index 0000000000..e9685d6258 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModifications.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ReplicaModificationsStatus.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A filter that you can specify for selection for modifications on replicas. + * Amazon S3 doesn't replicate replica modifications by default. In the latest + * version of replication configuration (when <code>Filter</code> is specified), + * you can specify this element and set the status to <code>Enabled</code> to + * replicate modifications on replicas. </p> <p> If you don't specify the + * <code>Filter</code> element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, this element + * is not allowed.</p> <p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicaModifications">AWS + * API Reference</a></p> + */ + class AWS_S3_API ReplicaModifications + { + public: + ReplicaModifications(); + ReplicaModifications(const Aws::Utils::Xml::XmlNode& xmlNode); + ReplicaModifications& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies whether Amazon S3 replicates modifications on replicas.</p> + */ + inline const ReplicaModificationsStatus& GetStatus() const{ return m_status; } + + /** + * <p>Specifies whether Amazon S3 replicates modifications on replicas.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 replicates modifications on replicas.</p> + */ + inline void SetStatus(const ReplicaModificationsStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>Specifies whether Amazon S3 replicates modifications on replicas.</p> + */ + inline void SetStatus(ReplicaModificationsStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>Specifies whether Amazon S3 replicates modifications on replicas.</p> + */ + inline ReplicaModifications& WithStatus(const ReplicaModificationsStatus& value) { SetStatus(value); return *this;} + + /** + * <p>Specifies whether Amazon S3 replicates modifications on replicas.</p> + */ + inline ReplicaModifications& WithStatus(ReplicaModificationsStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + ReplicaModificationsStatus m_status; + bool m_statusHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModificationsStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModificationsStatus.h new file mode 100644 index 0000000000..9f8902d847 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicaModificationsStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ReplicaModificationsStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace ReplicaModificationsStatusMapper +{ +AWS_S3_API ReplicaModificationsStatus GetReplicaModificationsStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForReplicaModificationsStatus(ReplicaModificationsStatus value); +} // namespace ReplicaModificationsStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h new file mode 100644 index 0000000000..2ffc3e3f51 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationConfiguration.h @@ -0,0 +1,183 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/ReplicationRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for replication rules. You can add up to 1,000 rules. The maximum + * size of a replication configuration is 2 MB.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API ReplicationConfiguration + { + public: + ReplicationConfiguration(); + ReplicationConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + ReplicationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetRole() const{ return m_role; } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ReplicationConfiguration& WithRole(const Aws::String& value) { SetRole(value); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ReplicationConfiguration& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management + * (IAM) role that Amazon S3 assumes when replicating objects. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html">How + * to Set Up Replication</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline ReplicationConfiguration& WithRole(const char* value) { SetRole(value); return *this;} + + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline const Aws::Vector<ReplicationRule>& GetRules() const{ return m_rules; } + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline void SetRules(const Aws::Vector<ReplicationRule>& value) { m_rulesHasBeenSet = true; m_rules = value; } + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline void SetRules(Aws::Vector<ReplicationRule>&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline ReplicationConfiguration& WithRules(const Aws::Vector<ReplicationRule>& value) { SetRules(value); return *this;} + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline ReplicationConfiguration& WithRules(Aws::Vector<ReplicationRule>&& value) { SetRules(std::move(value)); return *this;} + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline ReplicationConfiguration& AddRules(const ReplicationRule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } + + /** + * <p>A container for one or more replication rules. A replication configuration + * must have at least one rule and can contain a maximum of 1,000 rules. </p> + */ + inline ReplicationConfiguration& AddRules(ReplicationRule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_role; + bool m_roleHasBeenSet; + + Aws::Vector<ReplicationRule> m_rules; + bool m_rulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h new file mode 100644 index 0000000000..ae8671f874 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRule.h @@ -0,0 +1,357 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ReplicationRuleFilter.h> +#include <aws/s3/model/ReplicationRuleStatus.h> +#include <aws/s3/model/SourceSelectionCriteria.h> +#include <aws/s3/model/ExistingObjectReplication.h> +#include <aws/s3/model/Destination.h> +#include <aws/s3/model/DeleteMarkerReplication.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies which Amazon S3 objects to replicate and where to store the + * replicas.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRule">AWS + * API Reference</a></p> + */ + class AWS_S3_API ReplicationRule + { + public: + ReplicationRule(); + ReplicationRule(const Aws::Utils::Xml::XmlNode& xmlNode); + ReplicationRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline const Aws::String& GetID() const{ return m_iD; } + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline ReplicationRule& WithID(const Aws::String& value) { SetID(value); return *this;} + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline ReplicationRule& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} + + /** + * <p>A unique identifier for the rule. The maximum value is 255 characters.</p> + */ + inline ReplicationRule& WithID(const char* value) { SetID(value); return *this;} + + + /** + * <p>The priority indicates which rule has precedence whenever two or more + * replication rules conflict. Amazon S3 will attempt to replicate objects + * according to all replication rules. However, if there are two or more rules with + * the same destination bucket, then objects will be replicated according to the + * rule with the highest priority. The higher the number, the higher the priority. + * </p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline int GetPriority() const{ return m_priority; } + + /** + * <p>The priority indicates which rule has precedence whenever two or more + * replication rules conflict. Amazon S3 will attempt to replicate objects + * according to all replication rules. However, if there are two or more rules with + * the same destination bucket, then objects will be replicated according to the + * rule with the highest priority. The higher the number, the higher the priority. + * </p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } + + /** + * <p>The priority indicates which rule has precedence whenever two or more + * replication rules conflict. Amazon S3 will attempt to replicate objects + * according to all replication rules. However, if there are two or more rules with + * the same destination bucket, then objects will be replicated according to the + * rule with the highest priority. The higher the number, the higher the priority. + * </p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } + + /** + * <p>The priority indicates which rule has precedence whenever two or more + * replication rules conflict. Amazon S3 will attempt to replicate objects + * according to all replication rules. However, if there are two or more rules with + * the same destination bucket, then objects will be replicated according to the + * rule with the highest priority. The higher the number, the higher the priority. + * </p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a> + * in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline ReplicationRule& WithPriority(int value) { SetPriority(value); return *this;} + + + + inline const ReplicationRuleFilter& GetFilter() const{ return m_filter; } + + + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + + inline void SetFilter(const ReplicationRuleFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + + inline void SetFilter(ReplicationRuleFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + + inline ReplicationRule& WithFilter(const ReplicationRuleFilter& value) { SetFilter(value); return *this;} + + + inline ReplicationRule& WithFilter(ReplicationRuleFilter&& value) { SetFilter(std::move(value)); return *this;} + + + /** + * <p>Specifies whether the rule is enabled.</p> + */ + inline const ReplicationRuleStatus& GetStatus() const{ return m_status; } + + /** + * <p>Specifies whether the rule is enabled.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>Specifies whether the rule is enabled.</p> + */ + inline void SetStatus(const ReplicationRuleStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>Specifies whether the rule is enabled.</p> + */ + inline void SetStatus(ReplicationRuleStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>Specifies whether the rule is enabled.</p> + */ + inline ReplicationRule& WithStatus(const ReplicationRuleStatus& value) { SetStatus(value); return *this;} + + /** + * <p>Specifies whether the rule is enabled.</p> + */ + inline ReplicationRule& WithStatus(ReplicationRuleStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + * <p>A container that describes additional filters for identifying the source + * objects that you want to replicate. You can choose to enable or disable the + * replication of these objects. Currently, Amazon S3 supports only the filter that + * you can specify for objects created with server-side encryption using a customer + * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + */ + inline const SourceSelectionCriteria& GetSourceSelectionCriteria() const{ return m_sourceSelectionCriteria; } + + /** + * <p>A container that describes additional filters for identifying the source + * objects that you want to replicate. You can choose to enable or disable the + * replication of these objects. Currently, Amazon S3 supports only the filter that + * you can specify for objects created with server-side encryption using a customer + * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + */ + inline bool SourceSelectionCriteriaHasBeenSet() const { return m_sourceSelectionCriteriaHasBeenSet; } + + /** + * <p>A container that describes additional filters for identifying the source + * objects that you want to replicate. You can choose to enable or disable the + * replication of these objects. Currently, Amazon S3 supports only the filter that + * you can specify for objects created with server-side encryption using a customer + * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + */ + inline void SetSourceSelectionCriteria(const SourceSelectionCriteria& value) { m_sourceSelectionCriteriaHasBeenSet = true; m_sourceSelectionCriteria = value; } + + /** + * <p>A container that describes additional filters for identifying the source + * objects that you want to replicate. You can choose to enable or disable the + * replication of these objects. Currently, Amazon S3 supports only the filter that + * you can specify for objects created with server-side encryption using a customer + * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + */ + inline void SetSourceSelectionCriteria(SourceSelectionCriteria&& value) { m_sourceSelectionCriteriaHasBeenSet = true; m_sourceSelectionCriteria = std::move(value); } + + /** + * <p>A container that describes additional filters for identifying the source + * objects that you want to replicate. You can choose to enable or disable the + * replication of these objects. Currently, Amazon S3 supports only the filter that + * you can specify for objects created with server-side encryption using a customer + * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + */ + inline ReplicationRule& WithSourceSelectionCriteria(const SourceSelectionCriteria& value) { SetSourceSelectionCriteria(value); return *this;} + + /** + * <p>A container that describes additional filters for identifying the source + * objects that you want to replicate. You can choose to enable or disable the + * replication of these objects. Currently, Amazon S3 supports only the filter that + * you can specify for objects created with server-side encryption using a customer + * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p> + */ + inline ReplicationRule& WithSourceSelectionCriteria(SourceSelectionCriteria&& value) { SetSourceSelectionCriteria(std::move(value)); return *this;} + + + /** + * <p/> + */ + inline const ExistingObjectReplication& GetExistingObjectReplication() const{ return m_existingObjectReplication; } + + /** + * <p/> + */ + inline bool ExistingObjectReplicationHasBeenSet() const { return m_existingObjectReplicationHasBeenSet; } + + /** + * <p/> + */ + inline void SetExistingObjectReplication(const ExistingObjectReplication& value) { m_existingObjectReplicationHasBeenSet = true; m_existingObjectReplication = value; } + + /** + * <p/> + */ + inline void SetExistingObjectReplication(ExistingObjectReplication&& value) { m_existingObjectReplicationHasBeenSet = true; m_existingObjectReplication = std::move(value); } + + /** + * <p/> + */ + inline ReplicationRule& WithExistingObjectReplication(const ExistingObjectReplication& value) { SetExistingObjectReplication(value); return *this;} + + /** + * <p/> + */ + inline ReplicationRule& WithExistingObjectReplication(ExistingObjectReplication&& value) { SetExistingObjectReplication(std::move(value)); return *this;} + + + /** + * <p>A container for information about the replication destination and its + * configurations including enabling the S3 Replication Time Control (S3 RTC).</p> + */ + inline const Destination& GetDestination() const{ return m_destination; } + + /** + * <p>A container for information about the replication destination and its + * configurations including enabling the S3 Replication Time Control (S3 RTC).</p> + */ + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + + /** + * <p>A container for information about the replication destination and its + * configurations including enabling the S3 Replication Time Control (S3 RTC).</p> + */ + inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; } + + /** + * <p>A container for information about the replication destination and its + * configurations including enabling the S3 Replication Time Control (S3 RTC).</p> + */ + inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + + /** + * <p>A container for information about the replication destination and its + * configurations including enabling the S3 Replication Time Control (S3 RTC).</p> + */ + inline ReplicationRule& WithDestination(const Destination& value) { SetDestination(value); return *this;} + + /** + * <p>A container for information about the replication destination and its + * configurations including enabling the S3 Replication Time Control (S3 RTC).</p> + */ + inline ReplicationRule& WithDestination(Destination&& value) { SetDestination(std::move(value)); return *this;} + + + + inline const DeleteMarkerReplication& GetDeleteMarkerReplication() const{ return m_deleteMarkerReplication; } + + + inline bool DeleteMarkerReplicationHasBeenSet() const { return m_deleteMarkerReplicationHasBeenSet; } + + + inline void SetDeleteMarkerReplication(const DeleteMarkerReplication& value) { m_deleteMarkerReplicationHasBeenSet = true; m_deleteMarkerReplication = value; } + + + inline void SetDeleteMarkerReplication(DeleteMarkerReplication&& value) { m_deleteMarkerReplicationHasBeenSet = true; m_deleteMarkerReplication = std::move(value); } + + + inline ReplicationRule& WithDeleteMarkerReplication(const DeleteMarkerReplication& value) { SetDeleteMarkerReplication(value); return *this;} + + + inline ReplicationRule& WithDeleteMarkerReplication(DeleteMarkerReplication&& value) { SetDeleteMarkerReplication(std::move(value)); return *this;} + + private: + + Aws::String m_iD; + bool m_iDHasBeenSet; + + int m_priority; + bool m_priorityHasBeenSet; + + ReplicationRuleFilter m_filter; + bool m_filterHasBeenSet; + + ReplicationRuleStatus m_status; + bool m_statusHasBeenSet; + + SourceSelectionCriteria m_sourceSelectionCriteria; + bool m_sourceSelectionCriteriaHasBeenSet; + + ExistingObjectReplication m_existingObjectReplication; + bool m_existingObjectReplicationHasBeenSet; + + Destination m_destination; + bool m_destinationHasBeenSet; + + DeleteMarkerReplication m_deleteMarkerReplication; + bool m_deleteMarkerReplicationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h new file mode 100644 index 0000000000..900e873869 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleAndOperator.h @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for specifying rule filters. The filters determine the subset of + * objects to which the rule applies. This element is required only if you specify + * more than one filter. </p> <p>For example:</p> <ul> <li> <p>If you specify both + * a <code>Prefix</code> and a <code>Tag</code> filter, wrap these filters in an + * <code>And</code> tag. </p> </li> <li> <p>If you specify a filter based on + * multiple tags, wrap the <code>Tag</code> elements in an <code>And</code> tag</p> + * </li> </ul><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleAndOperator">AWS + * API Reference</a></p> + */ + class AWS_S3_API ReplicationRuleAndOperator + { + public: + ReplicationRuleAndOperator(); + ReplicationRuleAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode); + ReplicationRuleAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline ReplicationRuleAndOperator& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline ReplicationRuleAndOperator& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline ReplicationRuleAndOperator& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline ReplicationRuleAndOperator& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline ReplicationRuleAndOperator& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline ReplicationRuleAndOperator& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + * <p>An array of tags containing key and value pairs.</p> + */ + inline ReplicationRuleAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Aws::Vector<Tag> m_tags; + bool m_tagsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h new file mode 100644 index 0000000000..f8d7e698c0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleFilter.h @@ -0,0 +1,211 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Tag.h> +#include <aws/s3/model/ReplicationRuleAndOperator.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A filter that identifies the subset of objects to which the replication rule + * applies. A <code>Filter</code> must specify exactly one <code>Prefix</code>, + * <code>Tag</code>, or an <code>And</code> child element.</p><p><h3>See Also:</h3> + * <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleFilter">AWS + * API Reference</a></p> + */ + class AWS_S3_API ReplicationRuleFilter + { + public: + ReplicationRuleFilter(); + ReplicationRuleFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + ReplicationRuleFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline ReplicationRuleFilter& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline ReplicationRuleFilter& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>An object key name prefix that identifies the subset of objects to which the + * rule applies.</p> + */ + inline ReplicationRuleFilter& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>A container for specifying a tag key and value. </p> <p>The rule applies only + * to objects that have the tag in their tag set.</p> + */ + inline const Tag& GetTag() const{ return m_tag; } + + /** + * <p>A container for specifying a tag key and value. </p> <p>The rule applies only + * to objects that have the tag in their tag set.</p> + */ + inline bool TagHasBeenSet() const { return m_tagHasBeenSet; } + + /** + * <p>A container for specifying a tag key and value. </p> <p>The rule applies only + * to objects that have the tag in their tag set.</p> + */ + inline void SetTag(const Tag& value) { m_tagHasBeenSet = true; m_tag = value; } + + /** + * <p>A container for specifying a tag key and value. </p> <p>The rule applies only + * to objects that have the tag in their tag set.</p> + */ + inline void SetTag(Tag&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); } + + /** + * <p>A container for specifying a tag key and value. </p> <p>The rule applies only + * to objects that have the tag in their tag set.</p> + */ + inline ReplicationRuleFilter& WithTag(const Tag& value) { SetTag(value); return *this;} + + /** + * <p>A container for specifying a tag key and value. </p> <p>The rule applies only + * to objects that have the tag in their tag set.</p> + */ + inline ReplicationRuleFilter& WithTag(Tag&& value) { SetTag(std::move(value)); return *this;} + + + /** + * <p>A container for specifying rule filters. The filters determine the subset of + * objects to which the rule applies. This element is required only if you specify + * more than one filter. For example: </p> <ul> <li> <p>If you specify both a + * <code>Prefix</code> and a <code>Tag</code> filter, wrap these filters in an + * <code>And</code> tag.</p> </li> <li> <p>If you specify a filter based on + * multiple tags, wrap the <code>Tag</code> elements in an <code>And</code> + * tag.</p> </li> </ul> + */ + inline const ReplicationRuleAndOperator& GetAnd() const{ return m_and; } + + /** + * <p>A container for specifying rule filters. The filters determine the subset of + * objects to which the rule applies. This element is required only if you specify + * more than one filter. For example: </p> <ul> <li> <p>If you specify both a + * <code>Prefix</code> and a <code>Tag</code> filter, wrap these filters in an + * <code>And</code> tag.</p> </li> <li> <p>If you specify a filter based on + * multiple tags, wrap the <code>Tag</code> elements in an <code>And</code> + * tag.</p> </li> </ul> + */ + inline bool AndHasBeenSet() const { return m_andHasBeenSet; } + + /** + * <p>A container for specifying rule filters. The filters determine the subset of + * objects to which the rule applies. This element is required only if you specify + * more than one filter. For example: </p> <ul> <li> <p>If you specify both a + * <code>Prefix</code> and a <code>Tag</code> filter, wrap these filters in an + * <code>And</code> tag.</p> </li> <li> <p>If you specify a filter based on + * multiple tags, wrap the <code>Tag</code> elements in an <code>And</code> + * tag.</p> </li> </ul> + */ + inline void SetAnd(const ReplicationRuleAndOperator& value) { m_andHasBeenSet = true; m_and = value; } + + /** + * <p>A container for specifying rule filters. The filters determine the subset of + * objects to which the rule applies. This element is required only if you specify + * more than one filter. For example: </p> <ul> <li> <p>If you specify both a + * <code>Prefix</code> and a <code>Tag</code> filter, wrap these filters in an + * <code>And</code> tag.</p> </li> <li> <p>If you specify a filter based on + * multiple tags, wrap the <code>Tag</code> elements in an <code>And</code> + * tag.</p> </li> </ul> + */ + inline void SetAnd(ReplicationRuleAndOperator&& value) { m_andHasBeenSet = true; m_and = std::move(value); } + + /** + * <p>A container for specifying rule filters. The filters determine the subset of + * objects to which the rule applies. This element is required only if you specify + * more than one filter. For example: </p> <ul> <li> <p>If you specify both a + * <code>Prefix</code> and a <code>Tag</code> filter, wrap these filters in an + * <code>And</code> tag.</p> </li> <li> <p>If you specify a filter based on + * multiple tags, wrap the <code>Tag</code> elements in an <code>And</code> + * tag.</p> </li> </ul> + */ + inline ReplicationRuleFilter& WithAnd(const ReplicationRuleAndOperator& value) { SetAnd(value); return *this;} + + /** + * <p>A container for specifying rule filters. The filters determine the subset of + * objects to which the rule applies. This element is required only if you specify + * more than one filter. For example: </p> <ul> <li> <p>If you specify both a + * <code>Prefix</code> and a <code>Tag</code> filter, wrap these filters in an + * <code>And</code> tag.</p> </li> <li> <p>If you specify a filter based on + * multiple tags, wrap the <code>Tag</code> elements in an <code>And</code> + * tag.</p> </li> </ul> + */ + inline ReplicationRuleFilter& WithAnd(ReplicationRuleAndOperator&& value) { SetAnd(std::move(value)); return *this;} + + private: + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Tag m_tag; + bool m_tagHasBeenSet; + + ReplicationRuleAndOperator m_and; + bool m_andHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleStatus.h new file mode 100644 index 0000000000..a977fb6e3b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationRuleStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ReplicationRuleStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace ReplicationRuleStatusMapper +{ +AWS_S3_API ReplicationRuleStatus GetReplicationRuleStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForReplicationRuleStatus(ReplicationRuleStatus value); +} // namespace ReplicationRuleStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationStatus.h new file mode 100644 index 0000000000..ec89d045a5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ReplicationStatus + { + NOT_SET, + COMPLETED, + PENDING, + FAILED, + REPLICA + }; + +namespace ReplicationStatusMapper +{ +AWS_S3_API ReplicationStatus GetReplicationStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForReplicationStatus(ReplicationStatus value); +} // namespace ReplicationStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h new file mode 100644 index 0000000000..fa5cfd6008 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTime.h @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ReplicationTimeStatus.h> +#include <aws/s3/model/ReplicationTimeValue.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p> A container specifying S3 Replication Time Control (S3 RTC) related + * information, including whether S3 RTC is enabled and the time when all objects + * and operations on objects must be replicated. Must be specified together with a + * <code>Metrics</code> block. </p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationTime">AWS + * API Reference</a></p> + */ + class AWS_S3_API ReplicationTime + { + public: + ReplicationTime(); + ReplicationTime(const Aws::Utils::Xml::XmlNode& xmlNode); + ReplicationTime& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p> Specifies whether the replication time is enabled. </p> + */ + inline const ReplicationTimeStatus& GetStatus() const{ return m_status; } + + /** + * <p> Specifies whether the replication time is enabled. </p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p> Specifies whether the replication time is enabled. </p> + */ + inline void SetStatus(const ReplicationTimeStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p> Specifies whether the replication time is enabled. </p> + */ + inline void SetStatus(ReplicationTimeStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p> Specifies whether the replication time is enabled. </p> + */ + inline ReplicationTime& WithStatus(const ReplicationTimeStatus& value) { SetStatus(value); return *this;} + + /** + * <p> Specifies whether the replication time is enabled. </p> + */ + inline ReplicationTime& WithStatus(ReplicationTimeStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + * <p> A container specifying the time by which replication should be complete for + * all objects and operations on objects. </p> + */ + inline const ReplicationTimeValue& GetTime() const{ return m_time; } + + /** + * <p> A container specifying the time by which replication should be complete for + * all objects and operations on objects. </p> + */ + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + + /** + * <p> A container specifying the time by which replication should be complete for + * all objects and operations on objects. </p> + */ + inline void SetTime(const ReplicationTimeValue& value) { m_timeHasBeenSet = true; m_time = value; } + + /** + * <p> A container specifying the time by which replication should be complete for + * all objects and operations on objects. </p> + */ + inline void SetTime(ReplicationTimeValue&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + + /** + * <p> A container specifying the time by which replication should be complete for + * all objects and operations on objects. </p> + */ + inline ReplicationTime& WithTime(const ReplicationTimeValue& value) { SetTime(value); return *this;} + + /** + * <p> A container specifying the time by which replication should be complete for + * all objects and operations on objects. </p> + */ + inline ReplicationTime& WithTime(ReplicationTimeValue&& value) { SetTime(std::move(value)); return *this;} + + private: + + ReplicationTimeStatus m_status; + bool m_statusHasBeenSet; + + ReplicationTimeValue m_time; + bool m_timeHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeStatus.h new file mode 100644 index 0000000000..8a74cf5638 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ReplicationTimeStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace ReplicationTimeStatusMapper +{ +AWS_S3_API ReplicationTimeStatus GetReplicationTimeStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForReplicationTimeStatus(ReplicationTimeStatus value); +} // namespace ReplicationTimeStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h new file mode 100644 index 0000000000..846b5f88b9 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ReplicationTimeValue.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p> A container specifying the time value for S3 Replication Time Control (S3 + * RTC) and replication metrics <code>EventThreshold</code>. </p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationTimeValue">AWS + * API Reference</a></p> + */ + class AWS_S3_API ReplicationTimeValue + { + public: + ReplicationTimeValue(); + ReplicationTimeValue(const Aws::Utils::Xml::XmlNode& xmlNode); + ReplicationTimeValue& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 + * minutes. </p> + */ + inline int GetMinutes() const{ return m_minutes; } + + /** + * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 + * minutes. </p> + */ + inline bool MinutesHasBeenSet() const { return m_minutesHasBeenSet; } + + /** + * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 + * minutes. </p> + */ + inline void SetMinutes(int value) { m_minutesHasBeenSet = true; m_minutes = value; } + + /** + * <p> Contains an integer specifying time in minutes. </p> <p> Valid values: 15 + * minutes. </p> + */ + inline ReplicationTimeValue& WithMinutes(int value) { SetMinutes(value); return *this;} + + private: + + int m_minutes; + bool m_minutesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestCharged.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestCharged.h new file mode 100644 index 0000000000..6b8d9e93f8 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestCharged.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class RequestCharged + { + NOT_SET, + requester + }; + +namespace RequestChargedMapper +{ +AWS_S3_API RequestCharged GetRequestChargedForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForRequestCharged(RequestCharged value); +} // namespace RequestChargedMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPayer.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPayer.h new file mode 100644 index 0000000000..4c388c3381 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPayer.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class RequestPayer + { + NOT_SET, + requester + }; + +namespace RequestPayerMapper +{ +AWS_S3_API RequestPayer GetRequestPayerForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForRequestPayer(RequestPayer value); +} // namespace RequestPayerMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h new file mode 100644 index 0000000000..72861dbe7b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestPaymentConfiguration.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Payer.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for Payer.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RequestPaymentConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API RequestPaymentConfiguration + { + public: + RequestPaymentConfiguration(); + RequestPaymentConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + RequestPaymentConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline const Payer& GetPayer() const{ return m_payer; } + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline bool PayerHasBeenSet() const { return m_payerHasBeenSet; } + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline void SetPayer(const Payer& value) { m_payerHasBeenSet = true; m_payer = value; } + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline void SetPayer(Payer&& value) { m_payerHasBeenSet = true; m_payer = std::move(value); } + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline RequestPaymentConfiguration& WithPayer(const Payer& value) { SetPayer(value); return *this;} + + /** + * <p>Specifies who pays for the download and request fees.</p> + */ + inline RequestPaymentConfiguration& WithPayer(Payer&& value) { SetPayer(std::move(value)); return *this;} + + private: + + Payer m_payer; + bool m_payerHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h new file mode 100644 index 0000000000..717ad47c6f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RequestProgress.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for specifying if periodic <code>QueryProgress</code> messages + * should be sent.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RequestProgress">AWS + * API Reference</a></p> + */ + class AWS_S3_API RequestProgress + { + public: + RequestProgress(); + RequestProgress(const Aws::Utils::Xml::XmlNode& xmlNode); + RequestProgress& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: + * TRUE, FALSE. Default value: FALSE.</p> + */ + inline bool GetEnabled() const{ return m_enabled; } + + /** + * <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: + * TRUE, FALSE. Default value: FALSE.</p> + */ + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + + /** + * <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: + * TRUE, FALSE. Default value: FALSE.</p> + */ + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + + /** + * <p>Specifies whether periodic QueryProgress frames should be sent. Valid values: + * TRUE, FALSE. Default value: FALSE.</p> + */ + inline RequestProgress& WithEnabled(bool value) { SetEnabled(value); return *this;} + + private: + + bool m_enabled; + bool m_enabledHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h new file mode 100644 index 0000000000..157b6db7c3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectRequest.h @@ -0,0 +1,473 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RestoreRequest.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API RestoreObjectRequest : public S3Request + { + public: + RestoreObjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RestoreObject"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline RestoreObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline RestoreObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name containing the object to restore. </p> <p>When using this API + * with an access point, you must direct requests to the access point hostname. The + * access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline RestoreObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline RestoreObjectRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline RestoreObjectRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the operation was initiated.</p> + */ + inline RestoreObjectRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline RestoreObjectRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline RestoreObjectRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + * <p>VersionId used to reference a specific version of the object.</p> + */ + inline RestoreObjectRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + + inline const RestoreRequest& GetRestoreRequest() const{ return m_restoreRequest; } + + + inline bool RestoreRequestHasBeenSet() const { return m_restoreRequestHasBeenSet; } + + + inline void SetRestoreRequest(const RestoreRequest& value) { m_restoreRequestHasBeenSet = true; m_restoreRequest = value; } + + + inline void SetRestoreRequest(RestoreRequest&& value) { m_restoreRequestHasBeenSet = true; m_restoreRequest = std::move(value); } + + + inline RestoreObjectRequest& WithRestoreRequest(const RestoreRequest& value) { SetRestoreRequest(value); return *this;} + + + inline RestoreObjectRequest& WithRestoreRequest(RestoreRequest&& value) { SetRestoreRequest(std::move(value)); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline RestoreObjectRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline RestoreObjectRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline RestoreObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline RestoreObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline RestoreObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline RestoreObjectRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline RestoreObjectRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline RestoreObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline RestoreObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline RestoreObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline RestoreObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline RestoreObjectRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline RestoreObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline RestoreObjectRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet; + + RestoreRequest m_restoreRequest; + bool m_restoreRequestHasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h new file mode 100644 index 0000000000..2cadd53189 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreObjectResult.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/RequestCharged.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API RestoreObjectResult + { + public: + RestoreObjectResult(); + RestoreObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + RestoreObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline RestoreObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline RestoreObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + + /** + * <p>Indicates the path in the provided S3 output location where Select results + * will be restored to.</p> + */ + inline const Aws::String& GetRestoreOutputPath() const{ return m_restoreOutputPath; } + + /** + * <p>Indicates the path in the provided S3 output location where Select results + * will be restored to.</p> + */ + inline void SetRestoreOutputPath(const Aws::String& value) { m_restoreOutputPath = value; } + + /** + * <p>Indicates the path in the provided S3 output location where Select results + * will be restored to.</p> + */ + inline void SetRestoreOutputPath(Aws::String&& value) { m_restoreOutputPath = std::move(value); } + + /** + * <p>Indicates the path in the provided S3 output location where Select results + * will be restored to.</p> + */ + inline void SetRestoreOutputPath(const char* value) { m_restoreOutputPath.assign(value); } + + /** + * <p>Indicates the path in the provided S3 output location where Select results + * will be restored to.</p> + */ + inline RestoreObjectResult& WithRestoreOutputPath(const Aws::String& value) { SetRestoreOutputPath(value); return *this;} + + /** + * <p>Indicates the path in the provided S3 output location where Select results + * will be restored to.</p> + */ + inline RestoreObjectResult& WithRestoreOutputPath(Aws::String&& value) { SetRestoreOutputPath(std::move(value)); return *this;} + + /** + * <p>Indicates the path in the provided S3 output location where Select results + * will be restored to.</p> + */ + inline RestoreObjectResult& WithRestoreOutputPath(const char* value) { SetRestoreOutputPath(value); return *this;} + + private: + + RequestCharged m_requestCharged; + + Aws::String m_restoreOutputPath; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h new file mode 100644 index 0000000000..f2460fbc85 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequest.h @@ -0,0 +1,301 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/GlacierJobParameters.h> +#include <aws/s3/model/RestoreRequestType.h> +#include <aws/s3/model/Tier.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/SelectParameters.h> +#include <aws/s3/model/OutputLocation.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for restore job parameters.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreRequest">AWS + * API Reference</a></p> + */ + class AWS_S3_API RestoreRequest + { + public: + RestoreRequest(); + RestoreRequest(const Aws::Utils::Xml::XmlNode& xmlNode); + RestoreRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Lifetime of the active copy in days. Do not use with restores that specify + * <code>OutputLocation</code>.</p> <p>The Days element is required for regular + * restores, and must not be provided for select requests.</p> + */ + inline int GetDays() const{ return m_days; } + + /** + * <p>Lifetime of the active copy in days. Do not use with restores that specify + * <code>OutputLocation</code>.</p> <p>The Days element is required for regular + * restores, and must not be provided for select requests.</p> + */ + inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; } + + /** + * <p>Lifetime of the active copy in days. Do not use with restores that specify + * <code>OutputLocation</code>.</p> <p>The Days element is required for regular + * restores, and must not be provided for select requests.</p> + */ + inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; } + + /** + * <p>Lifetime of the active copy in days. Do not use with restores that specify + * <code>OutputLocation</code>.</p> <p>The Days element is required for regular + * restores, and must not be provided for select requests.</p> + */ + inline RestoreRequest& WithDays(int value) { SetDays(value); return *this;} + + + /** + * <p>S3 Glacier related parameters pertaining to this job. Do not use with + * restores that specify <code>OutputLocation</code>.</p> + */ + inline const GlacierJobParameters& GetGlacierJobParameters() const{ return m_glacierJobParameters; } + + /** + * <p>S3 Glacier related parameters pertaining to this job. Do not use with + * restores that specify <code>OutputLocation</code>.</p> + */ + inline bool GlacierJobParametersHasBeenSet() const { return m_glacierJobParametersHasBeenSet; } + + /** + * <p>S3 Glacier related parameters pertaining to this job. Do not use with + * restores that specify <code>OutputLocation</code>.</p> + */ + inline void SetGlacierJobParameters(const GlacierJobParameters& value) { m_glacierJobParametersHasBeenSet = true; m_glacierJobParameters = value; } + + /** + * <p>S3 Glacier related parameters pertaining to this job. Do not use with + * restores that specify <code>OutputLocation</code>.</p> + */ + inline void SetGlacierJobParameters(GlacierJobParameters&& value) { m_glacierJobParametersHasBeenSet = true; m_glacierJobParameters = std::move(value); } + + /** + * <p>S3 Glacier related parameters pertaining to this job. Do not use with + * restores that specify <code>OutputLocation</code>.</p> + */ + inline RestoreRequest& WithGlacierJobParameters(const GlacierJobParameters& value) { SetGlacierJobParameters(value); return *this;} + + /** + * <p>S3 Glacier related parameters pertaining to this job. Do not use with + * restores that specify <code>OutputLocation</code>.</p> + */ + inline RestoreRequest& WithGlacierJobParameters(GlacierJobParameters&& value) { SetGlacierJobParameters(std::move(value)); return *this;} + + + /** + * <p>Type of restore request.</p> + */ + inline const RestoreRequestType& GetType() const{ return m_type; } + + /** + * <p>Type of restore request.</p> + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + * <p>Type of restore request.</p> + */ + inline void SetType(const RestoreRequestType& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + * <p>Type of restore request.</p> + */ + inline void SetType(RestoreRequestType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + * <p>Type of restore request.</p> + */ + inline RestoreRequest& WithType(const RestoreRequestType& value) { SetType(value); return *this;} + + /** + * <p>Type of restore request.</p> + */ + inline RestoreRequest& WithType(RestoreRequestType&& value) { SetType(std::move(value)); return *this;} + + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline const Tier& GetTier() const{ return m_tier; } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline void SetTier(const Tier& value) { m_tierHasBeenSet = true; m_tier = value; } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline void SetTier(Tier&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline RestoreRequest& WithTier(const Tier& value) { SetTier(value); return *this;} + + /** + * <p>Retrieval tier at which the restore will be processed.</p> + */ + inline RestoreRequest& WithTier(Tier&& value) { SetTier(std::move(value)); return *this;} + + + /** + * <p>The optional description for the job.</p> + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + * <p>The optional description for the job.</p> + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + * <p>The optional description for the job.</p> + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + * <p>The optional description for the job.</p> + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + * <p>The optional description for the job.</p> + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + * <p>The optional description for the job.</p> + */ + inline RestoreRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + * <p>The optional description for the job.</p> + */ + inline RestoreRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + * <p>The optional description for the job.</p> + */ + inline RestoreRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + * <p>Describes the parameters for Select job types.</p> + */ + inline const SelectParameters& GetSelectParameters() const{ return m_selectParameters; } + + /** + * <p>Describes the parameters for Select job types.</p> + */ + inline bool SelectParametersHasBeenSet() const { return m_selectParametersHasBeenSet; } + + /** + * <p>Describes the parameters for Select job types.</p> + */ + inline void SetSelectParameters(const SelectParameters& value) { m_selectParametersHasBeenSet = true; m_selectParameters = value; } + + /** + * <p>Describes the parameters for Select job types.</p> + */ + inline void SetSelectParameters(SelectParameters&& value) { m_selectParametersHasBeenSet = true; m_selectParameters = std::move(value); } + + /** + * <p>Describes the parameters for Select job types.</p> + */ + inline RestoreRequest& WithSelectParameters(const SelectParameters& value) { SetSelectParameters(value); return *this;} + + /** + * <p>Describes the parameters for Select job types.</p> + */ + inline RestoreRequest& WithSelectParameters(SelectParameters&& value) { SetSelectParameters(std::move(value)); return *this;} + + + /** + * <p>Describes the location where the restore job's output is stored.</p> + */ + inline const OutputLocation& GetOutputLocation() const{ return m_outputLocation; } + + /** + * <p>Describes the location where the restore job's output is stored.</p> + */ + inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } + + /** + * <p>Describes the location where the restore job's output is stored.</p> + */ + inline void SetOutputLocation(const OutputLocation& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } + + /** + * <p>Describes the location where the restore job's output is stored.</p> + */ + inline void SetOutputLocation(OutputLocation&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } + + /** + * <p>Describes the location where the restore job's output is stored.</p> + */ + inline RestoreRequest& WithOutputLocation(const OutputLocation& value) { SetOutputLocation(value); return *this;} + + /** + * <p>Describes the location where the restore job's output is stored.</p> + */ + inline RestoreRequest& WithOutputLocation(OutputLocation&& value) { SetOutputLocation(std::move(value)); return *this;} + + private: + + int m_days; + bool m_daysHasBeenSet; + + GlacierJobParameters m_glacierJobParameters; + bool m_glacierJobParametersHasBeenSet; + + RestoreRequestType m_type; + bool m_typeHasBeenSet; + + Tier m_tier; + bool m_tierHasBeenSet; + + Aws::String m_description; + bool m_descriptionHasBeenSet; + + SelectParameters m_selectParameters; + bool m_selectParametersHasBeenSet; + + OutputLocation m_outputLocation; + bool m_outputLocationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequestType.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequestType.h new file mode 100644 index 0000000000..654c8c38a6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RestoreRequestType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class RestoreRequestType + { + NOT_SET, + SELECT + }; + +namespace RestoreRequestTypeMapper +{ +AWS_S3_API RestoreRequestType GetRestoreRequestTypeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForRestoreRequestType(RestoreRequestType value); +} // namespace RestoreRequestTypeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h new file mode 100644 index 0000000000..ff37fa473e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/RoutingRule.h @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Condition.h> +#include <aws/s3/model/Redirect.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the redirect behavior and when a redirect is applied. For more + * information about routing rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects">Configuring + * advanced conditional redirects</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RoutingRule">AWS API + * Reference</a></p> + */ + class AWS_S3_API RoutingRule + { + public: + RoutingRule(); + RoutingRule(const Aws::Utils::Xml::XmlNode& xmlNode); + RoutingRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A container for describing a condition that must be met for the specified + * redirect to apply. For example, 1. If request is for pages in the + * <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If + * request results in HTTP error 4xx, redirect request to another host where you + * might process the error.</p> + */ + inline const Condition& GetCondition() const{ return m_condition; } + + /** + * <p>A container for describing a condition that must be met for the specified + * redirect to apply. For example, 1. If request is for pages in the + * <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If + * request results in HTTP error 4xx, redirect request to another host where you + * might process the error.</p> + */ + inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; } + + /** + * <p>A container for describing a condition that must be met for the specified + * redirect to apply. For example, 1. If request is for pages in the + * <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If + * request results in HTTP error 4xx, redirect request to another host where you + * might process the error.</p> + */ + inline void SetCondition(const Condition& value) { m_conditionHasBeenSet = true; m_condition = value; } + + /** + * <p>A container for describing a condition that must be met for the specified + * redirect to apply. For example, 1. If request is for pages in the + * <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If + * request results in HTTP error 4xx, redirect request to another host where you + * might process the error.</p> + */ + inline void SetCondition(Condition&& value) { m_conditionHasBeenSet = true; m_condition = std::move(value); } + + /** + * <p>A container for describing a condition that must be met for the specified + * redirect to apply. For example, 1. If request is for pages in the + * <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If + * request results in HTTP error 4xx, redirect request to another host where you + * might process the error.</p> + */ + inline RoutingRule& WithCondition(const Condition& value) { SetCondition(value); return *this;} + + /** + * <p>A container for describing a condition that must be met for the specified + * redirect to apply. For example, 1. If request is for pages in the + * <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If + * request results in HTTP error 4xx, redirect request to another host where you + * might process the error.</p> + */ + inline RoutingRule& WithCondition(Condition&& value) { SetCondition(std::move(value)); return *this;} + + + /** + * <p>Container for redirect information. You can redirect requests to another + * host, to another page, or with another protocol. In the event of an error, you + * can specify a different error code to return.</p> + */ + inline const Redirect& GetRedirect() const{ return m_redirect; } + + /** + * <p>Container for redirect information. You can redirect requests to another + * host, to another page, or with another protocol. In the event of an error, you + * can specify a different error code to return.</p> + */ + inline bool RedirectHasBeenSet() const { return m_redirectHasBeenSet; } + + /** + * <p>Container for redirect information. You can redirect requests to another + * host, to another page, or with another protocol. In the event of an error, you + * can specify a different error code to return.</p> + */ + inline void SetRedirect(const Redirect& value) { m_redirectHasBeenSet = true; m_redirect = value; } + + /** + * <p>Container for redirect information. You can redirect requests to another + * host, to another page, or with another protocol. In the event of an error, you + * can specify a different error code to return.</p> + */ + inline void SetRedirect(Redirect&& value) { m_redirectHasBeenSet = true; m_redirect = std::move(value); } + + /** + * <p>Container for redirect information. You can redirect requests to another + * host, to another page, or with another protocol. In the event of an error, you + * can specify a different error code to return.</p> + */ + inline RoutingRule& WithRedirect(const Redirect& value) { SetRedirect(value); return *this;} + + /** + * <p>Container for redirect information. You can redirect requests to another + * host, to another page, or with another protocol. In the event of an error, you + * can specify a different error code to return.</p> + */ + inline RoutingRule& WithRedirect(Redirect&& value) { SetRedirect(std::move(value)); return *this;} + + private: + + Condition m_condition; + bool m_conditionHasBeenSet; + + Redirect m_redirect; + bool m_redirectHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h new file mode 100644 index 0000000000..649d14ceb3 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Rule.h @@ -0,0 +1,358 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/LifecycleExpiration.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ExpirationStatus.h> +#include <aws/s3/model/Transition.h> +#include <aws/s3/model/NoncurrentVersionTransition.h> +#include <aws/s3/model/NoncurrentVersionExpiration.h> +#include <aws/s3/model/AbortIncompleteMultipartUpload.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies lifecycle rules for an Amazon S3 bucket. For more information, see + * <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html">Put + * Bucket Lifecycle Configuration</a> in the <i>Amazon Simple Storage Service API + * Reference</i>. For examples, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html#API_PutBucketLifecycleConfiguration_Examples">Put + * Bucket Lifecycle Configuration Examples</a> </p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Rule">AWS API + * Reference</a></p> + */ + class AWS_S3_API Rule + { + public: + Rule(); + Rule(const Aws::Utils::Xml::XmlNode& xmlNode); + Rule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the expiration for the lifecycle of the object.</p> + */ + inline const LifecycleExpiration& GetExpiration() const{ return m_expiration; } + + /** + * <p>Specifies the expiration for the lifecycle of the object.</p> + */ + inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; } + + /** + * <p>Specifies the expiration for the lifecycle of the object.</p> + */ + inline void SetExpiration(const LifecycleExpiration& value) { m_expirationHasBeenSet = true; m_expiration = value; } + + /** + * <p>Specifies the expiration for the lifecycle of the object.</p> + */ + inline void SetExpiration(LifecycleExpiration&& value) { m_expirationHasBeenSet = true; m_expiration = std::move(value); } + + /** + * <p>Specifies the expiration for the lifecycle of the object.</p> + */ + inline Rule& WithExpiration(const LifecycleExpiration& value) { SetExpiration(value); return *this;} + + /** + * <p>Specifies the expiration for the lifecycle of the object.</p> + */ + inline Rule& WithExpiration(LifecycleExpiration&& value) { SetExpiration(std::move(value)); return *this;} + + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline const Aws::String& GetID() const{ return m_iD; } + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline bool IDHasBeenSet() const { return m_iDHasBeenSet; } + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; } + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); } + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); } + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline Rule& WithID(const Aws::String& value) { SetID(value); return *this;} + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline Rule& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;} + + /** + * <p>Unique identifier for the rule. The value can't be longer than 255 + * characters.</p> + */ + inline Rule& WithID(const char* value) { SetID(value); return *this;} + + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline Rule& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline Rule& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>Object key prefix that identifies one or more objects to which this rule + * applies.</p> + */ + inline Rule& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + /** + * <p>If <code>Enabled</code>, the rule is currently being applied. If + * <code>Disabled</code>, the rule is not currently being applied.</p> + */ + inline const ExpirationStatus& GetStatus() const{ return m_status; } + + /** + * <p>If <code>Enabled</code>, the rule is currently being applied. If + * <code>Disabled</code>, the rule is not currently being applied.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>If <code>Enabled</code>, the rule is currently being applied. If + * <code>Disabled</code>, the rule is not currently being applied.</p> + */ + inline void SetStatus(const ExpirationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>If <code>Enabled</code>, the rule is currently being applied. If + * <code>Disabled</code>, the rule is not currently being applied.</p> + */ + inline void SetStatus(ExpirationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>If <code>Enabled</code>, the rule is currently being applied. If + * <code>Disabled</code>, the rule is not currently being applied.</p> + */ + inline Rule& WithStatus(const ExpirationStatus& value) { SetStatus(value); return *this;} + + /** + * <p>If <code>Enabled</code>, the rule is currently being applied. If + * <code>Disabled</code>, the rule is not currently being applied.</p> + */ + inline Rule& WithStatus(ExpirationStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + * <p>Specifies when an object transitions to a specified storage class. For more + * information about Amazon S3 lifecycle configuration rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html">Transitioning + * Objects Using Amazon S3 Lifecycle</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline const Transition& GetTransition() const{ return m_transition; } + + /** + * <p>Specifies when an object transitions to a specified storage class. For more + * information about Amazon S3 lifecycle configuration rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html">Transitioning + * Objects Using Amazon S3 Lifecycle</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline bool TransitionHasBeenSet() const { return m_transitionHasBeenSet; } + + /** + * <p>Specifies when an object transitions to a specified storage class. For more + * information about Amazon S3 lifecycle configuration rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html">Transitioning + * Objects Using Amazon S3 Lifecycle</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline void SetTransition(const Transition& value) { m_transitionHasBeenSet = true; m_transition = value; } + + /** + * <p>Specifies when an object transitions to a specified storage class. For more + * information about Amazon S3 lifecycle configuration rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html">Transitioning + * Objects Using Amazon S3 Lifecycle</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline void SetTransition(Transition&& value) { m_transitionHasBeenSet = true; m_transition = std::move(value); } + + /** + * <p>Specifies when an object transitions to a specified storage class. For more + * information about Amazon S3 lifecycle configuration rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html">Transitioning + * Objects Using Amazon S3 Lifecycle</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline Rule& WithTransition(const Transition& value) { SetTransition(value); return *this;} + + /** + * <p>Specifies when an object transitions to a specified storage class. For more + * information about Amazon S3 lifecycle configuration rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html">Transitioning + * Objects Using Amazon S3 Lifecycle</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p> + */ + inline Rule& WithTransition(Transition&& value) { SetTransition(std::move(value)); return *this;} + + + + inline const NoncurrentVersionTransition& GetNoncurrentVersionTransition() const{ return m_noncurrentVersionTransition; } + + + inline bool NoncurrentVersionTransitionHasBeenSet() const { return m_noncurrentVersionTransitionHasBeenSet; } + + + inline void SetNoncurrentVersionTransition(const NoncurrentVersionTransition& value) { m_noncurrentVersionTransitionHasBeenSet = true; m_noncurrentVersionTransition = value; } + + + inline void SetNoncurrentVersionTransition(NoncurrentVersionTransition&& value) { m_noncurrentVersionTransitionHasBeenSet = true; m_noncurrentVersionTransition = std::move(value); } + + + inline Rule& WithNoncurrentVersionTransition(const NoncurrentVersionTransition& value) { SetNoncurrentVersionTransition(value); return *this;} + + + inline Rule& WithNoncurrentVersionTransition(NoncurrentVersionTransition&& value) { SetNoncurrentVersionTransition(std::move(value)); return *this;} + + + + inline const NoncurrentVersionExpiration& GetNoncurrentVersionExpiration() const{ return m_noncurrentVersionExpiration; } + + + inline bool NoncurrentVersionExpirationHasBeenSet() const { return m_noncurrentVersionExpirationHasBeenSet; } + + + inline void SetNoncurrentVersionExpiration(const NoncurrentVersionExpiration& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = value; } + + + inline void SetNoncurrentVersionExpiration(NoncurrentVersionExpiration&& value) { m_noncurrentVersionExpirationHasBeenSet = true; m_noncurrentVersionExpiration = std::move(value); } + + + inline Rule& WithNoncurrentVersionExpiration(const NoncurrentVersionExpiration& value) { SetNoncurrentVersionExpiration(value); return *this;} + + + inline Rule& WithNoncurrentVersionExpiration(NoncurrentVersionExpiration&& value) { SetNoncurrentVersionExpiration(std::move(value)); return *this;} + + + + inline const AbortIncompleteMultipartUpload& GetAbortIncompleteMultipartUpload() const{ return m_abortIncompleteMultipartUpload; } + + + inline bool AbortIncompleteMultipartUploadHasBeenSet() const { return m_abortIncompleteMultipartUploadHasBeenSet; } + + + inline void SetAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = value; } + + + inline void SetAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload&& value) { m_abortIncompleteMultipartUploadHasBeenSet = true; m_abortIncompleteMultipartUpload = std::move(value); } + + + inline Rule& WithAbortIncompleteMultipartUpload(const AbortIncompleteMultipartUpload& value) { SetAbortIncompleteMultipartUpload(value); return *this;} + + + inline Rule& WithAbortIncompleteMultipartUpload(AbortIncompleteMultipartUpload&& value) { SetAbortIncompleteMultipartUpload(std::move(value)); return *this;} + + private: + + LifecycleExpiration m_expiration; + bool m_expirationHasBeenSet; + + Aws::String m_iD; + bool m_iDHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + ExpirationStatus m_status; + bool m_statusHasBeenSet; + + Transition m_transition; + bool m_transitionHasBeenSet; + + NoncurrentVersionTransition m_noncurrentVersionTransition; + bool m_noncurrentVersionTransitionHasBeenSet; + + NoncurrentVersionExpiration m_noncurrentVersionExpiration; + bool m_noncurrentVersionExpirationHasBeenSet; + + AbortIncompleteMultipartUpload m_abortIncompleteMultipartUpload; + bool m_abortIncompleteMultipartUploadHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h new file mode 100644 index 0000000000..0f22a9524e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3KeyFilter.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/FilterRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for object key name prefix and suffix filtering + * rules.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3KeyFilter">AWS API + * Reference</a></p> + */ + class AWS_S3_API S3KeyFilter + { + public: + S3KeyFilter(); + S3KeyFilter(const Aws::Utils::Xml::XmlNode& xmlNode); + S3KeyFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const Aws::Vector<FilterRule>& GetFilterRules() const{ return m_filterRules; } + + + inline bool FilterRulesHasBeenSet() const { return m_filterRulesHasBeenSet; } + + + inline void SetFilterRules(const Aws::Vector<FilterRule>& value) { m_filterRulesHasBeenSet = true; m_filterRules = value; } + + + inline void SetFilterRules(Aws::Vector<FilterRule>&& value) { m_filterRulesHasBeenSet = true; m_filterRules = std::move(value); } + + + inline S3KeyFilter& WithFilterRules(const Aws::Vector<FilterRule>& value) { SetFilterRules(value); return *this;} + + + inline S3KeyFilter& WithFilterRules(Aws::Vector<FilterRule>&& value) { SetFilterRules(std::move(value)); return *this;} + + + inline S3KeyFilter& AddFilterRules(const FilterRule& value) { m_filterRulesHasBeenSet = true; m_filterRules.push_back(value); return *this; } + + + inline S3KeyFilter& AddFilterRules(FilterRule&& value) { m_filterRulesHasBeenSet = true; m_filterRules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<FilterRule> m_filterRules; + bool m_filterRulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h new file mode 100644 index 0000000000..8f0eab338b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/S3Location.h @@ -0,0 +1,352 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/Encryption.h> +#include <aws/s3/model/ObjectCannedACL.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tagging.h> +#include <aws/s3/model/StorageClass.h> +#include <aws/s3/model/Grant.h> +#include <aws/s3/model/MetadataEntry.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes an Amazon S3 location that will receive the results of the restore + * request.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3Location">AWS API + * Reference</a></p> + */ + class AWS_S3_API S3Location + { + public: + S3Location(); + S3Location(const Aws::Utils::Xml::XmlNode& xmlNode); + S3Location& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline const Aws::String& GetBucketName() const{ return m_bucketName; } + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline S3Location& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline S3Location& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} + + /** + * <p>The name of the bucket where the restore results will be placed.</p> + */ + inline S3Location& WithBucketName(const char* value) { SetBucketName(value); return *this;} + + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline S3Location& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline S3Location& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + + /** + * <p>The prefix that is prepended to the restore results for this request.</p> + */ + inline S3Location& WithPrefix(const char* value) { SetPrefix(value); return *this;} + + + + inline const Encryption& GetEncryption() const{ return m_encryption; } + + + inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; } + + + inline void SetEncryption(const Encryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; } + + + inline void SetEncryption(Encryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); } + + + inline S3Location& WithEncryption(const Encryption& value) { SetEncryption(value); return *this;} + + + inline S3Location& WithEncryption(Encryption&& value) { SetEncryption(std::move(value)); return *this;} + + + /** + * <p>The canned ACL to apply to the restore results.</p> + */ + inline const ObjectCannedACL& GetCannedACL() const{ return m_cannedACL; } + + /** + * <p>The canned ACL to apply to the restore results.</p> + */ + inline bool CannedACLHasBeenSet() const { return m_cannedACLHasBeenSet; } + + /** + * <p>The canned ACL to apply to the restore results.</p> + */ + inline void SetCannedACL(const ObjectCannedACL& value) { m_cannedACLHasBeenSet = true; m_cannedACL = value; } + + /** + * <p>The canned ACL to apply to the restore results.</p> + */ + inline void SetCannedACL(ObjectCannedACL&& value) { m_cannedACLHasBeenSet = true; m_cannedACL = std::move(value); } + + /** + * <p>The canned ACL to apply to the restore results.</p> + */ + inline S3Location& WithCannedACL(const ObjectCannedACL& value) { SetCannedACL(value); return *this;} + + /** + * <p>The canned ACL to apply to the restore results.</p> + */ + inline S3Location& WithCannedACL(ObjectCannedACL&& value) { SetCannedACL(std::move(value)); return *this;} + + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline const Aws::Vector<Grant>& GetAccessControlList() const{ return m_accessControlList; } + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; } + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline void SetAccessControlList(const Aws::Vector<Grant>& value) { m_accessControlListHasBeenSet = true; m_accessControlList = value; } + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline void SetAccessControlList(Aws::Vector<Grant>&& value) { m_accessControlListHasBeenSet = true; m_accessControlList = std::move(value); } + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline S3Location& WithAccessControlList(const Aws::Vector<Grant>& value) { SetAccessControlList(value); return *this;} + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline S3Location& WithAccessControlList(Aws::Vector<Grant>&& value) { SetAccessControlList(std::move(value)); return *this;} + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline S3Location& AddAccessControlList(const Grant& value) { m_accessControlListHasBeenSet = true; m_accessControlList.push_back(value); return *this; } + + /** + * <p>A list of grants that control access to the staged results.</p> + */ + inline S3Location& AddAccessControlList(Grant&& value) { m_accessControlListHasBeenSet = true; m_accessControlList.push_back(std::move(value)); return *this; } + + + /** + * <p>The tag-set that is applied to the restore results.</p> + */ + inline const Tagging& GetTagging() const{ return m_tagging; } + + /** + * <p>The tag-set that is applied to the restore results.</p> + */ + inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; } + + /** + * <p>The tag-set that is applied to the restore results.</p> + */ + inline void SetTagging(const Tagging& value) { m_taggingHasBeenSet = true; m_tagging = value; } + + /** + * <p>The tag-set that is applied to the restore results.</p> + */ + inline void SetTagging(Tagging&& value) { m_taggingHasBeenSet = true; m_tagging = std::move(value); } + + /** + * <p>The tag-set that is applied to the restore results.</p> + */ + inline S3Location& WithTagging(const Tagging& value) { SetTagging(value); return *this;} + + /** + * <p>The tag-set that is applied to the restore results.</p> + */ + inline S3Location& WithTagging(Tagging&& value) { SetTagging(std::move(value)); return *this;} + + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline const Aws::Vector<MetadataEntry>& GetUserMetadata() const{ return m_userMetadata; } + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; } + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline void SetUserMetadata(const Aws::Vector<MetadataEntry>& value) { m_userMetadataHasBeenSet = true; m_userMetadata = value; } + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline void SetUserMetadata(Aws::Vector<MetadataEntry>&& value) { m_userMetadataHasBeenSet = true; m_userMetadata = std::move(value); } + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline S3Location& WithUserMetadata(const Aws::Vector<MetadataEntry>& value) { SetUserMetadata(value); return *this;} + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline S3Location& WithUserMetadata(Aws::Vector<MetadataEntry>&& value) { SetUserMetadata(std::move(value)); return *this;} + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline S3Location& AddUserMetadata(const MetadataEntry& value) { m_userMetadataHasBeenSet = true; m_userMetadata.push_back(value); return *this; } + + /** + * <p>A list of metadata to store with the restore results in S3.</p> + */ + inline S3Location& AddUserMetadata(MetadataEntry&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.push_back(std::move(value)); return *this; } + + + /** + * <p>The class of storage used to store the restore results.</p> + */ + inline const StorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>The class of storage used to store the restore results.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>The class of storage used to store the restore results.</p> + */ + inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>The class of storage used to store the restore results.</p> + */ + inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>The class of storage used to store the restore results.</p> + */ + inline S3Location& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>The class of storage used to store the restore results.</p> + */ + inline S3Location& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + private: + + Aws::String m_bucketName; + bool m_bucketNameHasBeenSet; + + Aws::String m_prefix; + bool m_prefixHasBeenSet; + + Encryption m_encryption; + bool m_encryptionHasBeenSet; + + ObjectCannedACL m_cannedACL; + bool m_cannedACLHasBeenSet; + + Aws::Vector<Grant> m_accessControlList; + bool m_accessControlListHasBeenSet; + + Tagging m_tagging; + bool m_taggingHasBeenSet; + + Aws::Vector<MetadataEntry> m_userMetadata; + bool m_userMetadataHasBeenSet; + + StorageClass m_storageClass; + bool m_storageClassHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h new file mode 100644 index 0000000000..b7b1ac25be --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSEKMS.h @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the use of SSE-KMS to encrypt delivered inventory + * reports.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSEKMS">AWS API + * Reference</a></p> + */ + class AWS_S3_API SSEKMS + { + public: + SSEKMS(); + SSEKMS(const Aws::Utils::Xml::XmlNode& xmlNode); + SSEKMS& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline const Aws::String& GetKeyId() const{ return m_keyId; } + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline SSEKMS& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline SSEKMS& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} + + /** + * <p>Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + * customer managed customer master key (CMK) to use for encrypting inventory + * reports.</p> + */ + inline SSEKMS& WithKeyId(const char* value) { SetKeyId(value); return *this;} + + private: + + Aws::String m_keyId; + bool m_keyIdHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h new file mode 100644 index 0000000000..7312fd2917 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SSES3.h @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the use of SSE-S3 to encrypt delivered inventory + * reports.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSES3">AWS API + * Reference</a></p> + */ + class AWS_S3_API SSES3 + { + public: + SSES3(); + SSES3(const Aws::Utils::Xml::XmlNode& xmlNode); + SSES3& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h new file mode 100644 index 0000000000..dd964d0441 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ScanRange.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the byte range of the object to get the records from. A record is + * processed when its first byte is contained by the range. This parameter is + * optional, but when specified, it must not be empty. See RFC 2616, Section + * 14.35.1 about how to specify the start and end of the range.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ScanRange">AWS API + * Reference</a></p> + */ + class AWS_S3_API ScanRange + { + public: + ScanRange(); + ScanRange(const Aws::Utils::Xml::XmlNode& xmlNode); + ScanRange& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the start of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is 0. If only start is + * supplied, it means scan from that point to the end of the file.For example; + * <code><scanrange><start>50</start></scanrange></code> + * means scan from byte 50 until the end of the file.</p> + */ + inline long long GetStart() const{ return m_start; } + + /** + * <p>Specifies the start of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is 0. If only start is + * supplied, it means scan from that point to the end of the file.For example; + * <code><scanrange><start>50</start></scanrange></code> + * means scan from byte 50 until the end of the file.</p> + */ + inline bool StartHasBeenSet() const { return m_startHasBeenSet; } + + /** + * <p>Specifies the start of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is 0. If only start is + * supplied, it means scan from that point to the end of the file.For example; + * <code><scanrange><start>50</start></scanrange></code> + * means scan from byte 50 until the end of the file.</p> + */ + inline void SetStart(long long value) { m_startHasBeenSet = true; m_start = value; } + + /** + * <p>Specifies the start of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is 0. If only start is + * supplied, it means scan from that point to the end of the file.For example; + * <code><scanrange><start>50</start></scanrange></code> + * means scan from byte 50 until the end of the file.</p> + */ + inline ScanRange& WithStart(long long value) { SetStart(value); return *this;} + + + /** + * <p>Specifies the end of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is one less than the size of + * the object being queried. If only the End parameter is supplied, it is + * interpreted to mean scan the last N bytes of the file. For example, + * <code><scanrange><end>50</end></scanrange></code> means + * scan the last 50 bytes.</p> + */ + inline long long GetEnd() const{ return m_end; } + + /** + * <p>Specifies the end of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is one less than the size of + * the object being queried. If only the End parameter is supplied, it is + * interpreted to mean scan the last N bytes of the file. For example, + * <code><scanrange><end>50</end></scanrange></code> means + * scan the last 50 bytes.</p> + */ + inline bool EndHasBeenSet() const { return m_endHasBeenSet; } + + /** + * <p>Specifies the end of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is one less than the size of + * the object being queried. If only the End parameter is supplied, it is + * interpreted to mean scan the last N bytes of the file. For example, + * <code><scanrange><end>50</end></scanrange></code> means + * scan the last 50 bytes.</p> + */ + inline void SetEnd(long long value) { m_endHasBeenSet = true; m_end = value; } + + /** + * <p>Specifies the end of the byte range. This parameter is optional. Valid + * values: non-negative integers. The default value is one less than the size of + * the object being queried. If only the End parameter is supplied, it is + * interpreted to mean scan the last N bytes of the file. For example, + * <code><scanrange><end>50</end></scanrange></code> means + * scan the last 50 bytes.</p> + */ + inline ScanRange& WithEnd(long long value) { SetEnd(value); return *this;} + + private: + + long long m_start; + bool m_startHasBeenSet; + + long long m_end; + bool m_endHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h new file mode 100644 index 0000000000..3b04be1d0d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/utils/event/EventStreamHandler.h> +#include <aws/core/client/AWSError.h> +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Errors.h> + +#include <aws/s3/model/RecordsEvent.h> +#include <aws/s3/model/StatsEvent.h> +#include <aws/s3/model/ProgressEvent.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class SelectObjectContentEventType + { + RECORDS, + STATS, + PROGRESS, + CONT, + END, + UNKNOWN + }; + + class AWS_S3_API SelectObjectContentHandler : public Aws::Utils::Event::EventStreamHandler + { + typedef std::function<void(const RecordsEvent&)> RecordsEventCallback; + typedef std::function<void(const StatsEvent&)> StatsEventCallback; + typedef std::function<void(const ProgressEvent&)> ProgressEventCallback; + typedef std::function<void()> ContinuationEventCallback; + typedef std::function<void()> EndEventCallback; + typedef std::function<void(const Aws::Client::AWSError<S3Errors>& error)> ErrorCallback; + + public: + SelectObjectContentHandler(); + SelectObjectContentHandler& operator=(const SelectObjectContentHandler& handler) = default; + + virtual void OnEvent() override; + + inline void SetRecordsEventCallback(const RecordsEventCallback& callback) { m_onRecordsEvent = callback; } + inline void SetStatsEventCallback(const StatsEventCallback& callback) { m_onStatsEvent = callback; } + inline void SetProgressEventCallback(const ProgressEventCallback& callback) { m_onProgressEvent = callback; } + inline void SetContinuationEventCallback(const ContinuationEventCallback& callback) { m_onContinuationEvent = callback; } + inline void SetEndEventCallback(const EndEventCallback& callback) { m_onEndEvent = callback; } + inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; } + + private: + void HandleEventInMessage(); + void HandleErrorInMessage(); + void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage); + + RecordsEventCallback m_onRecordsEvent; + StatsEventCallback m_onStatsEvent; + ProgressEventCallback m_onProgressEvent; + ContinuationEventCallback m_onContinuationEvent; + EndEventCallback m_onEndEvent; + ErrorCallback m_onError; + }; + +namespace SelectObjectContentEventMapper +{ + AWS_S3_API SelectObjectContentEventType GetSelectObjectContentEventTypeForName(const Aws::String& name); + + AWS_S3_API Aws::String GetNameForSelectObjectContentEventType(SelectObjectContentEventType value); +} // namespace SelectObjectContentEventMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h new file mode 100644 index 0000000000..c10e515adf --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentRequest.h @@ -0,0 +1,745 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/s3/model/SelectObjectContentHandler.h> +#include <aws/core/utils/event/EventStreamDecoder.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/ExpressionType.h> +#include <aws/s3/model/RequestProgress.h> +#include <aws/s3/model/InputSerialization.h> +#include <aws/s3/model/OutputSerialization.h> +#include <aws/s3/model/ScanRange.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + * <p>Request to filter the contents of an Amazon S3 object based on a simple + * Structured Query Language (SQL) statement. In the request, along with the SQL + * expression, you must specify a data serialization format (JSON or CSV) of the + * object. Amazon S3 uses this to parse object data into records. It returns only + * records that match the specified SQL expression. You must also specify the data + * serialization format for the response. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html">S3Select + * API Documentation</a>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentRequest">AWS + * API Reference</a></p> + */ + class AWS_S3_API SelectObjectContentRequest : public S3Request + { + public: + SelectObjectContentRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SelectObjectContent"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + /** + * Underlying Event Stream Decoder. + */ + inline Aws::Utils::Event::EventStreamDecoder& GetEventStreamDecoder() { return m_decoder; } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline const SelectObjectContentHandler& GetEventStreamHandler() const { return m_handler; } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline void SetEventStreamHandler(const SelectObjectContentHandler& value) { m_handler = value; m_decoder.ResetEventStreamHandler(&m_handler); } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline SelectObjectContentRequest& WithEventStreamHandler(const SelectObjectContentHandler& value) { SetEventStreamHandler(value); return *this; } + + + /** + * <p>The S3 bucket.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The S3 bucket.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The S3 bucket.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The S3 bucket.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The S3 bucket.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The S3 bucket.</p> + */ + inline SelectObjectContentRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The S3 bucket.</p> + */ + inline SelectObjectContentRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The S3 bucket.</p> + */ + inline SelectObjectContentRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>The object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>The object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>The object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>The object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>The object key.</p> + */ + inline SelectObjectContentRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>The object key.</p> + */ + inline SelectObjectContentRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>The object key.</p> + */ + inline SelectObjectContentRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>The SSE Algorithm used to encrypt the object. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>The SSE Customer Key. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>The SSE Customer Key MD5. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side + * Encryption (Using Customer-Provided Encryption Keys</a>. </p> + */ + inline SelectObjectContentRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>The expression that is used to query the object.</p> + */ + inline const Aws::String& GetExpression() const{ return m_expression; } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline void SetExpression(const Aws::String& value) { m_expressionHasBeenSet = true; m_expression = value; } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline void SetExpression(Aws::String&& value) { m_expressionHasBeenSet = true; m_expression = std::move(value); } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline void SetExpression(const char* value) { m_expressionHasBeenSet = true; m_expression.assign(value); } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline SelectObjectContentRequest& WithExpression(const Aws::String& value) { SetExpression(value); return *this;} + + /** + * <p>The expression that is used to query the object.</p> + */ + inline SelectObjectContentRequest& WithExpression(Aws::String&& value) { SetExpression(std::move(value)); return *this;} + + /** + * <p>The expression that is used to query the object.</p> + */ + inline SelectObjectContentRequest& WithExpression(const char* value) { SetExpression(value); return *this;} + + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline const ExpressionType& GetExpressionType() const{ return m_expressionType; } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline bool ExpressionTypeHasBeenSet() const { return m_expressionTypeHasBeenSet; } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline void SetExpressionType(const ExpressionType& value) { m_expressionTypeHasBeenSet = true; m_expressionType = value; } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline void SetExpressionType(ExpressionType&& value) { m_expressionTypeHasBeenSet = true; m_expressionType = std::move(value); } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline SelectObjectContentRequest& WithExpressionType(const ExpressionType& value) { SetExpressionType(value); return *this;} + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline SelectObjectContentRequest& WithExpressionType(ExpressionType&& value) { SetExpressionType(std::move(value)); return *this;} + + + /** + * <p>Specifies if periodic request progress information should be enabled.</p> + */ + inline const RequestProgress& GetRequestProgress() const{ return m_requestProgress; } + + /** + * <p>Specifies if periodic request progress information should be enabled.</p> + */ + inline bool RequestProgressHasBeenSet() const { return m_requestProgressHasBeenSet; } + + /** + * <p>Specifies if periodic request progress information should be enabled.</p> + */ + inline void SetRequestProgress(const RequestProgress& value) { m_requestProgressHasBeenSet = true; m_requestProgress = value; } + + /** + * <p>Specifies if periodic request progress information should be enabled.</p> + */ + inline void SetRequestProgress(RequestProgress&& value) { m_requestProgressHasBeenSet = true; m_requestProgress = std::move(value); } + + /** + * <p>Specifies if periodic request progress information should be enabled.</p> + */ + inline SelectObjectContentRequest& WithRequestProgress(const RequestProgress& value) { SetRequestProgress(value); return *this;} + + /** + * <p>Specifies if periodic request progress information should be enabled.</p> + */ + inline SelectObjectContentRequest& WithRequestProgress(RequestProgress&& value) { SetRequestProgress(std::move(value)); return *this;} + + + /** + * <p>Describes the format of the data in the object that is being queried.</p> + */ + inline const InputSerialization& GetInputSerialization() const{ return m_inputSerialization; } + + /** + * <p>Describes the format of the data in the object that is being queried.</p> + */ + inline bool InputSerializationHasBeenSet() const { return m_inputSerializationHasBeenSet; } + + /** + * <p>Describes the format of the data in the object that is being queried.</p> + */ + inline void SetInputSerialization(const InputSerialization& value) { m_inputSerializationHasBeenSet = true; m_inputSerialization = value; } + + /** + * <p>Describes the format of the data in the object that is being queried.</p> + */ + inline void SetInputSerialization(InputSerialization&& value) { m_inputSerializationHasBeenSet = true; m_inputSerialization = std::move(value); } + + /** + * <p>Describes the format of the data in the object that is being queried.</p> + */ + inline SelectObjectContentRequest& WithInputSerialization(const InputSerialization& value) { SetInputSerialization(value); return *this;} + + /** + * <p>Describes the format of the data in the object that is being queried.</p> + */ + inline SelectObjectContentRequest& WithInputSerialization(InputSerialization&& value) { SetInputSerialization(std::move(value)); return *this;} + + + /** + * <p>Describes the format of the data that you want Amazon S3 to return in + * response.</p> + */ + inline const OutputSerialization& GetOutputSerialization() const{ return m_outputSerialization; } + + /** + * <p>Describes the format of the data that you want Amazon S3 to return in + * response.</p> + */ + inline bool OutputSerializationHasBeenSet() const { return m_outputSerializationHasBeenSet; } + + /** + * <p>Describes the format of the data that you want Amazon S3 to return in + * response.</p> + */ + inline void SetOutputSerialization(const OutputSerialization& value) { m_outputSerializationHasBeenSet = true; m_outputSerialization = value; } + + /** + * <p>Describes the format of the data that you want Amazon S3 to return in + * response.</p> + */ + inline void SetOutputSerialization(OutputSerialization&& value) { m_outputSerializationHasBeenSet = true; m_outputSerialization = std::move(value); } + + /** + * <p>Describes the format of the data that you want Amazon S3 to return in + * response.</p> + */ + inline SelectObjectContentRequest& WithOutputSerialization(const OutputSerialization& value) { SetOutputSerialization(value); return *this;} + + /** + * <p>Describes the format of the data that you want Amazon S3 to return in + * response.</p> + */ + inline SelectObjectContentRequest& WithOutputSerialization(OutputSerialization&& value) { SetOutputSerialization(std::move(value)); return *this;} + + + /** + * <p>Specifies the byte range of the object to get the records from. A record is + * processed when its first byte is contained by the range. This parameter is + * optional, but when specified, it must not be empty. See RFC 2616, Section + * 14.35.1 about how to specify the start and end of the range.</p> <p> + * <code>ScanRange</code>may be used in the following ways:</p> <ul> <li> <p> + * <code><scanrange><start>50</start><end>100</end></scanrange></code> + * - process only the records starting between the bytes 50 and 100 (inclusive, + * counting from zero)</p> </li> <li> <p> + * <code><scanrange><start>50</start></scanrange></code> - + * process only the records starting after the byte 50</p> </li> <li> <p> + * <code><scanrange><end>50</end></scanrange></code> - + * process only the records within the last 50 bytes of the file.</p> </li> </ul> + */ + inline const ScanRange& GetScanRange() const{ return m_scanRange; } + + /** + * <p>Specifies the byte range of the object to get the records from. A record is + * processed when its first byte is contained by the range. This parameter is + * optional, but when specified, it must not be empty. See RFC 2616, Section + * 14.35.1 about how to specify the start and end of the range.</p> <p> + * <code>ScanRange</code>may be used in the following ways:</p> <ul> <li> <p> + * <code><scanrange><start>50</start><end>100</end></scanrange></code> + * - process only the records starting between the bytes 50 and 100 (inclusive, + * counting from zero)</p> </li> <li> <p> + * <code><scanrange><start>50</start></scanrange></code> - + * process only the records starting after the byte 50</p> </li> <li> <p> + * <code><scanrange><end>50</end></scanrange></code> - + * process only the records within the last 50 bytes of the file.</p> </li> </ul> + */ + inline bool ScanRangeHasBeenSet() const { return m_scanRangeHasBeenSet; } + + /** + * <p>Specifies the byte range of the object to get the records from. A record is + * processed when its first byte is contained by the range. This parameter is + * optional, but when specified, it must not be empty. See RFC 2616, Section + * 14.35.1 about how to specify the start and end of the range.</p> <p> + * <code>ScanRange</code>may be used in the following ways:</p> <ul> <li> <p> + * <code><scanrange><start>50</start><end>100</end></scanrange></code> + * - process only the records starting between the bytes 50 and 100 (inclusive, + * counting from zero)</p> </li> <li> <p> + * <code><scanrange><start>50</start></scanrange></code> - + * process only the records starting after the byte 50</p> </li> <li> <p> + * <code><scanrange><end>50</end></scanrange></code> - + * process only the records within the last 50 bytes of the file.</p> </li> </ul> + */ + inline void SetScanRange(const ScanRange& value) { m_scanRangeHasBeenSet = true; m_scanRange = value; } + + /** + * <p>Specifies the byte range of the object to get the records from. A record is + * processed when its first byte is contained by the range. This parameter is + * optional, but when specified, it must not be empty. See RFC 2616, Section + * 14.35.1 about how to specify the start and end of the range.</p> <p> + * <code>ScanRange</code>may be used in the following ways:</p> <ul> <li> <p> + * <code><scanrange><start>50</start><end>100</end></scanrange></code> + * - process only the records starting between the bytes 50 and 100 (inclusive, + * counting from zero)</p> </li> <li> <p> + * <code><scanrange><start>50</start></scanrange></code> - + * process only the records starting after the byte 50</p> </li> <li> <p> + * <code><scanrange><end>50</end></scanrange></code> - + * process only the records within the last 50 bytes of the file.</p> </li> </ul> + */ + inline void SetScanRange(ScanRange&& value) { m_scanRangeHasBeenSet = true; m_scanRange = std::move(value); } + + /** + * <p>Specifies the byte range of the object to get the records from. A record is + * processed when its first byte is contained by the range. This parameter is + * optional, but when specified, it must not be empty. See RFC 2616, Section + * 14.35.1 about how to specify the start and end of the range.</p> <p> + * <code>ScanRange</code>may be used in the following ways:</p> <ul> <li> <p> + * <code><scanrange><start>50</start><end>100</end></scanrange></code> + * - process only the records starting between the bytes 50 and 100 (inclusive, + * counting from zero)</p> </li> <li> <p> + * <code><scanrange><start>50</start></scanrange></code> - + * process only the records starting after the byte 50</p> </li> <li> <p> + * <code><scanrange><end>50</end></scanrange></code> - + * process only the records within the last 50 bytes of the file.</p> </li> </ul> + */ + inline SelectObjectContentRequest& WithScanRange(const ScanRange& value) { SetScanRange(value); return *this;} + + /** + * <p>Specifies the byte range of the object to get the records from. A record is + * processed when its first byte is contained by the range. This parameter is + * optional, but when specified, it must not be empty. See RFC 2616, Section + * 14.35.1 about how to specify the start and end of the range.</p> <p> + * <code>ScanRange</code>may be used in the following ways:</p> <ul> <li> <p> + * <code><scanrange><start>50</start><end>100</end></scanrange></code> + * - process only the records starting between the bytes 50 and 100 (inclusive, + * counting from zero)</p> </li> <li> <p> + * <code><scanrange><start>50</start></scanrange></code> - + * process only the records starting after the byte 50</p> </li> <li> <p> + * <code><scanrange><end>50</end></scanrange></code> - + * process only the records within the last 50 bytes of the file.</p> </li> </ul> + */ + inline SelectObjectContentRequest& WithScanRange(ScanRange&& value) { SetScanRange(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline SelectObjectContentRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline SelectObjectContentRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline SelectObjectContentRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline SelectObjectContentRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline SelectObjectContentRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline SelectObjectContentRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline SelectObjectContentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline SelectObjectContentRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline SelectObjectContentRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline SelectObjectContentRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline SelectObjectContentRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline SelectObjectContentRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + Aws::String m_expression; + bool m_expressionHasBeenSet; + + ExpressionType m_expressionType; + bool m_expressionTypeHasBeenSet; + + RequestProgress m_requestProgress; + bool m_requestProgressHasBeenSet; + + InputSerialization m_inputSerialization; + bool m_inputSerializationHasBeenSet; + + OutputSerialization m_outputSerialization; + bool m_outputSerializationHasBeenSet; + + ScanRange m_scanRange; + bool m_scanRangeHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + Aws::Utils::Event::EventStreamDecoder m_decoder; + SelectObjectContentHandler m_handler; + + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h new file mode 100644 index 0000000000..b9ddc3073d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectParameters.h @@ -0,0 +1,193 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/InputSerialization.h> +#include <aws/s3/model/ExpressionType.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/OutputSerialization.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes the parameters for Select job types.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectParameters">AWS + * API Reference</a></p> + */ + class AWS_S3_API SelectParameters + { + public: + SelectParameters(); + SelectParameters(const Aws::Utils::Xml::XmlNode& xmlNode); + SelectParameters& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Describes the serialization format of the object.</p> + */ + inline const InputSerialization& GetInputSerialization() const{ return m_inputSerialization; } + + /** + * <p>Describes the serialization format of the object.</p> + */ + inline bool InputSerializationHasBeenSet() const { return m_inputSerializationHasBeenSet; } + + /** + * <p>Describes the serialization format of the object.</p> + */ + inline void SetInputSerialization(const InputSerialization& value) { m_inputSerializationHasBeenSet = true; m_inputSerialization = value; } + + /** + * <p>Describes the serialization format of the object.</p> + */ + inline void SetInputSerialization(InputSerialization&& value) { m_inputSerializationHasBeenSet = true; m_inputSerialization = std::move(value); } + + /** + * <p>Describes the serialization format of the object.</p> + */ + inline SelectParameters& WithInputSerialization(const InputSerialization& value) { SetInputSerialization(value); return *this;} + + /** + * <p>Describes the serialization format of the object.</p> + */ + inline SelectParameters& WithInputSerialization(InputSerialization&& value) { SetInputSerialization(std::move(value)); return *this;} + + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline const ExpressionType& GetExpressionType() const{ return m_expressionType; } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline bool ExpressionTypeHasBeenSet() const { return m_expressionTypeHasBeenSet; } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline void SetExpressionType(const ExpressionType& value) { m_expressionTypeHasBeenSet = true; m_expressionType = value; } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline void SetExpressionType(ExpressionType&& value) { m_expressionTypeHasBeenSet = true; m_expressionType = std::move(value); } + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline SelectParameters& WithExpressionType(const ExpressionType& value) { SetExpressionType(value); return *this;} + + /** + * <p>The type of the provided expression (for example, SQL).</p> + */ + inline SelectParameters& WithExpressionType(ExpressionType&& value) { SetExpressionType(std::move(value)); return *this;} + + + /** + * <p>The expression that is used to query the object.</p> + */ + inline const Aws::String& GetExpression() const{ return m_expression; } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline void SetExpression(const Aws::String& value) { m_expressionHasBeenSet = true; m_expression = value; } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline void SetExpression(Aws::String&& value) { m_expressionHasBeenSet = true; m_expression = std::move(value); } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline void SetExpression(const char* value) { m_expressionHasBeenSet = true; m_expression.assign(value); } + + /** + * <p>The expression that is used to query the object.</p> + */ + inline SelectParameters& WithExpression(const Aws::String& value) { SetExpression(value); return *this;} + + /** + * <p>The expression that is used to query the object.</p> + */ + inline SelectParameters& WithExpression(Aws::String&& value) { SetExpression(std::move(value)); return *this;} + + /** + * <p>The expression that is used to query the object.</p> + */ + inline SelectParameters& WithExpression(const char* value) { SetExpression(value); return *this;} + + + /** + * <p>Describes how the results of the Select job are serialized.</p> + */ + inline const OutputSerialization& GetOutputSerialization() const{ return m_outputSerialization; } + + /** + * <p>Describes how the results of the Select job are serialized.</p> + */ + inline bool OutputSerializationHasBeenSet() const { return m_outputSerializationHasBeenSet; } + + /** + * <p>Describes how the results of the Select job are serialized.</p> + */ + inline void SetOutputSerialization(const OutputSerialization& value) { m_outputSerializationHasBeenSet = true; m_outputSerialization = value; } + + /** + * <p>Describes how the results of the Select job are serialized.</p> + */ + inline void SetOutputSerialization(OutputSerialization&& value) { m_outputSerializationHasBeenSet = true; m_outputSerialization = std::move(value); } + + /** + * <p>Describes how the results of the Select job are serialized.</p> + */ + inline SelectParameters& WithOutputSerialization(const OutputSerialization& value) { SetOutputSerialization(value); return *this;} + + /** + * <p>Describes how the results of the Select job are serialized.</p> + */ + inline SelectParameters& WithOutputSerialization(OutputSerialization&& value) { SetOutputSerialization(std::move(value)); return *this;} + + private: + + InputSerialization m_inputSerialization; + bool m_inputSerializationHasBeenSet; + + ExpressionType m_expressionType; + bool m_expressionTypeHasBeenSet; + + Aws::String m_expression; + bool m_expressionHasBeenSet; + + OutputSerialization m_outputSerialization; + bool m_outputSerializationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryption.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryption.h new file mode 100644 index 0000000000..24c5073561 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryption.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class ServerSideEncryption + { + NOT_SET, + AES256, + aws_kms + }; + +namespace ServerSideEncryptionMapper +{ +AWS_S3_API ServerSideEncryption GetServerSideEncryptionForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForServerSideEncryption(ServerSideEncryption value); +} // namespace ServerSideEncryptionMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h new file mode 100644 index 0000000000..273cb34fbe --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionByDefault.h @@ -0,0 +1,248 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes the default server-side encryption to apply to new objects in the + * bucket. If a PUT Object request doesn't specify any server-side encryption, this + * default encryption will be applied. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html">PUT + * Bucket encryption</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionByDefault">AWS + * API Reference</a></p> + */ + class AWS_S3_API ServerSideEncryptionByDefault + { + public: + ServerSideEncryptionByDefault(); + ServerSideEncryptionByDefault(const Aws::Utils::Xml::XmlNode& xmlNode); + ServerSideEncryptionByDefault& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Server-side encryption algorithm to use for the default encryption.</p> + */ + inline const ServerSideEncryption& GetSSEAlgorithm() const{ return m_sSEAlgorithm; } + + /** + * <p>Server-side encryption algorithm to use for the default encryption.</p> + */ + inline bool SSEAlgorithmHasBeenSet() const { return m_sSEAlgorithmHasBeenSet; } + + /** + * <p>Server-side encryption algorithm to use for the default encryption.</p> + */ + inline void SetSSEAlgorithm(const ServerSideEncryption& value) { m_sSEAlgorithmHasBeenSet = true; m_sSEAlgorithm = value; } + + /** + * <p>Server-side encryption algorithm to use for the default encryption.</p> + */ + inline void SetSSEAlgorithm(ServerSideEncryption&& value) { m_sSEAlgorithmHasBeenSet = true; m_sSEAlgorithm = std::move(value); } + + /** + * <p>Server-side encryption algorithm to use for the default encryption.</p> + */ + inline ServerSideEncryptionByDefault& WithSSEAlgorithm(const ServerSideEncryption& value) { SetSSEAlgorithm(value); return *this;} + + /** + * <p>Server-side encryption algorithm to use for the default encryption.</p> + */ + inline ServerSideEncryptionByDefault& WithSSEAlgorithm(ServerSideEncryption&& value) { SetSSEAlgorithm(std::move(value)); return *this;} + + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetKMSMasterKeyID() const{ return m_kMSMasterKeyID; } + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline bool KMSMasterKeyIDHasBeenSet() const { return m_kMSMasterKeyIDHasBeenSet; } + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetKMSMasterKeyID(const Aws::String& value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID = value; } + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetKMSMasterKeyID(Aws::String&& value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID = std::move(value); } + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline void SetKMSMasterKeyID(const char* value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID.assign(value); } + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline ServerSideEncryptionByDefault& WithKMSMasterKeyID(const Aws::String& value) { SetKMSMasterKeyID(value); return *this;} + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline ServerSideEncryptionByDefault& WithKMSMasterKeyID(Aws::String&& value) { SetKMSMasterKeyID(std::move(value)); return *this;} + + /** + * <p>AWS Key Management Service (KMS) customer master key ID to use for the + * default encryption. This parameter is allowed if and only if + * <code>SSEAlgorithm</code> is set to <code>aws:kms</code>.</p> <p>You can specify + * the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are + * using encryption with cross-account operations, you must use a fully qualified + * CMK ARN. For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using + * encryption for cross-account operations</a>. </p> <p> <b>For example:</b> </p> + * <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> + * </li> <li> <p>Key ARN: + * <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> + * </p> </li> </ul> <p>Amazon S3 only supports symmetric CMKs and not + * asymmetric CMKs. For more information, see <a + * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using + * Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer + * Guide</i>.</p> + */ + inline ServerSideEncryptionByDefault& WithKMSMasterKeyID(const char* value) { SetKMSMasterKeyID(value); return *this;} + + private: + + ServerSideEncryption m_sSEAlgorithm; + bool m_sSEAlgorithmHasBeenSet; + + Aws::String m_kMSMasterKeyID; + bool m_kMSMasterKeyIDHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h new file mode 100644 index 0000000000..7b96441c89 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionConfiguration.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/ServerSideEncryptionRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the default server-side-encryption configuration.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API ServerSideEncryptionConfiguration + { + public: + ServerSideEncryptionConfiguration(); + ServerSideEncryptionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + ServerSideEncryptionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline const Aws::Vector<ServerSideEncryptionRule>& GetRules() const{ return m_rules; } + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline void SetRules(const Aws::Vector<ServerSideEncryptionRule>& value) { m_rulesHasBeenSet = true; m_rules = value; } + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline void SetRules(Aws::Vector<ServerSideEncryptionRule>&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline ServerSideEncryptionConfiguration& WithRules(const Aws::Vector<ServerSideEncryptionRule>& value) { SetRules(value); return *this;} + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline ServerSideEncryptionConfiguration& WithRules(Aws::Vector<ServerSideEncryptionRule>&& value) { SetRules(std::move(value)); return *this;} + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline ServerSideEncryptionConfiguration& AddRules(const ServerSideEncryptionRule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } + + /** + * <p>Container for information about a particular server-side encryption + * configuration rule.</p> + */ + inline ServerSideEncryptionConfiguration& AddRules(ServerSideEncryptionRule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<ServerSideEncryptionRule> m_rules; + bool m_rulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h new file mode 100644 index 0000000000..75505b8a52 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/ServerSideEncryptionRule.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ServerSideEncryptionByDefault.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies the default server-side encryption configuration.</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule">AWS + * API Reference</a></p> + */ + class AWS_S3_API ServerSideEncryptionRule + { + public: + ServerSideEncryptionRule(); + ServerSideEncryptionRule(const Aws::Utils::Xml::XmlNode& xmlNode); + ServerSideEncryptionRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies the default server-side encryption to apply to new objects in the + * bucket. If a PUT Object request doesn't specify any server-side encryption, this + * default encryption will be applied.</p> + */ + inline const ServerSideEncryptionByDefault& GetApplyServerSideEncryptionByDefault() const{ return m_applyServerSideEncryptionByDefault; } + + /** + * <p>Specifies the default server-side encryption to apply to new objects in the + * bucket. If a PUT Object request doesn't specify any server-side encryption, this + * default encryption will be applied.</p> + */ + inline bool ApplyServerSideEncryptionByDefaultHasBeenSet() const { return m_applyServerSideEncryptionByDefaultHasBeenSet; } + + /** + * <p>Specifies the default server-side encryption to apply to new objects in the + * bucket. If a PUT Object request doesn't specify any server-side encryption, this + * default encryption will be applied.</p> + */ + inline void SetApplyServerSideEncryptionByDefault(const ServerSideEncryptionByDefault& value) { m_applyServerSideEncryptionByDefaultHasBeenSet = true; m_applyServerSideEncryptionByDefault = value; } + + /** + * <p>Specifies the default server-side encryption to apply to new objects in the + * bucket. If a PUT Object request doesn't specify any server-side encryption, this + * default encryption will be applied.</p> + */ + inline void SetApplyServerSideEncryptionByDefault(ServerSideEncryptionByDefault&& value) { m_applyServerSideEncryptionByDefaultHasBeenSet = true; m_applyServerSideEncryptionByDefault = std::move(value); } + + /** + * <p>Specifies the default server-side encryption to apply to new objects in the + * bucket. If a PUT Object request doesn't specify any server-side encryption, this + * default encryption will be applied.</p> + */ + inline ServerSideEncryptionRule& WithApplyServerSideEncryptionByDefault(const ServerSideEncryptionByDefault& value) { SetApplyServerSideEncryptionByDefault(value); return *this;} + + /** + * <p>Specifies the default server-side encryption to apply to new objects in the + * bucket. If a PUT Object request doesn't specify any server-side encryption, this + * default encryption will be applied.</p> + */ + inline ServerSideEncryptionRule& WithApplyServerSideEncryptionByDefault(ServerSideEncryptionByDefault&& value) { SetApplyServerSideEncryptionByDefault(std::move(value)); return *this;} + + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key with server-side + * encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects + * are not affected. Setting the <code>BucketKeyEnabled</code> element to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key. By default, S3 + * Bucket Key is not enabled.</p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key with server-side + * encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects + * are not affected. Setting the <code>BucketKeyEnabled</code> element to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key. By default, S3 + * Bucket Key is not enabled.</p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key with server-side + * encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects + * are not affected. Setting the <code>BucketKeyEnabled</code> element to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key. By default, S3 + * Bucket Key is not enabled.</p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; } + + /** + * <p>Specifies whether Amazon S3 should use an S3 Bucket Key with server-side + * encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects + * are not affected. Setting the <code>BucketKeyEnabled</code> element to + * <code>true</code> causes Amazon S3 to use an S3 Bucket Key. By default, S3 + * Bucket Key is not enabled.</p> <p>For more information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 + * Bucket Keys</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline ServerSideEncryptionRule& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + private: + + ServerSideEncryptionByDefault m_applyServerSideEncryptionByDefault; + bool m_applyServerSideEncryptionByDefaultHasBeenSet; + + bool m_bucketKeyEnabled; + bool m_bucketKeyEnabledHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h new file mode 100644 index 0000000000..0395f9089b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SourceSelectionCriteria.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/SseKmsEncryptedObjects.h> +#include <aws/s3/model/ReplicaModifications.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container that describes additional filters for identifying the source + * objects that you want to replicate. You can choose to enable or disable the + * replication of these objects. Currently, Amazon S3 supports only the filter that + * you can specify for objects created with server-side encryption using a customer + * master key (CMK) stored in AWS Key Management Service (SSE-KMS).</p><p><h3>See + * Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria">AWS + * API Reference</a></p> + */ + class AWS_S3_API SourceSelectionCriteria + { + public: + SourceSelectionCriteria(); + SourceSelectionCriteria(const Aws::Utils::Xml::XmlNode& xmlNode); + SourceSelectionCriteria& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p> A container for filter information for the selection of Amazon S3 objects + * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in + * the replication configuration, this element is required. </p> + */ + inline const SseKmsEncryptedObjects& GetSseKmsEncryptedObjects() const{ return m_sseKmsEncryptedObjects; } + + /** + * <p> A container for filter information for the selection of Amazon S3 objects + * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in + * the replication configuration, this element is required. </p> + */ + inline bool SseKmsEncryptedObjectsHasBeenSet() const { return m_sseKmsEncryptedObjectsHasBeenSet; } + + /** + * <p> A container for filter information for the selection of Amazon S3 objects + * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in + * the replication configuration, this element is required. </p> + */ + inline void SetSseKmsEncryptedObjects(const SseKmsEncryptedObjects& value) { m_sseKmsEncryptedObjectsHasBeenSet = true; m_sseKmsEncryptedObjects = value; } + + /** + * <p> A container for filter information for the selection of Amazon S3 objects + * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in + * the replication configuration, this element is required. </p> + */ + inline void SetSseKmsEncryptedObjects(SseKmsEncryptedObjects&& value) { m_sseKmsEncryptedObjectsHasBeenSet = true; m_sseKmsEncryptedObjects = std::move(value); } + + /** + * <p> A container for filter information for the selection of Amazon S3 objects + * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in + * the replication configuration, this element is required. </p> + */ + inline SourceSelectionCriteria& WithSseKmsEncryptedObjects(const SseKmsEncryptedObjects& value) { SetSseKmsEncryptedObjects(value); return *this;} + + /** + * <p> A container for filter information for the selection of Amazon S3 objects + * encrypted with AWS KMS. If you include <code>SourceSelectionCriteria</code> in + * the replication configuration, this element is required. </p> + */ + inline SourceSelectionCriteria& WithSseKmsEncryptedObjects(SseKmsEncryptedObjects&& value) { SetSseKmsEncryptedObjects(std::move(value)); return *this;} + + + /** + * <p>A filter that you can specify for selections for modifications on replicas. + * Amazon S3 doesn't replicate replica modifications by default. In the latest + * version of replication configuration (when <code>Filter</code> is specified), + * you can specify this element and set the status to <code>Enabled</code> to + * replicate modifications on replicas. </p> <p> If you don't specify the + * <code>Filter</code> element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, this element + * is not allowed</p> + */ + inline const ReplicaModifications& GetReplicaModifications() const{ return m_replicaModifications; } + + /** + * <p>A filter that you can specify for selections for modifications on replicas. + * Amazon S3 doesn't replicate replica modifications by default. In the latest + * version of replication configuration (when <code>Filter</code> is specified), + * you can specify this element and set the status to <code>Enabled</code> to + * replicate modifications on replicas. </p> <p> If you don't specify the + * <code>Filter</code> element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, this element + * is not allowed</p> + */ + inline bool ReplicaModificationsHasBeenSet() const { return m_replicaModificationsHasBeenSet; } + + /** + * <p>A filter that you can specify for selections for modifications on replicas. + * Amazon S3 doesn't replicate replica modifications by default. In the latest + * version of replication configuration (when <code>Filter</code> is specified), + * you can specify this element and set the status to <code>Enabled</code> to + * replicate modifications on replicas. </p> <p> If you don't specify the + * <code>Filter</code> element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, this element + * is not allowed</p> + */ + inline void SetReplicaModifications(const ReplicaModifications& value) { m_replicaModificationsHasBeenSet = true; m_replicaModifications = value; } + + /** + * <p>A filter that you can specify for selections for modifications on replicas. + * Amazon S3 doesn't replicate replica modifications by default. In the latest + * version of replication configuration (when <code>Filter</code> is specified), + * you can specify this element and set the status to <code>Enabled</code> to + * replicate modifications on replicas. </p> <p> If you don't specify the + * <code>Filter</code> element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, this element + * is not allowed</p> + */ + inline void SetReplicaModifications(ReplicaModifications&& value) { m_replicaModificationsHasBeenSet = true; m_replicaModifications = std::move(value); } + + /** + * <p>A filter that you can specify for selections for modifications on replicas. + * Amazon S3 doesn't replicate replica modifications by default. In the latest + * version of replication configuration (when <code>Filter</code> is specified), + * you can specify this element and set the status to <code>Enabled</code> to + * replicate modifications on replicas. </p> <p> If you don't specify the + * <code>Filter</code> element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, this element + * is not allowed</p> + */ + inline SourceSelectionCriteria& WithReplicaModifications(const ReplicaModifications& value) { SetReplicaModifications(value); return *this;} + + /** + * <p>A filter that you can specify for selections for modifications on replicas. + * Amazon S3 doesn't replicate replica modifications by default. In the latest + * version of replication configuration (when <code>Filter</code> is specified), + * you can specify this element and set the status to <code>Enabled</code> to + * replicate modifications on replicas. </p> <p> If you don't specify the + * <code>Filter</code> element, Amazon S3 assumes that the replication + * configuration is the earlier version, V1. In the earlier version, this element + * is not allowed</p> + */ + inline SourceSelectionCriteria& WithReplicaModifications(ReplicaModifications&& value) { SetReplicaModifications(std::move(value)); return *this;} + + private: + + SseKmsEncryptedObjects m_sseKmsEncryptedObjects; + bool m_sseKmsEncryptedObjectsHasBeenSet; + + ReplicaModifications m_replicaModifications; + bool m_replicaModificationsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h new file mode 100644 index 0000000000..451d3b5e69 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjects.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/SseKmsEncryptedObjectsStatus.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for filter information for the selection of S3 objects encrypted + * with AWS KMS.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SseKmsEncryptedObjects">AWS + * API Reference</a></p> + */ + class AWS_S3_API SseKmsEncryptedObjects + { + public: + SseKmsEncryptedObjects(); + SseKmsEncryptedObjects(const Aws::Utils::Xml::XmlNode& xmlNode); + SseKmsEncryptedObjects& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies whether Amazon S3 replicates objects created with server-side + * encryption using a customer master key (CMK) stored in AWS Key Management + * Service.</p> + */ + inline const SseKmsEncryptedObjectsStatus& GetStatus() const{ return m_status; } + + /** + * <p>Specifies whether Amazon S3 replicates objects created with server-side + * encryption using a customer master key (CMK) stored in AWS Key Management + * Service.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>Specifies whether Amazon S3 replicates objects created with server-side + * encryption using a customer master key (CMK) stored in AWS Key Management + * Service.</p> + */ + inline void SetStatus(const SseKmsEncryptedObjectsStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>Specifies whether Amazon S3 replicates objects created with server-side + * encryption using a customer master key (CMK) stored in AWS Key Management + * Service.</p> + */ + inline void SetStatus(SseKmsEncryptedObjectsStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>Specifies whether Amazon S3 replicates objects created with server-side + * encryption using a customer master key (CMK) stored in AWS Key Management + * Service.</p> + */ + inline SseKmsEncryptedObjects& WithStatus(const SseKmsEncryptedObjectsStatus& value) { SetStatus(value); return *this;} + + /** + * <p>Specifies whether Amazon S3 replicates objects created with server-side + * encryption using a customer master key (CMK) stored in AWS Key Management + * Service.</p> + */ + inline SseKmsEncryptedObjects& WithStatus(SseKmsEncryptedObjectsStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + SseKmsEncryptedObjectsStatus m_status; + bool m_statusHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjectsStatus.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjectsStatus.h new file mode 100644 index 0000000000..c7790bf703 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SseKmsEncryptedObjectsStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class SseKmsEncryptedObjectsStatus + { + NOT_SET, + Enabled, + Disabled + }; + +namespace SseKmsEncryptedObjectsStatusMapper +{ +AWS_S3_API SseKmsEncryptedObjectsStatus GetSseKmsEncryptedObjectsStatusForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForSseKmsEncryptedObjectsStatus(SseKmsEncryptedObjectsStatus value); +} // namespace SseKmsEncryptedObjectsStatusMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h new file mode 100644 index 0000000000..fd077b8872 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Stats.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the stats details.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Stats">AWS API + * Reference</a></p> + */ + class AWS_S3_API Stats + { + public: + Stats(); + Stats(const Aws::Utils::Xml::XmlNode& xmlNode); + Stats& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The total number of object bytes scanned.</p> + */ + inline long long GetBytesScanned() const{ return m_bytesScanned; } + + /** + * <p>The total number of object bytes scanned.</p> + */ + inline bool BytesScannedHasBeenSet() const { return m_bytesScannedHasBeenSet; } + + /** + * <p>The total number of object bytes scanned.</p> + */ + inline void SetBytesScanned(long long value) { m_bytesScannedHasBeenSet = true; m_bytesScanned = value; } + + /** + * <p>The total number of object bytes scanned.</p> + */ + inline Stats& WithBytesScanned(long long value) { SetBytesScanned(value); return *this;} + + + /** + * <p>The total number of uncompressed object bytes processed.</p> + */ + inline long long GetBytesProcessed() const{ return m_bytesProcessed; } + + /** + * <p>The total number of uncompressed object bytes processed.</p> + */ + inline bool BytesProcessedHasBeenSet() const { return m_bytesProcessedHasBeenSet; } + + /** + * <p>The total number of uncompressed object bytes processed.</p> + */ + inline void SetBytesProcessed(long long value) { m_bytesProcessedHasBeenSet = true; m_bytesProcessed = value; } + + /** + * <p>The total number of uncompressed object bytes processed.</p> + */ + inline Stats& WithBytesProcessed(long long value) { SetBytesProcessed(value); return *this;} + + + /** + * <p>The total number of bytes of records payload data returned.</p> + */ + inline long long GetBytesReturned() const{ return m_bytesReturned; } + + /** + * <p>The total number of bytes of records payload data returned.</p> + */ + inline bool BytesReturnedHasBeenSet() const { return m_bytesReturnedHasBeenSet; } + + /** + * <p>The total number of bytes of records payload data returned.</p> + */ + inline void SetBytesReturned(long long value) { m_bytesReturnedHasBeenSet = true; m_bytesReturned = value; } + + /** + * <p>The total number of bytes of records payload data returned.</p> + */ + inline Stats& WithBytesReturned(long long value) { SetBytesReturned(value); return *this;} + + private: + + long long m_bytesScanned; + bool m_bytesScannedHasBeenSet; + + long long m_bytesProcessed; + bool m_bytesProcessedHasBeenSet; + + long long m_bytesReturned; + bool m_bytesReturnedHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h new file mode 100644 index 0000000000..02674cafca --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StatsEvent.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Stats.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for the Stats Event.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StatsEvent">AWS API + * Reference</a></p> + */ + class AWS_S3_API StatsEvent + { + public: + StatsEvent(); + StatsEvent(const Aws::Utils::Xml::XmlNode& xmlNode); + StatsEvent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The Stats event details.</p> + */ + inline const Stats& GetDetails() const{ return m_details; } + + /** + * <p>The Stats event details.</p> + */ + inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } + + /** + * <p>The Stats event details.</p> + */ + inline void SetDetails(const Stats& value) { m_detailsHasBeenSet = true; m_details = value; } + + /** + * <p>The Stats event details.</p> + */ + inline void SetDetails(Stats&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); } + + /** + * <p>The Stats event details.</p> + */ + inline StatsEvent& WithDetails(const Stats& value) { SetDetails(value); return *this;} + + /** + * <p>The Stats event details.</p> + */ + inline StatsEvent& WithDetails(Stats&& value) { SetDetails(std::move(value)); return *this;} + + private: + + Stats m_details; + bool m_detailsHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h new file mode 100644 index 0000000000..b0cda25f4d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClass.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class StorageClass + { + NOT_SET, + STANDARD, + REDUCED_REDUNDANCY, + STANDARD_IA, + ONEZONE_IA, + INTELLIGENT_TIERING, + GLACIER, + DEEP_ARCHIVE, + OUTPOSTS + }; + +namespace StorageClassMapper +{ +AWS_S3_API StorageClass GetStorageClassForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForStorageClass(StorageClass value); +} // namespace StorageClassMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h new file mode 100644 index 0000000000..741db0e5f1 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysis.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/StorageClassAnalysisDataExport.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies data related to access patterns to be collected and made available + * to analyze the tradeoffs between different storage classes for an Amazon S3 + * bucket.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysis">AWS + * API Reference</a></p> + */ + class AWS_S3_API StorageClassAnalysis + { + public: + StorageClassAnalysis(); + StorageClassAnalysis(const Aws::Utils::Xml::XmlNode& xmlNode); + StorageClassAnalysis& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies how data related to the storage class analysis for an Amazon S3 + * bucket should be exported.</p> + */ + inline const StorageClassAnalysisDataExport& GetDataExport() const{ return m_dataExport; } + + /** + * <p>Specifies how data related to the storage class analysis for an Amazon S3 + * bucket should be exported.</p> + */ + inline bool DataExportHasBeenSet() const { return m_dataExportHasBeenSet; } + + /** + * <p>Specifies how data related to the storage class analysis for an Amazon S3 + * bucket should be exported.</p> + */ + inline void SetDataExport(const StorageClassAnalysisDataExport& value) { m_dataExportHasBeenSet = true; m_dataExport = value; } + + /** + * <p>Specifies how data related to the storage class analysis for an Amazon S3 + * bucket should be exported.</p> + */ + inline void SetDataExport(StorageClassAnalysisDataExport&& value) { m_dataExportHasBeenSet = true; m_dataExport = std::move(value); } + + /** + * <p>Specifies how data related to the storage class analysis for an Amazon S3 + * bucket should be exported.</p> + */ + inline StorageClassAnalysis& WithDataExport(const StorageClassAnalysisDataExport& value) { SetDataExport(value); return *this;} + + /** + * <p>Specifies how data related to the storage class analysis for an Amazon S3 + * bucket should be exported.</p> + */ + inline StorageClassAnalysis& WithDataExport(StorageClassAnalysisDataExport&& value) { SetDataExport(std::move(value)); return *this;} + + private: + + StorageClassAnalysisDataExport m_dataExport; + bool m_dataExportHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h new file mode 100644 index 0000000000..4a6382b3ec --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisDataExport.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/StorageClassAnalysisSchemaVersion.h> +#include <aws/s3/model/AnalyticsExportDestination.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for data related to the storage class analysis for an Amazon S3 + * bucket for export.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysisDataExport">AWS + * API Reference</a></p> + */ + class AWS_S3_API StorageClassAnalysisDataExport + { + public: + StorageClassAnalysisDataExport(); + StorageClassAnalysisDataExport(const Aws::Utils::Xml::XmlNode& xmlNode); + StorageClassAnalysisDataExport& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The version of the output schema to use when exporting data. Must be + * <code>V_1</code>.</p> + */ + inline const StorageClassAnalysisSchemaVersion& GetOutputSchemaVersion() const{ return m_outputSchemaVersion; } + + /** + * <p>The version of the output schema to use when exporting data. Must be + * <code>V_1</code>.</p> + */ + inline bool OutputSchemaVersionHasBeenSet() const { return m_outputSchemaVersionHasBeenSet; } + + /** + * <p>The version of the output schema to use when exporting data. Must be + * <code>V_1</code>.</p> + */ + inline void SetOutputSchemaVersion(const StorageClassAnalysisSchemaVersion& value) { m_outputSchemaVersionHasBeenSet = true; m_outputSchemaVersion = value; } + + /** + * <p>The version of the output schema to use when exporting data. Must be + * <code>V_1</code>.</p> + */ + inline void SetOutputSchemaVersion(StorageClassAnalysisSchemaVersion&& value) { m_outputSchemaVersionHasBeenSet = true; m_outputSchemaVersion = std::move(value); } + + /** + * <p>The version of the output schema to use when exporting data. Must be + * <code>V_1</code>.</p> + */ + inline StorageClassAnalysisDataExport& WithOutputSchemaVersion(const StorageClassAnalysisSchemaVersion& value) { SetOutputSchemaVersion(value); return *this;} + + /** + * <p>The version of the output schema to use when exporting data. Must be + * <code>V_1</code>.</p> + */ + inline StorageClassAnalysisDataExport& WithOutputSchemaVersion(StorageClassAnalysisSchemaVersion&& value) { SetOutputSchemaVersion(std::move(value)); return *this;} + + + /** + * <p>The place to store the data for an analysis.</p> + */ + inline const AnalyticsExportDestination& GetDestination() const{ return m_destination; } + + /** + * <p>The place to store the data for an analysis.</p> + */ + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + + /** + * <p>The place to store the data for an analysis.</p> + */ + inline void SetDestination(const AnalyticsExportDestination& value) { m_destinationHasBeenSet = true; m_destination = value; } + + /** + * <p>The place to store the data for an analysis.</p> + */ + inline void SetDestination(AnalyticsExportDestination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + + /** + * <p>The place to store the data for an analysis.</p> + */ + inline StorageClassAnalysisDataExport& WithDestination(const AnalyticsExportDestination& value) { SetDestination(value); return *this;} + + /** + * <p>The place to store the data for an analysis.</p> + */ + inline StorageClassAnalysisDataExport& WithDestination(AnalyticsExportDestination&& value) { SetDestination(std::move(value)); return *this;} + + private: + + StorageClassAnalysisSchemaVersion m_outputSchemaVersion; + bool m_outputSchemaVersionHasBeenSet; + + AnalyticsExportDestination m_destination; + bool m_destinationHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisSchemaVersion.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisSchemaVersion.h new file mode 100644 index 0000000000..cdf61d3d12 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/StorageClassAnalysisSchemaVersion.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class StorageClassAnalysisSchemaVersion + { + NOT_SET, + V_1 + }; + +namespace StorageClassAnalysisSchemaVersionMapper +{ +AWS_S3_API StorageClassAnalysisSchemaVersion GetStorageClassAnalysisSchemaVersionForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForStorageClassAnalysisSchemaVersion(StorageClassAnalysisSchemaVersion value); +} // namespace StorageClassAnalysisSchemaVersionMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h new file mode 100644 index 0000000000..68d57a3ec0 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tag.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container of a key value name pair.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tag">AWS API + * Reference</a></p> + */ + class AWS_S3_API Tag + { + public: + Tag(); + Tag(const Aws::Utils::Xml::XmlNode& xmlNode); + Tag& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Name of the object key.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Name of the object key.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Name of the object key.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Name of the object key.</p> + */ + inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Name of the object key.</p> + */ + inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Name of the object key.</p> + */ + inline Tag& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Value of the tag.</p> + */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + * <p>Value of the tag.</p> + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + * <p>Value of the tag.</p> + */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + * <p>Value of the tag.</p> + */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + * <p>Value of the tag.</p> + */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + * <p>Value of the tag.</p> + */ + inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + * <p>Value of the tag.</p> + */ + inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + * <p>Value of the tag.</p> + */ + inline Tag& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet; + + Aws::String m_value; + bool m_valueHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h new file mode 100644 index 0000000000..198cc2669b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tagging.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Tag.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for <code>TagSet</code> elements.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tagging">AWS API + * Reference</a></p> + */ + class AWS_S3_API Tagging + { + public: + Tagging(); + Tagging(const Aws::Utils::Xml::XmlNode& xmlNode); + Tagging& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>A collection for a set of tags</p> + */ + inline const Aws::Vector<Tag>& GetTagSet() const{ return m_tagSet; } + + /** + * <p>A collection for a set of tags</p> + */ + inline bool TagSetHasBeenSet() const { return m_tagSetHasBeenSet; } + + /** + * <p>A collection for a set of tags</p> + */ + inline void SetTagSet(const Aws::Vector<Tag>& value) { m_tagSetHasBeenSet = true; m_tagSet = value; } + + /** + * <p>A collection for a set of tags</p> + */ + inline void SetTagSet(Aws::Vector<Tag>&& value) { m_tagSetHasBeenSet = true; m_tagSet = std::move(value); } + + /** + * <p>A collection for a set of tags</p> + */ + inline Tagging& WithTagSet(const Aws::Vector<Tag>& value) { SetTagSet(value); return *this;} + + /** + * <p>A collection for a set of tags</p> + */ + inline Tagging& WithTagSet(Aws::Vector<Tag>&& value) { SetTagSet(std::move(value)); return *this;} + + /** + * <p>A collection for a set of tags</p> + */ + inline Tagging& AddTagSet(const Tag& value) { m_tagSetHasBeenSet = true; m_tagSet.push_back(value); return *this; } + + /** + * <p>A collection for a set of tags</p> + */ + inline Tagging& AddTagSet(Tag&& value) { m_tagSetHasBeenSet = true; m_tagSet.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector<Tag> m_tagSet; + bool m_tagSetHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TaggingDirective.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TaggingDirective.h new file mode 100644 index 0000000000..b17bc80f2b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TaggingDirective.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class TaggingDirective + { + NOT_SET, + COPY, + REPLACE + }; + +namespace TaggingDirectiveMapper +{ +AWS_S3_API TaggingDirective GetTaggingDirectiveForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForTaggingDirective(TaggingDirective value); +} // namespace TaggingDirectiveMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h new file mode 100644 index 0000000000..c8d1edafbd --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TargetGrant.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/Grantee.h> +#include <aws/s3/model/BucketLogsPermission.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Container for granting information.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TargetGrant">AWS API + * Reference</a></p> + */ + class AWS_S3_API TargetGrant + { + public: + TargetGrant(); + TargetGrant(const Aws::Utils::Xml::XmlNode& xmlNode); + TargetGrant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Container for the person being granted permissions.</p> + */ + inline const Grantee& GetGrantee() const{ return m_grantee; } + + /** + * <p>Container for the person being granted permissions.</p> + */ + inline bool GranteeHasBeenSet() const { return m_granteeHasBeenSet; } + + /** + * <p>Container for the person being granted permissions.</p> + */ + inline void SetGrantee(const Grantee& value) { m_granteeHasBeenSet = true; m_grantee = value; } + + /** + * <p>Container for the person being granted permissions.</p> + */ + inline void SetGrantee(Grantee&& value) { m_granteeHasBeenSet = true; m_grantee = std::move(value); } + + /** + * <p>Container for the person being granted permissions.</p> + */ + inline TargetGrant& WithGrantee(const Grantee& value) { SetGrantee(value); return *this;} + + /** + * <p>Container for the person being granted permissions.</p> + */ + inline TargetGrant& WithGrantee(Grantee&& value) { SetGrantee(std::move(value)); return *this;} + + + /** + * <p>Logging permissions assigned to the grantee for the bucket.</p> + */ + inline const BucketLogsPermission& GetPermission() const{ return m_permission; } + + /** + * <p>Logging permissions assigned to the grantee for the bucket.</p> + */ + inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } + + /** + * <p>Logging permissions assigned to the grantee for the bucket.</p> + */ + inline void SetPermission(const BucketLogsPermission& value) { m_permissionHasBeenSet = true; m_permission = value; } + + /** + * <p>Logging permissions assigned to the grantee for the bucket.</p> + */ + inline void SetPermission(BucketLogsPermission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } + + /** + * <p>Logging permissions assigned to the grantee for the bucket.</p> + */ + inline TargetGrant& WithPermission(const BucketLogsPermission& value) { SetPermission(value); return *this;} + + /** + * <p>Logging permissions assigned to the grantee for the bucket.</p> + */ + inline TargetGrant& WithPermission(BucketLogsPermission&& value) { SetPermission(std::move(value)); return *this;} + + private: + + Grantee m_grantee; + bool m_granteeHasBeenSet; + + BucketLogsPermission m_permission; + bool m_permissionHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tier.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tier.h new file mode 100644 index 0000000000..6ca39feb44 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tier.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class Tier + { + NOT_SET, + Standard, + Bulk, + Expedited + }; + +namespace TierMapper +{ +AWS_S3_API Tier GetTierForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForTier(Tier value); +} // namespace TierMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h new file mode 100644 index 0000000000..0d8f5b8802 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Tiering.h @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/IntelligentTieringAccessTier.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage + * costs by automatically moving data to the most cost-effective storage access + * tier, without additional operational overhead.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tiering">AWS API + * Reference</a></p> + */ + class AWS_S3_API Tiering + { + public: + Tiering(); + Tiering(const Aws::Utils::Xml::XmlNode& xmlNode); + Tiering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The number of consecutive days of no access after which an object will be + * eligible to be transitioned to the corresponding tier. The minimum number of + * days specified for Archive Access tier must be at least 90 days and Deep Archive + * Access tier must be at least 180 days. The maximum can be up to 2 years (730 + * days).</p> + */ + inline int GetDays() const{ return m_days; } + + /** + * <p>The number of consecutive days of no access after which an object will be + * eligible to be transitioned to the corresponding tier. The minimum number of + * days specified for Archive Access tier must be at least 90 days and Deep Archive + * Access tier must be at least 180 days. The maximum can be up to 2 years (730 + * days).</p> + */ + inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; } + + /** + * <p>The number of consecutive days of no access after which an object will be + * eligible to be transitioned to the corresponding tier. The minimum number of + * days specified for Archive Access tier must be at least 90 days and Deep Archive + * Access tier must be at least 180 days. The maximum can be up to 2 years (730 + * days).</p> + */ + inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; } + + /** + * <p>The number of consecutive days of no access after which an object will be + * eligible to be transitioned to the corresponding tier. The minimum number of + * days specified for Archive Access tier must be at least 90 days and Deep Archive + * Access tier must be at least 180 days. The maximum can be up to 2 years (730 + * days).</p> + */ + inline Tiering& WithDays(int value) { SetDays(value); return *this;} + + + /** + * <p>S3 Intelligent-Tiering access tier. See <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a> for a list of access tiers in the S3 Intelligent-Tiering storage + * class.</p> + */ + inline const IntelligentTieringAccessTier& GetAccessTier() const{ return m_accessTier; } + + /** + * <p>S3 Intelligent-Tiering access tier. See <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a> for a list of access tiers in the S3 Intelligent-Tiering storage + * class.</p> + */ + inline bool AccessTierHasBeenSet() const { return m_accessTierHasBeenSet; } + + /** + * <p>S3 Intelligent-Tiering access tier. See <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a> for a list of access tiers in the S3 Intelligent-Tiering storage + * class.</p> + */ + inline void SetAccessTier(const IntelligentTieringAccessTier& value) { m_accessTierHasBeenSet = true; m_accessTier = value; } + + /** + * <p>S3 Intelligent-Tiering access tier. See <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a> for a list of access tiers in the S3 Intelligent-Tiering storage + * class.</p> + */ + inline void SetAccessTier(IntelligentTieringAccessTier&& value) { m_accessTierHasBeenSet = true; m_accessTier = std::move(value); } + + /** + * <p>S3 Intelligent-Tiering access tier. See <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a> for a list of access tiers in the S3 Intelligent-Tiering storage + * class.</p> + */ + inline Tiering& WithAccessTier(const IntelligentTieringAccessTier& value) { SetAccessTier(value); return *this;} + + /** + * <p>S3 Intelligent-Tiering access tier. See <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage + * class for automatically optimizing frequently and infrequently accessed + * objects</a> for a list of access tiers in the S3 Intelligent-Tiering storage + * class.</p> + */ + inline Tiering& WithAccessTier(IntelligentTieringAccessTier&& value) { SetAccessTier(std::move(value)); return *this;} + + private: + + int m_days; + bool m_daysHasBeenSet; + + IntelligentTieringAccessTier m_accessTier; + bool m_accessTierHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h new file mode 100644 index 0000000000..7a4f9d9536 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfiguration.h @@ -0,0 +1,219 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/NotificationConfigurationFilter.h> +#include <aws/s3/model/Event.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for specifying the configuration for publication of messages to + * an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects + * specified events.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API TopicConfiguration + { + public: + TopicConfiguration(); + TopicConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + TopicConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const Aws::String& GetId() const{ return m_id; } + + + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + + inline TopicConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;} + + + inline TopicConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + + inline TopicConfiguration& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline const Aws::String& GetTopicArn() const{ return m_topicArn; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline bool TopicArnHasBeenSet() const { return m_topicArnHasBeenSet; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline void SetTopicArn(const Aws::String& value) { m_topicArnHasBeenSet = true; m_topicArn = value; } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline void SetTopicArn(Aws::String&& value) { m_topicArnHasBeenSet = true; m_topicArn = std::move(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline void SetTopicArn(const char* value) { m_topicArnHasBeenSet = true; m_topicArn.assign(value); } + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline TopicConfiguration& WithTopicArn(const Aws::String& value) { SetTopicArn(value); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline TopicConfiguration& WithTopicArn(Aws::String&& value) { SetTopicArn(std::move(value)); return *this;} + + /** + * <p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 + * publishes a message when it detects events of the specified type.</p> + */ + inline TopicConfiguration& WithTopicArn(const char* value) { SetTopicArn(value); return *this;} + + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline const Aws::Vector<Event>& GetEvents() const{ return m_events; } + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline TopicConfiguration& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;} + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline TopicConfiguration& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;} + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline TopicConfiguration& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + * <p>The Amazon S3 bucket event about which to send notifications. For more + * information, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Supported + * Event Types</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</p> + */ + inline TopicConfiguration& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + + + inline const NotificationConfigurationFilter& GetFilter() const{ return m_filter; } + + + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + + inline void SetFilter(const NotificationConfigurationFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + + + inline void SetFilter(NotificationConfigurationFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + + inline TopicConfiguration& WithFilter(const NotificationConfigurationFilter& value) { SetFilter(value); return *this;} + + + inline TopicConfiguration& WithFilter(NotificationConfigurationFilter&& value) { SetFilter(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::String m_topicArn; + bool m_topicArnHasBeenSet; + + Aws::Vector<Event> m_events; + bool m_eventsHasBeenSet; + + NotificationConfigurationFilter m_filter; + bool m_filterHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h new file mode 100644 index 0000000000..23592ee28e --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TopicConfigurationDeprecated.h @@ -0,0 +1,174 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/Event.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>A container for specifying the configuration for publication of messages to + * an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects + * specified events. This data type is deprecated. Use <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_TopicConfiguration.html">TopicConfiguration</a> + * instead.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfigurationDeprecated">AWS + * API Reference</a></p> + */ + class AWS_S3_API TopicConfigurationDeprecated + { + public: + TopicConfigurationDeprecated(); + TopicConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); + TopicConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + + inline const Aws::String& GetId() const{ return m_id; } + + + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + + inline TopicConfigurationDeprecated& WithId(const Aws::String& value) { SetId(value); return *this;} + + + inline TopicConfigurationDeprecated& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + + inline TopicConfigurationDeprecated& WithId(const char* value) { SetId(value); return *this;} + + + /** + * <p>A collection of events related to objects</p> + */ + inline const Aws::Vector<Event>& GetEvents() const{ return m_events; } + + /** + * <p>A collection of events related to objects</p> + */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + * <p>A collection of events related to objects</p> + */ + inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + * <p>A collection of events related to objects</p> + */ + inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + * <p>A collection of events related to objects</p> + */ + inline TopicConfigurationDeprecated& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;} + + /** + * <p>A collection of events related to objects</p> + */ + inline TopicConfigurationDeprecated& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;} + + /** + * <p>A collection of events related to objects</p> + */ + inline TopicConfigurationDeprecated& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + * <p>A collection of events related to objects</p> + */ + inline TopicConfigurationDeprecated& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline const Aws::String& GetTopic() const{ return m_topic; } + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline bool TopicHasBeenSet() const { return m_topicHasBeenSet; } + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline void SetTopic(const Aws::String& value) { m_topicHasBeenSet = true; m_topic = value; } + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline void SetTopic(Aws::String&& value) { m_topicHasBeenSet = true; m_topic = std::move(value); } + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline void SetTopic(const char* value) { m_topicHasBeenSet = true; m_topic.assign(value); } + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline TopicConfigurationDeprecated& WithTopic(const Aws::String& value) { SetTopic(value); return *this;} + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline TopicConfigurationDeprecated& WithTopic(Aws::String&& value) { SetTopic(std::move(value)); return *this;} + + /** + * <p>Amazon SNS topic to which Amazon S3 will publish a message to report the + * specified events for the bucket.</p> + */ + inline TopicConfigurationDeprecated& WithTopic(const char* value) { SetTopic(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet; + + Aws::Vector<Event> m_events; + bool m_eventsHasBeenSet; + + Aws::String m_topic; + bool m_topicHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h new file mode 100644 index 0000000000..153b1e6e15 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Transition.h @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/TransitionStorageClass.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies when an object transitions to a specified storage class. For more + * information about Amazon S3 lifecycle configuration rules, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html">Transitioning + * Objects Using Amazon S3 Lifecycle</a> in the <i>Amazon Simple Storage Service + * Developer Guide</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Transition">AWS API + * Reference</a></p> + */ + class AWS_S3_API Transition + { + public: + Transition(); + Transition(const Aws::Utils::Xml::XmlNode& xmlNode); + Transition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Indicates when objects are transitioned to the specified storage class. The + * date value must be in ISO 8601 format. The time is always midnight UTC.</p> + */ + inline const Aws::Utils::DateTime& GetDate() const{ return m_date; } + + /** + * <p>Indicates when objects are transitioned to the specified storage class. The + * date value must be in ISO 8601 format. The time is always midnight UTC.</p> + */ + inline bool DateHasBeenSet() const { return m_dateHasBeenSet; } + + /** + * <p>Indicates when objects are transitioned to the specified storage class. The + * date value must be in ISO 8601 format. The time is always midnight UTC.</p> + */ + inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; } + + /** + * <p>Indicates when objects are transitioned to the specified storage class. The + * date value must be in ISO 8601 format. The time is always midnight UTC.</p> + */ + inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = std::move(value); } + + /** + * <p>Indicates when objects are transitioned to the specified storage class. The + * date value must be in ISO 8601 format. The time is always midnight UTC.</p> + */ + inline Transition& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;} + + /** + * <p>Indicates when objects are transitioned to the specified storage class. The + * date value must be in ISO 8601 format. The time is always midnight UTC.</p> + */ + inline Transition& WithDate(Aws::Utils::DateTime&& value) { SetDate(std::move(value)); return *this;} + + + /** + * <p>Indicates the number of days after creation when objects are transitioned to + * the specified storage class. The value must be a positive integer.</p> + */ + inline int GetDays() const{ return m_days; } + + /** + * <p>Indicates the number of days after creation when objects are transitioned to + * the specified storage class. The value must be a positive integer.</p> + */ + inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; } + + /** + * <p>Indicates the number of days after creation when objects are transitioned to + * the specified storage class. The value must be a positive integer.</p> + */ + inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; } + + /** + * <p>Indicates the number of days after creation when objects are transitioned to + * the specified storage class. The value must be a positive integer.</p> + */ + inline Transition& WithDays(int value) { SetDays(value); return *this;} + + + /** + * <p>The storage class to which you want the object to transition.</p> + */ + inline const TransitionStorageClass& GetStorageClass() const{ return m_storageClass; } + + /** + * <p>The storage class to which you want the object to transition.</p> + */ + inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } + + /** + * <p>The storage class to which you want the object to transition.</p> + */ + inline void SetStorageClass(const TransitionStorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } + + /** + * <p>The storage class to which you want the object to transition.</p> + */ + inline void SetStorageClass(TransitionStorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } + + /** + * <p>The storage class to which you want the object to transition.</p> + */ + inline Transition& WithStorageClass(const TransitionStorageClass& value) { SetStorageClass(value); return *this;} + + /** + * <p>The storage class to which you want the object to transition.</p> + */ + inline Transition& WithStorageClass(TransitionStorageClass&& value) { SetStorageClass(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_date; + bool m_dateHasBeenSet; + + int m_days; + bool m_daysHasBeenSet; + + TransitionStorageClass m_storageClass; + bool m_storageClassHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h new file mode 100644 index 0000000000..7eb5efa762 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/TransitionStorageClass.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class TransitionStorageClass + { + NOT_SET, + GLACIER, + STANDARD_IA, + ONEZONE_IA, + INTELLIGENT_TIERING, + DEEP_ARCHIVE + }; + +namespace TransitionStorageClassMapper +{ +AWS_S3_API TransitionStorageClass GetTransitionStorageClassForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForTransitionStorageClass(TransitionStorageClass value); +} // namespace TransitionStorageClassMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Type.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Type.h new file mode 100644 index 0000000000..863af2bca6 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/Type.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> + +namespace Aws +{ +namespace S3 +{ +namespace Model +{ + enum class Type + { + NOT_SET, + CanonicalUser, + AmazonCustomerByEmail, + Group + }; + +namespace TypeMapper +{ +AWS_S3_API Type GetTypeForName(const Aws::String& name); + +AWS_S3_API Aws::String GetNameForType(Type value); +} // namespace TypeMapper +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h new file mode 100644 index 0000000000..def68dbeaa --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyRequest.h @@ -0,0 +1,1447 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/core/utils/DateTime.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API UploadPartCopyRequest : public S3Request + { + public: + UploadPartCopyRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UploadPartCopy"; } + + Aws::String SerializePayload() const override; + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline UploadPartCopyRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline UploadPartCopyRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The bucket name.</p> <p>When using this API with an access point, you must + * direct requests to the access point hostname. The access point hostname takes + * the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline UploadPartCopyRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline const Aws::String& GetCopySource() const{ return m_copySource; } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline bool CopySourceHasBeenSet() const { return m_copySourceHasBeenSet; } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline void SetCopySource(const Aws::String& value) { m_copySourceHasBeenSet = true; m_copySource = value; } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline void SetCopySource(Aws::String&& value) { m_copySourceHasBeenSet = true; m_copySource = std::move(value); } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline void SetCopySource(const char* value) { m_copySourceHasBeenSet = true; m_copySource.assign(value); } + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline UploadPartCopyRequest& WithCopySource(const Aws::String& value) { SetCopySource(value); return *this;} + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline UploadPartCopyRequest& WithCopySource(Aws::String&& value) { SetCopySource(std::move(value)); return *this;} + + /** + * <p>Specifies the source object for the copy operation. You specify the value in + * one of two formats, depending on whether you want to access the source object + * through an <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html">access + * point</a>:</p> <ul> <li> <p>For objects not accessed through an access point, + * specify the name of the source bucket and key of the source object, separated by + * a slash (/). For example, to copy the object <code>reports/january.pdf</code> + * from the bucket <code>awsexamplebucket</code>, use + * <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL + * encoded.</p> </li> <li> <p>For objects accessed through access points, specify + * the Amazon Resource Name (ARN) of the object as accessed through the access + * point, in the format + * <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</code> through access + * point <code>my-access-point</code> owned by account <code>123456789012</code> in + * Region <code>us-west-2</code>, use the URL encoding of + * <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. + * The value must be URL encoded.</p> <p>Amazon S3 supports copy operations + * using access points only when the source and destination buckets are in the same + * AWS Region.</p> <p>Alternatively, for objects accessed through Amazon S3 + * on Outposts, specify the ARN of the object as accessed in the format + * <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. + * For example, to copy the object <code>reports/january.pdf</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/object/reports/january.pdf</code>. + * The value must be URL encoded. </p> </li> </ul> <p>To copy a specific version of + * an object, append <code>?versionId=<version-id></code> to the value (for + * example, + * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). + * If you don't specify a version ID, Amazon S3 copies the latest version of the + * source object.</p> + */ + inline UploadPartCopyRequest& WithCopySource(const char* value) { SetCopySource(value); return *this;} + + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline const Aws::String& GetCopySourceIfMatch() const{ return m_copySourceIfMatch; } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline bool CopySourceIfMatchHasBeenSet() const { return m_copySourceIfMatchHasBeenSet; } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline void SetCopySourceIfMatch(const Aws::String& value) { m_copySourceIfMatchHasBeenSet = true; m_copySourceIfMatch = value; } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline void SetCopySourceIfMatch(Aws::String&& value) { m_copySourceIfMatchHasBeenSet = true; m_copySourceIfMatch = std::move(value); } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline void SetCopySourceIfMatch(const char* value) { m_copySourceIfMatchHasBeenSet = true; m_copySourceIfMatch.assign(value); } + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfMatch(const Aws::String& value) { SetCopySourceIfMatch(value); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfMatch(Aws::String&& value) { SetCopySourceIfMatch(std::move(value)); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfMatch(const char* value) { SetCopySourceIfMatch(value); return *this;} + + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline const Aws::Utils::DateTime& GetCopySourceIfModifiedSince() const{ return m_copySourceIfModifiedSince; } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline bool CopySourceIfModifiedSinceHasBeenSet() const { return m_copySourceIfModifiedSinceHasBeenSet; } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline void SetCopySourceIfModifiedSince(const Aws::Utils::DateTime& value) { m_copySourceIfModifiedSinceHasBeenSet = true; m_copySourceIfModifiedSince = value; } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline void SetCopySourceIfModifiedSince(Aws::Utils::DateTime&& value) { m_copySourceIfModifiedSinceHasBeenSet = true; m_copySourceIfModifiedSince = std::move(value); } + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfModifiedSince(const Aws::Utils::DateTime& value) { SetCopySourceIfModifiedSince(value); return *this;} + + /** + * <p>Copies the object if it has been modified since the specified time.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfModifiedSince(Aws::Utils::DateTime&& value) { SetCopySourceIfModifiedSince(std::move(value)); return *this;} + + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline const Aws::String& GetCopySourceIfNoneMatch() const{ return m_copySourceIfNoneMatch; } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline bool CopySourceIfNoneMatchHasBeenSet() const { return m_copySourceIfNoneMatchHasBeenSet; } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline void SetCopySourceIfNoneMatch(const Aws::String& value) { m_copySourceIfNoneMatchHasBeenSet = true; m_copySourceIfNoneMatch = value; } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline void SetCopySourceIfNoneMatch(Aws::String&& value) { m_copySourceIfNoneMatchHasBeenSet = true; m_copySourceIfNoneMatch = std::move(value); } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline void SetCopySourceIfNoneMatch(const char* value) { m_copySourceIfNoneMatchHasBeenSet = true; m_copySourceIfNoneMatch.assign(value); } + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfNoneMatch(const Aws::String& value) { SetCopySourceIfNoneMatch(value); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfNoneMatch(Aws::String&& value) { SetCopySourceIfNoneMatch(std::move(value)); return *this;} + + /** + * <p>Copies the object if its entity tag (ETag) is different than the specified + * ETag.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfNoneMatch(const char* value) { SetCopySourceIfNoneMatch(value); return *this;} + + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline const Aws::Utils::DateTime& GetCopySourceIfUnmodifiedSince() const{ return m_copySourceIfUnmodifiedSince; } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline bool CopySourceIfUnmodifiedSinceHasBeenSet() const { return m_copySourceIfUnmodifiedSinceHasBeenSet; } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline void SetCopySourceIfUnmodifiedSince(const Aws::Utils::DateTime& value) { m_copySourceIfUnmodifiedSinceHasBeenSet = true; m_copySourceIfUnmodifiedSince = value; } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline void SetCopySourceIfUnmodifiedSince(Aws::Utils::DateTime&& value) { m_copySourceIfUnmodifiedSinceHasBeenSet = true; m_copySourceIfUnmodifiedSince = std::move(value); } + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfUnmodifiedSince(const Aws::Utils::DateTime& value) { SetCopySourceIfUnmodifiedSince(value); return *this;} + + /** + * <p>Copies the object if it hasn't been modified since the specified time.</p> + */ + inline UploadPartCopyRequest& WithCopySourceIfUnmodifiedSince(Aws::Utils::DateTime&& value) { SetCopySourceIfUnmodifiedSince(std::move(value)); return *this;} + + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline const Aws::String& GetCopySourceRange() const{ return m_copySourceRange; } + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline bool CopySourceRangeHasBeenSet() const { return m_copySourceRangeHasBeenSet; } + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline void SetCopySourceRange(const Aws::String& value) { m_copySourceRangeHasBeenSet = true; m_copySourceRange = value; } + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline void SetCopySourceRange(Aws::String&& value) { m_copySourceRangeHasBeenSet = true; m_copySourceRange = std::move(value); } + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline void SetCopySourceRange(const char* value) { m_copySourceRangeHasBeenSet = true; m_copySourceRange.assign(value); } + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline UploadPartCopyRequest& WithCopySourceRange(const Aws::String& value) { SetCopySourceRange(value); return *this;} + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline UploadPartCopyRequest& WithCopySourceRange(Aws::String&& value) { SetCopySourceRange(std::move(value)); return *this;} + + /** + * <p>The range of bytes to copy from the source object. The range value must use + * the form bytes=first-last, where the first and last are the zero-based byte + * offsets to copy. For example, bytes=0-9 indicates that you want to copy the + * first 10 bytes of the source. You can copy a range only if the source object is + * greater than 5 MB.</p> + */ + inline UploadPartCopyRequest& WithCopySourceRange(const char* value) { SetCopySourceRange(value); return *this;} + + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline UploadPartCopyRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline UploadPartCopyRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline UploadPartCopyRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Part number of part being copied. This is a positive integer between 1 and + * 10,000.</p> + */ + inline int GetPartNumber() const{ return m_partNumber; } + + /** + * <p>Part number of part being copied. This is a positive integer between 1 and + * 10,000.</p> + */ + inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; } + + /** + * <p>Part number of part being copied. This is a positive integer between 1 and + * 10,000.</p> + */ + inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; } + + /** + * <p>Part number of part being copied. This is a positive integer between 1 and + * 10,000.</p> + */ + inline UploadPartCopyRequest& WithPartNumber(int value) { SetPartNumber(value); return *this;} + + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; } + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; } + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); } + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); } + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline UploadPartCopyRequest& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline UploadPartCopyRequest& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose part is being copied.</p> + */ + inline UploadPartCopyRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline UploadPartCopyRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline UploadPartCopyRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline UploadPartCopyRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline UploadPartCopyRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline UploadPartCopyRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm</code> header. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline UploadPartCopyRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartCopyRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartCopyRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartCopyRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline const Aws::String& GetCopySourceSSECustomerAlgorithm() const{ return m_copySourceSSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline bool CopySourceSSECustomerAlgorithmHasBeenSet() const { return m_copySourceSSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline void SetCopySourceSSECustomerAlgorithm(const Aws::String& value) { m_copySourceSSECustomerAlgorithmHasBeenSet = true; m_copySourceSSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline void SetCopySourceSSECustomerAlgorithm(Aws::String&& value) { m_copySourceSSECustomerAlgorithmHasBeenSet = true; m_copySourceSSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline void SetCopySourceSSECustomerAlgorithm(const char* value) { m_copySourceSSECustomerAlgorithmHasBeenSet = true; m_copySourceSSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerAlgorithm(const Aws::String& value) { SetCopySourceSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerAlgorithm(Aws::String&& value) { SetCopySourceSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use when decrypting the source object (for + * example, AES256).</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerAlgorithm(const char* value) { SetCopySourceSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline const Aws::String& GetCopySourceSSECustomerKey() const{ return m_copySourceSSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline bool CopySourceSSECustomerKeyHasBeenSet() const { return m_copySourceSSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline void SetCopySourceSSECustomerKey(const Aws::String& value) { m_copySourceSSECustomerKeyHasBeenSet = true; m_copySourceSSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline void SetCopySourceSSECustomerKey(Aws::String&& value) { m_copySourceSSECustomerKeyHasBeenSet = true; m_copySourceSSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline void SetCopySourceSSECustomerKey(const char* value) { m_copySourceSSECustomerKeyHasBeenSet = true; m_copySourceSSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerKey(const Aws::String& value) { SetCopySourceSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerKey(Aws::String&& value) { SetCopySourceSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use to + * decrypt the source object. The encryption key provided in this header must be + * one that was used when the source object was created.</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerKey(const char* value) { SetCopySourceSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetCopySourceSSECustomerKeyMD5() const{ return m_copySourceSSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool CopySourceSSECustomerKeyMD5HasBeenSet() const { return m_copySourceSSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetCopySourceSSECustomerKeyMD5(const Aws::String& value) { m_copySourceSSECustomerKeyMD5HasBeenSet = true; m_copySourceSSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetCopySourceSSECustomerKeyMD5(Aws::String&& value) { m_copySourceSSECustomerKeyMD5HasBeenSet = true; m_copySourceSSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetCopySourceSSECustomerKeyMD5(const char* value) { m_copySourceSSECustomerKeyMD5HasBeenSet = true; m_copySourceSSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerKeyMD5(const Aws::String& value) { SetCopySourceSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerKeyMD5(Aws::String&& value) { SetCopySourceSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartCopyRequest& WithCopySourceSSECustomerKeyMD5(const char* value) { SetCopySourceSSECustomerKeyMD5(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline UploadPartCopyRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline UploadPartCopyRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline UploadPartCopyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline UploadPartCopyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected destination bucket owner. If the destination + * bucket is owned by a different account, the request will fail with an HTTP + * <code>403 (Access Denied)</code> error.</p> + */ + inline UploadPartCopyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedSourceBucketOwner() const{ return m_expectedSourceBucketOwner; } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline bool ExpectedSourceBucketOwnerHasBeenSet() const { return m_expectedSourceBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline void SetExpectedSourceBucketOwner(const Aws::String& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = value; } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline void SetExpectedSourceBucketOwner(Aws::String&& value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline void SetExpectedSourceBucketOwner(const char* value) { m_expectedSourceBucketOwnerHasBeenSet = true; m_expectedSourceBucketOwner.assign(value); } + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline UploadPartCopyRequest& WithExpectedSourceBucketOwner(const Aws::String& value) { SetExpectedSourceBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline UploadPartCopyRequest& WithExpectedSourceBucketOwner(Aws::String&& value) { SetExpectedSourceBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected source bucket owner. If the source bucket is + * owned by a different account, the request will fail with an HTTP <code>403 + * (Access Denied)</code> error.</p> + */ + inline UploadPartCopyRequest& WithExpectedSourceBucketOwner(const char* value) { SetExpectedSourceBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline UploadPartCopyRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline UploadPartCopyRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline UploadPartCopyRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline UploadPartCopyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline UploadPartCopyRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline UploadPartCopyRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline UploadPartCopyRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline UploadPartCopyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline UploadPartCopyRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + Aws::String m_copySource; + bool m_copySourceHasBeenSet; + + Aws::String m_copySourceIfMatch; + bool m_copySourceIfMatchHasBeenSet; + + Aws::Utils::DateTime m_copySourceIfModifiedSince; + bool m_copySourceIfModifiedSinceHasBeenSet; + + Aws::String m_copySourceIfNoneMatch; + bool m_copySourceIfNoneMatchHasBeenSet; + + Aws::Utils::DateTime m_copySourceIfUnmodifiedSince; + bool m_copySourceIfUnmodifiedSinceHasBeenSet; + + Aws::String m_copySourceRange; + bool m_copySourceRangeHasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + int m_partNumber; + bool m_partNumberHasBeenSet; + + Aws::String m_uploadId; + bool m_uploadIdHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + Aws::String m_copySourceSSECustomerAlgorithm; + bool m_copySourceSSECustomerAlgorithmHasBeenSet; + + Aws::String m_copySourceSSECustomerKey; + bool m_copySourceSSECustomerKeyHasBeenSet; + + Aws::String m_copySourceSSECustomerKeyMD5; + bool m_copySourceSSECustomerKeyMD5HasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::String m_expectedSourceBucketOwner; + bool m_expectedSourceBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h new file mode 100644 index 0000000000..ee8933482f --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartCopyResult.h @@ -0,0 +1,343 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/CopyPartResult.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API UploadPartCopyResult + { + public: + UploadPartCopyResult(); + UploadPartCopyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + UploadPartCopyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The version of the source object that was copied, if you have enabled + * versioning on the source bucket.</p> + */ + inline const Aws::String& GetCopySourceVersionId() const{ return m_copySourceVersionId; } + + /** + * <p>The version of the source object that was copied, if you have enabled + * versioning on the source bucket.</p> + */ + inline void SetCopySourceVersionId(const Aws::String& value) { m_copySourceVersionId = value; } + + /** + * <p>The version of the source object that was copied, if you have enabled + * versioning on the source bucket.</p> + */ + inline void SetCopySourceVersionId(Aws::String&& value) { m_copySourceVersionId = std::move(value); } + + /** + * <p>The version of the source object that was copied, if you have enabled + * versioning on the source bucket.</p> + */ + inline void SetCopySourceVersionId(const char* value) { m_copySourceVersionId.assign(value); } + + /** + * <p>The version of the source object that was copied, if you have enabled + * versioning on the source bucket.</p> + */ + inline UploadPartCopyResult& WithCopySourceVersionId(const Aws::String& value) { SetCopySourceVersionId(value); return *this;} + + /** + * <p>The version of the source object that was copied, if you have enabled + * versioning on the source bucket.</p> + */ + inline UploadPartCopyResult& WithCopySourceVersionId(Aws::String&& value) { SetCopySourceVersionId(std::move(value)); return *this;} + + /** + * <p>The version of the source object that was copied, if you have enabled + * versioning on the source bucket.</p> + */ + inline UploadPartCopyResult& WithCopySourceVersionId(const char* value) { SetCopySourceVersionId(value); return *this;} + + + /** + * <p>Container for all response elements.</p> + */ + inline const CopyPartResult& GetCopyPartResult() const{ return m_copyPartResult; } + + /** + * <p>Container for all response elements.</p> + */ + inline void SetCopyPartResult(const CopyPartResult& value) { m_copyPartResult = value; } + + /** + * <p>Container for all response elements.</p> + */ + inline void SetCopyPartResult(CopyPartResult&& value) { m_copyPartResult = std::move(value); } + + /** + * <p>Container for all response elements.</p> + */ + inline UploadPartCopyResult& WithCopyPartResult(const CopyPartResult& value) { SetCopyPartResult(value); return *this;} + + /** + * <p>Container for all response elements.</p> + */ + inline UploadPartCopyResult& WithCopyPartResult(CopyPartResult&& value) { SetCopyPartResult(std::move(value)); return *this;} + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline UploadPartCopyResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline UploadPartCopyResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline UploadPartCopyResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline UploadPartCopyResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline UploadPartCopyResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline UploadPartCopyResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline UploadPartCopyResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline UploadPartCopyResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline UploadPartCopyResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline UploadPartCopyResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) that was used for the + * object.</p> + */ + inline UploadPartCopyResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline UploadPartCopyResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline UploadPartCopyResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline UploadPartCopyResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + Aws::String m_copySourceVersionId; + + CopyPartResult m_copyPartResult; + + ServerSideEncryption m_serverSideEncryption; + + Aws::String m_sSECustomerAlgorithm; + + Aws::String m_sSECustomerKeyMD5; + + Aws::String m_sSEKMSKeyId; + + bool m_bucketKeyEnabled; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h new file mode 100644 index 0000000000..ecdba22f40 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartRequest.h @@ -0,0 +1,770 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/S3Request.h> +#include <aws/core/utils/Array.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestPayer.h> +#include <aws/core/utils/memory/stl/AWSMap.h> +#include <utility> + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class AWS_S3_API UploadPartRequest : public StreamingS3Request + { + public: + UploadPartRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UploadPart"; } + + void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline const Aws::String& GetBucket() const{ return m_bucket; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline UploadPartRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline UploadPartRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} + + /** + * <p>The name of the bucket to which the multipart upload was initiated.</p> + * <p>When using this API with an access point, you must direct requests to the + * access point hostname. The access point hostname takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. + * When using this operation with an access point through the AWS SDKs, you provide + * the access point ARN in place of the bucket name. For more information about + * access point ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using + * Access Points</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> <p>When using this API with Amazon S3 on Outposts, you must + * direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname + * takes the form + * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com. + * When using this operation using S3 on Outposts through the AWS SDKs, you provide + * the Outposts bucket ARN in place of the bucket name. For more information about + * S3 on Outposts ARNs, see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html">Using + * S3 on Outposts</a> in the <i>Amazon Simple Storage Service Developer + * Guide</i>.</p> + */ + inline UploadPartRequest& WithBucket(const char* value) { SetBucket(value); return *this;} + + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically.</p> + */ + inline long long GetContentLength() const{ return m_contentLength; } + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically.</p> + */ + inline bool ContentLengthHasBeenSet() const { return m_contentLengthHasBeenSet; } + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically.</p> + */ + inline void SetContentLength(long long value) { m_contentLengthHasBeenSet = true; m_contentLength = value; } + + /** + * <p>Size of the body in bytes. This parameter is useful when the size of the body + * cannot be determined automatically.</p> + */ + inline UploadPartRequest& WithContentLength(long long value) { SetContentLength(value); return *this;} + + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline UploadPartRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline UploadPartRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} + + /** + * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is + * auto-populated when using the command from the CLI. This parameter is required + * if object lock parameters are specified.</p> + */ + inline UploadPartRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} + + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline UploadPartRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline UploadPartRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + * <p>Object key for which the multipart upload was initiated.</p> + */ + inline UploadPartRequest& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + * <p>Part number of part being uploaded. This is a positive integer between 1 and + * 10,000.</p> + */ + inline int GetPartNumber() const{ return m_partNumber; } + + /** + * <p>Part number of part being uploaded. This is a positive integer between 1 and + * 10,000.</p> + */ + inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; } + + /** + * <p>Part number of part being uploaded. This is a positive integer between 1 and + * 10,000.</p> + */ + inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; } + + /** + * <p>Part number of part being uploaded. This is a positive integer between 1 and + * 10,000.</p> + */ + inline UploadPartRequest& WithPartNumber(int value) { SetPartNumber(value); return *this;} + + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline const Aws::String& GetUploadId() const{ return m_uploadId; } + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; } + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; } + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); } + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); } + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline UploadPartRequest& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline UploadPartRequest& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} + + /** + * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p> + */ + inline UploadPartRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;} + + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline UploadPartRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline UploadPartRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>Specifies the algorithm to use to when encrypting the object (for example, + * AES256).</p> + */ + inline UploadPartRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); } + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline UploadPartRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline UploadPartRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;} + + /** + * <p>Specifies the customer-provided encryption key for Amazon S3 to use in + * encrypting data. This value is used to store the object and then it is + * discarded; Amazon S3 does not store the encryption key. The key must be + * appropriate for use with the algorithm specified in the + * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must + * be the same encryption key specified in the initiate multipart upload + * request.</p> + */ + inline UploadPartRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;} + + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. + * Amazon S3 uses this header for a message integrity check to ensure that the + * encryption key was transmitted without error.</p> + */ + inline UploadPartRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + + inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; } + + + inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; } + + + inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; } + + + inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); } + + + inline UploadPartRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;} + + + inline UploadPartRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;} + + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline UploadPartRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline UploadPartRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} + + /** + * <p>The account id of the expected bucket owner. If the bucket is owned by a + * different account, the request will fail with an HTTP <code>403 (Access + * Denied)</code> error.</p> + */ + inline UploadPartRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} + + + + inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; } + + + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + + + inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; } + + + inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); } + + + inline UploadPartRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;} + + + inline UploadPartRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;} + + + inline UploadPartRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + + inline UploadPartRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline UploadPartRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline UploadPartRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; } + + + inline UploadPartRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; } + + + inline UploadPartRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; } + + + inline UploadPartRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; } + + private: + + + Aws::String m_bucket; + bool m_bucketHasBeenSet; + + long long m_contentLength; + bool m_contentLengthHasBeenSet; + + Aws::String m_contentMD5; + bool m_contentMD5HasBeenSet; + + Aws::String m_key; + bool m_keyHasBeenSet; + + int m_partNumber; + bool m_partNumberHasBeenSet; + + Aws::String m_uploadId; + bool m_uploadIdHasBeenSet; + + Aws::String m_sSECustomerAlgorithm; + bool m_sSECustomerAlgorithmHasBeenSet; + + Aws::String m_sSECustomerKey; + bool m_sSECustomerKeyHasBeenSet; + + Aws::String m_sSECustomerKeyMD5; + bool m_sSECustomerKeyMD5HasBeenSet; + + RequestPayer m_requestPayer; + bool m_requestPayerHasBeenSet; + + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet; + + Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h new file mode 100644 index 0000000000..146a25021b --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/UploadPartResult.h @@ -0,0 +1,307 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ServerSideEncryption.h> +#include <aws/core/utils/memory/stl/AWSString.h> +#include <aws/s3/model/RequestCharged.h> +#include <utility> + +namespace Aws +{ +template<typename RESULT_TYPE> +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + class AWS_S3_API UploadPartResult + { + public: + UploadPartResult(); + UploadPartResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + UploadPartResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); + + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline UploadPartResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} + + /** + * <p>The server-side encryption algorithm used when storing this object in Amazon + * S3 (for example, AES256, aws:kms).</p> + */ + inline UploadPartResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} + + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline void SetETag(const Aws::String& value) { m_eTag = value; } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline void SetETag(const char* value) { m_eTag.assign(value); } + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline UploadPartResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline UploadPartResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + + /** + * <p>Entity tag for the uploaded object.</p> + */ + inline UploadPartResult& WithETag(const char* value) { SetETag(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline UploadPartResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline UploadPartResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header confirming the encryption + * algorithm used.</p> + */ + inline UploadPartResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} + + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline UploadPartResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline UploadPartResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} + + /** + * <p>If server-side encryption with a customer-provided encryption key was + * requested, the response will include this header to provide round-trip message + * integrity verification of the customer-provided encryption key.</p> + */ + inline UploadPartResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} + + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) was used for the + * object.</p> + */ + inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) was used for the + * object.</p> + */ + inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) was used for the + * object.</p> + */ + inline UploadPartResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) was used for the + * object.</p> + */ + inline UploadPartResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} + + /** + * <p>If present, specifies the ID of the AWS Key Management Service (AWS KMS) + * symmetric customer managed customer master key (CMK) was used for the + * object.</p> + */ + inline UploadPartResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} + + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } + + /** + * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side + * encryption with AWS KMS (SSE-KMS).</p> + */ + inline UploadPartResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} + + + + inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } + + + inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } + + + inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } + + + inline UploadPartResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} + + + inline UploadPartResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} + + private: + + ServerSideEncryption m_serverSideEncryption; + + Aws::String m_eTag; + + Aws::String m_sSECustomerAlgorithm; + + Aws::String m_sSECustomerKeyMD5; + + Aws::String m_sSEKMSKeyId; + + bool m_bucketKeyEnabled; + + RequestCharged m_requestCharged; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h new file mode 100644 index 0000000000..b30cfbd698 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/VersioningConfiguration.h @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/MFADelete.h> +#include <aws/s3/model/BucketVersioningStatus.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Describes the versioning state of an Amazon S3 bucket. For more information, + * see <a + * href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html">PUT + * Bucket versioning</a> in the <i>Amazon Simple Storage Service API + * Reference</i>.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/VersioningConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API VersioningConfiguration + { + public: + VersioningConfiguration(); + VersioningConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + VersioningConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline const MFADelete& GetMFADelete() const{ return m_mFADelete; } + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline bool MFADeleteHasBeenSet() const { return m_mFADeleteHasBeenSet; } + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline void SetMFADelete(const MFADelete& value) { m_mFADeleteHasBeenSet = true; m_mFADelete = value; } + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline void SetMFADelete(MFADelete&& value) { m_mFADeleteHasBeenSet = true; m_mFADelete = std::move(value); } + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline VersioningConfiguration& WithMFADelete(const MFADelete& value) { SetMFADelete(value); return *this;} + + /** + * <p>Specifies whether MFA delete is enabled in the bucket versioning + * configuration. This element is only returned if the bucket has been configured + * with MFA delete. If the bucket has never been so configured, this element is not + * returned.</p> + */ + inline VersioningConfiguration& WithMFADelete(MFADelete&& value) { SetMFADelete(std::move(value)); return *this;} + + + /** + * <p>The versioning state of the bucket.</p> + */ + inline const BucketVersioningStatus& GetStatus() const{ return m_status; } + + /** + * <p>The versioning state of the bucket.</p> + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + * <p>The versioning state of the bucket.</p> + */ + inline void SetStatus(const BucketVersioningStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + * <p>The versioning state of the bucket.</p> + */ + inline void SetStatus(BucketVersioningStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + * <p>The versioning state of the bucket.</p> + */ + inline VersioningConfiguration& WithStatus(const BucketVersioningStatus& value) { SetStatus(value); return *this;} + + /** + * <p>The versioning state of the bucket.</p> + */ + inline VersioningConfiguration& WithStatus(BucketVersioningStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + MFADelete m_mFADelete; + bool m_mFADeleteHasBeenSet; + + BucketVersioningStatus m_status; + bool m_statusHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h new file mode 100644 index 0000000000..d862c3e230 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/WebsiteConfiguration.h @@ -0,0 +1,207 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include <aws/s3/S3_EXPORTS.h> +#include <aws/s3/model/ErrorDocument.h> +#include <aws/s3/model/IndexDocument.h> +#include <aws/s3/model/RedirectAllRequestsTo.h> +#include <aws/core/utils/memory/stl/AWSVector.h> +#include <aws/s3/model/RoutingRule.h> +#include <utility> + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3 +{ +namespace Model +{ + + /** + * <p>Specifies website configuration parameters for an Amazon S3 + * bucket.</p><p><h3>See Also:</h3> <a + * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/WebsiteConfiguration">AWS + * API Reference</a></p> + */ + class AWS_S3_API WebsiteConfiguration + { + public: + WebsiteConfiguration(); + WebsiteConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + WebsiteConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + * <p>The name of the error document for the website.</p> + */ + inline const ErrorDocument& GetErrorDocument() const{ return m_errorDocument; } + + /** + * <p>The name of the error document for the website.</p> + */ + inline bool ErrorDocumentHasBeenSet() const { return m_errorDocumentHasBeenSet; } + + /** + * <p>The name of the error document for the website.</p> + */ + inline void SetErrorDocument(const ErrorDocument& value) { m_errorDocumentHasBeenSet = true; m_errorDocument = value; } + + /** + * <p>The name of the error document for the website.</p> + */ + inline void SetErrorDocument(ErrorDocument&& value) { m_errorDocumentHasBeenSet = true; m_errorDocument = std::move(value); } + + /** + * <p>The name of the error document for the website.</p> + */ + inline WebsiteConfiguration& WithErrorDocument(const ErrorDocument& value) { SetErrorDocument(value); return *this;} + + /** + * <p>The name of the error document for the website.</p> + */ + inline WebsiteConfiguration& WithErrorDocument(ErrorDocument&& value) { SetErrorDocument(std::move(value)); return *this;} + + + /** + * <p>The name of the index document for the website.</p> + */ + inline const IndexDocument& GetIndexDocument() const{ return m_indexDocument; } + + /** + * <p>The name of the index document for the website.</p> + */ + inline bool IndexDocumentHasBeenSet() const { return m_indexDocumentHasBeenSet; } + + /** + * <p>The name of the index document for the website.</p> + */ + inline void SetIndexDocument(const IndexDocument& value) { m_indexDocumentHasBeenSet = true; m_indexDocument = value; } + + /** + * <p>The name of the index document for the website.</p> + */ + inline void SetIndexDocument(IndexDocument&& value) { m_indexDocumentHasBeenSet = true; m_indexDocument = std::move(value); } + + /** + * <p>The name of the index document for the website.</p> + */ + inline WebsiteConfiguration& WithIndexDocument(const IndexDocument& value) { SetIndexDocument(value); return *this;} + + /** + * <p>The name of the index document for the website.</p> + */ + inline WebsiteConfiguration& WithIndexDocument(IndexDocument&& value) { SetIndexDocument(std::move(value)); return *this;} + + + /** + * <p>The redirect behavior for every request to this bucket's website + * endpoint.</p> <p>If you specify this property, you can't specify any + * other property.</p> + */ + inline const RedirectAllRequestsTo& GetRedirectAllRequestsTo() const{ return m_redirectAllRequestsTo; } + + /** + * <p>The redirect behavior for every request to this bucket's website + * endpoint.</p> <p>If you specify this property, you can't specify any + * other property.</p> + */ + inline bool RedirectAllRequestsToHasBeenSet() const { return m_redirectAllRequestsToHasBeenSet; } + + /** + * <p>The redirect behavior for every request to this bucket's website + * endpoint.</p> <p>If you specify this property, you can't specify any + * other property.</p> + */ + inline void SetRedirectAllRequestsTo(const RedirectAllRequestsTo& value) { m_redirectAllRequestsToHasBeenSet = true; m_redirectAllRequestsTo = value; } + + /** + * <p>The redirect behavior for every request to this bucket's website + * endpoint.</p> <p>If you specify this property, you can't specify any + * other property.</p> + */ + inline void SetRedirectAllRequestsTo(RedirectAllRequestsTo&& value) { m_redirectAllRequestsToHasBeenSet = true; m_redirectAllRequestsTo = std::move(value); } + + /** + * <p>The redirect behavior for every request to this bucket's website + * endpoint.</p> <p>If you specify this property, you can't specify any + * other property.</p> + */ + inline WebsiteConfiguration& WithRedirectAllRequestsTo(const RedirectAllRequestsTo& value) { SetRedirectAllRequestsTo(value); return *this;} + + /** + * <p>The redirect behavior for every request to this bucket's website + * endpoint.</p> <p>If you specify this property, you can't specify any + * other property.</p> + */ + inline WebsiteConfiguration& WithRedirectAllRequestsTo(RedirectAllRequestsTo&& value) { SetRedirectAllRequestsTo(std::move(value)); return *this;} + + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline const Aws::Vector<RoutingRule>& GetRoutingRules() const{ return m_routingRules; } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline bool RoutingRulesHasBeenSet() const { return m_routingRulesHasBeenSet; } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline void SetRoutingRules(const Aws::Vector<RoutingRule>& value) { m_routingRulesHasBeenSet = true; m_routingRules = value; } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline void SetRoutingRules(Aws::Vector<RoutingRule>&& value) { m_routingRulesHasBeenSet = true; m_routingRules = std::move(value); } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline WebsiteConfiguration& WithRoutingRules(const Aws::Vector<RoutingRule>& value) { SetRoutingRules(value); return *this;} + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline WebsiteConfiguration& WithRoutingRules(Aws::Vector<RoutingRule>&& value) { SetRoutingRules(std::move(value)); return *this;} + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline WebsiteConfiguration& AddRoutingRules(const RoutingRule& value) { m_routingRulesHasBeenSet = true; m_routingRules.push_back(value); return *this; } + + /** + * <p>Rules that define when a redirect is applied and the redirect behavior.</p> + */ + inline WebsiteConfiguration& AddRoutingRules(RoutingRule&& value) { m_routingRulesHasBeenSet = true; m_routingRules.push_back(std::move(value)); return *this; } + + private: + + ErrorDocument m_errorDocument; + bool m_errorDocumentHasBeenSet; + + IndexDocument m_indexDocument; + bool m_indexDocumentHasBeenSet; + + RedirectAllRequestsTo m_redirectAllRequestsTo; + bool m_redirectAllRequestsToHasBeenSet; + + Aws::Vector<RoutingRule> m_routingRules; + bool m_routingRulesHasBeenSet; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws -- cgit v1.2.3