@aws-sdk/client-s3 3.325.0 → 3.327.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist-types/commands/AbortMultipartUploadCommand.d.ts +8 -2
  2. package/dist-types/commands/CompleteMultipartUploadCommand.d.ts +41 -14
  3. package/dist-types/commands/CopyObjectCommand.d.ts +194 -144
  4. package/dist-types/commands/CreateBucketCommand.d.ts +134 -118
  5. package/dist-types/commands/CreateMultipartUploadCommand.d.ts +91 -48
  6. package/dist-types/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +6 -2
  7. package/dist-types/commands/DeleteBucketCommand.d.ts +5 -3
  8. package/dist-types/commands/DeleteBucketCorsCommand.d.ts +7 -5
  9. package/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +12 -8
  10. package/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +5 -2
  11. package/dist-types/commands/DeleteBucketInventoryConfigurationCommand.d.ts +6 -2
  12. package/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +5 -2
  13. package/dist-types/commands/DeleteBucketMetricsConfigurationCommand.d.ts +9 -5
  14. package/dist-types/commands/DeleteBucketOwnershipControlsCommand.d.ts +6 -2
  15. package/dist-types/commands/DeleteBucketPolicyCommand.d.ts +10 -3
  16. package/dist-types/commands/DeleteBucketReplicationCommand.d.ts +8 -3
  17. package/dist-types/commands/DeleteBucketTaggingCommand.d.ts +4 -0
  18. package/dist-types/commands/DeleteBucketWebsiteCommand.d.ts +4 -0
  19. package/dist-types/commands/DeleteObjectCommand.d.ts +19 -11
  20. package/dist-types/commands/DeleteObjectTaggingCommand.d.ts +8 -4
  21. package/dist-types/commands/DeleteObjectsCommand.d.ts +57 -36
  22. package/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +6 -2
  23. package/dist-types/commands/GetBucketAccelerateConfigurationCommand.d.ts +12 -7
  24. package/dist-types/commands/GetBucketAclCommand.d.ts +35 -10
  25. package/dist-types/commands/GetBucketAnalyticsConfigurationCommand.d.ts +43 -7
  26. package/dist-types/commands/GetBucketCorsCommand.d.ts +28 -0
  27. package/dist-types/commands/GetBucketEncryptionCommand.d.ts +23 -7
  28. package/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +32 -2
  29. package/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +35 -2
  30. package/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +62 -4
  31. package/dist-types/commands/GetBucketLocationCommand.d.ts +16 -2
  32. package/dist-types/commands/GetBucketLoggingCommand.d.ts +22 -1
  33. package/dist-types/commands/GetBucketMetricsConfigurationCommand.d.ts +31 -6
  34. package/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +70 -2
  35. package/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +16 -3
  36. package/dist-types/commands/GetBucketPolicyCommand.d.ts +17 -3
  37. package/dist-types/commands/GetBucketPolicyStatusCommand.d.ts +9 -1
  38. package/dist-types/commands/GetBucketReplicationCommand.d.ts +69 -0
  39. package/dist-types/commands/GetBucketRequestPaymentCommand.d.ts +8 -1
  40. package/dist-types/commands/GetBucketTaggingCommand.d.ts +11 -0
  41. package/dist-types/commands/GetBucketVersioningCommand.d.ts +7 -0
  42. package/dist-types/commands/GetBucketWebsiteCommand.d.ts +32 -3
  43. package/dist-types/commands/GetObjectAclCommand.d.ts +27 -7
  44. package/dist-types/commands/GetObjectAttributesCommand.d.ts +77 -45
  45. package/dist-types/commands/GetObjectCommand.d.ts +159 -112
  46. package/dist-types/commands/GetObjectLegalHoldCommand.d.ts +8 -0
  47. package/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +16 -2
  48. package/dist-types/commands/GetObjectRetentionCommand.d.ts +11 -1
  49. package/dist-types/commands/GetObjectTaggingCommand.d.ts +17 -5
  50. package/dist-types/commands/GetObjectTorrentCommand.d.ts +8 -1
  51. package/dist-types/commands/GetPublicAccessBlockCommand.d.ts +12 -1
  52. package/dist-types/commands/HeadBucketCommand.d.ts +23 -9
  53. package/dist-types/commands/HeadObjectCommand.d.ts +77 -33
  54. package/dist-types/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +46 -4
  55. package/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +37 -2
  56. package/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +43 -5
  57. package/dist-types/commands/ListBucketMetricsConfigurationsCommand.d.ts +37 -7
  58. package/dist-types/commands/ListBucketsCommand.d.ts +18 -32
  59. package/dist-types/commands/ListMultipartUploadsCommand.d.ts +39 -2
  60. package/dist-types/commands/ListObjectVersionsCommand.d.ts +53 -6
  61. package/dist-types/commands/ListObjectsCommand.d.ts +34 -0
  62. package/dist-types/commands/ListObjectsV2Command.d.ts +47 -12
  63. package/dist-types/commands/ListPartsCommand.d.ts +40 -4
  64. package/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +8 -3
  65. package/dist-types/commands/PutBucketAclCommand.d.ts +118 -111
  66. package/dist-types/commands/PutBucketAnalyticsConfigurationCommand.d.ts +11 -10
  67. package/dist-types/commands/PutBucketCorsCommand.d.ts +7 -5
  68. package/dist-types/commands/PutBucketEncryptionCommand.d.ts +21 -17
  69. package/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +35 -59
  70. package/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +54 -65
  71. package/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +68 -62
  72. package/dist-types/commands/PutBucketLoggingCommand.d.ts +49 -39
  73. package/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +8 -4
  74. package/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +13 -12
  75. package/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +8 -2
  76. package/dist-types/commands/PutBucketPolicyCommand.d.ts +12 -4
  77. package/dist-types/commands/PutBucketReplicationCommand.d.ts +35 -28
  78. package/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +5 -1
  79. package/dist-types/commands/PutBucketTaggingCommand.d.ts +16 -12
  80. package/dist-types/commands/PutBucketVersioningCommand.d.ts +11 -9
  81. package/dist-types/commands/PutBucketWebsiteCommand.d.ts +4 -0
  82. package/dist-types/commands/PutObjectAclCommand.d.ts +129 -119
  83. package/dist-types/commands/PutObjectCommand.d.ts +94 -84
  84. package/dist-types/commands/PutObjectLegalHoldCommand.d.ts +6 -0
  85. package/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +13 -8
  86. package/dist-types/commands/PutObjectRetentionCommand.d.ts +9 -4
  87. package/dist-types/commands/PutObjectTaggingCommand.d.ts +13 -9
  88. package/dist-types/commands/PutPublicAccessBlockCommand.d.ts +6 -4
  89. package/dist-types/commands/RestoreObjectCommand.d.ts +182 -199
  90. package/dist-types/commands/SelectObjectContentCommand.d.ts +109 -90
  91. package/dist-types/commands/UploadPartCommand.d.ts +42 -22
  92. package/dist-types/commands/UploadPartCopyCommand.d.ts +85 -63
  93. package/dist-types/commands/WriteGetObjectResponseCommand.d.ts +36 -21
  94. package/dist-types/models/models_0.d.ts +468 -382
  95. package/dist-types/models/models_1.d.ts +82 -80
  96. package/package.json +9 -9
