UNPKG

193 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {S3Customizations} from '../lib/services/s3';
5import {WaiterConfiguration} from '../lib/service';
6import {ServiceConfigurationOptions} from '../lib/service';
7import {ConfigBase as Config} from '../lib/config';
8import {UseDualstackConfigOptions} from '../lib/config_use_dualstack';
9import {EventStream} from '../lib/event-stream/event-stream';
10import {ManagedUpload as managed_upload} from '../lib/s3/managed_upload';
11import {PresignedPost as presigned_post} from '../lib/s3/presigned_post';
12import {Readable} from 'stream';
13interface Blob {}
14declare class S3 extends S3Customizations {
15 /**
16 * Constructs a service object. This object has one method for each API operation.
17 */
18 constructor(options?: S3.Types.ClientConfiguration)
19 config: Config & S3.Types.ClientConfiguration;
20 /**
21 * Aborts a multipart upload. To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.
22 */
23 abortMultipartUpload(params: S3.Types.AbortMultipartUploadRequest, callback?: (err: AWSError, data: S3.Types.AbortMultipartUploadOutput) => void): Request<S3.Types.AbortMultipartUploadOutput, AWSError>;
24 /**
25 * Aborts a multipart upload. To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.
26 */
27 abortMultipartUpload(callback?: (err: AWSError, data: S3.Types.AbortMultipartUploadOutput) => void): Request<S3.Types.AbortMultipartUploadOutput, AWSError>;
28 /**
29 * Completes a multipart upload by assembling previously uploaded parts.
30 */
31 completeMultipartUpload(params: S3.Types.CompleteMultipartUploadRequest, callback?: (err: AWSError, data: S3.Types.CompleteMultipartUploadOutput) => void): Request<S3.Types.CompleteMultipartUploadOutput, AWSError>;
32 /**
33 * Completes a multipart upload by assembling previously uploaded parts.
34 */
35 completeMultipartUpload(callback?: (err: AWSError, data: S3.Types.CompleteMultipartUploadOutput) => void): Request<S3.Types.CompleteMultipartUploadOutput, AWSError>;
36 /**
37 * Creates a copy of an object that is already stored in Amazon S3.
38 */
39 copyObject(params: S3.Types.CopyObjectRequest, callback?: (err: AWSError, data: S3.Types.CopyObjectOutput) => void): Request<S3.Types.CopyObjectOutput, AWSError>;
40 /**
41 * Creates a copy of an object that is already stored in Amazon S3.
42 */
43 copyObject(callback?: (err: AWSError, data: S3.Types.CopyObjectOutput) => void): Request<S3.Types.CopyObjectOutput, AWSError>;
44 /**
45 * Creates a new bucket.
46 */
47 createBucket(params: S3.Types.CreateBucketRequest, callback?: (err: AWSError, data: S3.Types.CreateBucketOutput) => void): Request<S3.Types.CreateBucketOutput, AWSError>;
48 /**
49 * Creates a new bucket.
50 */
51 createBucket(callback?: (err: AWSError, data: S3.Types.CreateBucketOutput) => void): Request<S3.Types.CreateBucketOutput, AWSError>;
52 /**
53 * Initiates a multipart upload and returns an upload ID. Note: 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.
54 */
55 createMultipartUpload(params: S3.Types.CreateMultipartUploadRequest, callback?: (err: AWSError, data: S3.Types.CreateMultipartUploadOutput) => void): Request<S3.Types.CreateMultipartUploadOutput, AWSError>;
56 /**
57 * Initiates a multipart upload and returns an upload ID. Note: 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.
58 */
59 createMultipartUpload(callback?: (err: AWSError, data: S3.Types.CreateMultipartUploadOutput) => void): Request<S3.Types.CreateMultipartUploadOutput, AWSError>;
60 /**
61 * Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted.
62 */
63 deleteBucket(params: S3.Types.DeleteBucketRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
64 /**
65 * Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted.
66 */
67 deleteBucket(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
68 /**
69 * Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).
70 */
71 deleteBucketAnalyticsConfiguration(params: S3.Types.DeleteBucketAnalyticsConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
72 /**
73 * Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).
74 */
75 deleteBucketAnalyticsConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
76 /**
77 * Deletes the CORS configuration information set for the bucket.
78 */
79 deleteBucketCors(params: S3.Types.DeleteBucketCorsRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
80 /**
81 * Deletes the CORS configuration information set for the bucket.
82 */
83 deleteBucketCors(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
84 /**
85 * Deletes the server-side encryption configuration from the bucket.
86 */
87 deleteBucketEncryption(params: S3.Types.DeleteBucketEncryptionRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
88 /**
89 * Deletes the server-side encryption configuration from the bucket.
90 */
91 deleteBucketEncryption(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
92 /**
93 * Deletes an inventory configuration (identified by the inventory ID) from the bucket.
94 */
95 deleteBucketInventoryConfiguration(params: S3.Types.DeleteBucketInventoryConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
96 /**
97 * Deletes an inventory configuration (identified by the inventory ID) from the bucket.
98 */
99 deleteBucketInventoryConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
100 /**
101 * Deletes the lifecycle configuration from the bucket.
102 */
103 deleteBucketLifecycle(params: S3.Types.DeleteBucketLifecycleRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
104 /**
105 * Deletes the lifecycle configuration from the bucket.
106 */
107 deleteBucketLifecycle(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
108 /**
109 * Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.
110 */
111 deleteBucketMetricsConfiguration(params: S3.Types.DeleteBucketMetricsConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
112 /**
113 * Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.
114 */
115 deleteBucketMetricsConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
116 /**
117 * Deletes the policy from the bucket.
118 */
119 deleteBucketPolicy(params: S3.Types.DeleteBucketPolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
120 /**
121 * Deletes the policy from the bucket.
122 */
123 deleteBucketPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
124 /**
125 * Deletes the replication configuration from the bucket. For information about replication configuration, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.
126 */
127 deleteBucketReplication(params: S3.Types.DeleteBucketReplicationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
128 /**
129 * Deletes the replication configuration from the bucket. For information about replication configuration, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.
130 */
131 deleteBucketReplication(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
132 /**
133 * Deletes the tags from the bucket.
134 */
135 deleteBucketTagging(params: S3.Types.DeleteBucketTaggingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
136 /**
137 * Deletes the tags from the bucket.
138 */
139 deleteBucketTagging(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
140 /**
141 * This operation removes the website configuration from the bucket.
142 */
143 deleteBucketWebsite(params: S3.Types.DeleteBucketWebsiteRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
144 /**
145 * This operation removes the website configuration from the bucket.
146 */
147 deleteBucketWebsite(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
148 /**
149 * 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.
150 */
151 deleteObject(params: S3.Types.DeleteObjectRequest, callback?: (err: AWSError, data: S3.Types.DeleteObjectOutput) => void): Request<S3.Types.DeleteObjectOutput, AWSError>;
152 /**
153 * 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.
154 */
155 deleteObject(callback?: (err: AWSError, data: S3.Types.DeleteObjectOutput) => void): Request<S3.Types.DeleteObjectOutput, AWSError>;
156 /**
157 * Removes the tag-set from an existing object.
158 */
159 deleteObjectTagging(params: S3.Types.DeleteObjectTaggingRequest, callback?: (err: AWSError, data: S3.Types.DeleteObjectTaggingOutput) => void): Request<S3.Types.DeleteObjectTaggingOutput, AWSError>;
160 /**
161 * Removes the tag-set from an existing object.
162 */
163 deleteObjectTagging(callback?: (err: AWSError, data: S3.Types.DeleteObjectTaggingOutput) => void): Request<S3.Types.DeleteObjectTaggingOutput, AWSError>;
164 /**
165 * This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys.
166 */
167 deleteObjects(params: S3.Types.DeleteObjectsRequest, callback?: (err: AWSError, data: S3.Types.DeleteObjectsOutput) => void): Request<S3.Types.DeleteObjectsOutput, AWSError>;
168 /**
169 * This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys.
170 */
171 deleteObjects(callback?: (err: AWSError, data: S3.Types.DeleteObjectsOutput) => void): Request<S3.Types.DeleteObjectsOutput, AWSError>;
172 /**
173 * Removes the PublicAccessBlock configuration from an Amazon S3 bucket.
174 */
175 deletePublicAccessBlock(params: S3.Types.DeletePublicAccessBlockRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
176 /**
177 * Removes the PublicAccessBlock configuration from an Amazon S3 bucket.
178 */
179 deletePublicAccessBlock(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
180 /**
181 * Returns the accelerate configuration of a bucket.
182 */
183 getBucketAccelerateConfiguration(params: S3.Types.GetBucketAccelerateConfigurationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketAccelerateConfigurationOutput) => void): Request<S3.Types.GetBucketAccelerateConfigurationOutput, AWSError>;
184 /**
185 * Returns the accelerate configuration of a bucket.
186 */
187 getBucketAccelerateConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketAccelerateConfigurationOutput) => void): Request<S3.Types.GetBucketAccelerateConfigurationOutput, AWSError>;
188 /**
189 * Gets the access control policy for the bucket.
190 */
191 getBucketAcl(params: S3.Types.GetBucketAclRequest, callback?: (err: AWSError, data: S3.Types.GetBucketAclOutput) => void): Request<S3.Types.GetBucketAclOutput, AWSError>;
192 /**
193 * Gets the access control policy for the bucket.
194 */
195 getBucketAcl(callback?: (err: AWSError, data: S3.Types.GetBucketAclOutput) => void): Request<S3.Types.GetBucketAclOutput, AWSError>;
196 /**
197 * Gets an analytics configuration for the bucket (specified by the analytics configuration ID).
198 */
199 getBucketAnalyticsConfiguration(params: S3.Types.GetBucketAnalyticsConfigurationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketAnalyticsConfigurationOutput) => void): Request<S3.Types.GetBucketAnalyticsConfigurationOutput, AWSError>;
200 /**
201 * Gets an analytics configuration for the bucket (specified by the analytics configuration ID).
202 */
203 getBucketAnalyticsConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketAnalyticsConfigurationOutput) => void): Request<S3.Types.GetBucketAnalyticsConfigurationOutput, AWSError>;
204 /**
205 * Returns the CORS configuration for the bucket.
206 */
207 getBucketCors(params: S3.Types.GetBucketCorsRequest, callback?: (err: AWSError, data: S3.Types.GetBucketCorsOutput) => void): Request<S3.Types.GetBucketCorsOutput, AWSError>;
208 /**
209 * Returns the CORS configuration for the bucket.
210 */
211 getBucketCors(callback?: (err: AWSError, data: S3.Types.GetBucketCorsOutput) => void): Request<S3.Types.GetBucketCorsOutput, AWSError>;
212 /**
213 * Returns the server-side encryption configuration of a bucket.
214 */
215 getBucketEncryption(params: S3.Types.GetBucketEncryptionRequest, callback?: (err: AWSError, data: S3.Types.GetBucketEncryptionOutput) => void): Request<S3.Types.GetBucketEncryptionOutput, AWSError>;
216 /**
217 * Returns the server-side encryption configuration of a bucket.
218 */
219 getBucketEncryption(callback?: (err: AWSError, data: S3.Types.GetBucketEncryptionOutput) => void): Request<S3.Types.GetBucketEncryptionOutput, AWSError>;
220 /**
221 * Returns an inventory configuration (identified by the inventory ID) from the bucket.
222 */
223 getBucketInventoryConfiguration(params: S3.Types.GetBucketInventoryConfigurationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketInventoryConfigurationOutput) => void): Request<S3.Types.GetBucketInventoryConfigurationOutput, AWSError>;
224 /**
225 * Returns an inventory configuration (identified by the inventory ID) from the bucket.
226 */
227 getBucketInventoryConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketInventoryConfigurationOutput) => void): Request<S3.Types.GetBucketInventoryConfigurationOutput, AWSError>;
228 /**
229 * No longer used, see the GetBucketLifecycleConfiguration operation.
230 */
231 getBucketLifecycle(params: S3.Types.GetBucketLifecycleRequest, callback?: (err: AWSError, data: S3.Types.GetBucketLifecycleOutput) => void): Request<S3.Types.GetBucketLifecycleOutput, AWSError>;
232 /**
233 * No longer used, see the GetBucketLifecycleConfiguration operation.
234 */
235 getBucketLifecycle(callback?: (err: AWSError, data: S3.Types.GetBucketLifecycleOutput) => void): Request<S3.Types.GetBucketLifecycleOutput, AWSError>;
236 /**
237 * Returns the lifecycle configuration information set on the bucket.
238 */
239 getBucketLifecycleConfiguration(params: S3.Types.GetBucketLifecycleConfigurationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketLifecycleConfigurationOutput) => void): Request<S3.Types.GetBucketLifecycleConfigurationOutput, AWSError>;
240 /**
241 * Returns the lifecycle configuration information set on the bucket.
242 */
243 getBucketLifecycleConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketLifecycleConfigurationOutput) => void): Request<S3.Types.GetBucketLifecycleConfigurationOutput, AWSError>;
244 /**
245 * Returns the region the bucket resides in.
246 */
247 getBucketLocation(params: S3.Types.GetBucketLocationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketLocationOutput) => void): Request<S3.Types.GetBucketLocationOutput, AWSError>;
248 /**
249 * Returns the region the bucket resides in.
250 */
251 getBucketLocation(callback?: (err: AWSError, data: S3.Types.GetBucketLocationOutput) => void): Request<S3.Types.GetBucketLocationOutput, AWSError>;
252 /**
253 * 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.
254 */
255 getBucketLogging(params: S3.Types.GetBucketLoggingRequest, callback?: (err: AWSError, data: S3.Types.GetBucketLoggingOutput) => void): Request<S3.Types.GetBucketLoggingOutput, AWSError>;
256 /**
257 * 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.
258 */
259 getBucketLogging(callback?: (err: AWSError, data: S3.Types.GetBucketLoggingOutput) => void): Request<S3.Types.GetBucketLoggingOutput, AWSError>;
260 /**
261 * Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.
262 */
263 getBucketMetricsConfiguration(params: S3.Types.GetBucketMetricsConfigurationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketMetricsConfigurationOutput) => void): Request<S3.Types.GetBucketMetricsConfigurationOutput, AWSError>;
264 /**
265 * Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.
266 */
267 getBucketMetricsConfiguration(callback?: (err: AWSError, data: S3.Types.GetBucketMetricsConfigurationOutput) => void): Request<S3.Types.GetBucketMetricsConfigurationOutput, AWSError>;
268 /**
269 * No longer used, see the GetBucketNotificationConfiguration operation.
270 */
271 getBucketNotification(params: S3.Types.GetBucketNotificationConfigurationRequest, callback?: (err: AWSError, data: S3.Types.NotificationConfigurationDeprecated) => void): Request<S3.Types.NotificationConfigurationDeprecated, AWSError>;
272 /**
273 * No longer used, see the GetBucketNotificationConfiguration operation.
274 */
275 getBucketNotification(callback?: (err: AWSError, data: S3.Types.NotificationConfigurationDeprecated) => void): Request<S3.Types.NotificationConfigurationDeprecated, AWSError>;
276 /**
277 * Returns the notification configuration of a bucket.
278 */
279 getBucketNotificationConfiguration(params: S3.Types.GetBucketNotificationConfigurationRequest, callback?: (err: AWSError, data: S3.Types.NotificationConfiguration) => void): Request<S3.Types.NotificationConfiguration, AWSError>;
280 /**
281 * Returns the notification configuration of a bucket.
282 */
283 getBucketNotificationConfiguration(callback?: (err: AWSError, data: S3.Types.NotificationConfiguration) => void): Request<S3.Types.NotificationConfiguration, AWSError>;
284 /**
285 * Returns the policy of a specified bucket.
286 */
287 getBucketPolicy(params: S3.Types.GetBucketPolicyRequest, callback?: (err: AWSError, data: S3.Types.GetBucketPolicyOutput) => void): Request<S3.Types.GetBucketPolicyOutput, AWSError>;
288 /**
289 * Returns the policy of a specified bucket.
290 */
291 getBucketPolicy(callback?: (err: AWSError, data: S3.Types.GetBucketPolicyOutput) => void): Request<S3.Types.GetBucketPolicyOutput, AWSError>;
292 /**
293 * Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public.
294 */
295 getBucketPolicyStatus(params: S3.Types.GetBucketPolicyStatusRequest, callback?: (err: AWSError, data: S3.Types.GetBucketPolicyStatusOutput) => void): Request<S3.Types.GetBucketPolicyStatusOutput, AWSError>;
296 /**
297 * Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public.
298 */
299 getBucketPolicyStatus(callback?: (err: AWSError, data: S3.Types.GetBucketPolicyStatusOutput) => void): Request<S3.Types.GetBucketPolicyStatusOutput, AWSError>;
300 /**
301 * Returns the replication configuration of a bucket. 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.
302 */
303 getBucketReplication(params: S3.Types.GetBucketReplicationRequest, callback?: (err: AWSError, data: S3.Types.GetBucketReplicationOutput) => void): Request<S3.Types.GetBucketReplicationOutput, AWSError>;
304 /**
305 * Returns the replication configuration of a bucket. 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.
306 */
307 getBucketReplication(callback?: (err: AWSError, data: S3.Types.GetBucketReplicationOutput) => void): Request<S3.Types.GetBucketReplicationOutput, AWSError>;
308 /**
309 * Returns the request payment configuration of a bucket.
310 */
311 getBucketRequestPayment(params: S3.Types.GetBucketRequestPaymentRequest, callback?: (err: AWSError, data: S3.Types.GetBucketRequestPaymentOutput) => void): Request<S3.Types.GetBucketRequestPaymentOutput, AWSError>;
312 /**
313 * Returns the request payment configuration of a bucket.
314 */
315 getBucketRequestPayment(callback?: (err: AWSError, data: S3.Types.GetBucketRequestPaymentOutput) => void): Request<S3.Types.GetBucketRequestPaymentOutput, AWSError>;
316 /**
317 * Returns the tag set associated with the bucket.
318 */
319 getBucketTagging(params: S3.Types.GetBucketTaggingRequest, callback?: (err: AWSError, data: S3.Types.GetBucketTaggingOutput) => void): Request<S3.Types.GetBucketTaggingOutput, AWSError>;
320 /**
321 * Returns the tag set associated with the bucket.
322 */
323 getBucketTagging(callback?: (err: AWSError, data: S3.Types.GetBucketTaggingOutput) => void): Request<S3.Types.GetBucketTaggingOutput, AWSError>;
324 /**
325 * Returns the versioning state of a bucket.
326 */
327 getBucketVersioning(params: S3.Types.GetBucketVersioningRequest, callback?: (err: AWSError, data: S3.Types.GetBucketVersioningOutput) => void): Request<S3.Types.GetBucketVersioningOutput, AWSError>;
328 /**
329 * Returns the versioning state of a bucket.
330 */
331 getBucketVersioning(callback?: (err: AWSError, data: S3.Types.GetBucketVersioningOutput) => void): Request<S3.Types.GetBucketVersioningOutput, AWSError>;
332 /**
333 * Returns the website configuration for a bucket.
334 */
335 getBucketWebsite(params: S3.Types.GetBucketWebsiteRequest, callback?: (err: AWSError, data: S3.Types.GetBucketWebsiteOutput) => void): Request<S3.Types.GetBucketWebsiteOutput, AWSError>;
336 /**
337 * Returns the website configuration for a bucket.
338 */
339 getBucketWebsite(callback?: (err: AWSError, data: S3.Types.GetBucketWebsiteOutput) => void): Request<S3.Types.GetBucketWebsiteOutput, AWSError>;
340 /**
341 * Retrieves objects from Amazon S3.
342 */
343 getObject(params: S3.Types.GetObjectRequest, callback?: (err: AWSError, data: S3.Types.GetObjectOutput) => void): Request<S3.Types.GetObjectOutput, AWSError>;
344 /**
345 * Retrieves objects from Amazon S3.
346 */
347 getObject(callback?: (err: AWSError, data: S3.Types.GetObjectOutput) => void): Request<S3.Types.GetObjectOutput, AWSError>;
348 /**
349 * Returns the access control list (ACL) of an object.
350 */
351 getObjectAcl(params: S3.Types.GetObjectAclRequest, callback?: (err: AWSError, data: S3.Types.GetObjectAclOutput) => void): Request<S3.Types.GetObjectAclOutput, AWSError>;
352 /**
353 * Returns the access control list (ACL) of an object.
354 */
355 getObjectAcl(callback?: (err: AWSError, data: S3.Types.GetObjectAclOutput) => void): Request<S3.Types.GetObjectAclOutput, AWSError>;
356 /**
357 * Gets an object's current Legal Hold status.
358 */
359 getObjectLegalHold(params: S3.Types.GetObjectLegalHoldRequest, callback?: (err: AWSError, data: S3.Types.GetObjectLegalHoldOutput) => void): Request<S3.Types.GetObjectLegalHoldOutput, AWSError>;
360 /**
361 * Gets an object's current Legal Hold status.
362 */
363 getObjectLegalHold(callback?: (err: AWSError, data: S3.Types.GetObjectLegalHoldOutput) => void): Request<S3.Types.GetObjectLegalHoldOutput, AWSError>;
364 /**
365 * 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.
366 */
367 getObjectLockConfiguration(params: S3.Types.GetObjectLockConfigurationRequest, callback?: (err: AWSError, data: S3.Types.GetObjectLockConfigurationOutput) => void): Request<S3.Types.GetObjectLockConfigurationOutput, AWSError>;
368 /**
369 * 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.
370 */
371 getObjectLockConfiguration(callback?: (err: AWSError, data: S3.Types.GetObjectLockConfigurationOutput) => void): Request<S3.Types.GetObjectLockConfigurationOutput, AWSError>;
372 /**
373 * Retrieves an object's retention settings.
374 */
375 getObjectRetention(params: S3.Types.GetObjectRetentionRequest, callback?: (err: AWSError, data: S3.Types.GetObjectRetentionOutput) => void): Request<S3.Types.GetObjectRetentionOutput, AWSError>;
376 /**
377 * Retrieves an object's retention settings.
378 */
379 getObjectRetention(callback?: (err: AWSError, data: S3.Types.GetObjectRetentionOutput) => void): Request<S3.Types.GetObjectRetentionOutput, AWSError>;
380 /**
381 * Returns the tag-set of an object.
382 */
383 getObjectTagging(params: S3.Types.GetObjectTaggingRequest, callback?: (err: AWSError, data: S3.Types.GetObjectTaggingOutput) => void): Request<S3.Types.GetObjectTaggingOutput, AWSError>;
384 /**
385 * Returns the tag-set of an object.
386 */
387 getObjectTagging(callback?: (err: AWSError, data: S3.Types.GetObjectTaggingOutput) => void): Request<S3.Types.GetObjectTaggingOutput, AWSError>;
388 /**
389 * Return torrent files from a bucket.
390 */
391 getObjectTorrent(params: S3.Types.GetObjectTorrentRequest, callback?: (err: AWSError, data: S3.Types.GetObjectTorrentOutput) => void): Request<S3.Types.GetObjectTorrentOutput, AWSError>;
392 /**
393 * Return torrent files from a bucket.
394 */
395 getObjectTorrent(callback?: (err: AWSError, data: S3.Types.GetObjectTorrentOutput) => void): Request<S3.Types.GetObjectTorrentOutput, AWSError>;
396 /**
397 * Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
398 */
399 getPublicAccessBlock(params: S3.Types.GetPublicAccessBlockRequest, callback?: (err: AWSError, data: S3.Types.GetPublicAccessBlockOutput) => void): Request<S3.Types.GetPublicAccessBlockOutput, AWSError>;
400 /**
401 * Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
402 */
403 getPublicAccessBlock(callback?: (err: AWSError, data: S3.Types.GetPublicAccessBlockOutput) => void): Request<S3.Types.GetPublicAccessBlockOutput, AWSError>;
404 /**
405 * This operation is useful to determine if a bucket exists and you have permission to access it.
406 */
407 headBucket(params: S3.Types.HeadBucketRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
408 /**
409 * This operation is useful to determine if a bucket exists and you have permission to access it.
410 */
411 headBucket(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
412 /**
413 * 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.
414 */
415 headObject(params: S3.Types.HeadObjectRequest, callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request<S3.Types.HeadObjectOutput, AWSError>;
416 /**
417 * 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.
418 */
419 headObject(callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request<S3.Types.HeadObjectOutput, AWSError>;
420 /**
421 * Lists the analytics configurations for the bucket.
422 */
423 listBucketAnalyticsConfigurations(params: S3.Types.ListBucketAnalyticsConfigurationsRequest, callback?: (err: AWSError, data: S3.Types.ListBucketAnalyticsConfigurationsOutput) => void): Request<S3.Types.ListBucketAnalyticsConfigurationsOutput, AWSError>;
424 /**
425 * Lists the analytics configurations for the bucket.
426 */
427 listBucketAnalyticsConfigurations(callback?: (err: AWSError, data: S3.Types.ListBucketAnalyticsConfigurationsOutput) => void): Request<S3.Types.ListBucketAnalyticsConfigurationsOutput, AWSError>;
428 /**
429 * Returns a list of inventory configurations for the bucket.
430 */
431 listBucketInventoryConfigurations(params: S3.Types.ListBucketInventoryConfigurationsRequest, callback?: (err: AWSError, data: S3.Types.ListBucketInventoryConfigurationsOutput) => void): Request<S3.Types.ListBucketInventoryConfigurationsOutput, AWSError>;
432 /**
433 * Returns a list of inventory configurations for the bucket.
434 */
435 listBucketInventoryConfigurations(callback?: (err: AWSError, data: S3.Types.ListBucketInventoryConfigurationsOutput) => void): Request<S3.Types.ListBucketInventoryConfigurationsOutput, AWSError>;
436 /**
437 * Lists the metrics configurations for the bucket.
438 */
439 listBucketMetricsConfigurations(params: S3.Types.ListBucketMetricsConfigurationsRequest, callback?: (err: AWSError, data: S3.Types.ListBucketMetricsConfigurationsOutput) => void): Request<S3.Types.ListBucketMetricsConfigurationsOutput, AWSError>;
440 /**
441 * Lists the metrics configurations for the bucket.
442 */
443 listBucketMetricsConfigurations(callback?: (err: AWSError, data: S3.Types.ListBucketMetricsConfigurationsOutput) => void): Request<S3.Types.ListBucketMetricsConfigurationsOutput, AWSError>;
444 /**
445 * Returns a list of all buckets owned by the authenticated sender of the request.
446 */
447 listBuckets(callback?: (err: AWSError, data: S3.Types.ListBucketsOutput) => void): Request<S3.Types.ListBucketsOutput, AWSError>;
448 /**
449 * This operation lists in-progress multipart uploads.
450 */
451 listMultipartUploads(params: S3.Types.ListMultipartUploadsRequest, callback?: (err: AWSError, data: S3.Types.ListMultipartUploadsOutput) => void): Request<S3.Types.ListMultipartUploadsOutput, AWSError>;
452 /**
453 * This operation lists in-progress multipart uploads.
454 */
455 listMultipartUploads(callback?: (err: AWSError, data: S3.Types.ListMultipartUploadsOutput) => void): Request<S3.Types.ListMultipartUploadsOutput, AWSError>;
456 /**
457 * Returns metadata about all of the versions of objects in a bucket.
458 */
459 listObjectVersions(params: S3.Types.ListObjectVersionsRequest, callback?: (err: AWSError, data: S3.Types.ListObjectVersionsOutput) => void): Request<S3.Types.ListObjectVersionsOutput, AWSError>;
460 /**
461 * Returns metadata about all of the versions of objects in a bucket.
462 */
463 listObjectVersions(callback?: (err: AWSError, data: S3.Types.ListObjectVersionsOutput) => void): Request<S3.Types.ListObjectVersionsOutput, AWSError>;
464 /**
465 * Returns some or all (up to 1000) 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.
466 */
467 listObjects(params: S3.Types.ListObjectsRequest, callback?: (err: AWSError, data: S3.Types.ListObjectsOutput) => void): Request<S3.Types.ListObjectsOutput, AWSError>;
468 /**
469 * Returns some or all (up to 1000) 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.
470 */
471 listObjects(callback?: (err: AWSError, data: S3.Types.ListObjectsOutput) => void): Request<S3.Types.ListObjectsOutput, AWSError>;
472 /**
473 * Returns some or all (up to 1000) 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. Note: ListObjectsV2 is the revised List Objects API and we recommend you use this revised API for new application development.
474 */
475 listObjectsV2(params: S3.Types.ListObjectsV2Request, callback?: (err: AWSError, data: S3.Types.ListObjectsV2Output) => void): Request<S3.Types.ListObjectsV2Output, AWSError>;
476 /**
477 * Returns some or all (up to 1000) 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. Note: ListObjectsV2 is the revised List Objects API and we recommend you use this revised API for new application development.
478 */
479 listObjectsV2(callback?: (err: AWSError, data: S3.Types.ListObjectsV2Output) => void): Request<S3.Types.ListObjectsV2Output, AWSError>;
480 /**
481 * Lists the parts that have been uploaded for a specific multipart upload.
482 */
483 listParts(params: S3.Types.ListPartsRequest, callback?: (err: AWSError, data: S3.Types.ListPartsOutput) => void): Request<S3.Types.ListPartsOutput, AWSError>;
484 /**
485 * Lists the parts that have been uploaded for a specific multipart upload.
486 */
487 listParts(callback?: (err: AWSError, data: S3.Types.ListPartsOutput) => void): Request<S3.Types.ListPartsOutput, AWSError>;
488 /**
489 * Sets the accelerate configuration of an existing bucket.
490 */
491 putBucketAccelerateConfiguration(params: S3.Types.PutBucketAccelerateConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
492 /**
493 * Sets the accelerate configuration of an existing bucket.
494 */
495 putBucketAccelerateConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
496 /**
497 * Sets the permissions on a bucket using access control lists (ACL).
498 */
499 putBucketAcl(params: S3.Types.PutBucketAclRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
500 /**
501 * Sets the permissions on a bucket using access control lists (ACL).
502 */
503 putBucketAcl(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
504 /**
505 * Sets an analytics configuration for the bucket (specified by the analytics configuration ID).
506 */
507 putBucketAnalyticsConfiguration(params: S3.Types.PutBucketAnalyticsConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
508 /**
509 * Sets an analytics configuration for the bucket (specified by the analytics configuration ID).
510 */
511 putBucketAnalyticsConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
512 /**
513 * Sets the CORS configuration for a bucket.
514 */
515 putBucketCors(params: S3.Types.PutBucketCorsRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
516 /**
517 * Sets the CORS configuration for a bucket.
518 */
519 putBucketCors(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
520 /**
521 * Creates a new server-side encryption configuration (or replaces an existing one, if present).
522 */
523 putBucketEncryption(params: S3.Types.PutBucketEncryptionRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
524 /**
525 * Creates a new server-side encryption configuration (or replaces an existing one, if present).
526 */
527 putBucketEncryption(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
528 /**
529 * Adds an inventory configuration (identified by the inventory ID) from the bucket.
530 */
531 putBucketInventoryConfiguration(params: S3.Types.PutBucketInventoryConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
532 /**
533 * Adds an inventory configuration (identified by the inventory ID) from the bucket.
534 */
535 putBucketInventoryConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
536 /**
537 * No longer used, see the PutBucketLifecycleConfiguration operation.
538 */
539 putBucketLifecycle(params: S3.Types.PutBucketLifecycleRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
540 /**
541 * No longer used, see the PutBucketLifecycleConfiguration operation.
542 */
543 putBucketLifecycle(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
544 /**
545 * Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.
546 */
547 putBucketLifecycleConfiguration(params: S3.Types.PutBucketLifecycleConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
548 /**
549 * Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.
550 */
551 putBucketLifecycleConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
552 /**
553 * Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner.
554 */
555 putBucketLogging(params: S3.Types.PutBucketLoggingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
556 /**
557 * Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner.
558 */
559 putBucketLogging(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
560 /**
561 * Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
562 */
563 putBucketMetricsConfiguration(params: S3.Types.PutBucketMetricsConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
564 /**
565 * Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
566 */
567 putBucketMetricsConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
568 /**
569 * No longer used, see the PutBucketNotificationConfiguration operation.
570 */
571 putBucketNotification(params: S3.Types.PutBucketNotificationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
572 /**
573 * No longer used, see the PutBucketNotificationConfiguration operation.
574 */
575 putBucketNotification(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
576 /**
577 * Enables notifications of specified events for a bucket.
578 */
579 putBucketNotificationConfiguration(params: S3.Types.PutBucketNotificationConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
580 /**
581 * Enables notifications of specified events for a bucket.
582 */
583 putBucketNotificationConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
584 /**
585 * Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.
586 */
587 putBucketPolicy(params: S3.Types.PutBucketPolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
588 /**
589 * Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.
590 */
591 putBucketPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
592 /**
593 * Creates a replication configuration or replaces an existing one. For more information, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.
594 */
595 putBucketReplication(params: S3.Types.PutBucketReplicationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
596 /**
597 * Creates a replication configuration or replaces an existing one. For more information, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.
598 */
599 putBucketReplication(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
600 /**
601 * 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. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
602 */
603 putBucketRequestPayment(params: S3.Types.PutBucketRequestPaymentRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
604 /**
605 * 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. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
606 */
607 putBucketRequestPayment(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
608 /**
609 * Sets the tags for a bucket.
610 */
611 putBucketTagging(params: S3.Types.PutBucketTaggingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
612 /**
613 * Sets the tags for a bucket.
614 */
615 putBucketTagging(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
616 /**
617 * Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.
618 */
619 putBucketVersioning(params: S3.Types.PutBucketVersioningRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
620 /**
621 * Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.
622 */
623 putBucketVersioning(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
624 /**
625 * Set the website configuration for a bucket.
626 */
627 putBucketWebsite(params: S3.Types.PutBucketWebsiteRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
628 /**
629 * Set the website configuration for a bucket.
630 */
631 putBucketWebsite(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
632 /**
633 * Adds an object to a bucket.
634 */
635 putObject(params: S3.Types.PutObjectRequest, callback?: (err: AWSError, data: S3.Types.PutObjectOutput) => void): Request<S3.Types.PutObjectOutput, AWSError>;
636 /**
637 * Adds an object to a bucket.
638 */
639 putObject(callback?: (err: AWSError, data: S3.Types.PutObjectOutput) => void): Request<S3.Types.PutObjectOutput, AWSError>;
640 /**
641 * uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket
642 */
643 putObjectAcl(params: S3.Types.PutObjectAclRequest, callback?: (err: AWSError, data: S3.Types.PutObjectAclOutput) => void): Request<S3.Types.PutObjectAclOutput, AWSError>;
644 /**
645 * uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket
646 */
647 putObjectAcl(callback?: (err: AWSError, data: S3.Types.PutObjectAclOutput) => void): Request<S3.Types.PutObjectAclOutput, AWSError>;
648 /**
649 * Applies a Legal Hold configuration to the specified object.
650 */
651 putObjectLegalHold(params: S3.Types.PutObjectLegalHoldRequest, callback?: (err: AWSError, data: S3.Types.PutObjectLegalHoldOutput) => void): Request<S3.Types.PutObjectLegalHoldOutput, AWSError>;
652 /**
653 * Applies a Legal Hold configuration to the specified object.
654 */
655 putObjectLegalHold(callback?: (err: AWSError, data: S3.Types.PutObjectLegalHoldOutput) => void): Request<S3.Types.PutObjectLegalHoldOutput, AWSError>;
656 /**
657 * 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.
658 */
659 putObjectLockConfiguration(params: S3.Types.PutObjectLockConfigurationRequest, callback?: (err: AWSError, data: S3.Types.PutObjectLockConfigurationOutput) => void): Request<S3.Types.PutObjectLockConfigurationOutput, AWSError>;
660 /**
661 * 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.
662 */
663 putObjectLockConfiguration(callback?: (err: AWSError, data: S3.Types.PutObjectLockConfigurationOutput) => void): Request<S3.Types.PutObjectLockConfigurationOutput, AWSError>;
664 /**
665 * Places an Object Retention configuration on an object.
666 */
667 putObjectRetention(params: S3.Types.PutObjectRetentionRequest, callback?: (err: AWSError, data: S3.Types.PutObjectRetentionOutput) => void): Request<S3.Types.PutObjectRetentionOutput, AWSError>;
668 /**
669 * Places an Object Retention configuration on an object.
670 */
671 putObjectRetention(callback?: (err: AWSError, data: S3.Types.PutObjectRetentionOutput) => void): Request<S3.Types.PutObjectRetentionOutput, AWSError>;
672 /**
673 * Sets the supplied tag-set to an object that already exists in a bucket
674 */
675 putObjectTagging(params: S3.Types.PutObjectTaggingRequest, callback?: (err: AWSError, data: S3.Types.PutObjectTaggingOutput) => void): Request<S3.Types.PutObjectTaggingOutput, AWSError>;
676 /**
677 * Sets the supplied tag-set to an object that already exists in a bucket
678 */
679 putObjectTagging(callback?: (err: AWSError, data: S3.Types.PutObjectTaggingOutput) => void): Request<S3.Types.PutObjectTaggingOutput, AWSError>;
680 /**
681 * Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket.
682 */
683 putPublicAccessBlock(params: S3.Types.PutPublicAccessBlockRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
684 /**
685 * Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket.
686 */
687 putPublicAccessBlock(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
688 /**
689 * Restores an archived copy of an object back into Amazon S3
690 */
691 restoreObject(params: S3.Types.RestoreObjectRequest, callback?: (err: AWSError, data: S3.Types.RestoreObjectOutput) => void): Request<S3.Types.RestoreObjectOutput, AWSError>;
692 /**
693 * Restores an archived copy of an object back into Amazon S3
694 */
695 restoreObject(callback?: (err: AWSError, data: S3.Types.RestoreObjectOutput) => void): Request<S3.Types.RestoreObjectOutput, AWSError>;
696 /**
697 * 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 or CSV) of the object. Amazon S3 uses this 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.
698 */
699 selectObjectContent(params: S3.Types.SelectObjectContentRequest, callback?: (err: AWSError, data: S3.Types.SelectObjectContentOutput) => void): Request<S3.Types.SelectObjectContentOutput, AWSError>;
700 /**
701 * 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 or CSV) of the object. Amazon S3 uses this 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.
702 */
703 selectObjectContent(callback?: (err: AWSError, data: S3.Types.SelectObjectContentOutput) => void): Request<S3.Types.SelectObjectContentOutput, AWSError>;
704 /**
705 * Uploads a part in a multipart upload. Note: 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.
706 */
707 uploadPart(params: S3.Types.UploadPartRequest, callback?: (err: AWSError, data: S3.Types.UploadPartOutput) => void): Request<S3.Types.UploadPartOutput, AWSError>;
708 /**
709 * Uploads a part in a multipart upload. Note: 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.
710 */
711 uploadPart(callback?: (err: AWSError, data: S3.Types.UploadPartOutput) => void): Request<S3.Types.UploadPartOutput, AWSError>;
712 /**
713 * Uploads a part by copying data from an existing object as data source.
714 */
715 uploadPartCopy(params: S3.Types.UploadPartCopyRequest, callback?: (err: AWSError, data: S3.Types.UploadPartCopyOutput) => void): Request<S3.Types.UploadPartCopyOutput, AWSError>;
716 /**
717 * Uploads a part by copying data from an existing object as data source.
718 */
719 uploadPartCopy(callback?: (err: AWSError, data: S3.Types.UploadPartCopyOutput) => void): Request<S3.Types.UploadPartCopyOutput, AWSError>;
720 /**
721 * Waits for the bucketExists state by periodically calling the underlying S3.headBucketoperation every 5 seconds (at most 20 times).
722 */
723 waitFor(state: "bucketExists", params: S3.Types.HeadBucketRequest & {$waiter?: WaiterConfiguration}, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
724 /**
725 * Waits for the bucketExists state by periodically calling the underlying S3.headBucketoperation every 5 seconds (at most 20 times).
726 */
727 waitFor(state: "bucketExists", callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
728 /**
729 * Waits for the bucketNotExists state by periodically calling the underlying S3.headBucketoperation every 5 seconds (at most 20 times).
730 */
731 waitFor(state: "bucketNotExists", params: S3.Types.HeadBucketRequest & {$waiter?: WaiterConfiguration}, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
732 /**
733 * Waits for the bucketNotExists state by periodically calling the underlying S3.headBucketoperation every 5 seconds (at most 20 times).
734 */
735 waitFor(state: "bucketNotExists", callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
736 /**
737 * Waits for the objectExists state by periodically calling the underlying S3.headObjectoperation every 5 seconds (at most 20 times).
738 */
739 waitFor(state: "objectExists", params: S3.Types.HeadObjectRequest & {$waiter?: WaiterConfiguration}, callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request<S3.Types.HeadObjectOutput, AWSError>;
740 /**
741 * Waits for the objectExists state by periodically calling the underlying S3.headObjectoperation every 5 seconds (at most 20 times).
742 */
743 waitFor(state: "objectExists", callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request<S3.Types.HeadObjectOutput, AWSError>;
744 /**
745 * Waits for the objectNotExists state by periodically calling the underlying S3.headObjectoperation every 5 seconds (at most 20 times).
746 */
747 waitFor(state: "objectNotExists", params: S3.Types.HeadObjectRequest & {$waiter?: WaiterConfiguration}, callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request<S3.Types.HeadObjectOutput, AWSError>;
748 /**
749 * Waits for the objectNotExists state by periodically calling the underlying S3.headObjectoperation every 5 seconds (at most 20 times).
750 */
751 waitFor(state: "objectNotExists", callback?: (err: AWSError, data: S3.Types.HeadObjectOutput) => void): Request<S3.Types.HeadObjectOutput, AWSError>;
752}
753declare namespace S3 {
754 export import ManagedUpload = managed_upload;
755 export import PresignedPost = presigned_post;
756}
757declare namespace S3 {
758 export type AbortDate = Date;
759 export interface AbortIncompleteMultipartUpload {
760 /**
761 * Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.
762 */
763 DaysAfterInitiation?: DaysAfterInitiation;
764 }
765 export interface AbortMultipartUploadOutput {
766 RequestCharged?: RequestCharged;
767 }
768 export interface AbortMultipartUploadRequest {
769 /**
770 *
771 */
772 Bucket: BucketName;
773 /**
774 *
775 */
776 Key: ObjectKey;
777 /**
778 *
779 */
780 UploadId: MultipartUploadId;
781 RequestPayer?: RequestPayer;
782 }
783 export type AbortRuleId = string;
784 export interface AccelerateConfiguration {
785 /**
786 * The accelerate configuration of the bucket.
787 */
788 Status?: BucketAccelerateStatus;
789 }
790 export type AcceptRanges = string;
791 export interface AccessControlPolicy {
792 /**
793 * A list of grants.
794 */
795 Grants?: Grants;
796 /**
797 *
798 */
799 Owner?: Owner;
800 }
801 export interface AccessControlTranslation {
802 /**
803 * The override value for the owner of the replica object.
804 */
805 Owner: OwnerOverride;
806 }
807 export type AccountId = string;
808 export type AllowQuotedRecordDelimiter = boolean;
809 export type AllowedHeader = string;
810 export type AllowedHeaders = AllowedHeader[];
811 export type AllowedMethod = string;
812 export type AllowedMethods = AllowedMethod[];
813 export type AllowedOrigin = string;
814 export type AllowedOrigins = AllowedOrigin[];
815 export interface AnalyticsAndOperator {
816 /**
817 * The prefix to use when evaluating an AND predicate.
818 */
819 Prefix?: Prefix;
820 /**
821 * The list of tags to use when evaluating an AND predicate.
822 */
823 Tags?: TagSet;
824 }
825 export interface AnalyticsConfiguration {
826 /**
827 * The identifier used to represent an analytics configuration.
828 */
829 Id: AnalyticsId;
830 /**
831 * 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.
832 */
833 Filter?: AnalyticsFilter;
834 /**
835 * If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.
836 */
837 StorageClassAnalysis: StorageClassAnalysis;
838 }
839 export type AnalyticsConfigurationList = AnalyticsConfiguration[];
840 export interface AnalyticsExportDestination {
841 /**
842 * A destination signifying output to an S3 bucket.
843 */
844 S3BucketDestination: AnalyticsS3BucketDestination;
845 }
846 export interface AnalyticsFilter {
847 /**
848 * The prefix to use when evaluating an analytics filter.
849 */
850 Prefix?: Prefix;
851 /**
852 * The tag to use when evaluating an analytics filter.
853 */
854 Tag?: Tag;
855 /**
856 * A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.
857 */
858 And?: AnalyticsAndOperator;
859 }
860 export type AnalyticsId = string;
861 export interface AnalyticsS3BucketDestination {
862 /**
863 * The file format used when exporting data to Amazon S3.
864 */
865 Format: AnalyticsS3ExportFileFormat;
866 /**
867 * The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.
868 */
869 BucketAccountId?: AccountId;
870 /**
871 * The Amazon resource name (ARN) of the bucket to which data is exported.
872 */
873 Bucket: BucketName;
874 /**
875 * The prefix to use when exporting data. The exported data begins with this prefix.
876 */
877 Prefix?: Prefix;
878 }
879 export type AnalyticsS3ExportFileFormat = "CSV"|string;
880 export type Body = Buffer|Uint8Array|Blob|string|Readable;
881 export interface Bucket {
882 /**
883 * The name of the bucket.
884 */
885 Name?: BucketName;
886 /**
887 * Date the bucket was created.
888 */
889 CreationDate?: CreationDate;
890 }
891 export type BucketAccelerateStatus = "Enabled"|"Suspended"|string;
892 export type BucketCannedACL = "private"|"public-read"|"public-read-write"|"authenticated-read"|string;
893 export interface BucketLifecycleConfiguration {
894 /**
895 *
896 */
897 Rules: LifecycleRules;
898 }
899 export type BucketLocationConstraint = "EU"|"eu-west-1"|"us-west-1"|"us-west-2"|"ap-south-1"|"ap-southeast-1"|"ap-southeast-2"|"ap-northeast-1"|"sa-east-1"|"cn-north-1"|"eu-central-1"|string;
900 export interface BucketLoggingStatus {
901 LoggingEnabled?: LoggingEnabled;
902 }
903 export type BucketLogsPermission = "FULL_CONTROL"|"READ"|"WRITE"|string;
904 export type BucketName = string;
905 export type BucketVersioningStatus = "Enabled"|"Suspended"|string;
906 export type Buckets = Bucket[];
907 export type BypassGovernanceRetention = boolean;
908 export type BytesProcessed = number;
909 export type BytesReturned = number;
910 export type BytesScanned = number;
911 export interface CORSConfiguration {
912 /**
913 *
914 */
915 CORSRules: CORSRules;
916 }
917 export interface CORSRule {
918 /**
919 * Specifies which headers are allowed in a pre-flight OPTIONS request.
920 */
921 AllowedHeaders?: AllowedHeaders;
922 /**
923 * Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.
924 */
925 AllowedMethods: AllowedMethods;
926 /**
927 * One or more origins you want customers to be able to access the bucket from.
928 */
929 AllowedOrigins: AllowedOrigins;
930 /**
931 * One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).
932 */
933 ExposeHeaders?: ExposeHeaders;
934 /**
935 * The time in seconds that your browser is to cache the preflight response for the specified resource.
936 */
937 MaxAgeSeconds?: MaxAgeSeconds;
938 }
939 export type CORSRules = CORSRule[];
940 export interface CSVInput {
941 /**
942 * Describes the first line of input. Valid values: None, Ignore, Use.
943 */
944 FileHeaderInfo?: FileHeaderInfo;
945 /**
946 * The single character used to indicate a row should be ignored when present at the start of a row.
947 */
948 Comments?: Comments;
949 /**
950 * The single character used for escaping the quote character inside an already escaped value.
951 */
952 QuoteEscapeCharacter?: QuoteEscapeCharacter;
953 /**
954 * The value used to separate individual records.
955 */
956 RecordDelimiter?: RecordDelimiter;
957 /**
958 * The value used to separate individual fields in a record.
959 */
960 FieldDelimiter?: FieldDelimiter;
961 /**
962 * Value used for escaping where the field delimiter is part of the value.
963 */
964 QuoteCharacter?: QuoteCharacter;
965 /**
966 * 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.
967 */
968 AllowQuotedRecordDelimiter?: AllowQuotedRecordDelimiter;
969 }
970 export interface CSVOutput {
971 /**
972 * Indicates whether or not all output fields should be quoted.
973 */
974 QuoteFields?: QuoteFields;
975 /**
976 * Th single character used for escaping the quote character inside an already escaped value.
977 */
978 QuoteEscapeCharacter?: QuoteEscapeCharacter;
979 /**
980 * The value used to separate individual records.
981 */
982 RecordDelimiter?: RecordDelimiter;
983 /**
984 * The value used to separate individual fields in a record.
985 */
986 FieldDelimiter?: FieldDelimiter;
987 /**
988 * The value used for escaping where the field delimiter is part of the value.
989 */
990 QuoteCharacter?: QuoteCharacter;
991 }
992 export type CacheControl = string;
993 export type CloudFunction = string;
994 export interface CloudFunctionConfiguration {
995 Id?: NotificationId;
996 Event?: Event;
997 /**
998 *
999 */
1000 Events?: EventList;
1001 /**
1002 *
1003 */
1004 CloudFunction?: CloudFunction;
1005 /**
1006 *
1007 */
1008 InvocationRole?: CloudFunctionInvocationRole;
1009 }
1010 export type CloudFunctionInvocationRole = string;
1011 export type Code = string;
1012 export type Comments = string;
1013 export interface CommonPrefix {
1014 /**
1015 *
1016 */
1017 Prefix?: Prefix;
1018 }
1019 export type CommonPrefixList = CommonPrefix[];
1020 export interface CompleteMultipartUploadOutput {
1021 /**
1022 *
1023 */
1024 Location?: Location;
1025 /**
1026 *
1027 */
1028 Bucket?: BucketName;
1029 /**
1030 *
1031 */
1032 Key?: ObjectKey;
1033 /**
1034 * 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.
1035 */
1036 Expiration?: Expiration;
1037 /**
1038 * Entity tag of the object.
1039 */
1040 ETag?: ETag;
1041 /**
1042 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
1043 */
1044 ServerSideEncryption?: ServerSideEncryption;
1045 /**
1046 * Version of the object.
1047 */
1048 VersionId?: ObjectVersionId;
1049 /**
1050 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
1051 */
1052 SSEKMSKeyId?: SSEKMSKeyId;
1053 RequestCharged?: RequestCharged;
1054 }
1055 export interface CompleteMultipartUploadRequest {
1056 /**
1057 *
1058 */
1059 Bucket: BucketName;
1060 /**
1061 *
1062 */
1063 Key: ObjectKey;
1064 /**
1065 *
1066 */
1067 MultipartUpload?: CompletedMultipartUpload;
1068 /**
1069 *
1070 */
1071 UploadId: MultipartUploadId;
1072 RequestPayer?: RequestPayer;
1073 }
1074 export interface CompletedMultipartUpload {
1075 /**
1076 *
1077 */
1078 Parts?: CompletedPartList;
1079 }
1080 export interface CompletedPart {
1081 /**
1082 * Entity tag returned when the part was uploaded.
1083 */
1084 ETag?: ETag;
1085 /**
1086 * Part number that identifies the part. This is a positive integer between 1 and 10,000.
1087 */
1088 PartNumber?: PartNumber;
1089 }
1090 export type CompletedPartList = CompletedPart[];
1091 export type CompressionType = "NONE"|"GZIP"|"BZIP2"|string;
1092 export interface Condition {
1093 /**
1094 * 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 Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.
1095 */
1096 HttpErrorCodeReturnedEquals?: HttpErrorCodeReturnedEquals;
1097 /**
1098 * The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.
1099 */
1100 KeyPrefixEquals?: KeyPrefixEquals;
1101 }
1102 export type ConfirmRemoveSelfBucketAccess = boolean;
1103 export type ContentDisposition = string;
1104 export type ContentEncoding = string;
1105 export type ContentLanguage = string;
1106 export type ContentLength = number;
1107 export type ContentMD5 = string;
1108 export type ContentRange = string;
1109 export type ContentType = string;
1110 export interface ContinuationEvent {
1111 }
1112 export interface CopyObjectOutput {
1113 /**
1114 *
1115 */
1116 CopyObjectResult?: CopyObjectResult;
1117 /**
1118 * If the object expiration is configured, the response includes this header.
1119 */
1120 Expiration?: Expiration;
1121 /**
1122 *
1123 */
1124 CopySourceVersionId?: CopySourceVersionId;
1125 /**
1126 * Version ID of the newly created copy.
1127 */
1128 VersionId?: ObjectVersionId;
1129 /**
1130 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
1131 */
1132 ServerSideEncryption?: ServerSideEncryption;
1133 /**
1134 * If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.
1135 */
1136 SSECustomerAlgorithm?: SSECustomerAlgorithm;
1137 /**
1138 * 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.
1139 */
1140 SSECustomerKeyMD5?: SSECustomerKeyMD5;
1141 /**
1142 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
1143 */
1144 SSEKMSKeyId?: SSEKMSKeyId;
1145 RequestCharged?: RequestCharged;
1146 }
1147 export interface CopyObjectRequest {
1148 /**
1149 * The canned ACL to apply to the object.
1150 */
1151 ACL?: ObjectCannedACL;
1152 /**
1153 *
1154 */
1155 Bucket: BucketName;
1156 /**
1157 * Specifies caching behavior along the request/reply chain.
1158 */
1159 CacheControl?: CacheControl;
1160 /**
1161 * Specifies presentational information for the object.
1162 */
1163 ContentDisposition?: ContentDisposition;
1164 /**
1165 * 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.
1166 */
1167 ContentEncoding?: ContentEncoding;
1168 /**
1169 * The language the content is in.
1170 */
1171 ContentLanguage?: ContentLanguage;
1172 /**
1173 * A standard MIME type describing the format of the object data.
1174 */
1175 ContentType?: ContentType;
1176 /**
1177 * The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.
1178 */
1179 CopySource: CopySource;
1180 /**
1181 * Copies the object if its entity tag (ETag) matches the specified tag.
1182 */
1183 CopySourceIfMatch?: CopySourceIfMatch;
1184 /**
1185 * Copies the object if it has been modified since the specified time.
1186 */
1187 CopySourceIfModifiedSince?: CopySourceIfModifiedSince;
1188 /**
1189 * Copies the object if its entity tag (ETag) is different than the specified ETag.
1190 */
1191 CopySourceIfNoneMatch?: CopySourceIfNoneMatch;
1192 /**
1193 * Copies the object if it hasn't been modified since the specified time.
1194 */
1195 CopySourceIfUnmodifiedSince?: CopySourceIfUnmodifiedSince;
1196 /**
1197 * The date and time at which the object is no longer cacheable.
1198 */
1199 Expires?: Expires;
1200 /**
1201 * Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
1202 */
1203 GrantFullControl?: GrantFullControl;
1204 /**
1205 * Allows grantee to read the object data and its metadata.
1206 */
1207 GrantRead?: GrantRead;
1208 /**
1209 * Allows grantee to read the object ACL.
1210 */
1211 GrantReadACP?: GrantReadACP;
1212 /**
1213 * Allows grantee to write the ACL for the applicable object.
1214 */
1215 GrantWriteACP?: GrantWriteACP;
1216 /**
1217 *
1218 */
1219 Key: ObjectKey;
1220 /**
1221 * A map of metadata to store with the object in S3.
1222 */
1223 Metadata?: Metadata;
1224 /**
1225 * Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.
1226 */
1227 MetadataDirective?: MetadataDirective;
1228 /**
1229 * Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.
1230 */
1231 TaggingDirective?: TaggingDirective;
1232 /**
1233 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
1234 */
1235 ServerSideEncryption?: ServerSideEncryption;
1236 /**
1237 * The type of storage to use for the object. Defaults to 'STANDARD'.
1238 */
1239 StorageClass?: StorageClass;
1240 /**
1241 * 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.
1242 */
1243 WebsiteRedirectLocation?: WebsiteRedirectLocation;
1244 /**
1245 * Specifies the algorithm to use to when encrypting the object (e.g., AES256).
1246 */
1247 SSECustomerAlgorithm?: SSECustomerAlgorithm;
1248 /**
1249 * 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 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.
1250 */
1251 SSECustomerKey?: SSECustomerKey;
1252 /**
1253 * 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 the encryption key was transmitted without error.
1254 */
1255 SSECustomerKeyMD5?: SSECustomerKeyMD5;
1256 /**
1257 * 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. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
1258 */
1259 SSEKMSKeyId?: SSEKMSKeyId;
1260 /**
1261 * Specifies the algorithm to use when decrypting the source object (e.g., AES256).
1262 */
1263 CopySourceSSECustomerAlgorithm?: CopySourceSSECustomerAlgorithm;
1264 /**
1265 * 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.
1266 */
1267 CopySourceSSECustomerKey?: CopySourceSSECustomerKey;
1268 /**
1269 * 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 the encryption key was transmitted without error.
1270 */
1271 CopySourceSSECustomerKeyMD5?: CopySourceSSECustomerKeyMD5;
1272 RequestPayer?: RequestPayer;
1273 /**
1274 * The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters
1275 */
1276 Tagging?: TaggingHeader;
1277 /**
1278 * The Object Lock mode that you want to apply to the copied object.
1279 */
1280 ObjectLockMode?: ObjectLockMode;
1281 /**
1282 * The date and time when you want the copied object's Object Lock to expire.
1283 */
1284 ObjectLockRetainUntilDate?: ObjectLockRetainUntilDate;
1285 /**
1286 * Specifies whether you want to apply a Legal Hold to the copied object.
1287 */
1288 ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus;
1289 }
1290 export interface CopyObjectResult {
1291 /**
1292 *
1293 */
1294 ETag?: ETag;
1295 /**
1296 *
1297 */
1298 LastModified?: LastModified;
1299 }
1300 export interface CopyPartResult {
1301 /**
1302 * Entity tag of the object.
1303 */
1304 ETag?: ETag;
1305 /**
1306 * Date and time at which the object was uploaded.
1307 */
1308 LastModified?: LastModified;
1309 }
1310 export type CopySource = string;
1311 export type CopySourceIfMatch = string;
1312 export type CopySourceIfModifiedSince = Date;
1313 export type CopySourceIfNoneMatch = string;
1314 export type CopySourceIfUnmodifiedSince = Date;
1315 export type CopySourceRange = string;
1316 export type CopySourceSSECustomerAlgorithm = string;
1317 export type CopySourceSSECustomerKey = Buffer|Uint8Array|Blob|string;
1318 export type CopySourceSSECustomerKeyMD5 = string;
1319 export type CopySourceVersionId = string;
1320 export interface CreateBucketConfiguration {
1321 /**
1322 * Specifies the region where the bucket will be created. If you don't specify a region, the bucket is created in US East (N. Virginia) Region (us-east-1).
1323 */
1324 LocationConstraint?: BucketLocationConstraint;
1325 }
1326 export interface CreateBucketOutput {
1327 /**
1328 *
1329 */
1330 Location?: Location;
1331 }
1332 export interface CreateBucketRequest {
1333 /**
1334 * The canned ACL to apply to the bucket.
1335 */
1336 ACL?: BucketCannedACL;
1337 /**
1338 *
1339 */
1340 Bucket: BucketName;
1341 /**
1342 *
1343 */
1344 CreateBucketConfiguration?: CreateBucketConfiguration;
1345 /**
1346 * Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.
1347 */
1348 GrantFullControl?: GrantFullControl;
1349 /**
1350 * Allows grantee to list the objects in the bucket.
1351 */
1352 GrantRead?: GrantRead;
1353 /**
1354 * Allows grantee to read the bucket ACL.
1355 */
1356 GrantReadACP?: GrantReadACP;
1357 /**
1358 * Allows grantee to create, overwrite, and delete any object in the bucket.
1359 */
1360 GrantWrite?: GrantWrite;
1361 /**
1362 * Allows grantee to write the ACL for the applicable bucket.
1363 */
1364 GrantWriteACP?: GrantWriteACP;
1365 /**
1366 * Specifies whether you want S3 Object Lock to be enabled for the new bucket.
1367 */
1368 ObjectLockEnabledForBucket?: ObjectLockEnabledForBucket;
1369 }
1370 export interface CreateMultipartUploadOutput {
1371 /**
1372 * Date when multipart upload will become eligible for abort operation by lifecycle.
1373 */
1374 AbortDate?: AbortDate;
1375 /**
1376 * Id of the lifecycle rule that makes a multipart upload eligible for abort operation.
1377 */
1378 AbortRuleId?: AbortRuleId;
1379 /**
1380 * Name of the bucket to which the multipart upload was initiated.
1381 */
1382 Bucket?: BucketName;
1383 /**
1384 * Object key for which the multipart upload was initiated.
1385 */
1386 Key?: ObjectKey;
1387 /**
1388 * ID for the initiated multipart upload.
1389 */
1390 UploadId?: MultipartUploadId;
1391 /**
1392 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
1393 */
1394 ServerSideEncryption?: ServerSideEncryption;
1395 /**
1396 * If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.
1397 */
1398 SSECustomerAlgorithm?: SSECustomerAlgorithm;
1399 /**
1400 * 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.
1401 */
1402 SSECustomerKeyMD5?: SSECustomerKeyMD5;
1403 /**
1404 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
1405 */
1406 SSEKMSKeyId?: SSEKMSKeyId;
1407 RequestCharged?: RequestCharged;
1408 }
1409 export interface CreateMultipartUploadRequest {
1410 /**
1411 * The canned ACL to apply to the object.
1412 */
1413 ACL?: ObjectCannedACL;
1414 /**
1415 *
1416 */
1417 Bucket: BucketName;
1418 /**
1419 * Specifies caching behavior along the request/reply chain.
1420 */
1421 CacheControl?: CacheControl;
1422 /**
1423 * Specifies presentational information for the object.
1424 */
1425 ContentDisposition?: ContentDisposition;
1426 /**
1427 * 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.
1428 */
1429 ContentEncoding?: ContentEncoding;
1430 /**
1431 * The language the content is in.
1432 */
1433 ContentLanguage?: ContentLanguage;
1434 /**
1435 * A standard MIME type describing the format of the object data.
1436 */
1437 ContentType?: ContentType;
1438 /**
1439 * The date and time at which the object is no longer cacheable.
1440 */
1441 Expires?: Expires;
1442 /**
1443 * Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
1444 */
1445 GrantFullControl?: GrantFullControl;
1446 /**
1447 * Allows grantee to read the object data and its metadata.
1448 */
1449 GrantRead?: GrantRead;
1450 /**
1451 * Allows grantee to read the object ACL.
1452 */
1453 GrantReadACP?: GrantReadACP;
1454 /**
1455 * Allows grantee to write the ACL for the applicable object.
1456 */
1457 GrantWriteACP?: GrantWriteACP;
1458 /**
1459 *
1460 */
1461 Key: ObjectKey;
1462 /**
1463 * A map of metadata to store with the object in S3.
1464 */
1465 Metadata?: Metadata;
1466 /**
1467 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
1468 */
1469 ServerSideEncryption?: ServerSideEncryption;
1470 /**
1471 * The type of storage to use for the object. Defaults to 'STANDARD'.
1472 */
1473 StorageClass?: StorageClass;
1474 /**
1475 * 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.
1476 */
1477 WebsiteRedirectLocation?: WebsiteRedirectLocation;
1478 /**
1479 * Specifies the algorithm to use to when encrypting the object (e.g., AES256).
1480 */
1481 SSECustomerAlgorithm?: SSECustomerAlgorithm;
1482 /**
1483 * 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 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.
1484 */
1485 SSECustomerKey?: SSECustomerKey;
1486 /**
1487 * 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 the encryption key was transmitted without error.
1488 */
1489 SSECustomerKeyMD5?: SSECustomerKeyMD5;
1490 /**
1491 * 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. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
1492 */
1493 SSEKMSKeyId?: SSEKMSKeyId;
1494 RequestPayer?: RequestPayer;
1495 /**
1496 * The tag-set for the object. The tag-set must be encoded as URL Query parameters
1497 */
1498 Tagging?: TaggingHeader;
1499 /**
1500 * Specifies the Object Lock mode that you want to apply to the uploaded object.
1501 */
1502 ObjectLockMode?: ObjectLockMode;
1503 /**
1504 * Specifies the date and time when you want the Object Lock to expire.
1505 */
1506 ObjectLockRetainUntilDate?: ObjectLockRetainUntilDate;
1507 /**
1508 * Specifies whether you want to apply a Legal Hold to the uploaded object.
1509 */
1510 ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus;
1511 }
1512 export type CreationDate = Date;
1513 export type _Date = Date;
1514 export type Days = number;
1515 export type DaysAfterInitiation = number;
1516 export interface DefaultRetention {
1517 /**
1518 * The default Object Lock retention mode you want to apply to new objects placed in the specified bucket.
1519 */
1520 Mode?: ObjectLockRetentionMode;
1521 /**
1522 * The number of days that you want to specify for the default retention period.
1523 */
1524 Days?: Days;
1525 /**
1526 * The number of years that you want to specify for the default retention period.
1527 */
1528 Years?: Years;
1529 }
1530 export interface Delete {
1531 /**
1532 *
1533 */
1534 Objects: ObjectIdentifierList;
1535 /**
1536 * Element to enable quiet mode for the request. When you add this element, you must set its value to true.
1537 */
1538 Quiet?: Quiet;
1539 }
1540 export interface DeleteBucketAnalyticsConfigurationRequest {
1541 /**
1542 * The name of the bucket from which an analytics configuration is deleted.
1543 */
1544 Bucket: BucketName;
1545 /**
1546 * The identifier used to represent an analytics configuration.
1547 */
1548 Id: AnalyticsId;
1549 }
1550 export interface DeleteBucketCorsRequest {
1551 /**
1552 *
1553 */
1554 Bucket: BucketName;
1555 }
1556 export interface DeleteBucketEncryptionRequest {
1557 /**
1558 * The name of the bucket containing the server-side encryption configuration to delete.
1559 */
1560 Bucket: BucketName;
1561 }
1562 export interface DeleteBucketInventoryConfigurationRequest {
1563 /**
1564 * The name of the bucket containing the inventory configuration to delete.
1565 */
1566 Bucket: BucketName;
1567 /**
1568 * The ID used to identify the inventory configuration.
1569 */
1570 Id: InventoryId;
1571 }
1572 export interface DeleteBucketLifecycleRequest {
1573 /**
1574 *
1575 */
1576 Bucket: BucketName;
1577 }
1578 export interface DeleteBucketMetricsConfigurationRequest {
1579 /**
1580 * The name of the bucket containing the metrics configuration to delete.
1581 */
1582 Bucket: BucketName;
1583 /**
1584 * The ID used to identify the metrics configuration.
1585 */
1586 Id: MetricsId;
1587 }
1588 export interface DeleteBucketPolicyRequest {
1589 /**
1590 *
1591 */
1592 Bucket: BucketName;
1593 }
1594 export interface DeleteBucketReplicationRequest {
1595 /**
1596 * The bucket name. It can take a while to propagate the deletion of a replication configuration to all Amazon S3 systems.
1597 */
1598 Bucket: BucketName;
1599 }
1600 export interface DeleteBucketRequest {
1601 /**
1602 *
1603 */
1604 Bucket: BucketName;
1605 }
1606 export interface DeleteBucketTaggingRequest {
1607 /**
1608 *
1609 */
1610 Bucket: BucketName;
1611 }
1612 export interface DeleteBucketWebsiteRequest {
1613 /**
1614 *
1615 */
1616 Bucket: BucketName;
1617 }
1618 export type DeleteMarker = boolean;
1619 export interface DeleteMarkerEntry {
1620 /**
1621 *
1622 */
1623 Owner?: Owner;
1624 /**
1625 * The object key.
1626 */
1627 Key?: ObjectKey;
1628 /**
1629 * Version ID of an object.
1630 */
1631 VersionId?: ObjectVersionId;
1632 /**
1633 * Specifies whether the object is (true) or is not (false) the latest version of an object.
1634 */
1635 IsLatest?: IsLatest;
1636 /**
1637 * Date and time the object was last modified.
1638 */
1639 LastModified?: LastModified;
1640 }
1641 export interface DeleteMarkerReplication {
1642 /**
1643 * The status of the delete marker replication. In the current implementation, Amazon S3 doesn't replicate the delete markers. The status must be Disabled.
1644 */
1645 Status?: DeleteMarkerReplicationStatus;
1646 }
1647 export type DeleteMarkerReplicationStatus = "Enabled"|"Disabled"|string;
1648 export type DeleteMarkerVersionId = string;
1649 export type DeleteMarkers = DeleteMarkerEntry[];
1650 export interface DeleteObjectOutput {
1651 /**
1652 * Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.
1653 */
1654 DeleteMarker?: DeleteMarker;
1655 /**
1656 * Returns the version ID of the delete marker created as a result of the DELETE operation.
1657 */
1658 VersionId?: ObjectVersionId;
1659 RequestCharged?: RequestCharged;
1660 }
1661 export interface DeleteObjectRequest {
1662 /**
1663 *
1664 */
1665 Bucket: BucketName;
1666 /**
1667 *
1668 */
1669 Key: ObjectKey;
1670 /**
1671 * The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.
1672 */
1673 MFA?: MFA;
1674 /**
1675 * VersionId used to reference a specific version of the object.
1676 */
1677 VersionId?: ObjectVersionId;
1678 RequestPayer?: RequestPayer;
1679 /**
1680 * Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation.
1681 */
1682 BypassGovernanceRetention?: BypassGovernanceRetention;
1683 }
1684 export interface DeleteObjectTaggingOutput {
1685 /**
1686 * The versionId of the object the tag-set was removed from.
1687 */
1688 VersionId?: ObjectVersionId;
1689 }
1690 export interface DeleteObjectTaggingRequest {
1691 /**
1692 *
1693 */
1694 Bucket: BucketName;
1695 /**
1696 *
1697 */
1698 Key: ObjectKey;
1699 /**
1700 * The versionId of the object that the tag-set will be removed from.
1701 */
1702 VersionId?: ObjectVersionId;
1703 }
1704 export interface DeleteObjectsOutput {
1705 /**
1706 *
1707 */
1708 Deleted?: DeletedObjects;
1709 RequestCharged?: RequestCharged;
1710 /**
1711 *
1712 */
1713 Errors?: Errors;
1714 }
1715 export interface DeleteObjectsRequest {
1716 /**
1717 *
1718 */
1719 Bucket: BucketName;
1720 /**
1721 *
1722 */
1723 Delete: Delete;
1724 /**
1725 * The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.
1726 */
1727 MFA?: MFA;
1728 RequestPayer?: RequestPayer;
1729 /**
1730 * 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.
1731 */
1732 BypassGovernanceRetention?: BypassGovernanceRetention;
1733 }
1734 export interface DeletePublicAccessBlockRequest {
1735 /**
1736 * The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.
1737 */
1738 Bucket: BucketName;
1739 }
1740 export interface DeletedObject {
1741 /**
1742 *
1743 */
1744 Key?: ObjectKey;
1745 /**
1746 *
1747 */
1748 VersionId?: ObjectVersionId;
1749 /**
1750 *
1751 */
1752 DeleteMarker?: DeleteMarker;
1753 /**
1754 *
1755 */
1756 DeleteMarkerVersionId?: DeleteMarkerVersionId;
1757 }
1758 export type DeletedObjects = DeletedObject[];
1759 export type Delimiter = string;
1760 export type Description = string;
1761 export interface Destination {
1762 /**
1763 * The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule. If there are multiple rules in your replication configuration, all rules must specify the same bucket as the destination. A replication configuration can replicate objects to only one destination bucket.
1764 */
1765 Bucket: BucketName;
1766 /**
1767 * The account ID of the destination bucket. Currently, Amazon S3 verifies this value only if Access Control Translation is enabled. In a cross-account scenario, if you change replica ownership to the AWS account that owns the destination bucket by adding the AccessControlTranslation element, this is the account ID of the owner of the destination bucket.
1768 */
1769 Account?: AccountId;
1770 /**
1771 * The class of storage used to store the object. By default Amazon S3 uses storage class of the source object when creating a replica.
1772 */
1773 StorageClass?: StorageClass;
1774 /**
1775 * A container for information about access control for replicas. Use this element only in a cross-account scenario where source and destination bucket owners are not the same to change replica ownership to the AWS account that owns the destination bucket. If you don't add this element to the replication configuration, the replicas are owned by same AWS account that owns the source object.
1776 */
1777 AccessControlTranslation?: AccessControlTranslation;
1778 /**
1779 * A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.
1780 */
1781 EncryptionConfiguration?: EncryptionConfiguration;
1782 }
1783 export type DisplayName = string;
1784 export type ETag = string;
1785 export type EmailAddress = string;
1786 export type EnableRequestProgress = boolean;
1787 export type EncodingType = "url"|string;
1788 export interface Encryption {
1789 /**
1790 * The server-side encryption algorithm used when storing job results in Amazon S3 (e.g., AES256, aws:kms).
1791 */
1792 EncryptionType: ServerSideEncryption;
1793 /**
1794 * If the encryption type is aws:kms, this optional value specifies the AWS KMS key ID to use for encryption of job results.
1795 */
1796 KMSKeyId?: SSEKMSKeyId;
1797 /**
1798 * If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results.
1799 */
1800 KMSContext?: KMSContext;
1801 }
1802 export interface EncryptionConfiguration {
1803 /**
1804 * The ID of the AWS KMS key for the AWS Region where the destination bucket resides. Amazon S3 uses this key to encrypt the replica object.
1805 */
1806 ReplicaKmsKeyID?: ReplicaKmsKeyID;
1807 }
1808 export interface EndEvent {
1809 }
1810 export interface Error {
1811 /**
1812 *
1813 */
1814 Key?: ObjectKey;
1815 /**
1816 *
1817 */
1818 VersionId?: ObjectVersionId;
1819 /**
1820 *
1821 */
1822 Code?: Code;
1823 /**
1824 *
1825 */
1826 Message?: Message;
1827 }
1828 export interface ErrorDocument {
1829 /**
1830 * The object key name to use when a 4XX class error occurs.
1831 */
1832 Key: ObjectKey;
1833 }
1834 export type Errors = Error[];
1835 export type Event = "s3:ReducedRedundancyLostObject"|"s3:ObjectCreated:*"|"s3:ObjectCreated:Put"|"s3:ObjectCreated:Post"|"s3:ObjectCreated:Copy"|"s3:ObjectCreated:CompleteMultipartUpload"|"s3:ObjectRemoved:*"|"s3:ObjectRemoved:Delete"|"s3:ObjectRemoved:DeleteMarkerCreated"|"s3:ObjectRestore:Post"|"s3:ObjectRestore:Completed"|string;
1836 export type EventList = Event[];
1837 export type Expiration = string;
1838 export type ExpirationStatus = "Enabled"|"Disabled"|string;
1839 export type ExpiredObjectDeleteMarker = boolean;
1840 export type Expires = Date;
1841 export type ExposeHeader = string;
1842 export type ExposeHeaders = ExposeHeader[];
1843 export type Expression = string;
1844 export type ExpressionType = "SQL"|string;
1845 export type FetchOwner = boolean;
1846 export type FieldDelimiter = string;
1847 export type FileHeaderInfo = "USE"|"IGNORE"|"NONE"|string;
1848 export interface FilterRule {
1849 /**
1850 * The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum prefix length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.
1851 */
1852 Name?: FilterRuleName;
1853 /**
1854 *
1855 */
1856 Value?: FilterRuleValue;
1857 }
1858 export type FilterRuleList = FilterRule[];
1859 export type FilterRuleName = "prefix"|"suffix"|string;
1860 export type FilterRuleValue = string;
1861 export interface GetBucketAccelerateConfigurationOutput {
1862 /**
1863 * The accelerate configuration of the bucket.
1864 */
1865 Status?: BucketAccelerateStatus;
1866 }
1867 export interface GetBucketAccelerateConfigurationRequest {
1868 /**
1869 * Name of the bucket for which the accelerate configuration is retrieved.
1870 */
1871 Bucket: BucketName;
1872 }
1873 export interface GetBucketAclOutput {
1874 /**
1875 *
1876 */
1877 Owner?: Owner;
1878 /**
1879 * A list of grants.
1880 */
1881 Grants?: Grants;
1882 }
1883 export interface GetBucketAclRequest {
1884 /**
1885 *
1886 */
1887 Bucket: BucketName;
1888 }
1889 export interface GetBucketAnalyticsConfigurationOutput {
1890 /**
1891 * The configuration and any analyses for the analytics filter.
1892 */
1893 AnalyticsConfiguration?: AnalyticsConfiguration;
1894 }
1895 export interface GetBucketAnalyticsConfigurationRequest {
1896 /**
1897 * The name of the bucket from which an analytics configuration is retrieved.
1898 */
1899 Bucket: BucketName;
1900 /**
1901 * The identifier used to represent an analytics configuration.
1902 */
1903 Id: AnalyticsId;
1904 }
1905 export interface GetBucketCorsOutput {
1906 /**
1907 *
1908 */
1909 CORSRules?: CORSRules;
1910 }
1911 export interface GetBucketCorsRequest {
1912 /**
1913 *
1914 */
1915 Bucket: BucketName;
1916 }
1917 export interface GetBucketEncryptionOutput {
1918 ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration;
1919 }
1920 export interface GetBucketEncryptionRequest {
1921 /**
1922 * The name of the bucket from which the server-side encryption configuration is retrieved.
1923 */
1924 Bucket: BucketName;
1925 }
1926 export interface GetBucketInventoryConfigurationOutput {
1927 /**
1928 * Specifies the inventory configuration.
1929 */
1930 InventoryConfiguration?: InventoryConfiguration;
1931 }
1932 export interface GetBucketInventoryConfigurationRequest {
1933 /**
1934 * The name of the bucket containing the inventory configuration to retrieve.
1935 */
1936 Bucket: BucketName;
1937 /**
1938 * The ID used to identify the inventory configuration.
1939 */
1940 Id: InventoryId;
1941 }
1942 export interface GetBucketLifecycleConfigurationOutput {
1943 /**
1944 *
1945 */
1946 Rules?: LifecycleRules;
1947 }
1948 export interface GetBucketLifecycleConfigurationRequest {
1949 /**
1950 *
1951 */
1952 Bucket: BucketName;
1953 }
1954 export interface GetBucketLifecycleOutput {
1955 /**
1956 *
1957 */
1958 Rules?: Rules;
1959 }
1960 export interface GetBucketLifecycleRequest {
1961 /**
1962 *
1963 */
1964 Bucket: BucketName;
1965 }
1966 export interface GetBucketLocationOutput {
1967 /**
1968 *
1969 */
1970 LocationConstraint?: BucketLocationConstraint;
1971 }
1972 export interface GetBucketLocationRequest {
1973 /**
1974 *
1975 */
1976 Bucket: BucketName;
1977 }
1978 export interface GetBucketLoggingOutput {
1979 LoggingEnabled?: LoggingEnabled;
1980 }
1981 export interface GetBucketLoggingRequest {
1982 /**
1983 *
1984 */
1985 Bucket: BucketName;
1986 }
1987 export interface GetBucketMetricsConfigurationOutput {
1988 /**
1989 * Specifies the metrics configuration.
1990 */
1991 MetricsConfiguration?: MetricsConfiguration;
1992 }
1993 export interface GetBucketMetricsConfigurationRequest {
1994 /**
1995 * The name of the bucket containing the metrics configuration to retrieve.
1996 */
1997 Bucket: BucketName;
1998 /**
1999 * The ID used to identify the metrics configuration.
2000 */
2001 Id: MetricsId;
2002 }
2003 export interface GetBucketNotificationConfigurationRequest {
2004 /**
2005 * Name of the bucket to get the notification configuration for.
2006 */
2007 Bucket: BucketName;
2008 }
2009 export interface GetBucketPolicyOutput {
2010 /**
2011 * The bucket policy as a JSON document.
2012 */
2013 Policy?: Policy;
2014 }
2015 export interface GetBucketPolicyRequest {
2016 /**
2017 *
2018 */
2019 Bucket: BucketName;
2020 }
2021 export interface GetBucketPolicyStatusOutput {
2022 /**
2023 * The policy status for the specified bucket.
2024 */
2025 PolicyStatus?: PolicyStatus;
2026 }
2027 export interface GetBucketPolicyStatusRequest {
2028 /**
2029 * The name of the Amazon S3 bucket whose policy status you want to retrieve.
2030 */
2031 Bucket: BucketName;
2032 }
2033 export interface GetBucketReplicationOutput {
2034 ReplicationConfiguration?: ReplicationConfiguration;
2035 }
2036 export interface GetBucketReplicationRequest {
2037 /**
2038 *
2039 */
2040 Bucket: BucketName;
2041 }
2042 export interface GetBucketRequestPaymentOutput {
2043 /**
2044 * Specifies who pays for the download and request fees.
2045 */
2046 Payer?: Payer;
2047 }
2048 export interface GetBucketRequestPaymentRequest {
2049 /**
2050 *
2051 */
2052 Bucket: BucketName;
2053 }
2054 export interface GetBucketTaggingOutput {
2055 /**
2056 *
2057 */
2058 TagSet: TagSet;
2059 }
2060 export interface GetBucketTaggingRequest {
2061 /**
2062 *
2063 */
2064 Bucket: BucketName;
2065 }
2066 export interface GetBucketVersioningOutput {
2067 /**
2068 * The versioning state of the bucket.
2069 */
2070 Status?: BucketVersioningStatus;
2071 /**
2072 * 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.
2073 */
2074 MFADelete?: MFADeleteStatus;
2075 }
2076 export interface GetBucketVersioningRequest {
2077 /**
2078 *
2079 */
2080 Bucket: BucketName;
2081 }
2082 export interface GetBucketWebsiteOutput {
2083 /**
2084 *
2085 */
2086 RedirectAllRequestsTo?: RedirectAllRequestsTo;
2087 /**
2088 *
2089 */
2090 IndexDocument?: IndexDocument;
2091 /**
2092 *
2093 */
2094 ErrorDocument?: ErrorDocument;
2095 /**
2096 *
2097 */
2098 RoutingRules?: RoutingRules;
2099 }
2100 export interface GetBucketWebsiteRequest {
2101 /**
2102 *
2103 */
2104 Bucket: BucketName;
2105 }
2106 export interface GetObjectAclOutput {
2107 /**
2108 *
2109 */
2110 Owner?: Owner;
2111 /**
2112 * A list of grants.
2113 */
2114 Grants?: Grants;
2115 RequestCharged?: RequestCharged;
2116 }
2117 export interface GetObjectAclRequest {
2118 /**
2119 *
2120 */
2121 Bucket: BucketName;
2122 /**
2123 *
2124 */
2125 Key: ObjectKey;
2126 /**
2127 * VersionId used to reference a specific version of the object.
2128 */
2129 VersionId?: ObjectVersionId;
2130 RequestPayer?: RequestPayer;
2131 }
2132 export interface GetObjectLegalHoldOutput {
2133 /**
2134 * The current Legal Hold status for the specified object.
2135 */
2136 LegalHold?: ObjectLockLegalHold;
2137 }
2138 export interface GetObjectLegalHoldRequest {
2139 /**
2140 * The bucket containing the object whose Legal Hold status you want to retrieve.
2141 */
2142 Bucket: BucketName;
2143 /**
2144 * The key name for the object whose Legal Hold status you want to retrieve.
2145 */
2146 Key: ObjectKey;
2147 /**
2148 * The version ID of the object whose Legal Hold status you want to retrieve.
2149 */
2150 VersionId?: ObjectVersionId;
2151 RequestPayer?: RequestPayer;
2152 }
2153 export interface GetObjectLockConfigurationOutput {
2154 /**
2155 * The specified bucket's Object Lock configuration.
2156 */
2157 ObjectLockConfiguration?: ObjectLockConfiguration;
2158 }
2159 export interface GetObjectLockConfigurationRequest {
2160 /**
2161 * The bucket whose Object Lock configuration you want to retrieve.
2162 */
2163 Bucket: BucketName;
2164 }
2165 export interface GetObjectOutput {
2166 /**
2167 * Object data.
2168 */
2169 Body?: Body;
2170 /**
2171 * 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.
2172 */
2173 DeleteMarker?: DeleteMarker;
2174 /**
2175 *
2176 */
2177 AcceptRanges?: AcceptRanges;
2178 /**
2179 * 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.
2180 */
2181 Expiration?: Expiration;
2182 /**
2183 * Provides information about object restoration operation and expiration time of the restored object copy.
2184 */
2185 Restore?: Restore;
2186 /**
2187 * Last modified date of the object
2188 */
2189 LastModified?: LastModified;
2190 /**
2191 * Size of the body in bytes.
2192 */
2193 ContentLength?: ContentLength;
2194 /**
2195 * An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL
2196 */
2197 ETag?: ETag;
2198 /**
2199 * This is set to the number of metadata entries not returned in x-amz-meta 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.
2200 */
2201 MissingMeta?: MissingMeta;
2202 /**
2203 * Version of the object.
2204 */
2205 VersionId?: ObjectVersionId;
2206 /**
2207 * Specifies caching behavior along the request/reply chain.
2208 */
2209 CacheControl?: CacheControl;
2210 /**
2211 * Specifies presentational information for the object.
2212 */
2213 ContentDisposition?: ContentDisposition;
2214 /**
2215 * 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.
2216 */
2217 ContentEncoding?: ContentEncoding;
2218 /**
2219 * The language the content is in.
2220 */
2221 ContentLanguage?: ContentLanguage;
2222 /**
2223 * The portion of the object returned in the response.
2224 */
2225 ContentRange?: ContentRange;
2226 /**
2227 * A standard MIME type describing the format of the object data.
2228 */
2229 ContentType?: ContentType;
2230 /**
2231 * The date and time at which the object is no longer cacheable.
2232 */
2233 Expires?: Expires;
2234 /**
2235 * 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.
2236 */
2237 WebsiteRedirectLocation?: WebsiteRedirectLocation;
2238 /**
2239 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
2240 */
2241 ServerSideEncryption?: ServerSideEncryption;
2242 /**
2243 * A map of metadata to store with the object in S3.
2244 */
2245 Metadata?: Metadata;
2246 /**
2247 * If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.
2248 */
2249 SSECustomerAlgorithm?: SSECustomerAlgorithm;
2250 /**
2251 * 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.
2252 */
2253 SSECustomerKeyMD5?: SSECustomerKeyMD5;
2254 /**
2255 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
2256 */
2257 SSEKMSKeyId?: SSEKMSKeyId;
2258 /**
2259 *
2260 */
2261 StorageClass?: StorageClass;
2262 RequestCharged?: RequestCharged;
2263 /**
2264 *
2265 */
2266 ReplicationStatus?: ReplicationStatus;
2267 /**
2268 * The count of parts this object has.
2269 */
2270 PartsCount?: PartsCount;
2271 /**
2272 * The number of tags, if any, on the object.
2273 */
2274 TagCount?: TagCount;
2275 /**
2276 * The Object Lock mode currently in place for this object.
2277 */
2278 ObjectLockMode?: ObjectLockMode;
2279 /**
2280 * The date and time when this object's Object Lock will expire.
2281 */
2282 ObjectLockRetainUntilDate?: ObjectLockRetainUntilDate;
2283 /**
2284 * 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.
2285 */
2286 ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus;
2287 }
2288 export interface GetObjectRequest {
2289 /**
2290 *
2291 */
2292 Bucket: BucketName;
2293 /**
2294 * Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).
2295 */
2296 IfMatch?: IfMatch;
2297 /**
2298 * Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).
2299 */
2300 IfModifiedSince?: IfModifiedSince;
2301 /**
2302 * Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).
2303 */
2304 IfNoneMatch?: IfNoneMatch;
2305 /**
2306 * Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).
2307 */
2308 IfUnmodifiedSince?: IfUnmodifiedSince;
2309 /**
2310 *
2311 */
2312 Key: ObjectKey;
2313 /**
2314 * Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
2315 */
2316 Range?: Range;
2317 /**
2318 * Sets the Cache-Control header of the response.
2319 */
2320 ResponseCacheControl?: ResponseCacheControl;
2321 /**
2322 * Sets the Content-Disposition header of the response
2323 */
2324 ResponseContentDisposition?: ResponseContentDisposition;
2325 /**
2326 * Sets the Content-Encoding header of the response.
2327 */
2328 ResponseContentEncoding?: ResponseContentEncoding;
2329 /**
2330 * Sets the Content-Language header of the response.
2331 */
2332 ResponseContentLanguage?: ResponseContentLanguage;
2333 /**
2334 * Sets the Content-Type header of the response.
2335 */
2336 ResponseContentType?: ResponseContentType;
2337 /**
2338 * Sets the Expires header of the response.
2339 */
2340 ResponseExpires?: ResponseExpires;
2341 /**
2342 * VersionId used to reference a specific version of the object.
2343 */
2344 VersionId?: ObjectVersionId;
2345 /**
2346 * Specifies the algorithm to use to when encrypting the object (e.g., AES256).
2347 */
2348 SSECustomerAlgorithm?: SSECustomerAlgorithm;
2349 /**
2350 * 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 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.
2351 */
2352 SSECustomerKey?: SSECustomerKey;
2353 /**
2354 * 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 the encryption key was transmitted without error.
2355 */
2356 SSECustomerKeyMD5?: SSECustomerKeyMD5;
2357 RequestPayer?: RequestPayer;
2358 /**
2359 * 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.
2360 */
2361 PartNumber?: PartNumber;
2362 }
2363 export interface GetObjectRetentionOutput {
2364 /**
2365 * The container element for an object's retention settings.
2366 */
2367 Retention?: ObjectLockRetention;
2368 }
2369 export interface GetObjectRetentionRequest {
2370 /**
2371 * The bucket containing the object whose retention settings you want to retrieve.
2372 */
2373 Bucket: BucketName;
2374 /**
2375 * The key name for the object whose retention settings you want to retrieve.
2376 */
2377 Key: ObjectKey;
2378 /**
2379 * The version ID for the object whose retention settings you want to retrieve.
2380 */
2381 VersionId?: ObjectVersionId;
2382 RequestPayer?: RequestPayer;
2383 }
2384 export interface GetObjectTaggingOutput {
2385 /**
2386 *
2387 */
2388 VersionId?: ObjectVersionId;
2389 /**
2390 *
2391 */
2392 TagSet: TagSet;
2393 }
2394 export interface GetObjectTaggingRequest {
2395 /**
2396 *
2397 */
2398 Bucket: BucketName;
2399 /**
2400 *
2401 */
2402 Key: ObjectKey;
2403 /**
2404 *
2405 */
2406 VersionId?: ObjectVersionId;
2407 }
2408 export interface GetObjectTorrentOutput {
2409 /**
2410 *
2411 */
2412 Body?: Body;
2413 RequestCharged?: RequestCharged;
2414 }
2415 export interface GetObjectTorrentRequest {
2416 /**
2417 *
2418 */
2419 Bucket: BucketName;
2420 /**
2421 *
2422 */
2423 Key: ObjectKey;
2424 RequestPayer?: RequestPayer;
2425 }
2426 export interface GetPublicAccessBlockOutput {
2427 /**
2428 * The PublicAccessBlock configuration currently in effect for this Amazon S3 bucket.
2429 */
2430 PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration;
2431 }
2432 export interface GetPublicAccessBlockRequest {
2433 /**
2434 * The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want to retrieve.
2435 */
2436 Bucket: BucketName;
2437 }
2438 export interface GlacierJobParameters {
2439 /**
2440 * Glacier retrieval tier at which the restore will be processed.
2441 */
2442 Tier: Tier;
2443 }
2444 export interface Grant {
2445 /**
2446 *
2447 */
2448 Grantee?: Grantee;
2449 /**
2450 * Specifies the permission given to the grantee.
2451 */
2452 Permission?: Permission;
2453 }
2454 export type GrantFullControl = string;
2455 export type GrantRead = string;
2456 export type GrantReadACP = string;
2457 export type GrantWrite = string;
2458 export type GrantWriteACP = string;
2459 export interface Grantee {
2460 /**
2461 * Screen name of the grantee.
2462 */
2463 DisplayName?: DisplayName;
2464 /**
2465 * Email address of the grantee.
2466 */
2467 EmailAddress?: EmailAddress;
2468 /**
2469 * The canonical user ID of the grantee.
2470 */
2471 ID?: ID;
2472 /**
2473 * Type of grantee
2474 */
2475 Type: Type;
2476 /**
2477 * URI of the grantee group.
2478 */
2479 URI?: URI;
2480 }
2481 export type Grants = Grant[];
2482 export interface HeadBucketRequest {
2483 /**
2484 *
2485 */
2486 Bucket: BucketName;
2487 }
2488 export interface HeadObjectOutput {
2489 /**
2490 * 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.
2491 */
2492 DeleteMarker?: DeleteMarker;
2493 /**
2494 *
2495 */
2496 AcceptRanges?: AcceptRanges;
2497 /**
2498 * 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.
2499 */
2500 Expiration?: Expiration;
2501 /**
2502 * Provides information about object restoration operation and expiration time of the restored object copy.
2503 */
2504 Restore?: Restore;
2505 /**
2506 * Last modified date of the object
2507 */
2508 LastModified?: LastModified;
2509 /**
2510 * Size of the body in bytes.
2511 */
2512 ContentLength?: ContentLength;
2513 /**
2514 * An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL
2515 */
2516 ETag?: ETag;
2517 /**
2518 * This is set to the number of metadata entries not returned in x-amz-meta 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.
2519 */
2520 MissingMeta?: MissingMeta;
2521 /**
2522 * Version of the object.
2523 */
2524 VersionId?: ObjectVersionId;
2525 /**
2526 * Specifies caching behavior along the request/reply chain.
2527 */
2528 CacheControl?: CacheControl;
2529 /**
2530 * Specifies presentational information for the object.
2531 */
2532 ContentDisposition?: ContentDisposition;
2533 /**
2534 * 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.
2535 */
2536 ContentEncoding?: ContentEncoding;
2537 /**
2538 * The language the content is in.
2539 */
2540 ContentLanguage?: ContentLanguage;
2541 /**
2542 * A standard MIME type describing the format of the object data.
2543 */
2544 ContentType?: ContentType;
2545 /**
2546 * The date and time at which the object is no longer cacheable.
2547 */
2548 Expires?: Expires;
2549 /**
2550 * 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.
2551 */
2552 WebsiteRedirectLocation?: WebsiteRedirectLocation;
2553 /**
2554 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
2555 */
2556 ServerSideEncryption?: ServerSideEncryption;
2557 /**
2558 * A map of metadata to store with the object in S3.
2559 */
2560 Metadata?: Metadata;
2561 /**
2562 * If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.
2563 */
2564 SSECustomerAlgorithm?: SSECustomerAlgorithm;
2565 /**
2566 * 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.
2567 */
2568 SSECustomerKeyMD5?: SSECustomerKeyMD5;
2569 /**
2570 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
2571 */
2572 SSEKMSKeyId?: SSEKMSKeyId;
2573 /**
2574 *
2575 */
2576 StorageClass?: StorageClass;
2577 RequestCharged?: RequestCharged;
2578 /**
2579 *
2580 */
2581 ReplicationStatus?: ReplicationStatus;
2582 /**
2583 * The count of parts this object has.
2584 */
2585 PartsCount?: PartsCount;
2586 /**
2587 * The Object Lock mode currently in place for this object.
2588 */
2589 ObjectLockMode?: ObjectLockMode;
2590 /**
2591 * The date and time when this object's Object Lock will expire.
2592 */
2593 ObjectLockRetainUntilDate?: ObjectLockRetainUntilDate;
2594 /**
2595 * The Legal Hold status for the specified object.
2596 */
2597 ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus;
2598 }
2599 export interface HeadObjectRequest {
2600 /**
2601 *
2602 */
2603 Bucket: BucketName;
2604 /**
2605 * Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).
2606 */
2607 IfMatch?: IfMatch;
2608 /**
2609 * Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).
2610 */
2611 IfModifiedSince?: IfModifiedSince;
2612 /**
2613 * Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).
2614 */
2615 IfNoneMatch?: IfNoneMatch;
2616 /**
2617 * Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).
2618 */
2619 IfUnmodifiedSince?: IfUnmodifiedSince;
2620 /**
2621 *
2622 */
2623 Key: ObjectKey;
2624 /**
2625 * Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
2626 */
2627 Range?: Range;
2628 /**
2629 * VersionId used to reference a specific version of the object.
2630 */
2631 VersionId?: ObjectVersionId;
2632 /**
2633 * Specifies the algorithm to use to when encrypting the object (e.g., AES256).
2634 */
2635 SSECustomerAlgorithm?: SSECustomerAlgorithm;
2636 /**
2637 * 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 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.
2638 */
2639 SSECustomerKey?: SSECustomerKey;
2640 /**
2641 * 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 the encryption key was transmitted without error.
2642 */
2643 SSECustomerKeyMD5?: SSECustomerKeyMD5;
2644 RequestPayer?: RequestPayer;
2645 /**
2646 * 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.
2647 */
2648 PartNumber?: PartNumber;
2649 }
2650 export type HostName = string;
2651 export type HttpErrorCodeReturnedEquals = string;
2652 export type HttpRedirectCode = string;
2653 export type ID = string;
2654 export type IfMatch = string;
2655 export type IfModifiedSince = Date;
2656 export type IfNoneMatch = string;
2657 export type IfUnmodifiedSince = Date;
2658 export interface IndexDocument {
2659 /**
2660 * A suffix that is appended to a request that is for a directory on the website endpoint (e.g. 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.
2661 */
2662 Suffix: Suffix;
2663 }
2664 export type Initiated = Date;
2665 export interface Initiator {
2666 /**
2667 * 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.
2668 */
2669 ID?: ID;
2670 /**
2671 * Name of the Principal.
2672 */
2673 DisplayName?: DisplayName;
2674 }
2675 export interface InputSerialization {
2676 /**
2677 * Describes the serialization of a CSV-encoded object.
2678 */
2679 CSV?: CSVInput;
2680 /**
2681 * Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.
2682 */
2683 CompressionType?: CompressionType;
2684 /**
2685 * Specifies JSON as object's input serialization format.
2686 */
2687 JSON?: JSONInput;
2688 /**
2689 * Specifies Parquet as object's input serialization format.
2690 */
2691 Parquet?: ParquetInput;
2692 }
2693 export interface InventoryConfiguration {
2694 /**
2695 * Contains information about where to publish the inventory results.
2696 */
2697 Destination: InventoryDestination;
2698 /**
2699 * Specifies whether the inventory is enabled or disabled.
2700 */
2701 IsEnabled: IsEnabled;
2702 /**
2703 * Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.
2704 */
2705 Filter?: InventoryFilter;
2706 /**
2707 * The ID used to identify the inventory configuration.
2708 */
2709 Id: InventoryId;
2710 /**
2711 * Specifies which object version(s) to included in the inventory results.
2712 */
2713 IncludedObjectVersions: InventoryIncludedObjectVersions;
2714 /**
2715 * Contains the optional fields that are included in the inventory results.
2716 */
2717 OptionalFields?: InventoryOptionalFields;
2718 /**
2719 * Specifies the schedule for generating inventory results.
2720 */
2721 Schedule: InventorySchedule;
2722 }
2723 export type InventoryConfigurationList = InventoryConfiguration[];
2724 export interface InventoryDestination {
2725 /**
2726 * Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.
2727 */
2728 S3BucketDestination: InventoryS3BucketDestination;
2729 }
2730 export interface InventoryEncryption {
2731 /**
2732 * Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
2733 */
2734 SSES3?: SSES3;
2735 /**
2736 * Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
2737 */
2738 SSEKMS?: SSEKMS;
2739 }
2740 export interface InventoryFilter {
2741 /**
2742 * The prefix that an object must have to be included in the inventory results.
2743 */
2744 Prefix: Prefix;
2745 }
2746 export type InventoryFormat = "CSV"|"ORC"|"Parquet"|string;
2747 export type InventoryFrequency = "Daily"|"Weekly"|string;
2748 export type InventoryId = string;
2749 export type InventoryIncludedObjectVersions = "All"|"Current"|string;
2750 export type InventoryOptionalField = "Size"|"LastModifiedDate"|"StorageClass"|"ETag"|"IsMultipartUploaded"|"ReplicationStatus"|"EncryptionStatus"|"ObjectLockRetainUntilDate"|"ObjectLockMode"|"ObjectLockLegalHoldStatus"|string;
2751 export type InventoryOptionalFields = InventoryOptionalField[];
2752 export interface InventoryS3BucketDestination {
2753 /**
2754 * The ID of the account that owns the destination bucket.
2755 */
2756 AccountId?: AccountId;
2757 /**
2758 * The Amazon resource name (ARN) of the bucket where inventory results will be published.
2759 */
2760 Bucket: BucketName;
2761 /**
2762 * Specifies the output format of the inventory results.
2763 */
2764 Format: InventoryFormat;
2765 /**
2766 * The prefix that is prepended to all inventory results.
2767 */
2768 Prefix?: Prefix;
2769 /**
2770 * Contains the type of server-side encryption used to encrypt the inventory results.
2771 */
2772 Encryption?: InventoryEncryption;
2773 }
2774 export interface InventorySchedule {
2775 /**
2776 * Specifies how frequently inventory results are produced.
2777 */
2778 Frequency: InventoryFrequency;
2779 }
2780 export type IsEnabled = boolean;
2781 export type IsLatest = boolean;
2782 export type IsPublic = boolean;
2783 export type IsTruncated = boolean;
2784 export interface JSONInput {
2785 /**
2786 * The type of JSON. Valid values: Document, Lines.
2787 */
2788 Type?: JSONType;
2789 }
2790 export interface JSONOutput {
2791 /**
2792 * The value used to separate individual records in the output.
2793 */
2794 RecordDelimiter?: RecordDelimiter;
2795 }
2796 export type JSONType = "DOCUMENT"|"LINES"|string;
2797 export type KMSContext = string;
2798 export type KeyCount = number;
2799 export type KeyMarker = string;
2800 export type KeyPrefixEquals = string;
2801 export type LambdaFunctionArn = string;
2802 export interface LambdaFunctionConfiguration {
2803 Id?: NotificationId;
2804 /**
2805 * The Amazon Resource Name (ARN) of the Lambda cloud function that Amazon S3 can invoke when it detects events of the specified type.
2806 */
2807 LambdaFunctionArn: LambdaFunctionArn;
2808 /**
2809 *
2810 */
2811 Events: EventList;
2812 Filter?: NotificationConfigurationFilter;
2813 }
2814 export type LambdaFunctionConfigurationList = LambdaFunctionConfiguration[];
2815 export type LastModified = Date;
2816 export interface LifecycleConfiguration {
2817 /**
2818 *
2819 */
2820 Rules: Rules;
2821 }
2822 export interface LifecycleExpiration {
2823 /**
2824 * Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.
2825 */
2826 Date?: _Date;
2827 /**
2828 * Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.
2829 */
2830 Days?: Days;
2831 /**
2832 * 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.
2833 */
2834 ExpiredObjectDeleteMarker?: ExpiredObjectDeleteMarker;
2835 }
2836 export interface LifecycleRule {
2837 /**
2838 *
2839 */
2840 Expiration?: LifecycleExpiration;
2841 /**
2842 * Unique identifier for the rule. The value cannot be longer than 255 characters.
2843 */
2844 ID?: ID;
2845 /**
2846 * Prefix identifying one or more objects to which the rule applies. This is No longer used; use Filter instead.
2847 */
2848 Prefix?: Prefix;
2849 Filter?: LifecycleRuleFilter;
2850 /**
2851 * If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.
2852 */
2853 Status: ExpirationStatus;
2854 /**
2855 *
2856 */
2857 Transitions?: TransitionList;
2858 /**
2859 *
2860 */
2861 NoncurrentVersionTransitions?: NoncurrentVersionTransitionList;
2862 NoncurrentVersionExpiration?: NoncurrentVersionExpiration;
2863 AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload;
2864 }
2865 export interface LifecycleRuleAndOperator {
2866 /**
2867 *
2868 */
2869 Prefix?: Prefix;
2870 /**
2871 * All of these tags must exist in the object's tag set in order for the rule to apply.
2872 */
2873 Tags?: TagSet;
2874 }
2875 export interface LifecycleRuleFilter {
2876 /**
2877 * Prefix identifying one or more objects to which the rule applies.
2878 */
2879 Prefix?: Prefix;
2880 /**
2881 * This tag must exist in the object's tag set in order for the rule to apply.
2882 */
2883 Tag?: Tag;
2884 And?: LifecycleRuleAndOperator;
2885 }
2886 export type LifecycleRules = LifecycleRule[];
2887 export interface ListBucketAnalyticsConfigurationsOutput {
2888 /**
2889 * 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.
2890 */
2891 IsTruncated?: IsTruncated;
2892 /**
2893 * The ContinuationToken that represents where this request began.
2894 */
2895 ContinuationToken?: Token;
2896 /**
2897 * NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value.
2898 */
2899 NextContinuationToken?: NextToken;
2900 /**
2901 * The list of analytics configurations for a bucket.
2902 */
2903 AnalyticsConfigurationList?: AnalyticsConfigurationList;
2904 }
2905 export interface ListBucketAnalyticsConfigurationsRequest {
2906 /**
2907 * The name of the bucket from which analytics configurations are retrieved.
2908 */
2909 Bucket: BucketName;
2910 /**
2911 * The ContinuationToken that represents a placeholder from where this request should begin.
2912 */
2913 ContinuationToken?: Token;
2914 }
2915 export interface ListBucketInventoryConfigurationsOutput {
2916 /**
2917 * If sent in the request, the marker that is used as a starting point for this inventory configuration list response.
2918 */
2919 ContinuationToken?: Token;
2920 /**
2921 * The list of inventory configurations for a bucket.
2922 */
2923 InventoryConfigurationList?: InventoryConfigurationList;
2924 /**
2925 * Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.
2926 */
2927 IsTruncated?: IsTruncated;
2928 /**
2929 * The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.
2930 */
2931 NextContinuationToken?: NextToken;
2932 }
2933 export interface ListBucketInventoryConfigurationsRequest {
2934 /**
2935 * The name of the bucket containing the inventory configurations to retrieve.
2936 */
2937 Bucket: BucketName;
2938 /**
2939 * 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.
2940 */
2941 ContinuationToken?: Token;
2942 }
2943 export interface ListBucketMetricsConfigurationsOutput {
2944 /**
2945 * 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.
2946 */
2947 IsTruncated?: IsTruncated;
2948 /**
2949 * 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.
2950 */
2951 ContinuationToken?: Token;
2952 /**
2953 * The marker 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.
2954 */
2955 NextContinuationToken?: NextToken;
2956 /**
2957 * The list of metrics configurations for a bucket.
2958 */
2959 MetricsConfigurationList?: MetricsConfigurationList;
2960 }
2961 export interface ListBucketMetricsConfigurationsRequest {
2962 /**
2963 * The name of the bucket containing the metrics configurations to retrieve.
2964 */
2965 Bucket: BucketName;
2966 /**
2967 * 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.
2968 */
2969 ContinuationToken?: Token;
2970 }
2971 export interface ListBucketsOutput {
2972 /**
2973 *
2974 */
2975 Buckets?: Buckets;
2976 /**
2977 *
2978 */
2979 Owner?: Owner;
2980 }
2981 export interface ListMultipartUploadsOutput {
2982 /**
2983 * Name of the bucket to which the multipart upload was initiated.
2984 */
2985 Bucket?: BucketName;
2986 /**
2987 * The key at or after which the listing began.
2988 */
2989 KeyMarker?: KeyMarker;
2990 /**
2991 * Upload ID after which listing began.
2992 */
2993 UploadIdMarker?: UploadIdMarker;
2994 /**
2995 * When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.
2996 */
2997 NextKeyMarker?: NextKeyMarker;
2998 /**
2999 * When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.
3000 */
3001 Prefix?: Prefix;
3002 /**
3003 *
3004 */
3005 Delimiter?: Delimiter;
3006 /**
3007 * When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request.
3008 */
3009 NextUploadIdMarker?: NextUploadIdMarker;
3010 /**
3011 * Maximum number of multipart uploads that could have been included in the response.
3012 */
3013 MaxUploads?: MaxUploads;
3014 /**
3015 * 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.
3016 */
3017 IsTruncated?: IsTruncated;
3018 /**
3019 *
3020 */
3021 Uploads?: MultipartUploadList;
3022 /**
3023 *
3024 */
3025 CommonPrefixes?: CommonPrefixList;
3026 /**
3027 * Encoding type used by Amazon S3 to encode object keys in the response.
3028 */
3029 EncodingType?: EncodingType;
3030 }
3031 export interface ListMultipartUploadsRequest {
3032 /**
3033 *
3034 */
3035 Bucket: BucketName;
3036 /**
3037 * Character you use to group keys.
3038 */
3039 Delimiter?: Delimiter;
3040 EncodingType?: EncodingType;
3041 /**
3042 * Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.
3043 */
3044 KeyMarker?: KeyMarker;
3045 /**
3046 * 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.
3047 */
3048 MaxUploads?: MaxUploads;
3049 /**
3050 * Lists in-progress uploads only for those keys that begin with the specified prefix.
3051 */
3052 Prefix?: Prefix;
3053 /**
3054 * 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.
3055 */
3056 UploadIdMarker?: UploadIdMarker;
3057 }
3058 export interface ListObjectVersionsOutput {
3059 /**
3060 * A flag that indicates whether or not 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.
3061 */
3062 IsTruncated?: IsTruncated;
3063 /**
3064 * Marks the last Key returned in a truncated response.
3065 */
3066 KeyMarker?: KeyMarker;
3067 /**
3068 *
3069 */
3070 VersionIdMarker?: VersionIdMarker;
3071 /**
3072 * Use this value for the key marker request parameter in a subsequent request.
3073 */
3074 NextKeyMarker?: NextKeyMarker;
3075 /**
3076 * Use this value for the next version id marker parameter in a subsequent request.
3077 */
3078 NextVersionIdMarker?: NextVersionIdMarker;
3079 /**
3080 *
3081 */
3082 Versions?: ObjectVersionList;
3083 /**
3084 *
3085 */
3086 DeleteMarkers?: DeleteMarkers;
3087 /**
3088 *
3089 */
3090 Name?: BucketName;
3091 /**
3092 *
3093 */
3094 Prefix?: Prefix;
3095 /**
3096 *
3097 */
3098 Delimiter?: Delimiter;
3099 /**
3100 *
3101 */
3102 MaxKeys?: MaxKeys;
3103 /**
3104 *
3105 */
3106 CommonPrefixes?: CommonPrefixList;
3107 /**
3108 * Encoding type used by Amazon S3 to encode object keys in the response.
3109 */
3110 EncodingType?: EncodingType;
3111 }
3112 export interface ListObjectVersionsRequest {
3113 /**
3114 *
3115 */
3116 Bucket: BucketName;
3117 /**
3118 * A delimiter is a character you use to group keys.
3119 */
3120 Delimiter?: Delimiter;
3121 EncodingType?: EncodingType;
3122 /**
3123 * Specifies the key to start with when listing objects in a bucket.
3124 */
3125 KeyMarker?: KeyMarker;
3126 /**
3127 * Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.
3128 */
3129 MaxKeys?: MaxKeys;
3130 /**
3131 * Limits the response to keys that begin with the specified prefix.
3132 */
3133 Prefix?: Prefix;
3134 /**
3135 * Specifies the object version you want to start listing from.
3136 */
3137 VersionIdMarker?: VersionIdMarker;
3138 }
3139 export interface ListObjectsOutput {
3140 /**
3141 * A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.
3142 */
3143 IsTruncated?: IsTruncated;
3144 /**
3145 *
3146 */
3147 Marker?: Marker;
3148 /**
3149 * 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 NextMaker 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.
3150 */
3151 NextMarker?: NextMarker;
3152 /**
3153 *
3154 */
3155 Contents?: ObjectList;
3156 /**
3157 *
3158 */
3159 Name?: BucketName;
3160 /**
3161 *
3162 */
3163 Prefix?: Prefix;
3164 /**
3165 *
3166 */
3167 Delimiter?: Delimiter;
3168 /**
3169 *
3170 */
3171 MaxKeys?: MaxKeys;
3172 /**
3173 *
3174 */
3175 CommonPrefixes?: CommonPrefixList;
3176 /**
3177 * Encoding type used by Amazon S3 to encode object keys in the response.
3178 */
3179 EncodingType?: EncodingType;
3180 }
3181 export interface ListObjectsRequest {
3182 /**
3183 *
3184 */
3185 Bucket: BucketName;
3186 /**
3187 * A delimiter is a character you use to group keys.
3188 */
3189 Delimiter?: Delimiter;
3190 EncodingType?: EncodingType;
3191 /**
3192 * Specifies the key to start with when listing objects in a bucket.
3193 */
3194 Marker?: Marker;
3195 /**
3196 * Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.
3197 */
3198 MaxKeys?: MaxKeys;
3199 /**
3200 * Limits the response to keys that begin with the specified prefix.
3201 */
3202 Prefix?: Prefix;
3203 /**
3204 * 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.
3205 */
3206 RequestPayer?: RequestPayer;
3207 }
3208 export interface ListObjectsV2Output {
3209 /**
3210 * A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.
3211 */
3212 IsTruncated?: IsTruncated;
3213 /**
3214 * Metadata about each object returned.
3215 */
3216 Contents?: ObjectList;
3217 /**
3218 * Name of the bucket to list.
3219 */
3220 Name?: BucketName;
3221 /**
3222 * Limits the response to keys that begin with the specified prefix.
3223 */
3224 Prefix?: Prefix;
3225 /**
3226 * A delimiter is a character you use to group keys.
3227 */
3228 Delimiter?: Delimiter;
3229 /**
3230 * Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.
3231 */
3232 MaxKeys?: MaxKeys;
3233 /**
3234 * CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter
3235 */
3236 CommonPrefixes?: CommonPrefixList;
3237 /**
3238 * Encoding type used by Amazon S3 to encode object keys in the response.
3239 */
3240 EncodingType?: EncodingType;
3241 /**
3242 * 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
3243 */
3244 KeyCount?: KeyCount;
3245 /**
3246 * 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
3247 */
3248 ContinuationToken?: Token;
3249 /**
3250 * NextContinuationToken is sent when isTruncated 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 NextContinuationToken. NextContinuationToken is obfuscated and is not a real key
3251 */
3252 NextContinuationToken?: NextToken;
3253 /**
3254 * 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
3255 */
3256 StartAfter?: StartAfter;
3257 }
3258 export interface ListObjectsV2Request {
3259 /**
3260 * Name of the bucket to list.
3261 */
3262 Bucket: BucketName;
3263 /**
3264 * A delimiter is a character you use to group keys.
3265 */
3266 Delimiter?: Delimiter;
3267 /**
3268 * Encoding type used by Amazon S3 to encode object keys in the response.
3269 */
3270 EncodingType?: EncodingType;
3271 /**
3272 * Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.
3273 */
3274 MaxKeys?: MaxKeys;
3275 /**
3276 * Limits the response to keys that begin with the specified prefix.
3277 */
3278 Prefix?: Prefix;
3279 /**
3280 * 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
3281 */
3282 ContinuationToken?: Token;
3283 /**
3284 * 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
3285 */
3286 FetchOwner?: FetchOwner;
3287 /**
3288 * 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
3289 */
3290 StartAfter?: StartAfter;
3291 /**
3292 * 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.
3293 */
3294 RequestPayer?: RequestPayer;
3295 }
3296 export interface ListPartsOutput {
3297 /**
3298 * Date when multipart upload will become eligible for abort operation by lifecycle.
3299 */
3300 AbortDate?: AbortDate;
3301 /**
3302 * Id of the lifecycle rule that makes a multipart upload eligible for abort operation.
3303 */
3304 AbortRuleId?: AbortRuleId;
3305 /**
3306 * Name of the bucket to which the multipart upload was initiated.
3307 */
3308 Bucket?: BucketName;
3309 /**
3310 * Object key for which the multipart upload was initiated.
3311 */
3312 Key?: ObjectKey;
3313 /**
3314 * Upload ID identifying the multipart upload whose parts are being listed.
3315 */
3316 UploadId?: MultipartUploadId;
3317 /**
3318 * Part number after which listing begins.
3319 */
3320 PartNumberMarker?: PartNumberMarker;
3321 /**
3322 * 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.
3323 */
3324 NextPartNumberMarker?: NextPartNumberMarker;
3325 /**
3326 * Maximum number of parts that were allowed in the response.
3327 */
3328 MaxParts?: MaxParts;
3329 /**
3330 * Indicates whether the returned list of parts is truncated.
3331 */
3332 IsTruncated?: IsTruncated;
3333 /**
3334 *
3335 */
3336 Parts?: Parts;
3337 /**
3338 * Identifies who initiated the multipart upload.
3339 */
3340 Initiator?: Initiator;
3341 /**
3342 *
3343 */
3344 Owner?: Owner;
3345 /**
3346 * The class of storage used to store the object.
3347 */
3348 StorageClass?: StorageClass;
3349 RequestCharged?: RequestCharged;
3350 }
3351 export interface ListPartsRequest {
3352 /**
3353 *
3354 */
3355 Bucket: BucketName;
3356 /**
3357 *
3358 */
3359 Key: ObjectKey;
3360 /**
3361 * Sets the maximum number of parts to return.
3362 */
3363 MaxParts?: MaxParts;
3364 /**
3365 * Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.
3366 */
3367 PartNumberMarker?: PartNumberMarker;
3368 /**
3369 * Upload ID identifying the multipart upload whose parts are being listed.
3370 */
3371 UploadId: MultipartUploadId;
3372 RequestPayer?: RequestPayer;
3373 }
3374 export type Location = string;
3375 export type LocationPrefix = string;
3376 export interface LoggingEnabled {
3377 /**
3378 * 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 TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.
3379 */
3380 TargetBucket: TargetBucket;
3381 /**
3382 *
3383 */
3384 TargetGrants?: TargetGrants;
3385 /**
3386 * This element lets you specify a prefix for the keys that the log files will be stored under.
3387 */
3388 TargetPrefix: TargetPrefix;
3389 }
3390 export type MFA = string;
3391 export type MFADelete = "Enabled"|"Disabled"|string;
3392 export type MFADeleteStatus = "Enabled"|"Disabled"|string;
3393 export type Marker = string;
3394 export type MaxAgeSeconds = number;
3395 export type MaxKeys = number;
3396 export type MaxParts = number;
3397 export type MaxUploads = number;
3398 export type Message = string;
3399 export type Metadata = {[key: string]: MetadataValue};
3400 export type MetadataDirective = "COPY"|"REPLACE"|string;
3401 export interface MetadataEntry {
3402 /**
3403 *
3404 */
3405 Name?: MetadataKey;
3406 /**
3407 *
3408 */
3409 Value?: MetadataValue;
3410 }
3411 export type MetadataKey = string;
3412 export type MetadataValue = string;
3413 export interface MetricsAndOperator {
3414 /**
3415 * The prefix used when evaluating an AND predicate.
3416 */
3417 Prefix?: Prefix;
3418 /**
3419 * The list of tags used when evaluating an AND predicate.
3420 */
3421 Tags?: TagSet;
3422 }
3423 export interface MetricsConfiguration {
3424 /**
3425 * The ID used to identify the metrics configuration.
3426 */
3427 Id: MetricsId;
3428 /**
3429 * 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).
3430 */
3431 Filter?: MetricsFilter;
3432 }
3433 export type MetricsConfigurationList = MetricsConfiguration[];
3434 export interface MetricsFilter {
3435 /**
3436 * The prefix used when evaluating a metrics filter.
3437 */
3438 Prefix?: Prefix;
3439 /**
3440 * The tag used when evaluating a metrics filter.
3441 */
3442 Tag?: Tag;
3443 /**
3444 * 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.
3445 */
3446 And?: MetricsAndOperator;
3447 }
3448 export type MetricsId = string;
3449 export type MissingMeta = number;
3450 export interface MultipartUpload {
3451 /**
3452 * Upload ID that identifies the multipart upload.
3453 */
3454 UploadId?: MultipartUploadId;
3455 /**
3456 * Key of the object for which the multipart upload was initiated.
3457 */
3458 Key?: ObjectKey;
3459 /**
3460 * Date and time at which the multipart upload was initiated.
3461 */
3462 Initiated?: Initiated;
3463 /**
3464 * The class of storage used to store the object.
3465 */
3466 StorageClass?: StorageClass;
3467 /**
3468 *
3469 */
3470 Owner?: Owner;
3471 /**
3472 * Identifies who initiated the multipart upload.
3473 */
3474 Initiator?: Initiator;
3475 }
3476 export type MultipartUploadId = string;
3477 export type MultipartUploadList = MultipartUpload[];
3478 export type NextKeyMarker = string;
3479 export type NextMarker = string;
3480 export type NextPartNumberMarker = number;
3481 export type NextToken = string;
3482 export type NextUploadIdMarker = string;
3483 export type NextVersionIdMarker = string;
3484 export interface NoncurrentVersionExpiration {
3485 /**
3486 * 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 How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.
3487 */
3488 NoncurrentDays?: Days;
3489 }
3490 export interface NoncurrentVersionTransition {
3491 /**
3492 * 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 How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.
3493 */
3494 NoncurrentDays?: Days;
3495 /**
3496 * The class of storage used to store the object.
3497 */
3498 StorageClass?: TransitionStorageClass;
3499 }
3500 export type NoncurrentVersionTransitionList = NoncurrentVersionTransition[];
3501 export interface NotificationConfiguration {
3502 /**
3503 *
3504 */
3505 TopicConfigurations?: TopicConfigurationList;
3506 /**
3507 *
3508 */
3509 QueueConfigurations?: QueueConfigurationList;
3510 /**
3511 *
3512 */
3513 LambdaFunctionConfigurations?: LambdaFunctionConfigurationList;
3514 }
3515 export interface NotificationConfigurationDeprecated {
3516 /**
3517 *
3518 */
3519 TopicConfiguration?: TopicConfigurationDeprecated;
3520 /**
3521 *
3522 */
3523 QueueConfiguration?: QueueConfigurationDeprecated;
3524 /**
3525 *
3526 */
3527 CloudFunctionConfiguration?: CloudFunctionConfiguration;
3528 }
3529 export interface NotificationConfigurationFilter {
3530 Key?: S3KeyFilter;
3531 }
3532 export type NotificationId = string;
3533 export interface Object {
3534 /**
3535 *
3536 */
3537 Key?: ObjectKey;
3538 /**
3539 *
3540 */
3541 LastModified?: LastModified;
3542 /**
3543 *
3544 */
3545 ETag?: ETag;
3546 /**
3547 *
3548 */
3549 Size?: Size;
3550 /**
3551 * The class of storage used to store the object.
3552 */
3553 StorageClass?: ObjectStorageClass;
3554 /**
3555 *
3556 */
3557 Owner?: Owner;
3558 }
3559 export type ObjectCannedACL = "private"|"public-read"|"public-read-write"|"authenticated-read"|"aws-exec-read"|"bucket-owner-read"|"bucket-owner-full-control"|string;
3560 export interface ObjectIdentifier {
3561 /**
3562 * Key name of the object to delete.
3563 */
3564 Key: ObjectKey;
3565 /**
3566 * VersionId for the specific version of the object to delete.
3567 */
3568 VersionId?: ObjectVersionId;
3569 }
3570 export type ObjectIdentifierList = ObjectIdentifier[];
3571 export type ObjectKey = string;
3572 export type ObjectList = Object[];
3573 export interface ObjectLockConfiguration {
3574 /**
3575 * Indicates whether this bucket has an Object Lock configuration enabled.
3576 */
3577 ObjectLockEnabled?: ObjectLockEnabled;
3578 /**
3579 * The Object Lock rule in place for the specified object.
3580 */
3581 Rule?: ObjectLockRule;
3582 }
3583 export type ObjectLockEnabled = "Enabled"|string;
3584 export type ObjectLockEnabledForBucket = boolean;
3585 export interface ObjectLockLegalHold {
3586 /**
3587 * Indicates whether the specified object has a Legal Hold in place.
3588 */
3589 Status?: ObjectLockLegalHoldStatus;
3590 }
3591 export type ObjectLockLegalHoldStatus = "ON"|"OFF"|string;
3592 export type ObjectLockMode = "GOVERNANCE"|"COMPLIANCE"|string;
3593 export type ObjectLockRetainUntilDate = Date;
3594 export interface ObjectLockRetention {
3595 /**
3596 * Indicates the Retention mode for the specified object.
3597 */
3598 Mode?: ObjectLockRetentionMode;
3599 /**
3600 * The date on which this Object Lock Retention will expire.
3601 */
3602 RetainUntilDate?: _Date;
3603 }
3604 export type ObjectLockRetentionMode = "GOVERNANCE"|"COMPLIANCE"|string;
3605 export interface ObjectLockRule {
3606 /**
3607 * The default retention period that you want to apply to new objects placed in the specified bucket.
3608 */
3609 DefaultRetention?: DefaultRetention;
3610 }
3611 export type ObjectLockToken = string;
3612 export type ObjectStorageClass = "STANDARD"|"REDUCED_REDUNDANCY"|"GLACIER"|"STANDARD_IA"|"ONEZONE_IA"|"INTELLIGENT_TIERING"|string;
3613 export interface ObjectVersion {
3614 /**
3615 *
3616 */
3617 ETag?: ETag;
3618 /**
3619 * Size in bytes of the object.
3620 */
3621 Size?: Size;
3622 /**
3623 * The class of storage used to store the object.
3624 */
3625 StorageClass?: ObjectVersionStorageClass;
3626 /**
3627 * The object key.
3628 */
3629 Key?: ObjectKey;
3630 /**
3631 * Version ID of an object.
3632 */
3633 VersionId?: ObjectVersionId;
3634 /**
3635 * Specifies whether the object is (true) or is not (false) the latest version of an object.
3636 */
3637 IsLatest?: IsLatest;
3638 /**
3639 * Date and time the object was last modified.
3640 */
3641 LastModified?: LastModified;
3642 /**
3643 *
3644 */
3645 Owner?: Owner;
3646 }
3647 export type ObjectVersionId = string;
3648 export type ObjectVersionList = ObjectVersion[];
3649 export type ObjectVersionStorageClass = "STANDARD"|string;
3650 export interface OutputLocation {
3651 /**
3652 * Describes an S3 location that will receive the results of the restore request.
3653 */
3654 S3?: S3Location;
3655 }
3656 export interface OutputSerialization {
3657 /**
3658 * Describes the serialization of CSV-encoded Select results.
3659 */
3660 CSV?: CSVOutput;
3661 /**
3662 * Specifies JSON as request's output serialization format.
3663 */
3664 JSON?: JSONOutput;
3665 }
3666 export interface Owner {
3667 /**
3668 *
3669 */
3670 DisplayName?: DisplayName;
3671 /**
3672 *
3673 */
3674 ID?: ID;
3675 }
3676 export type OwnerOverride = "Destination"|string;
3677 export interface ParquetInput {
3678 }
3679 export interface Part {
3680 /**
3681 * Part number identifying the part. This is a positive integer between 1 and 10,000.
3682 */
3683 PartNumber?: PartNumber;
3684 /**
3685 * Date and time at which the part was uploaded.
3686 */
3687 LastModified?: LastModified;
3688 /**
3689 * Entity tag returned when the part was uploaded.
3690 */
3691 ETag?: ETag;
3692 /**
3693 * Size in bytes of the uploaded part data.
3694 */
3695 Size?: Size;
3696 }
3697 export type PartNumber = number;
3698 export type PartNumberMarker = number;
3699 export type Parts = Part[];
3700 export type PartsCount = number;
3701 export type Payer = "Requester"|"BucketOwner"|string;
3702 export type Permission = "FULL_CONTROL"|"WRITE"|"WRITE_ACP"|"READ"|"READ_ACP"|string;
3703 export type Policy = string;
3704 export interface PolicyStatus {
3705 /**
3706 * The policy status for this bucket. TRUE indicates that this bucket is public. FALSE indicates that the bucket is not public.
3707 */
3708 IsPublic?: IsPublic;
3709 }
3710 export type Prefix = string;
3711 export type Priority = number;
3712 export interface Progress {
3713 /**
3714 * The current number of object bytes scanned.
3715 */
3716 BytesScanned?: BytesScanned;
3717 /**
3718 * The current number of uncompressed object bytes processed.
3719 */
3720 BytesProcessed?: BytesProcessed;
3721 /**
3722 * The current number of bytes of records payload data returned.
3723 */
3724 BytesReturned?: BytesReturned;
3725 }
3726 export interface ProgressEvent {
3727 /**
3728 * The Progress event details.
3729 */
3730 Details?: Progress;
3731 }
3732 export type Protocol = "http"|"https"|string;
3733 export interface PublicAccessBlockConfiguration {
3734 /**
3735 * Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to TRUE causes the following behavior: PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public. PUT Object calls fail if the request includes a public ACL. Enabling this setting doesn't affect existing policies or ACLs.
3736 */
3737 BlockPublicAcls?: Setting;
3738 /**
3739 * Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket. Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
3740 */
3741 IgnorePublicAcls?: Setting;
3742 /**
3743 * Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. Enabling this setting doesn't affect existing bucket policies.
3744 */
3745 BlockPublicPolicy?: Setting;
3746 /**
3747 * Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only AWS services and authorized users within this account if the bucket has a public policy. 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.
3748 */
3749 RestrictPublicBuckets?: Setting;
3750 }
3751 export interface PutBucketAccelerateConfigurationRequest {
3752 /**
3753 * Name of the bucket for which the accelerate configuration is set.
3754 */
3755 Bucket: BucketName;
3756 /**
3757 * Specifies the Accelerate Configuration you want to set for the bucket.
3758 */
3759 AccelerateConfiguration: AccelerateConfiguration;
3760 }
3761 export interface PutBucketAclRequest {
3762 /**
3763 * The canned ACL to apply to the bucket.
3764 */
3765 ACL?: BucketCannedACL;
3766 /**
3767 *
3768 */
3769 AccessControlPolicy?: AccessControlPolicy;
3770 /**
3771 *
3772 */
3773 Bucket: BucketName;
3774 /**
3775 *
3776 */
3777 ContentMD5?: ContentMD5;
3778 /**
3779 * Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.
3780 */
3781 GrantFullControl?: GrantFullControl;
3782 /**
3783 * Allows grantee to list the objects in the bucket.
3784 */
3785 GrantRead?: GrantRead;
3786 /**
3787 * Allows grantee to read the bucket ACL.
3788 */
3789 GrantReadACP?: GrantReadACP;
3790 /**
3791 * Allows grantee to create, overwrite, and delete any object in the bucket.
3792 */
3793 GrantWrite?: GrantWrite;
3794 /**
3795 * Allows grantee to write the ACL for the applicable bucket.
3796 */
3797 GrantWriteACP?: GrantWriteACP;
3798 }
3799 export interface PutBucketAnalyticsConfigurationRequest {
3800 /**
3801 * The name of the bucket to which an analytics configuration is stored.
3802 */
3803 Bucket: BucketName;
3804 /**
3805 * The identifier used to represent an analytics configuration.
3806 */
3807 Id: AnalyticsId;
3808 /**
3809 * The configuration and any analyses for the analytics filter.
3810 */
3811 AnalyticsConfiguration: AnalyticsConfiguration;
3812 }
3813 export interface PutBucketCorsRequest {
3814 /**
3815 *
3816 */
3817 Bucket: BucketName;
3818 /**
3819 *
3820 */
3821 CORSConfiguration: CORSConfiguration;
3822 /**
3823 *
3824 */
3825 ContentMD5?: ContentMD5;
3826 }
3827 export interface PutBucketEncryptionRequest {
3828 /**
3829 * The name of the bucket for which the server-side encryption configuration is set.
3830 */
3831 Bucket: BucketName;
3832 /**
3833 * The base64-encoded 128-bit MD5 digest of the server-side encryption configuration. This parameter is auto-populated when using the command from the CLI
3834 */
3835 ContentMD5?: ContentMD5;
3836 ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration;
3837 }
3838 export interface PutBucketInventoryConfigurationRequest {
3839 /**
3840 * The name of the bucket where the inventory configuration will be stored.
3841 */
3842 Bucket: BucketName;
3843 /**
3844 * The ID used to identify the inventory configuration.
3845 */
3846 Id: InventoryId;
3847 /**
3848 * Specifies the inventory configuration.
3849 */
3850 InventoryConfiguration: InventoryConfiguration;
3851 }
3852 export interface PutBucketLifecycleConfigurationRequest {
3853 /**
3854 *
3855 */
3856 Bucket: BucketName;
3857 /**
3858 *
3859 */
3860 LifecycleConfiguration?: BucketLifecycleConfiguration;
3861 }
3862 export interface PutBucketLifecycleRequest {
3863 /**
3864 *
3865 */
3866 Bucket: BucketName;
3867 /**
3868 *
3869 */
3870 ContentMD5?: ContentMD5;
3871 /**
3872 *
3873 */
3874 LifecycleConfiguration?: LifecycleConfiguration;
3875 }
3876 export interface PutBucketLoggingRequest {
3877 /**
3878 *
3879 */
3880 Bucket: BucketName;
3881 /**
3882 *
3883 */
3884 BucketLoggingStatus: BucketLoggingStatus;
3885 /**
3886 *
3887 */
3888 ContentMD5?: ContentMD5;
3889 }
3890 export interface PutBucketMetricsConfigurationRequest {
3891 /**
3892 * The name of the bucket for which the metrics configuration is set.
3893 */
3894 Bucket: BucketName;
3895 /**
3896 * The ID used to identify the metrics configuration.
3897 */
3898 Id: MetricsId;
3899 /**
3900 * Specifies the metrics configuration.
3901 */
3902 MetricsConfiguration: MetricsConfiguration;
3903 }
3904 export interface PutBucketNotificationConfigurationRequest {
3905 /**
3906 *
3907 */
3908 Bucket: BucketName;
3909 NotificationConfiguration: NotificationConfiguration;
3910 }
3911 export interface PutBucketNotificationRequest {
3912 /**
3913 *
3914 */
3915 Bucket: BucketName;
3916 /**
3917 *
3918 */
3919 ContentMD5?: ContentMD5;
3920 /**
3921 *
3922 */
3923 NotificationConfiguration: NotificationConfigurationDeprecated;
3924 }
3925 export interface PutBucketPolicyRequest {
3926 /**
3927 *
3928 */
3929 Bucket: BucketName;
3930 /**
3931 *
3932 */
3933 ContentMD5?: ContentMD5;
3934 /**
3935 * Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.
3936 */
3937 ConfirmRemoveSelfBucketAccess?: ConfirmRemoveSelfBucketAccess;
3938 /**
3939 * The bucket policy as a JSON document.
3940 */
3941 Policy: Policy;
3942 }
3943 export interface PutBucketReplicationRequest {
3944 /**
3945 *
3946 */
3947 Bucket: BucketName;
3948 /**
3949 *
3950 */
3951 ContentMD5?: ContentMD5;
3952 ReplicationConfiguration: ReplicationConfiguration;
3953 }
3954 export interface PutBucketRequestPaymentRequest {
3955 /**
3956 *
3957 */
3958 Bucket: BucketName;
3959 /**
3960 *
3961 */
3962 ContentMD5?: ContentMD5;
3963 /**
3964 *
3965 */
3966 RequestPaymentConfiguration: RequestPaymentConfiguration;
3967 }
3968 export interface PutBucketTaggingRequest {
3969 /**
3970 *
3971 */
3972 Bucket: BucketName;
3973 /**
3974 *
3975 */
3976 ContentMD5?: ContentMD5;
3977 /**
3978 *
3979 */
3980 Tagging: Tagging;
3981 }
3982 export interface PutBucketVersioningRequest {
3983 /**
3984 *
3985 */
3986 Bucket: BucketName;
3987 /**
3988 *
3989 */
3990 ContentMD5?: ContentMD5;
3991 /**
3992 * The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.
3993 */
3994 MFA?: MFA;
3995 /**
3996 *
3997 */
3998 VersioningConfiguration: VersioningConfiguration;
3999 }
4000 export interface PutBucketWebsiteRequest {
4001 /**
4002 *
4003 */
4004 Bucket: BucketName;
4005 /**
4006 *
4007 */
4008 ContentMD5?: ContentMD5;
4009 /**
4010 *
4011 */
4012 WebsiteConfiguration: WebsiteConfiguration;
4013 }
4014 export interface PutObjectAclOutput {
4015 RequestCharged?: RequestCharged;
4016 }
4017 export interface PutObjectAclRequest {
4018 /**
4019 * The canned ACL to apply to the object.
4020 */
4021 ACL?: ObjectCannedACL;
4022 /**
4023 *
4024 */
4025 AccessControlPolicy?: AccessControlPolicy;
4026 /**
4027 *
4028 */
4029 Bucket: BucketName;
4030 /**
4031 *
4032 */
4033 ContentMD5?: ContentMD5;
4034 /**
4035 * Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.
4036 */
4037 GrantFullControl?: GrantFullControl;
4038 /**
4039 * Allows grantee to list the objects in the bucket.
4040 */
4041 GrantRead?: GrantRead;
4042 /**
4043 * Allows grantee to read the bucket ACL.
4044 */
4045 GrantReadACP?: GrantReadACP;
4046 /**
4047 * Allows grantee to create, overwrite, and delete any object in the bucket.
4048 */
4049 GrantWrite?: GrantWrite;
4050 /**
4051 * Allows grantee to write the ACL for the applicable bucket.
4052 */
4053 GrantWriteACP?: GrantWriteACP;
4054 /**
4055 *
4056 */
4057 Key: ObjectKey;
4058 RequestPayer?: RequestPayer;
4059 /**
4060 * VersionId used to reference a specific version of the object.
4061 */
4062 VersionId?: ObjectVersionId;
4063 }
4064 export interface PutObjectLegalHoldOutput {
4065 RequestCharged?: RequestCharged;
4066 }
4067 export interface PutObjectLegalHoldRequest {
4068 /**
4069 * The bucket containing the object that you want to place a Legal Hold on.
4070 */
4071 Bucket: BucketName;
4072 /**
4073 * The key name for the object that you want to place a Legal Hold on.
4074 */
4075 Key: ObjectKey;
4076 /**
4077 * Container element for the Legal Hold configuration you want to apply to the specified object.
4078 */
4079 LegalHold?: ObjectLockLegalHold;
4080 RequestPayer?: RequestPayer;
4081 /**
4082 * The version ID of the object that you want to place a Legal Hold on.
4083 */
4084 VersionId?: ObjectVersionId;
4085 /**
4086 * The MD5 hash for the request body.
4087 */
4088 ContentMD5?: ContentMD5;
4089 }
4090 export interface PutObjectLockConfigurationOutput {
4091 RequestCharged?: RequestCharged;
4092 }
4093 export interface PutObjectLockConfigurationRequest {
4094 /**
4095 * The bucket whose Object Lock configuration you want to create or replace.
4096 */
4097 Bucket: BucketName;
4098 /**
4099 * The Object Lock configuration that you want to apply to the specified bucket.
4100 */
4101 ObjectLockConfiguration?: ObjectLockConfiguration;
4102 RequestPayer?: RequestPayer;
4103 /**
4104 * A token to allow Object Lock to be enabled for an existing bucket.
4105 */
4106 Token?: ObjectLockToken;
4107 /**
4108 * The MD5 hash for the request body.
4109 */
4110 ContentMD5?: ContentMD5;
4111 }
4112 export interface PutObjectOutput {
4113 /**
4114 * 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.
4115 */
4116 Expiration?: Expiration;
4117 /**
4118 * Entity tag for the uploaded object.
4119 */
4120 ETag?: ETag;
4121 /**
4122 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
4123 */
4124 ServerSideEncryption?: ServerSideEncryption;
4125 /**
4126 * Version of the object.
4127 */
4128 VersionId?: ObjectVersionId;
4129 /**
4130 * If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.
4131 */
4132 SSECustomerAlgorithm?: SSECustomerAlgorithm;
4133 /**
4134 * 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.
4135 */
4136 SSECustomerKeyMD5?: SSECustomerKeyMD5;
4137 /**
4138 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
4139 */
4140 SSEKMSKeyId?: SSEKMSKeyId;
4141 RequestCharged?: RequestCharged;
4142 }
4143 export interface PutObjectRequest {
4144 /**
4145 * The canned ACL to apply to the object.
4146 */
4147 ACL?: ObjectCannedACL;
4148 /**
4149 * Object data.
4150 */
4151 Body?: Body;
4152 /**
4153 * Name of the bucket to which the PUT operation was initiated.
4154 */
4155 Bucket: BucketName;
4156 /**
4157 * Specifies caching behavior along the request/reply chain.
4158 */
4159 CacheControl?: CacheControl;
4160 /**
4161 * Specifies presentational information for the object.
4162 */
4163 ContentDisposition?: ContentDisposition;
4164 /**
4165 * 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.
4166 */
4167 ContentEncoding?: ContentEncoding;
4168 /**
4169 * The language the content is in.
4170 */
4171 ContentLanguage?: ContentLanguage;
4172 /**
4173 * Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.
4174 */
4175 ContentLength?: ContentLength;
4176 /**
4177 * The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated when using the command from the CLI
4178 */
4179 ContentMD5?: ContentMD5;
4180 /**
4181 * A standard MIME type describing the format of the object data.
4182 */
4183 ContentType?: ContentType;
4184 /**
4185 * The date and time at which the object is no longer cacheable.
4186 */
4187 Expires?: Expires;
4188 /**
4189 * Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
4190 */
4191 GrantFullControl?: GrantFullControl;
4192 /**
4193 * Allows grantee to read the object data and its metadata.
4194 */
4195 GrantRead?: GrantRead;
4196 /**
4197 * Allows grantee to read the object ACL.
4198 */
4199 GrantReadACP?: GrantReadACP;
4200 /**
4201 * Allows grantee to write the ACL for the applicable object.
4202 */
4203 GrantWriteACP?: GrantWriteACP;
4204 /**
4205 * Object key for which the PUT operation was initiated.
4206 */
4207 Key: ObjectKey;
4208 /**
4209 * A map of metadata to store with the object in S3.
4210 */
4211 Metadata?: Metadata;
4212 /**
4213 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
4214 */
4215 ServerSideEncryption?: ServerSideEncryption;
4216 /**
4217 * The type of storage to use for the object. Defaults to 'STANDARD'.
4218 */
4219 StorageClass?: StorageClass;
4220 /**
4221 * 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.
4222 */
4223 WebsiteRedirectLocation?: WebsiteRedirectLocation;
4224 /**
4225 * Specifies the algorithm to use to when encrypting the object (e.g., AES256).
4226 */
4227 SSECustomerAlgorithm?: SSECustomerAlgorithm;
4228 /**
4229 * 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 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.
4230 */
4231 SSECustomerKey?: SSECustomerKey;
4232 /**
4233 * 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 the encryption key was transmitted without error.
4234 */
4235 SSECustomerKeyMD5?: SSECustomerKeyMD5;
4236 /**
4237 * 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. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
4238 */
4239 SSEKMSKeyId?: SSEKMSKeyId;
4240 RequestPayer?: RequestPayer;
4241 /**
4242 * The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For example, "Key1=Value1")
4243 */
4244 Tagging?: TaggingHeader;
4245 /**
4246 * The Object Lock mode that you want to apply to this object.
4247 */
4248 ObjectLockMode?: ObjectLockMode;
4249 /**
4250 * The date and time when you want this object's Object Lock to expire.
4251 */
4252 ObjectLockRetainUntilDate?: ObjectLockRetainUntilDate;
4253 /**
4254 * The Legal Hold status that you want to apply to the specified object.
4255 */
4256 ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus;
4257 }
4258 export interface PutObjectRetentionOutput {
4259 RequestCharged?: RequestCharged;
4260 }
4261 export interface PutObjectRetentionRequest {
4262 /**
4263 * The bucket that contains the object you want to apply this Object Retention configuration to.
4264 */
4265 Bucket: BucketName;
4266 /**
4267 * The key name for the object that you want to apply this Object Retention configuration to.
4268 */
4269 Key: ObjectKey;
4270 /**
4271 * The container element for the Object Retention configuration.
4272 */
4273 Retention?: ObjectLockRetention;
4274 RequestPayer?: RequestPayer;
4275 /**
4276 * The version ID for the object that you want to apply this Object Retention configuration to.
4277 */
4278 VersionId?: ObjectVersionId;
4279 /**
4280 * Indicates whether this operation should bypass Governance-mode restrictions.j
4281 */
4282 BypassGovernanceRetention?: BypassGovernanceRetention;
4283 /**
4284 * The MD5 hash for the request body.
4285 */
4286 ContentMD5?: ContentMD5;
4287 }
4288 export interface PutObjectTaggingOutput {
4289 /**
4290 *
4291 */
4292 VersionId?: ObjectVersionId;
4293 }
4294 export interface PutObjectTaggingRequest {
4295 /**
4296 *
4297 */
4298 Bucket: BucketName;
4299 /**
4300 *
4301 */
4302 Key: ObjectKey;
4303 /**
4304 *
4305 */
4306 VersionId?: ObjectVersionId;
4307 /**
4308 *
4309 */
4310 ContentMD5?: ContentMD5;
4311 /**
4312 *
4313 */
4314 Tagging: Tagging;
4315 }
4316 export interface PutPublicAccessBlockRequest {
4317 /**
4318 * The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want to set.
4319 */
4320 Bucket: BucketName;
4321 /**
4322 * The MD5 hash of the PutPublicAccessBlock request body.
4323 */
4324 ContentMD5?: ContentMD5;
4325 /**
4326 * 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 The Meaning of "Public" in the Amazon Simple Storage Service Developer Guide.
4327 */
4328 PublicAccessBlockConfiguration: PublicAccessBlockConfiguration;
4329 }
4330 export type QueueArn = string;
4331 export interface QueueConfiguration {
4332 Id?: NotificationId;
4333 /**
4334 * The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 will publish a message when it detects events of the specified type.
4335 */
4336 QueueArn: QueueArn;
4337 /**
4338 *
4339 */
4340 Events: EventList;
4341 Filter?: NotificationConfigurationFilter;
4342 }
4343 export interface QueueConfigurationDeprecated {
4344 Id?: NotificationId;
4345 Event?: Event;
4346 /**
4347 *
4348 */
4349 Events?: EventList;
4350 /**
4351 *
4352 */
4353 Queue?: QueueArn;
4354 }
4355 export type QueueConfigurationList = QueueConfiguration[];
4356 export type Quiet = boolean;
4357 export type QuoteCharacter = string;
4358 export type QuoteEscapeCharacter = string;
4359 export type QuoteFields = "ALWAYS"|"ASNEEDED"|string;
4360 export type Range = string;
4361 export type RecordDelimiter = string;
4362 export interface RecordsEvent {
4363 /**
4364 * The byte array of partial, one or more result records.
4365 */
4366 Payload?: Buffer;
4367 }
4368 export interface Redirect {
4369 /**
4370 * The host name to use in the redirect request.
4371 */
4372 HostName?: HostName;
4373 /**
4374 * The HTTP redirect code to use on the response. Not required if one of the siblings is present.
4375 */
4376 HttpRedirectCode?: HttpRedirectCode;
4377 /**
4378 * Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.
4379 */
4380 Protocol?: Protocol;
4381 /**
4382 * The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.
4383 */
4384 ReplaceKeyPrefixWith?: ReplaceKeyPrefixWith;
4385 /**
4386 * The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is present. Can be present only if ReplaceKeyPrefixWith is not provided.
4387 */
4388 ReplaceKeyWith?: ReplaceKeyWith;
4389 }
4390 export interface RedirectAllRequestsTo {
4391 /**
4392 * Name of the host where requests will be redirected.
4393 */
4394 HostName: HostName;
4395 /**
4396 * Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.
4397 */
4398 Protocol?: Protocol;
4399 }
4400 export type ReplaceKeyPrefixWith = string;
4401 export type ReplaceKeyWith = string;
4402 export type ReplicaKmsKeyID = string;
4403 export interface ReplicationConfiguration {
4404 /**
4405 * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 can assume when replicating the objects.
4406 */
4407 Role: Role;
4408 /**
4409 * 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.
4410 */
4411 Rules: ReplicationRules;
4412 }
4413 export interface ReplicationRule {
4414 /**
4415 * A unique identifier for the rule. The maximum value is 255 characters.
4416 */
4417 ID?: ID;
4418 /**
4419 * The priority associated with the rule. If you specify multiple rules in a replication configuration, Amazon S3 prioritizes the rules to prevent conflicts when filtering. If two or more rules identify the same object based on a specified filter, the rule with higher priority takes precedence. For example: Same object quality prefix based filter criteria If prefixes you specified in multiple rules overlap Same object qualify tag based filter criteria specified in multiple rules For more information, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.
4420 */
4421 Priority?: Priority;
4422 /**
4423 * An object keyname prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters.
4424 */
4425 Prefix?: Prefix;
4426 Filter?: ReplicationRuleFilter;
4427 /**
4428 * If status isn't enabled, the rule is ignored.
4429 */
4430 Status: ReplicationRuleStatus;
4431 /**
4432 * 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 an AWS KMS-Managed Key (SSE-KMS). If you want Amazon S3 to replicate objects created with server-side encryption using AWS KMS-Managed Keys.
4433 */
4434 SourceSelectionCriteria?: SourceSelectionCriteria;
4435 /**
4436 * A container for information about the replication destination.
4437 */
4438 Destination: Destination;
4439 DeleteMarkerReplication?: DeleteMarkerReplication;
4440 }
4441 export interface ReplicationRuleAndOperator {
4442 /**
4443 *
4444 */
4445 Prefix?: Prefix;
4446 /**
4447 *
4448 */
4449 Tags?: TagSet;
4450 }
4451 export interface ReplicationRuleFilter {
4452 /**
4453 * An object keyname prefix that identifies the subset of objects to which the rule applies.
4454 */
4455 Prefix?: Prefix;
4456 /**
4457 * A container for specifying a tag key and value. The rule applies only to objects that have the tag in their tag set.
4458 */
4459 Tag?: Tag;
4460 /**
4461 * 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: If you specify both a Prefix and a Tag filter, wrap these filters in an And tag. If you specify a filter based on multiple tags, wrap the Tag elements in an And tag.
4462 */
4463 And?: ReplicationRuleAndOperator;
4464 }
4465 export type ReplicationRuleStatus = "Enabled"|"Disabled"|string;
4466 export type ReplicationRules = ReplicationRule[];
4467 export type ReplicationStatus = "COMPLETE"|"PENDING"|"FAILED"|"REPLICA"|string;
4468 export type RequestCharged = "requester"|string;
4469 export type RequestPayer = "requester"|string;
4470 export interface RequestPaymentConfiguration {
4471 /**
4472 * Specifies who pays for the download and request fees.
4473 */
4474 Payer: Payer;
4475 }
4476 export interface RequestProgress {
4477 /**
4478 * Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.
4479 */
4480 Enabled?: EnableRequestProgress;
4481 }
4482 export type ResponseCacheControl = string;
4483 export type ResponseContentDisposition = string;
4484 export type ResponseContentEncoding = string;
4485 export type ResponseContentLanguage = string;
4486 export type ResponseContentType = string;
4487 export type ResponseExpires = Date;
4488 export type Restore = string;
4489 export interface RestoreObjectOutput {
4490 RequestCharged?: RequestCharged;
4491 /**
4492 * Indicates the path in the provided S3 output location where Select results will be restored to.
4493 */
4494 RestoreOutputPath?: RestoreOutputPath;
4495 }
4496 export interface RestoreObjectRequest {
4497 /**
4498 *
4499 */
4500 Bucket: BucketName;
4501 /**
4502 *
4503 */
4504 Key: ObjectKey;
4505 /**
4506 *
4507 */
4508 VersionId?: ObjectVersionId;
4509 RestoreRequest?: RestoreRequest;
4510 RequestPayer?: RequestPayer;
4511 }
4512 export type RestoreOutputPath = string;
4513 export interface RestoreRequest {
4514 /**
4515 * Lifetime of the active copy in days. Do not use with restores that specify OutputLocation.
4516 */
4517 Days?: Days;
4518 /**
4519 * Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation.
4520 */
4521 GlacierJobParameters?: GlacierJobParameters;
4522 /**
4523 * Type of restore request.
4524 */
4525 Type?: RestoreRequestType;
4526 /**
4527 * Glacier retrieval tier at which the restore will be processed.
4528 */
4529 Tier?: Tier;
4530 /**
4531 * The optional description for the job.
4532 */
4533 Description?: Description;
4534 /**
4535 * Describes the parameters for Select job types.
4536 */
4537 SelectParameters?: SelectParameters;
4538 /**
4539 * Describes the location where the restore job's output is stored.
4540 */
4541 OutputLocation?: OutputLocation;
4542 }
4543 export type RestoreRequestType = "SELECT"|string;
4544 export type Role = string;
4545 export interface RoutingRule {
4546 /**
4547 * 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 /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.
4548 */
4549 Condition?: Condition;
4550 /**
4551 * 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.
4552 */
4553 Redirect: Redirect;
4554 }
4555 export type RoutingRules = RoutingRule[];
4556 export interface Rule {
4557 /**
4558 *
4559 */
4560 Expiration?: LifecycleExpiration;
4561 /**
4562 * Unique identifier for the rule. The value cannot be longer than 255 characters.
4563 */
4564 ID?: ID;
4565 /**
4566 * Prefix identifying one or more objects to which the rule applies.
4567 */
4568 Prefix: Prefix;
4569 /**
4570 * If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.
4571 */
4572 Status: ExpirationStatus;
4573 /**
4574 *
4575 */
4576 Transition?: Transition;
4577 NoncurrentVersionTransition?: NoncurrentVersionTransition;
4578 NoncurrentVersionExpiration?: NoncurrentVersionExpiration;
4579 AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload;
4580 }
4581 export type Rules = Rule[];
4582 export interface S3KeyFilter {
4583 FilterRules?: FilterRuleList;
4584 }
4585 export interface S3Location {
4586 /**
4587 * The name of the bucket where the restore results will be placed.
4588 */
4589 BucketName: BucketName;
4590 /**
4591 * The prefix that is prepended to the restore results for this request.
4592 */
4593 Prefix: LocationPrefix;
4594 Encryption?: Encryption;
4595 /**
4596 * The canned ACL to apply to the restore results.
4597 */
4598 CannedACL?: ObjectCannedACL;
4599 /**
4600 * A list of grants that control access to the staged results.
4601 */
4602 AccessControlList?: Grants;
4603 /**
4604 * The tag-set that is applied to the restore results.
4605 */
4606 Tagging?: Tagging;
4607 /**
4608 * A list of metadata to store with the restore results in S3.
4609 */
4610 UserMetadata?: UserMetadata;
4611 /**
4612 * The class of storage used to store the restore results.
4613 */
4614 StorageClass?: StorageClass;
4615 }
4616 export type SSECustomerAlgorithm = string;
4617 export type SSECustomerKey = Buffer|Uint8Array|Blob|string;
4618 export type SSECustomerKeyMD5 = string;
4619 export interface SSEKMS {
4620 /**
4621 * Specifies the ID of the AWS Key Management Service (KMS) master encryption key to use for encrypting Inventory reports.
4622 */
4623 KeyId: SSEKMSKeyId;
4624 }
4625 export type SSEKMSKeyId = string;
4626 export interface SSES3 {
4627 }
4628 export type SelectObjectContentEventStream = EventStream<{Records?:RecordsEvent,Stats?:StatsEvent,Progress?:ProgressEvent,Cont?:ContinuationEvent,End?:EndEvent}>;
4629 export interface SelectObjectContentOutput {
4630 /**
4631 *
4632 */
4633 Payload?: SelectObjectContentEventStream;
4634 }
4635 export interface SelectObjectContentRequest {
4636 /**
4637 * The S3 bucket.
4638 */
4639 Bucket: BucketName;
4640 /**
4641 * The object key.
4642 */
4643 Key: ObjectKey;
4644 /**
4645 * The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.
4646 */
4647 SSECustomerAlgorithm?: SSECustomerAlgorithm;
4648 /**
4649 * The SSE Customer Key. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.
4650 */
4651 SSECustomerKey?: SSECustomerKey;
4652 /**
4653 * The SSE Customer Key MD5. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.
4654 */
4655 SSECustomerKeyMD5?: SSECustomerKeyMD5;
4656 /**
4657 * The expression that is used to query the object.
4658 */
4659 Expression: Expression;
4660 /**
4661 * The type of the provided expression (for example., SQL).
4662 */
4663 ExpressionType: ExpressionType;
4664 /**
4665 * Specifies if periodic request progress information should be enabled.
4666 */
4667 RequestProgress?: RequestProgress;
4668 /**
4669 * Describes the format of the data in the object that is being queried.
4670 */
4671 InputSerialization: InputSerialization;
4672 /**
4673 * Describes the format of the data that you want Amazon S3 to return in response.
4674 */
4675 OutputSerialization: OutputSerialization;
4676 }
4677 export interface SelectParameters {
4678 /**
4679 * Describes the serialization format of the object.
4680 */
4681 InputSerialization: InputSerialization;
4682 /**
4683 * The type of the provided expression (e.g., SQL).
4684 */
4685 ExpressionType: ExpressionType;
4686 /**
4687 * The expression that is used to query the object.
4688 */
4689 Expression: Expression;
4690 /**
4691 * Describes how the results of the Select job are serialized.
4692 */
4693 OutputSerialization: OutputSerialization;
4694 }
4695 export type ServerSideEncryption = "AES256"|"aws:kms"|string;
4696 export interface ServerSideEncryptionByDefault {
4697 /**
4698 * Server-side encryption algorithm to use for the default encryption.
4699 */
4700 SSEAlgorithm: ServerSideEncryption;
4701 /**
4702 * KMS master key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.
4703 */
4704 KMSMasterKeyID?: SSEKMSKeyId;
4705 }
4706 export interface ServerSideEncryptionConfiguration {
4707 /**
4708 * Container for information about a particular server-side encryption configuration rule.
4709 */
4710 Rules: ServerSideEncryptionRules;
4711 }
4712 export interface ServerSideEncryptionRule {
4713 /**
4714 * Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.
4715 */
4716 ApplyServerSideEncryptionByDefault?: ServerSideEncryptionByDefault;
4717 }
4718 export type ServerSideEncryptionRules = ServerSideEncryptionRule[];
4719 export type Setting = boolean;
4720 export type Size = number;
4721 export interface SourceSelectionCriteria {
4722 /**
4723 * A container for filter information for the selection of S3 objects encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, this element is required.
4724 */
4725 SseKmsEncryptedObjects?: SseKmsEncryptedObjects;
4726 }
4727 export interface SseKmsEncryptedObjects {
4728 /**
4729 * If the status is not Enabled, replication for S3 objects encrypted with AWS KMS is disabled.
4730 */
4731 Status: SseKmsEncryptedObjectsStatus;
4732 }
4733 export type SseKmsEncryptedObjectsStatus = "Enabled"|"Disabled"|string;
4734 export type StartAfter = string;
4735 export interface Stats {
4736 /**
4737 * The total number of object bytes scanned.
4738 */
4739 BytesScanned?: BytesScanned;
4740 /**
4741 * The total number of uncompressed object bytes processed.
4742 */
4743 BytesProcessed?: BytesProcessed;
4744 /**
4745 * The total number of bytes of records payload data returned.
4746 */
4747 BytesReturned?: BytesReturned;
4748 }
4749 export interface StatsEvent {
4750 /**
4751 * The Stats event details.
4752 */
4753 Details?: Stats;
4754 }
4755 export type StorageClass = "STANDARD"|"REDUCED_REDUNDANCY"|"STANDARD_IA"|"ONEZONE_IA"|"INTELLIGENT_TIERING"|"GLACIER"|string;
4756 export interface StorageClassAnalysis {
4757 /**
4758 * A container used to describe how data related to the storage class analysis should be exported.
4759 */
4760 DataExport?: StorageClassAnalysisDataExport;
4761 }
4762 export interface StorageClassAnalysisDataExport {
4763 /**
4764 * The version of the output schema to use when exporting data. Must be V_1.
4765 */
4766 OutputSchemaVersion: StorageClassAnalysisSchemaVersion;
4767 /**
4768 * The place to store the data for an analysis.
4769 */
4770 Destination: AnalyticsExportDestination;
4771 }
4772 export type StorageClassAnalysisSchemaVersion = "V_1"|string;
4773 export type Suffix = string;
4774 export interface Tag {
4775 /**
4776 * Name of the tag.
4777 */
4778 Key: ObjectKey;
4779 /**
4780 * Value of the tag.
4781 */
4782 Value: Value;
4783 }
4784 export type TagCount = number;
4785 export type TagSet = Tag[];
4786 export interface Tagging {
4787 /**
4788 *
4789 */
4790 TagSet: TagSet;
4791 }
4792 export type TaggingDirective = "COPY"|"REPLACE"|string;
4793 export type TaggingHeader = string;
4794 export type TargetBucket = string;
4795 export interface TargetGrant {
4796 /**
4797 *
4798 */
4799 Grantee?: Grantee;
4800 /**
4801 * Logging permissions assigned to the Grantee for the bucket.
4802 */
4803 Permission?: BucketLogsPermission;
4804 }
4805 export type TargetGrants = TargetGrant[];
4806 export type TargetPrefix = string;
4807 export type Tier = "Standard"|"Bulk"|"Expedited"|string;
4808 export type Token = string;
4809 export type TopicArn = string;
4810 export interface TopicConfiguration {
4811 Id?: NotificationId;
4812 /**
4813 * The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 will publish a message when it detects events of the specified type.
4814 */
4815 TopicArn: TopicArn;
4816 /**
4817 *
4818 */
4819 Events: EventList;
4820 Filter?: NotificationConfigurationFilter;
4821 }
4822 export interface TopicConfigurationDeprecated {
4823 Id?: NotificationId;
4824 /**
4825 *
4826 */
4827 Events?: EventList;
4828 /**
4829 * Bucket event for which to send notifications.
4830 */
4831 Event?: Event;
4832 /**
4833 * Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket.
4834 */
4835 Topic?: TopicArn;
4836 }
4837 export type TopicConfigurationList = TopicConfiguration[];
4838 export interface Transition {
4839 /**
4840 * Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.
4841 */
4842 Date?: _Date;
4843 /**
4844 * Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.
4845 */
4846 Days?: Days;
4847 /**
4848 * The class of storage used to store the object.
4849 */
4850 StorageClass?: TransitionStorageClass;
4851 }
4852 export type TransitionList = Transition[];
4853 export type TransitionStorageClass = "GLACIER"|"STANDARD_IA"|"ONEZONE_IA"|"INTELLIGENT_TIERING"|string;
4854 export type Type = "CanonicalUser"|"AmazonCustomerByEmail"|"Group"|string;
4855 export type URI = string;
4856 export type UploadIdMarker = string;
4857 export interface UploadPartCopyOutput {
4858 /**
4859 * The version of the source object that was copied, if you have enabled versioning on the source bucket.
4860 */
4861 CopySourceVersionId?: CopySourceVersionId;
4862 /**
4863 *
4864 */
4865 CopyPartResult?: CopyPartResult;
4866 /**
4867 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
4868 */
4869 ServerSideEncryption?: ServerSideEncryption;
4870 /**
4871 * If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.
4872 */
4873 SSECustomerAlgorithm?: SSECustomerAlgorithm;
4874 /**
4875 * 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.
4876 */
4877 SSECustomerKeyMD5?: SSECustomerKeyMD5;
4878 /**
4879 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
4880 */
4881 SSEKMSKeyId?: SSEKMSKeyId;
4882 RequestCharged?: RequestCharged;
4883 }
4884 export interface UploadPartCopyRequest {
4885 /**
4886 *
4887 */
4888 Bucket: BucketName;
4889 /**
4890 * The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.
4891 */
4892 CopySource: CopySource;
4893 /**
4894 * Copies the object if its entity tag (ETag) matches the specified tag.
4895 */
4896 CopySourceIfMatch?: CopySourceIfMatch;
4897 /**
4898 * Copies the object if it has been modified since the specified time.
4899 */
4900 CopySourceIfModifiedSince?: CopySourceIfModifiedSince;
4901 /**
4902 * Copies the object if its entity tag (ETag) is different than the specified ETag.
4903 */
4904 CopySourceIfNoneMatch?: CopySourceIfNoneMatch;
4905 /**
4906 * Copies the object if it hasn't been modified since the specified time.
4907 */
4908 CopySourceIfUnmodifiedSince?: CopySourceIfUnmodifiedSince;
4909 /**
4910 * 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 ten bytes of the source. You can copy a range only if the source object is greater than 5 MB.
4911 */
4912 CopySourceRange?: CopySourceRange;
4913 /**
4914 *
4915 */
4916 Key: ObjectKey;
4917 /**
4918 * Part number of part being copied. This is a positive integer between 1 and 10,000.
4919 */
4920 PartNumber: PartNumber;
4921 /**
4922 * Upload ID identifying the multipart upload whose part is being copied.
4923 */
4924 UploadId: MultipartUploadId;
4925 /**
4926 * Specifies the algorithm to use to when encrypting the object (e.g., AES256).
4927 */
4928 SSECustomerAlgorithm?: SSECustomerAlgorithm;
4929 /**
4930 * 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 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.
4931 */
4932 SSECustomerKey?: SSECustomerKey;
4933 /**
4934 * 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 the encryption key was transmitted without error.
4935 */
4936 SSECustomerKeyMD5?: SSECustomerKeyMD5;
4937 /**
4938 * Specifies the algorithm to use when decrypting the source object (e.g., AES256).
4939 */
4940 CopySourceSSECustomerAlgorithm?: CopySourceSSECustomerAlgorithm;
4941 /**
4942 * 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.
4943 */
4944 CopySourceSSECustomerKey?: CopySourceSSECustomerKey;
4945 /**
4946 * 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 the encryption key was transmitted without error.
4947 */
4948 CopySourceSSECustomerKeyMD5?: CopySourceSSECustomerKeyMD5;
4949 RequestPayer?: RequestPayer;
4950 }
4951 export interface UploadPartOutput {
4952 /**
4953 * The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).
4954 */
4955 ServerSideEncryption?: ServerSideEncryption;
4956 /**
4957 * Entity tag for the uploaded object.
4958 */
4959 ETag?: ETag;
4960 /**
4961 * If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.
4962 */
4963 SSECustomerAlgorithm?: SSECustomerAlgorithm;
4964 /**
4965 * 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.
4966 */
4967 SSECustomerKeyMD5?: SSECustomerKeyMD5;
4968 /**
4969 * If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.
4970 */
4971 SSEKMSKeyId?: SSEKMSKeyId;
4972 RequestCharged?: RequestCharged;
4973 }
4974 export interface UploadPartRequest {
4975 /**
4976 * Object data.
4977 */
4978 Body?: Body;
4979 /**
4980 * Name of the bucket to which the multipart upload was initiated.
4981 */
4982 Bucket: BucketName;
4983 /**
4984 * Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.
4985 */
4986 ContentLength?: ContentLength;
4987 /**
4988 * The base64-encoded 128-bit MD5 digest of the part data.
4989 */
4990 ContentMD5?: ContentMD5;
4991 /**
4992 * Object key for which the multipart upload was initiated.
4993 */
4994 Key: ObjectKey;
4995 /**
4996 * Part number of part being uploaded. This is a positive integer between 1 and 10,000.
4997 */
4998 PartNumber: PartNumber;
4999 /**
5000 * Upload ID identifying the multipart upload whose part is being uploaded.
5001 */
5002 UploadId: MultipartUploadId;
5003 /**
5004 * Specifies the algorithm to use to when encrypting the object (e.g., AES256).
5005 */
5006 SSECustomerAlgorithm?: SSECustomerAlgorithm;
5007 /**
5008 * 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 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.
5009 */
5010 SSECustomerKey?: SSECustomerKey;
5011 /**
5012 * 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 the encryption key was transmitted without error.
5013 */
5014 SSECustomerKeyMD5?: SSECustomerKeyMD5;
5015 RequestPayer?: RequestPayer;
5016 }
5017 export type UserMetadata = MetadataEntry[];
5018 export type Value = string;
5019 export type VersionIdMarker = string;
5020 export interface VersioningConfiguration {
5021 /**
5022 * 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.
5023 */
5024 MFADelete?: MFADelete;
5025 /**
5026 * The versioning state of the bucket.
5027 */
5028 Status?: BucketVersioningStatus;
5029 }
5030 export interface WebsiteConfiguration {
5031 /**
5032 *
5033 */
5034 ErrorDocument?: ErrorDocument;
5035 /**
5036 *
5037 */
5038 IndexDocument?: IndexDocument;
5039 /**
5040 *
5041 */
5042 RedirectAllRequestsTo?: RedirectAllRequestsTo;
5043 /**
5044 *
5045 */
5046 RoutingRules?: RoutingRules;
5047 }
5048 export type WebsiteRedirectLocation = string;
5049 export type Years = number;
5050 /**
5051 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
5052 */
5053 export type apiVersion = "2006-03-01"|"latest"|string;
5054 export interface ClientApiVersions {
5055 /**
5056 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
5057 */
5058 apiVersion?: apiVersion;
5059 }
5060 export type ClientConfiguration = ServiceConfigurationOptions & UseDualstackConfigOptions & ClientApiVersions;
5061 /**
5062 * Contains interfaces for use with the S3 client.
5063 */
5064 export import Types = S3;
5065}
5066export = S3;