@@ -23,135 +23,145 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
23
23
  * valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to
24
24
  * create buckets. By creating the bucket, you become the bucket owner.</p>
25
25
  * <p>Not every string is an acceptable bucket name. For information about bucket naming
26
- * restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html">Bucket naming rules</a>.</p>
26
+ * restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html">Bucket naming
27
+ * rules</a>.</p>
27
28
  * <p>If you want to create an Amazon S3 on Outposts bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">Create Bucket</a>. </p>
28
29
  * <p>By default, the bucket is created in the US East (N. Virginia) Region. You can
29
30
  * optionally specify a Region in the request body. You might choose a Region to optimize
30
31
  * latency, minimize costs, or address regulatory requirements. For example, if you reside in
31
32
  * Europe, you will probably find it advantageous to create buckets in the Europe (Ireland)
32
33
  * Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">Accessing a
33
- * bucket</a>.</p>
34
+ * bucket</a>.</p>
34
35
  * <note>
35
36
  * <p>If you send your create bucket request to the <code>s3.amazonaws.com</code> endpoint,
36
37
  * the request goes to the us-east-1 Region. Accordingly, the signature calculations in
37
38
  * Signature Version 4 must use us-east-1 as the Region, even if the location constraint in
38
39
  * the request specifies another Region where the bucket is to be created. If you create a
39
40
  * bucket in a Region other than US East (N. Virginia), your application must be able to
40
- * handle 307 redirect. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual hosting of buckets</a>.</p>
41
+ * handle 307 redirect. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual hosting of
42
+ * buckets</a>.</p>
41
43
  * </note>
42
- * <p>
43
- * <b>Access control lists (ACLs)</b>
44
- * </p>
45
- * <p>When creating a bucket using this operation, you can optionally configure the bucket ACL to specify the accounts or
46
- * groups that should be granted specific permissions on the bucket.</p>
47
- * <important>
48
- * <p>If your CreateBucket request sets bucket owner enforced for S3 Object Ownership and
49
- * specifies a bucket ACL that provides access to an external Amazon Web Services account, your request
50
- * fails with a <code>400</code> error and returns the
51
- * <code>InvalidBucketAclWithObjectOwnership</code> error code. For more information,
52
- * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object
53
- * ownership</a> in the <i>Amazon S3 User Guide</i>.</p>
54
- * </important>
55
- * <p>There are two ways to grant the appropriate permissions using the request headers.</p>
56
- * <ul>
57
- * <li>
58
- * <p>Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3
59
- * supports a set of predefined ACLs, known as <i>canned ACLs</i>. Each
60
- * canned ACL has a predefined set of grantees and permissions. For more information,
61
- * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned ACL</a>.</p>
62
- * </li>
63
- * <li>
64
- * <p>Specify access permissions explicitly using the <code>x-amz-grant-read</code>,
65
- * <code>x-amz-grant-write</code>, <code>x-amz-grant-read-acp</code>,
66
- * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
67
- * headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For
68
- * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html">Access control list
69
- * (ACL) overview</a>.</p>
70
- * <p>You specify each grantee as a type=value pair, where the type is one of the
71
- * following:</p>
44
+ * <dl>
45
+ * <dt>Access control lists (ACLs)</dt>
46
+ * <dd>
47
+ * <p>When creating a bucket using this operation, you can optionally configure the bucket ACL
48
+ * to specify the accounts or groups that should be granted specific permissions on the
49
+ * bucket.</p>
50
+ * <important>
51
+ * <p>If your CreateBucket request sets bucket owner enforced for S3 Object Ownership and
52
+ * specifies a bucket ACL that provides access to an external Amazon Web Services account, your request
53
+ * fails with a <code>400</code> error and returns the
54
+ * <code>InvalidBucketAclWithObjectOwnership</code> error code. For more information,
55
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object
56
+ * ownership</a> in the <i>Amazon S3 User Guide</i>.</p>
57
+ * </important>
58
+ * <p>There are two ways to grant the appropriate permissions using the request
59
+ * headers.</p>
60
+ * <ul>
61
+ * <li>
62
+ * <p>Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3
63
+ * supports a set of predefined ACLs, known as <i>canned ACLs</i>. Each
64
+ * canned ACL has a predefined set of grantees and permissions. For more information,
65
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned ACL</a>.</p>
66
+ * </li>
67
+ * <li>
68
+ * <p>Specify access permissions explicitly using the <code>x-amz-grant-read</code>,
69
+ * <code>x-amz-grant-write</code>, <code>x-amz-grant-read-acp</code>,
70
+ * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
71
+ * headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For
72
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html">Access control list (ACL)
73
+ * overview</a>.</p>
74
+ * <p>You specify each grantee as a type=value pair, where the type is one of the
75
+ * following:</p>
76
+ * <ul>
77
+ * <li>
78
+ * <p>
79
+ * <code>id</code> – if the value specified is the canonical user ID of an
80
+ * Amazon Web Services account</p>
81
+ * </li>
82
+ * <li>
83
+ * <p>
84
+ * <code>uri</code> – if you are granting permissions to a predefined
85
+ * group</p>
86
+ * </li>
87
+ * <li>
88
+ * <p>
89
+ * <code>emailAddress</code> – if the value specified is the email address of
90
+ * an Amazon Web Services account</p>
91
+ * <note>
92
+ * <p>Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: </p>
93
+ * <ul>
94
+ * <li>
95
+ * <p>US East (N. Virginia)</p>
96
+ * </li>
97
+ * <li>
98
+ * <p>US West (N. California)</p>
99
+ * </li>
100
+ * <li>
101
+ * <p> US West (Oregon)</p>
102
+ * </li>
103
+ * <li>
104
+ * <p> Asia Pacific (Singapore)</p>
105
+ * </li>
106
+ * <li>
107
+ * <p>Asia Pacific (Sydney)</p>
108
+ * </li>
109
+ * <li>
110
+ * <p>Asia Pacific (Tokyo)</p>
111
+ * </li>
112
+ * <li>
113
+ * <p>Europe (Ireland)</p>
114
+ * </li>
115
+ * <li>
116
+ * <p>South America (São Paulo)</p>
117
+ * </li>
118
+ * </ul>
119
+ * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions and Endpoints</a> in the Amazon Web Services General Reference.</p>
120
+ * </note>
121
+ * </li>
122
+ * </ul>
123
+ * <p>For example, the following <code>x-amz-grant-read</code> header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:</p>
124
+ * <p>
125
+ * <code>x-amz-grant-read: id="11112222333", id="444455556666" </code>
126
+ * </p>
127
+ * </li>
128
+ * </ul>
129
+ * <note>
130
+ * <p>You can use either a canned ACL or specify access permissions explicitly. You cannot
131
+ * do both.</p>
132
+ * </note>
133
+ * </dd>
134
+ * <dt>Permissions</dt>
135
+ * <dd>
136
+ * <p>In addition to <code>s3:CreateBucket</code>, the following permissions are required when
137
+ * your CreateBucket includes specific headers:</p>
72
138
  * <ul>
73
139
  * <li>
74
140
  * <p>
75
- * <code>id</code> if the value specified is the canonical user ID of an Amazon Web Services account</p>
141
+ * <b>ACLs</b> - If your <code>CreateBucket</code> request
142
+ * specifies ACL permissions and the ACL is public-read, public-read-write,
143
+ * authenticated-read, or if you specify access permissions explicitly through any other
144
+ * ACL, both <code>s3:CreateBucket</code> and <code>s3:PutBucketAcl</code> permissions
145
+ * are needed. If the ACL the <code>CreateBucket</code> request is private or doesn't
146
+ * specify any ACLs, only <code>s3:CreateBucket</code> permission is needed. </p>
76
147
  * </li>
77
148
  * <li>
78
149
  * <p>
79
- * <code>uri</code> if you are granting permissions to a predefined
80
- * group</p>
150
+ * <b>Object Lock</b> - If
151
+ * <code>ObjectLockEnabledForBucket</code> is set to true in your
152
+ * <code>CreateBucket</code> request,
153
+ * <code>s3:PutBucketObjectLockConfiguration</code> and
154
+ * <code>s3:PutBucketVersioning</code> permissions are required.</p>
81
155
  * </li>
82
156
  * <li>
83
157
  * <p>
84
- * <code>emailAddress</code> if the value specified is the email address of
85
- * an Amazon Web Services account</p>
86
- * <note>
87
- * <p>Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions: </p>
88
- * <ul>
89
- * <li>
90
- * <p>US East (N. Virginia)</p>
91
- * </li>
92
- * <li>
93
- * <p>US West (N. California)</p>
94
- * </li>
95
- * <li>
96
- * <p> US West (Oregon)</p>
97
- * </li>
98
- * <li>
99
- * <p> Asia Pacific (Singapore)</p>
100
- * </li>
101
- * <li>
102
- * <p>Asia Pacific (Sydney)</p>
103
- * </li>
104
- * <li>
105
- * <p>Asia Pacific (Tokyo)</p>
106
- * </li>
107
- * <li>
108
- * <p>Europe (Ireland)</p>
109
- * </li>
110
- * <li>
111
- * <p>South America (São Paulo)</p>
112
- * </li>
113
- * </ul>
114
- * <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions and Endpoints</a> in the Amazon Web Services General Reference.</p>
115
- * </note>
158
+ * <b>S3 Object Ownership</b> - If your CreateBucket
159
+ * request includes the <code>x-amz-object-ownership</code> header,
160
+ * <code>s3:PutBucketOwnershipControls</code> permission is required.</p>
116
161
  * </li>
117
162
  * </ul>
118
- * <p>For example, the following <code>x-amz-grant-read</code> header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:</p>
119
- * <p>
120
- * <code>x-amz-grant-read: id="11112222333", id="444455556666" </code>
121
- * </p>
122
- * </li>
123
- * </ul>
124
- * <note>
125
- * <p>You can use either a canned ACL or specify access permissions explicitly. You cannot
126
- * do both.</p>
127
- * </note>
128
- * <p>
129
- * <b>Permissions</b>
130
- * </p>
131
- * <p>In addition to <code>s3:CreateBucket</code>, the following permissions are required when your CreateBucket includes specific headers:</p>
132
- * <ul>
133
- * <li>
134
- * <p>
135
- * <b>ACLs</b> - If your <code>CreateBucket</code> request specifies ACL permissions and the ACL is public-read, public-read-write,
136
- * authenticated-read, or if you specify access permissions explicitly through any other ACL, both
137
- * <code>s3:CreateBucket</code> and <code>s3:PutBucketAcl</code> permissions are needed. If the ACL the
138
- * <code>CreateBucket</code> request is private or doesn't specify any ACLs, only <code>s3:CreateBucket</code> permission is needed. </p>
139
- * </li>
140
- * <li>
141
- * <p>
142
- * <b>Object Lock</b> - If
143
- * <code>ObjectLockEnabledForBucket</code> is set to true in your
144
- * <code>CreateBucket</code> request,
145
- * <code>s3:PutBucketObjectLockConfiguration</code> and
146
- * <code>s3:PutBucketVersioning</code> permissions are required.</p>
147
- * </li>
148
- * <li>
149
- * <p>
150
- * <b>S3 Object Ownership</b> - If your CreateBucket
151
- * request includes the the <code>x-amz-object-ownership</code> header,
152
- * <code>s3:PutBucketOwnershipControls</code> permission is required.</p>
153
- * </li>
154
- * </ul>
163
+ * </dd>
164
+ * </dl>
155
165
  * <p>The following operations are related to <code>CreateBucket</code>:</p>
156
166
  * <ul>
157
167
  * <li>
@@ -187,6 +197,10 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
187
197
  * };
188
198
  * const command = new CreateBucketCommand(input);
189
199
  * const response = await client.send(command);
200
+ * // { // CreateBucketOutput
201
+ * // Location: "STRING_VALUE",
202
+ * // };
203
+ *
190
204
  * ```
191
205
  *
192
206
  * @param CreateBucketCommandInput - {@link CreateBucketCommandInput}
@@ -205,40 +219,42 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
205
219
  * re-create an existing bucket that you already own in the North Virginia Region, Amazon S3
206
220
  * returns 200 OK and resets the bucket access control lists (ACLs).</p>
207
221
  *
222
+ * @throws {@link S3ServiceException}
223
+ * <p>Base exception class for all service exceptions from S3 service.</p>
208
224
  *
209
- * @example To create a bucket in a specific region
225
+ * @example To create a bucket
210
226
  * ```javascript
211
- * // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
227
+ * // The following example creates a bucket.
212
228
  * const input = {
213
- * "Bucket": "examplebucket",
214
- * "CreateBucketConfiguration": {
215
- * "LocationConstraint": "eu-west-1"
216
- * }
229
+ * "Bucket": "examplebucket"
217
230
  * };
218
231
  * const command = new CreateBucketCommand(input);
219
232
  * const response = await client.send(command);
220
233
  * /* response ==
221
234
  * {
222
- * "Location": "http://examplebucket.<Region>.s3.amazonaws.com/"
235
+ * "Location": "/examplebucket"
223
236
  * }
224
237
  * *\/
225
- * // example id: to-create-a-bucket-in-a-specific-region-1483399072992
238
+ * // example id: to-create-a-bucket--1472851826060
226
239
  * ```
227
240
  *
228
- * @example To create a bucket
241
+ * @example To create a bucket in a specific region
229
242
  * ```javascript
230
- * // The following example creates a bucket.
243
+ * // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
231
244
  * const input = {
232
- * "Bucket": "examplebucket"
245
+ * "Bucket": "examplebucket",
246
+ * "CreateBucketConfiguration": {
247
+ * "LocationConstraint": "eu-west-1"
248
+ * }
233
249
  * };
234
250
  * const command = new CreateBucketCommand(input);
235
251
  * const response = await client.send(command);
236
252
  * /* response ==
237
253
  * {
238
- * "Location": "/examplebucket"
254
+ * "Location": "http://examplebucket.<Region>.s3.amazonaws.com/"
239
255
  * }
240
256
  * *\/
241
- * // example id: to-create-a-bucket--1472851826060
257
+ * // example id: to-create-a-bucket-in-a-specific-region-1483399072992
242
258
  * ```
243
259
  *
244
260
  */
@@ -28,39 +28,55 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
28
28
  * <p>If you have configured a lifecycle rule to abort incomplete multipart uploads, the
29
29
  * upload must complete within the number of days specified in the bucket lifecycle
30
30
  * configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort
31
- * action and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
32
- * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.</p>
31
+ * action and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
33
32
  * <p>For information about the permissions required to use the multipart upload API, see
34
- * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart Upload and
35
- * Permissions</a>.</p>
33
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
34
+ * Upload and Permissions</a>.</p>
36
35
  * <p>For request signing, multipart upload is just a series of regular requests. You initiate
37
36
  * a multipart upload, send one or more requests to upload parts, and then complete the
38
37
  * multipart upload process. You sign each request individually. There is nothing special
39
- * about signing multipart upload requests. For more information about signing, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
40
- * Requests (Amazon Web Services Signature Version 4)</a>.</p>
38
+ * about signing multipart upload requests. For more information about signing, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating Requests (Amazon Web Services Signature Version 4)</a>.</p>
41
39
  * <note>
42
- * <p> After you initiate a multipart upload and upload one or more parts, to stop being
40
+ * <p>After you initiate a multipart upload and upload one or more parts, to stop being
43
41
  * charged for storing the uploaded parts, you must either complete or abort the multipart
44
42
  * upload. Amazon S3 frees up the space used to store the parts and stop charging you for
45
43
  * storing them only after you either complete or abort a multipart upload. </p>
46
44
  * </note>
47
- * <p>You can optionally request server-side encryption. For server-side encryption, Amazon S3
48
- * encrypts your data as it writes it to disks in its data centers and decrypts it when you
49
- * access it. You can provide your own encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed encryption keys. If you choose to provide
50
- * your own encryption key, the request headers you provide in <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> requests must match the headers you used in the request to
51
- * initiate the upload by using <code>CreateMultipartUpload</code>. </p>
52
- * <p>To perform a multipart upload with encryption using an Amazon Web Services KMS key, the requester must
53
- * have permission to the <code>kms:Decrypt</code> and <code>kms:GenerateDataKey*</code>
45
+ * <p>Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it
46
+ * writes it to disks in its data centers and decrypts it when you access it. Amazon S3
47
+ * automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a
48
+ * multipart upload, if you don't specify encryption information in your request, the
49
+ * encryption setting of the uploaded parts is set to the default encryption configuration of
50
+ * the destination bucket. By default, all buckets have a base level of encryption
51
+ * configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the
52
+ * destination bucket has a default encryption configuration that uses server-side encryption
53
+ * with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C),
54
+ * Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded
55
+ * parts. When you perform a CreateMultipartUpload operation, if you want to use a different
56
+ * type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the
57
+ * object with a KMS key, an Amazon S3 managed key, or a customer-provided key. If the encryption
58
+ * setting in your request is different from the default encryption configuration of the
59
+ * destination bucket, the encryption setting in your request takes precedence. If you choose
60
+ * to provide your own encryption key, the request headers you provide in <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html">UploadPart</a>
61
+ * and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a> requests must match the headers you used in the request to
62
+ * initiate the upload by using <code>CreateMultipartUpload</code>. You can request that Amazon S3
63
+ * save the uploaded parts encrypted with server-side encryption with an Amazon S3 managed key
64
+ * (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key
65
+ * (SSE-C). </p>
66
+ * <p>To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester
67
+ * must have permission to the <code>kms:Decrypt</code> and <code>kms:GenerateDataKey*</code>
54
68
  * actions on the key. These permissions are required because Amazon S3 must decrypt and read data
55
69
  * from the encrypted file parts before it completes the multipart upload. For more
56
70
  * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions">Multipart upload API
57
- * and permissions</a> in the <i>Amazon S3 User Guide</i>.</p>
58
- * <p>If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account
59
- * as the KMS key, then you must have these permissions on the key policy. If your IAM
60
- * user or role belongs to a different account than the key, then you must have the
61
- * permissions on both the key policy and your IAM user or role.</p>
62
- * <p> For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
63
- * Data Using Server-Side Encryption</a>.</p>
71
+ * and permissions</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html">Protecting data using
72
+ * server-side encryption with Amazon Web Services KMS</a> in the
73
+ * <i>Amazon S3 User Guide</i>.</p>
74
+ * <p>If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key,
75
+ * then you must have these permissions on the key policy. If your IAM user or role belongs
76
+ * to a different account than the key, then you must have the permissions on both the key
77
+ * policy and your IAM user or role.</p>
78
+ * <p> For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting Data Using Server-Side
79
+ * Encryption</a>.</p>
64
80
  * <dl>
65
81
  * <dt>Access Permissions</dt>
66
82
  * <dd>
@@ -70,7 +86,8 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
70
86
  * <ul>
71
87
  * <li>
72
88
  * <p>Specify a canned ACL with the <code>x-amz-acl</code> request header. For
73
- * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned ACL</a>.</p>
89
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
90
+ * ACL</a>.</p>
74
91
  * </li>
75
92
  * <li>
76
93
  * <p>Specify access permissions explicitly with the
@@ -78,8 +95,7 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
78
95
  * <code>x-amz-grant-write-acp</code>, and
79
96
  * <code>x-amz-grant-full-control</code> headers. These parameters map to
80
97
  * the set of permissions that Amazon S3 supports in an ACL. For more information,
81
- * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL)
82
- * Overview</a>.</p>
98
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a>.</p>
83
99
  * </li>
84
100
  * </ul>
85
101
  * <p>You can use either a canned ACL or specify access permissions explicitly. You
@@ -87,16 +103,19 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
87
103
  * </dd>
88
104
  * <dt>Server-Side- Encryption-Specific Request Headers</dt>
89
105
  * <dd>
90
- * <p>You can optionally tell Amazon S3 to encrypt data at rest using server-side
91
- * encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts
106
+ * <p>Amazon S3 encrypts data
107
+ * by using server-side encryption with an Amazon S3 managed key (SSE-S3) by default. Server-side encryption is for data encryption at rest. Amazon S3 encrypts
92
108
  * your data as it writes it to disks in its data centers and decrypts it when you
93
- * access it. The option you use depends on whether you want to use Amazon Web Services managed
94
- * encryption keys or provide your own encryption key. </p>
109
+ * access it. You can request that Amazon S3 encrypts
110
+ * data at rest by using server-side encryption with other key options. The option you use depends on
111
+ * whether you want to use KMS keys (SSE-KMS) or provide your own encryption keys
112
+ * (SSE-C).</p>
95
113
  * <ul>
96
114
  * <li>
97
- * <p>Use encryption keys managed by Amazon S3 or customer managed key stored
98
- * in Amazon Web Services Key Management Service (Amazon Web Services KMS) – If you want Amazon Web Services to manage the keys
99
- * used to encrypt data, specify the following headers in the request.</p>
115
+ * <p>Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key
116
+ * (<code>aws/s3</code>) and KMS customer managed keys stored in Key Management Service (KMS) – If you
117
+ * want Amazon Web Services to manage the keys used to encrypt data, specify the following
118
+ * headers in the request.</p>
100
119
  * <ul>
101
120
  * <li>
102
121
  * <p>
@@ -117,18 +136,22 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
117
136
  * <note>
118
137
  * <p>If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but
119
138
  * don't provide <code>x-amz-server-side-encryption-aws-kms-key-id</code>,
120
- * Amazon S3 uses the Amazon Web Services managed key in Amazon Web Services KMS to protect the data.</p>
139
+ * Amazon S3 uses the Amazon Web Services managed key (<code>aws/s3</code> key) in KMS to
140
+ * protect the data.</p>
121
141
  * </note>
122
142
  * <important>
123
- * <p>All GET and PUT requests for an object protected by Amazon Web Services KMS fail if
124
- * you don't make them with SSL or by using SigV4.</p>
143
+ * <p>All <code>GET</code> and <code>PUT</code> requests for an object protected
144
+ * by KMS fail if you don't make them by using Secure Sockets Layer (SSL),
145
+ * Transport Layer Security (TLS), or Signature Version 4.</p>
125
146
  * </important>
126
- * <p>For more information about server-side encryption with KMS key (SSE-KMS),
127
- * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting Data Using Server-Side Encryption with KMS keys</a>.</p>
147
+ * <p>For more information about server-side encryption with KMS keys
148
+ * (SSE-KMS), see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html">Protecting Data
149
+ * Using Server-Side Encryption with KMS keys</a>.</p>
128
150
  * </li>
129
151
  * <li>
130
- * <p>Use customer-provided encryption keys – If you want to manage your own
131
- * encryption keys, provide all the following headers in the request.</p>
152
+ * <p>Use customer-provided encryption keys (SSE-C) – If you want to manage
153
+ * your own encryption keys, provide all the following headers in the
154
+ * request.</p>
132
155
  * <ul>
133
156
  * <li>
134
157
  * <p>
@@ -146,8 +169,10 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
146
169
  * </p>
147
170
  * </li>
148
171
  * </ul>
149
- * <p>For more information about server-side encryption with KMS keys (SSE-KMS),
150
- * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting Data Using Server-Side Encryption with KMS keys</a>.</p>
172
+ * <p>For more information about server-side encryption with customer-provided
173
+ * encryption keys (SSE-C), see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">
174
+ * Protecting data using server-side encryption with customer-provided
175
+ * encryption keys (SSE-C)</a>.</p>
151
176
  * </li>
152
177
  * </ul>
153
178
  * </dd>
@@ -155,10 +180,11 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
155
180
  * <dd>
156
181
  * <p>You also can use the following access control–related headers with this
157
182
  * operation. By default, all objects are private. Only the owner has full access
158
- * control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added
159
- * to the access control list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using ACLs</a>. With this
160
- * operation, you can grant access permissions using one of the following two
161
- * methods:</p>
183
+ * control. When adding a new object, you can grant permissions to individual
184
+ * Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then
185
+ * added to the access control list (ACL) on the object. For more information, see
186
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using ACLs</a>. With this operation, you can grant access permissions
187
+ * using one of the following two methods:</p>
162
188
  * <ul>
163
189
  * <li>
164
190
  * <p>Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of
@@ -171,10 +197,9 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
171
197
  * <p>Specify access permissions explicitly — To explicitly grant access
172
198
  * permissions to specific Amazon Web Services accounts or groups, use the following headers.
173
199
  * Each header maps to specific permissions that Amazon S3 supports in an ACL. For
174
- * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
175
- * Control List (ACL) Overview</a>. In the header, you specify a list of
176
- * grantees who get the specific permission. To grant permissions explicitly,
177
- * use:</p>
200
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL)
201
+ * Overview</a>. In the header, you specify a list of grantees who get
202
+ * the specific permission. To grant permissions explicitly, use:</p>
178
203
  * <ul>
179
204
  * <li>
180
205
  * <p>
@@ -329,6 +354,22 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
329
354
  * };
330
355
  * const command = new CreateMultipartUploadCommand(input);
331
356
  * const response = await client.send(command);
357
+ * // { // CreateMultipartUploadOutput
358
+ * // AbortDate: new Date("TIMESTAMP"),
359
+ * // AbortRuleId: "STRING_VALUE",
360
+ * // Bucket: "STRING_VALUE",
361
+ * // Key: "STRING_VALUE",
362
+ * // UploadId: "STRING_VALUE",
363
+ * // ServerSideEncryption: "AES256" || "aws:kms",
364
+ * // SSECustomerAlgorithm: "STRING_VALUE",
365
+ * // SSECustomerKeyMD5: "STRING_VALUE",
366
+ * // SSEKMSKeyId: "STRING_VALUE",
367
+ * // SSEKMSEncryptionContext: "STRING_VALUE",
368
+ * // BucketKeyEnabled: true || false,
369
+ * // RequestCharged: "requester",
370
+ * // ChecksumAlgorithm: "CRC32" || "CRC32C" || "SHA1" || "SHA256",
371
+ * // };
372
+ *
332
373
  * ```
333
374
  *
334
375
  * @param CreateMultipartUploadCommandInput - {@link CreateMultipartUploadCommandInput}
@@ -337,6 +378,8 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
337
378
  * @see {@link CreateMultipartUploadCommandOutput} for command's `response` shape.
338
379
  * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
339
380
  *
381
+ * @throws {@link S3ServiceException}
382
+ * <p>Base exception class for all service exceptions from S3 service.</p>
340
383
  *
341
384
  * @example To initiate a multipart upload
342
385
  * ```javascript
@@ -24,8 +24,8 @@ export interface DeleteBucketAnalyticsConfigurationCommandOutput extends __Metad
24
24
  * <p>To use this operation, you must have permissions to perform the
25
25
  * <code>s3:PutAnalyticsConfiguration</code> action. The bucket owner has this permission
26
26
  * by default. The bucket owner can grant this permission to others. For more information
27
- * about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing Access Permissions to Your Amazon S3
28
- * Resources</a>.</p>
27
+ * about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html">Managing
28
+ * Access Permissions to Your Amazon S3 Resources</a>.</p>
29
29
  * <p>For information about the Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon S3 Analytics – Storage Class
30
30
  * Analysis</a>. </p>
31
31
  * <p>The following operations are related to
@@ -60,6 +60,8 @@ export interface DeleteBucketAnalyticsConfigurationCommandOutput extends __Metad
60
60
  * };
61
61
  * const command = new DeleteBucketAnalyticsConfigurationCommand(input);
62
62
  * const response = await client.send(command);
63
+ * // {};
64
+ *
63
65
  * ```
64
66
  *
65
67
  * @param DeleteBucketAnalyticsConfigurationCommandInput - {@link DeleteBucketAnalyticsConfigurationCommandInput}
@@ -68,6 +70,8 @@ export interface DeleteBucketAnalyticsConfigurationCommandOutput extends __Metad
68
70
  * @see {@link DeleteBucketAnalyticsConfigurationCommandOutput} for command's `response` shape.
69
71
  * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
70
72
  *
73
+ * @throws {@link S3ServiceException}
74
+ * <p>Base exception class for all service exceptions from S3 service.</p>
71
75
  *
72
76
  */
73
77
  export declare class DeleteBucketAnalyticsConfigurationCommand extends $Command<DeleteBucketAnalyticsConfigurationCommandInput, DeleteBucketAnalyticsConfigurationCommandOutput, S3ClientResolvedConfig> {
@@ -21,9 +21,7 @@ export interface DeleteBucketCommandOutput extends __MetadataBearer {
21
21
  * @public
22
22
  * <p>Deletes the S3 bucket. All objects (including all object versions and delete markers) in
23
23
  * the bucket must be deleted before the bucket itself can be deleted.</p>
24
- * <p class="title">
25
- * <b>Related Resources</b>
26
- * </p>
24
+ * <p>The following operations are related to <code>DeleteBucket</code>:</p>
27
25
  * <ul>
28
26
  * <li>
29
27
  * <p>
@@ -48,6 +46,8 @@ export interface DeleteBucketCommandOutput extends __MetadataBearer {
48
46
  * };
49
47
  * const command = new DeleteBucketCommand(input);
50
48
  * const response = await client.send(command);
49
+ * // {};
50
+ *
51
51
  * ```
52
52
  *
53
53
  * @param DeleteBucketCommandInput - {@link DeleteBucketCommandInput}
@@ -56,6 +56,8 @@ export interface DeleteBucketCommandOutput extends __MetadataBearer {
56
56
  * @see {@link DeleteBucketCommandOutput} for command's `response` shape.
57
57
  * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
58
58
  *
59
+ * @throws {@link S3ServiceException}
60
+ * <p>Base exception class for all service exceptions from S3 service.</p>
59
61
  *
60
62
  * @example To delete a bucket
61
63
  * ```javascript