@pulumi/aws 6.56.0 → 6.56.1
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.
- package/package.json +2 -2
- package/s3/bucket.d.ts +398 -122
- package/s3/bucket.js +318 -6
- package/s3/bucket.js.map +1 -1
- package/types/input.d.ts +43 -31
- package/types/output.d.ts +43 -31
package/s3/bucket.js
CHANGED
|
@@ -8,20 +8,22 @@ const utilities = require("../utilities");
|
|
|
8
8
|
/**
|
|
9
9
|
* Provides a S3 bucket resource.
|
|
10
10
|
*
|
|
11
|
-
* >
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* > **NOTE:** Please use [aws.s3.BucketV2](https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketv2) instead.
|
|
12
|
+
* This resource is maintained for backwards compatibility only. Please see [BucketV2 Migration
|
|
13
|
+
* Guide](https://www.pulumi.com/registry/packages/aws/how-to-guides/bucketv2-migration/) for instructions on migrating
|
|
14
|
+
* existing Bucket resources to BucketV2.
|
|
14
15
|
*
|
|
15
16
|
* ## Example Usage
|
|
16
17
|
*
|
|
17
|
-
* ### Private Bucket
|
|
18
|
+
* ### Private Bucket w/ Tags
|
|
18
19
|
*
|
|
19
20
|
* ```typescript
|
|
20
21
|
* import * as pulumi from "@pulumi/pulumi";
|
|
21
22
|
* import * as aws from "@pulumi/aws";
|
|
22
23
|
*
|
|
23
|
-
* const
|
|
24
|
+
* const b = new aws.s3.Bucket("b", {
|
|
24
25
|
* bucket: "my-tf-test-bucket",
|
|
26
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
25
27
|
* tags: {
|
|
26
28
|
* Name: "My bucket",
|
|
27
29
|
* Environment: "Dev",
|
|
@@ -29,13 +31,323 @@ const utilities = require("../utilities");
|
|
|
29
31
|
* });
|
|
30
32
|
* ```
|
|
31
33
|
*
|
|
34
|
+
* ### Static Website Hosting
|
|
35
|
+
*
|
|
36
|
+
* ```typescript
|
|
37
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
38
|
+
* import * as aws from "@pulumi/aws";
|
|
39
|
+
* import * as std from "@pulumi/std";
|
|
40
|
+
*
|
|
41
|
+
* const b = new aws.s3.Bucket("b", {
|
|
42
|
+
* bucket: "s3-website-test.mydomain.com",
|
|
43
|
+
* acl: aws.s3.CannedAcl.PublicRead,
|
|
44
|
+
* policy: std.file({
|
|
45
|
+
* input: "policy.json",
|
|
46
|
+
* }).then(invoke => invoke.result),
|
|
47
|
+
* website: {
|
|
48
|
+
* indexDocument: "index.html",
|
|
49
|
+
* errorDocument: "error.html",
|
|
50
|
+
* routingRules: `[{
|
|
51
|
+
* "Condition": {
|
|
52
|
+
* "KeyPrefixEquals": "docs/"
|
|
53
|
+
* },
|
|
54
|
+
* "Redirect": {
|
|
55
|
+
* "ReplaceKeyPrefixWith": "documents/"
|
|
56
|
+
* }
|
|
57
|
+
* }]
|
|
58
|
+
* `,
|
|
59
|
+
* },
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* ### Using CORS
|
|
64
|
+
*
|
|
65
|
+
* ```typescript
|
|
66
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
67
|
+
* import * as aws from "@pulumi/aws";
|
|
68
|
+
*
|
|
69
|
+
* const b = new aws.s3.Bucket("b", {
|
|
70
|
+
* bucket: "s3-website-test.mydomain.com",
|
|
71
|
+
* acl: aws.s3.CannedAcl.PublicRead,
|
|
72
|
+
* corsRules: [{
|
|
73
|
+
* allowedHeaders: ["*"],
|
|
74
|
+
* allowedMethods: [
|
|
75
|
+
* "PUT",
|
|
76
|
+
* "POST",
|
|
77
|
+
* ],
|
|
78
|
+
* allowedOrigins: ["https://s3-website-test.mydomain.com"],
|
|
79
|
+
* exposeHeaders: ["ETag"],
|
|
80
|
+
* maxAgeSeconds: 3000,
|
|
81
|
+
* }],
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* ### Using versioning
|
|
86
|
+
*
|
|
87
|
+
* ```typescript
|
|
88
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
89
|
+
* import * as aws from "@pulumi/aws";
|
|
90
|
+
*
|
|
91
|
+
* const b = new aws.s3.Bucket("b", {
|
|
92
|
+
* bucket: "my-tf-test-bucket",
|
|
93
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
94
|
+
* versioning: {
|
|
95
|
+
* enabled: true,
|
|
96
|
+
* },
|
|
97
|
+
* });
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* ### Enable Logging
|
|
101
|
+
*
|
|
102
|
+
* ```typescript
|
|
103
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
104
|
+
* import * as aws from "@pulumi/aws";
|
|
105
|
+
*
|
|
106
|
+
* const logBucket = new aws.s3.Bucket("log_bucket", {
|
|
107
|
+
* bucket: "my-tf-log-bucket",
|
|
108
|
+
* acl: aws.s3.CannedAcl.LogDeliveryWrite,
|
|
109
|
+
* });
|
|
110
|
+
* const b = new aws.s3.Bucket("b", {
|
|
111
|
+
* bucket: "my-tf-test-bucket",
|
|
112
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
113
|
+
* loggings: [{
|
|
114
|
+
* targetBucket: logBucket.id,
|
|
115
|
+
* targetPrefix: "log/",
|
|
116
|
+
* }],
|
|
117
|
+
* });
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* ### Using object lifecycle
|
|
121
|
+
*
|
|
122
|
+
* ```typescript
|
|
123
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
124
|
+
* import * as aws from "@pulumi/aws";
|
|
125
|
+
*
|
|
126
|
+
* const bucket = new aws.s3.Bucket("bucket", {
|
|
127
|
+
* bucket: "my-bucket",
|
|
128
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
129
|
+
* lifecycleRules: [
|
|
130
|
+
* {
|
|
131
|
+
* id: "log",
|
|
132
|
+
* enabled: true,
|
|
133
|
+
* prefix: "log/",
|
|
134
|
+
* tags: {
|
|
135
|
+
* rule: "log",
|
|
136
|
+
* autoclean: "true",
|
|
137
|
+
* },
|
|
138
|
+
* transitions: [
|
|
139
|
+
* {
|
|
140
|
+
* days: 30,
|
|
141
|
+
* storageClass: "STANDARD_IA",
|
|
142
|
+
* },
|
|
143
|
+
* {
|
|
144
|
+
* days: 60,
|
|
145
|
+
* storageClass: "GLACIER",
|
|
146
|
+
* },
|
|
147
|
+
* ],
|
|
148
|
+
* expiration: {
|
|
149
|
+
* days: 90,
|
|
150
|
+
* },
|
|
151
|
+
* },
|
|
152
|
+
* {
|
|
153
|
+
* id: "tmp",
|
|
154
|
+
* prefix: "tmp/",
|
|
155
|
+
* enabled: true,
|
|
156
|
+
* expiration: {
|
|
157
|
+
* date: "2016-01-12",
|
|
158
|
+
* },
|
|
159
|
+
* },
|
|
160
|
+
* ],
|
|
161
|
+
* });
|
|
162
|
+
* const versioningBucket = new aws.s3.Bucket("versioning_bucket", {
|
|
163
|
+
* bucket: "my-versioning-bucket",
|
|
164
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
165
|
+
* versioning: {
|
|
166
|
+
* enabled: true,
|
|
167
|
+
* },
|
|
168
|
+
* lifecycleRules: [{
|
|
169
|
+
* prefix: "config/",
|
|
170
|
+
* enabled: true,
|
|
171
|
+
* noncurrentVersionTransitions: [
|
|
172
|
+
* {
|
|
173
|
+
* days: 30,
|
|
174
|
+
* storageClass: "STANDARD_IA",
|
|
175
|
+
* },
|
|
176
|
+
* {
|
|
177
|
+
* days: 60,
|
|
178
|
+
* storageClass: "GLACIER",
|
|
179
|
+
* },
|
|
180
|
+
* ],
|
|
181
|
+
* noncurrentVersionExpiration: {
|
|
182
|
+
* days: 90,
|
|
183
|
+
* },
|
|
184
|
+
* }],
|
|
185
|
+
* });
|
|
186
|
+
* ```
|
|
187
|
+
*
|
|
188
|
+
* ### Using replication configuration
|
|
189
|
+
*
|
|
190
|
+
* > **NOTE:** See the `aws.s3.BucketReplicationConfig` resource to support bi-directional replication configuration and additional features.
|
|
191
|
+
*
|
|
192
|
+
* ```typescript
|
|
193
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
194
|
+
* import * as aws from "@pulumi/aws";
|
|
195
|
+
*
|
|
196
|
+
* const replication = new aws.iam.Role("replication", {
|
|
197
|
+
* name: "tf-iam-role-replication-12345",
|
|
198
|
+
* assumeRolePolicy: `{
|
|
199
|
+
* "Version": "2012-10-17",
|
|
200
|
+
* "Statement": [
|
|
201
|
+
* {
|
|
202
|
+
* "Action": "sts:AssumeRole",
|
|
203
|
+
* "Principal": {
|
|
204
|
+
* "Service": "s3.amazonaws.com"
|
|
205
|
+
* },
|
|
206
|
+
* "Effect": "Allow",
|
|
207
|
+
* "Sid": ""
|
|
208
|
+
* }
|
|
209
|
+
* ]
|
|
210
|
+
* }
|
|
211
|
+
* `,
|
|
212
|
+
* });
|
|
213
|
+
* const destination = new aws.s3.Bucket("destination", {
|
|
214
|
+
* bucket: "tf-test-bucket-destination-12345",
|
|
215
|
+
* versioning: {
|
|
216
|
+
* enabled: true,
|
|
217
|
+
* },
|
|
218
|
+
* });
|
|
219
|
+
* const source = new aws.s3.Bucket("source", {
|
|
220
|
+
* bucket: "tf-test-bucket-source-12345",
|
|
221
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
222
|
+
* versioning: {
|
|
223
|
+
* enabled: true,
|
|
224
|
+
* },
|
|
225
|
+
* replicationConfiguration: {
|
|
226
|
+
* role: replication.arn,
|
|
227
|
+
* rules: [{
|
|
228
|
+
* id: "foobar",
|
|
229
|
+
* status: "Enabled",
|
|
230
|
+
* filter: {
|
|
231
|
+
* tags: {},
|
|
232
|
+
* },
|
|
233
|
+
* destination: {
|
|
234
|
+
* bucket: destination.arn,
|
|
235
|
+
* storageClass: "STANDARD",
|
|
236
|
+
* replicationTime: {
|
|
237
|
+
* status: "Enabled",
|
|
238
|
+
* minutes: 15,
|
|
239
|
+
* },
|
|
240
|
+
* metrics: {
|
|
241
|
+
* status: "Enabled",
|
|
242
|
+
* minutes: 15,
|
|
243
|
+
* },
|
|
244
|
+
* },
|
|
245
|
+
* }],
|
|
246
|
+
* },
|
|
247
|
+
* });
|
|
248
|
+
* const replicationPolicy = new aws.iam.Policy("replication", {
|
|
249
|
+
* name: "tf-iam-role-policy-replication-12345",
|
|
250
|
+
* policy: pulumi.interpolate`{
|
|
251
|
+
* "Version": "2012-10-17",
|
|
252
|
+
* "Statement": [
|
|
253
|
+
* {
|
|
254
|
+
* "Action": [
|
|
255
|
+
* "s3:GetReplicationConfiguration",
|
|
256
|
+
* "s3:ListBucket"
|
|
257
|
+
* ],
|
|
258
|
+
* "Effect": "Allow",
|
|
259
|
+
* "Resource": [
|
|
260
|
+
* "${source.arn}"
|
|
261
|
+
* ]
|
|
262
|
+
* },
|
|
263
|
+
* {
|
|
264
|
+
* "Action": [
|
|
265
|
+
* "s3:GetObjectVersionForReplication",
|
|
266
|
+
* "s3:GetObjectVersionAcl",
|
|
267
|
+
* "s3:GetObjectVersionTagging"
|
|
268
|
+
* ],
|
|
269
|
+
* "Effect": "Allow",
|
|
270
|
+
* "Resource": [
|
|
271
|
+
* "${source.arn}/*"
|
|
272
|
+
* ]
|
|
273
|
+
* },
|
|
274
|
+
* {
|
|
275
|
+
* "Action": [
|
|
276
|
+
* "s3:ReplicateObject",
|
|
277
|
+
* "s3:ReplicateDelete",
|
|
278
|
+
* "s3:ReplicateTags"
|
|
279
|
+
* ],
|
|
280
|
+
* "Effect": "Allow",
|
|
281
|
+
* "Resource": "${destination.arn}/*"
|
|
282
|
+
* }
|
|
283
|
+
* ]
|
|
284
|
+
* }
|
|
285
|
+
* `,
|
|
286
|
+
* });
|
|
287
|
+
* const replicationRolePolicyAttachment = new aws.iam.RolePolicyAttachment("replication", {
|
|
288
|
+
* role: replication.name,
|
|
289
|
+
* policyArn: replicationPolicy.arn,
|
|
290
|
+
* });
|
|
291
|
+
* ```
|
|
292
|
+
*
|
|
293
|
+
* ### Enable Default Server Side Encryption
|
|
294
|
+
*
|
|
295
|
+
* ```typescript
|
|
296
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
297
|
+
* import * as aws from "@pulumi/aws";
|
|
298
|
+
*
|
|
299
|
+
* const mykey = new aws.kms.Key("mykey", {
|
|
300
|
+
* description: "This key is used to encrypt bucket objects",
|
|
301
|
+
* deletionWindowInDays: 10,
|
|
302
|
+
* });
|
|
303
|
+
* const mybucket = new aws.s3.Bucket("mybucket", {
|
|
304
|
+
* bucket: "mybucket",
|
|
305
|
+
* serverSideEncryptionConfiguration: {
|
|
306
|
+
* rule: {
|
|
307
|
+
* applyServerSideEncryptionByDefault: {
|
|
308
|
+
* kmsMasterKeyId: mykey.arn,
|
|
309
|
+
* sseAlgorithm: "aws:kms",
|
|
310
|
+
* },
|
|
311
|
+
* },
|
|
312
|
+
* },
|
|
313
|
+
* });
|
|
314
|
+
* ```
|
|
315
|
+
*
|
|
316
|
+
* ### Using ACL policy grants
|
|
317
|
+
*
|
|
318
|
+
* ```typescript
|
|
319
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
320
|
+
* import * as aws from "@pulumi/aws";
|
|
321
|
+
*
|
|
322
|
+
* const currentUser = aws.s3.getCanonicalUserId({});
|
|
323
|
+
* const bucket = new aws.s3.Bucket("bucket", {
|
|
324
|
+
* bucket: "mybucket",
|
|
325
|
+
* grants: [
|
|
326
|
+
* {
|
|
327
|
+
* id: currentUser.then(currentUser => currentUser.id),
|
|
328
|
+
* type: "CanonicalUser",
|
|
329
|
+
* permissions: ["FULL_CONTROL"],
|
|
330
|
+
* },
|
|
331
|
+
* {
|
|
332
|
+
* type: "Group",
|
|
333
|
+
* permissions: [
|
|
334
|
+
* "READ_ACP",
|
|
335
|
+
* "WRITE",
|
|
336
|
+
* ],
|
|
337
|
+
* uri: "http://acs.amazonaws.com/groups/s3/LogDelivery",
|
|
338
|
+
* },
|
|
339
|
+
* ],
|
|
340
|
+
* });
|
|
341
|
+
* ```
|
|
342
|
+
*
|
|
32
343
|
* ## Import
|
|
33
344
|
*
|
|
34
|
-
*
|
|
345
|
+
* S3 bucket can be imported using the `bucket`, e.g.,
|
|
35
346
|
*
|
|
36
347
|
* ```sh
|
|
37
348
|
* $ pulumi import aws:s3/bucket:Bucket bucket bucket-name
|
|
38
349
|
* ```
|
|
350
|
+
* The `policy` argument is not imported and will be deprecated in a future version of the provider. Use the `aws_s3_bucket_policy` resource to manage the S3 Bucket Policy instead.
|
|
39
351
|
*/
|
|
40
352
|
class Bucket extends pulumi.CustomResource {
|
|
41
353
|
/**
|
package/s3/bucket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../s3/bucket.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAK1C
|
|
1
|
+
{"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../s3/bucket.ts"],"names":[],"mappings":"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"}
|
package/types/input.d.ts
CHANGED
|
@@ -61023,19 +61023,19 @@ export declare namespace s3 {
|
|
|
61023
61023
|
}
|
|
61024
61024
|
interface BucketCorsRule {
|
|
61025
61025
|
/**
|
|
61026
|
-
*
|
|
61026
|
+
* Specifies which headers are allowed.
|
|
61027
61027
|
*/
|
|
61028
61028
|
allowedHeaders?: pulumi.Input<pulumi.Input<string>[]>;
|
|
61029
61029
|
/**
|
|
61030
|
-
*
|
|
61030
|
+
* Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
|
|
61031
61031
|
*/
|
|
61032
61032
|
allowedMethods: pulumi.Input<pulumi.Input<string>[]>;
|
|
61033
61033
|
/**
|
|
61034
|
-
*
|
|
61034
|
+
* Specifies which origins are allowed.
|
|
61035
61035
|
*/
|
|
61036
61036
|
allowedOrigins: pulumi.Input<pulumi.Input<string>[]>;
|
|
61037
61037
|
/**
|
|
61038
|
-
*
|
|
61038
|
+
* Specifies expose header in the response.
|
|
61039
61039
|
*/
|
|
61040
61040
|
exposeHeaders?: pulumi.Input<pulumi.Input<string>[]>;
|
|
61041
61041
|
/**
|
|
@@ -61243,7 +61243,7 @@ export declare namespace s3 {
|
|
|
61243
61243
|
*/
|
|
61244
61244
|
enabled: pulumi.Input<boolean>;
|
|
61245
61245
|
/**
|
|
61246
|
-
* Specifies a period in the object's expire
|
|
61246
|
+
* Specifies a period in the object's expire (documented below).
|
|
61247
61247
|
*/
|
|
61248
61248
|
expiration?: pulumi.Input<inputs.s3.BucketLifecycleRuleExpiration>;
|
|
61249
61249
|
/**
|
|
@@ -61251,11 +61251,13 @@ export declare namespace s3 {
|
|
|
61251
61251
|
*/
|
|
61252
61252
|
id?: pulumi.Input<string>;
|
|
61253
61253
|
/**
|
|
61254
|
-
* Specifies when noncurrent object versions expire
|
|
61254
|
+
* Specifies when noncurrent object versions expire (documented below).
|
|
61255
61255
|
*/
|
|
61256
61256
|
noncurrentVersionExpiration?: pulumi.Input<inputs.s3.BucketLifecycleRuleNoncurrentVersionExpiration>;
|
|
61257
61257
|
/**
|
|
61258
|
-
* Specifies when noncurrent object versions transitions
|
|
61258
|
+
* Specifies when noncurrent object versions transitions (documented below).
|
|
61259
|
+
*
|
|
61260
|
+
* At least one of `abortIncompleteMultipartUploadDays`, `expiration`, `transition`, `noncurrentVersionExpiration`, `noncurrentVersionTransition` must be specified.
|
|
61259
61261
|
*/
|
|
61260
61262
|
noncurrentVersionTransitions?: pulumi.Input<pulumi.Input<inputs.s3.BucketLifecycleRuleNoncurrentVersionTransition>[]>;
|
|
61261
61263
|
/**
|
|
@@ -61269,7 +61271,7 @@ export declare namespace s3 {
|
|
|
61269
61271
|
[key: string]: pulumi.Input<string>;
|
|
61270
61272
|
}>;
|
|
61271
61273
|
/**
|
|
61272
|
-
* Specifies a period in the object's transitions
|
|
61274
|
+
* Specifies a period in the object's transitions (documented below).
|
|
61273
61275
|
*/
|
|
61274
61276
|
transitions?: pulumi.Input<pulumi.Input<inputs.s3.BucketLifecycleRuleTransition>[]>;
|
|
61275
61277
|
}
|
|
@@ -61319,7 +61321,7 @@ export declare namespace s3 {
|
|
|
61319
61321
|
}
|
|
61320
61322
|
interface BucketLogging {
|
|
61321
61323
|
/**
|
|
61322
|
-
*
|
|
61324
|
+
* The name of the bucket that will receive the log objects.
|
|
61323
61325
|
*/
|
|
61324
61326
|
targetBucket: pulumi.Input<string>;
|
|
61325
61327
|
/**
|
|
@@ -61458,31 +61460,37 @@ export declare namespace s3 {
|
|
|
61458
61460
|
}
|
|
61459
61461
|
interface BucketObjectLockConfiguration {
|
|
61460
61462
|
/**
|
|
61461
|
-
* Indicates whether this bucket has an Object Lock configuration enabled. Valid
|
|
61463
|
+
* Indicates whether this bucket has an Object Lock configuration enabled. Valid value is `Enabled`.
|
|
61462
61464
|
*/
|
|
61463
61465
|
objectLockEnabled: pulumi.Input<string>;
|
|
61464
61466
|
/**
|
|
61465
|
-
* Object Lock rule in place for this bucket
|
|
61467
|
+
* The Object Lock rule in place for this bucket.
|
|
61466
61468
|
*/
|
|
61467
61469
|
rule?: pulumi.Input<inputs.s3.BucketObjectLockConfigurationRule>;
|
|
61468
61470
|
}
|
|
61469
61471
|
interface BucketObjectLockConfigurationRule {
|
|
61470
61472
|
/**
|
|
61471
|
-
*
|
|
61473
|
+
* The default retention period that you want to apply to new objects placed in this bucket.
|
|
61472
61474
|
*/
|
|
61473
61475
|
defaultRetention: pulumi.Input<inputs.s3.BucketObjectLockConfigurationRuleDefaultRetention>;
|
|
61474
61476
|
}
|
|
61475
61477
|
interface BucketObjectLockConfigurationRuleDefaultRetention {
|
|
61476
61478
|
/**
|
|
61477
|
-
*
|
|
61479
|
+
* The number of days that you want to specify for the default retention period.
|
|
61478
61480
|
*/
|
|
61479
61481
|
days?: pulumi.Input<number>;
|
|
61480
61482
|
/**
|
|
61481
|
-
*
|
|
61483
|
+
* The default Object Lock retention mode you want to apply to new objects placed in this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.
|
|
61482
61484
|
*/
|
|
61483
61485
|
mode: pulumi.Input<string>;
|
|
61484
61486
|
/**
|
|
61485
|
-
*
|
|
61487
|
+
* The number of years that you want to specify for the default retention period.
|
|
61488
|
+
*
|
|
61489
|
+
* Either `days` or `years` must be specified, but not both.
|
|
61490
|
+
*
|
|
61491
|
+
* > **NOTE on `objectLockConfiguration`:** You can only enable S3 Object Lock for new buckets. If you need to turn on S3 Object Lock for an existing bucket, please contact AWS Support.
|
|
61492
|
+
* When you create a bucket with S3 Object Lock enabled, Amazon S3 automatically enables versioning for the bucket.
|
|
61493
|
+
* Once you create a bucket with S3 Object Lock enabled, you can't disable Object Lock or suspend versioning for the bucket.
|
|
61486
61494
|
*/
|
|
61487
61495
|
years?: pulumi.Input<number>;
|
|
61488
61496
|
}
|
|
@@ -61715,7 +61723,7 @@ export declare namespace s3 {
|
|
|
61715
61723
|
}
|
|
61716
61724
|
interface BucketReplicationConfiguration {
|
|
61717
61725
|
/**
|
|
61718
|
-
* ARN of the IAM role for Amazon S3 to assume when replicating the objects.
|
|
61726
|
+
* The ARN of the IAM role for Amazon S3 to assume when replicating the objects.
|
|
61719
61727
|
*/
|
|
61720
61728
|
role: pulumi.Input<string>;
|
|
61721
61729
|
/**
|
|
@@ -61745,7 +61753,7 @@ export declare namespace s3 {
|
|
|
61745
61753
|
*/
|
|
61746
61754
|
prefix?: pulumi.Input<string>;
|
|
61747
61755
|
/**
|
|
61748
|
-
*
|
|
61756
|
+
* The priority associated with the rule. Priority should only be set if `filter` is configured. If not provided, defaults to `0`. Priority must be unique between multiple rules.
|
|
61749
61757
|
*/
|
|
61750
61758
|
priority?: pulumi.Input<number>;
|
|
61751
61759
|
/**
|
|
@@ -61753,21 +61761,23 @@ export declare namespace s3 {
|
|
|
61753
61761
|
*/
|
|
61754
61762
|
sourceSelectionCriteria?: pulumi.Input<inputs.s3.BucketReplicationConfigurationRuleSourceSelectionCriteria>;
|
|
61755
61763
|
/**
|
|
61756
|
-
*
|
|
61764
|
+
* The status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.
|
|
61765
|
+
*
|
|
61766
|
+
* > **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rules` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.
|
|
61757
61767
|
*/
|
|
61758
61768
|
status: pulumi.Input<string>;
|
|
61759
61769
|
}
|
|
61760
61770
|
interface BucketReplicationConfigurationRuleDestination {
|
|
61761
61771
|
/**
|
|
61762
|
-
* Specifies the overrides to use for object owners on replication
|
|
61772
|
+
* Specifies the overrides to use for object owners on replication. Must be used in conjunction with `accountId` owner override configuration.
|
|
61763
61773
|
*/
|
|
61764
61774
|
accessControlTranslation?: pulumi.Input<inputs.s3.BucketReplicationConfigurationRuleDestinationAccessControlTranslation>;
|
|
61765
61775
|
/**
|
|
61766
|
-
* Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.
|
|
61776
|
+
* The Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.
|
|
61767
61777
|
*/
|
|
61768
61778
|
accountId?: pulumi.Input<string>;
|
|
61769
61779
|
/**
|
|
61770
|
-
* ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.
|
|
61780
|
+
* The ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.
|
|
61771
61781
|
*/
|
|
61772
61782
|
bucket: pulumi.Input<string>;
|
|
61773
61783
|
/**
|
|
@@ -61790,7 +61800,7 @@ export declare namespace s3 {
|
|
|
61790
61800
|
}
|
|
61791
61801
|
interface BucketReplicationConfigurationRuleDestinationAccessControlTranslation {
|
|
61792
61802
|
/**
|
|
61793
|
-
*
|
|
61803
|
+
* The override value for the owner on replicated objects. Currently only `Destination` is supported.
|
|
61794
61804
|
*/
|
|
61795
61805
|
owner: pulumi.Input<string>;
|
|
61796
61806
|
}
|
|
@@ -61800,7 +61810,7 @@ export declare namespace s3 {
|
|
|
61800
61810
|
*/
|
|
61801
61811
|
minutes?: pulumi.Input<number>;
|
|
61802
61812
|
/**
|
|
61803
|
-
*
|
|
61813
|
+
* The status of replication metrics. Either `Enabled` or `Disabled`.
|
|
61804
61814
|
*/
|
|
61805
61815
|
status?: pulumi.Input<string>;
|
|
61806
61816
|
}
|
|
@@ -61810,7 +61820,7 @@ export declare namespace s3 {
|
|
|
61810
61820
|
*/
|
|
61811
61821
|
minutes?: pulumi.Input<number>;
|
|
61812
61822
|
/**
|
|
61813
|
-
*
|
|
61823
|
+
* The status of RTC. Either `Enabled` or `Disabled`.
|
|
61814
61824
|
*/
|
|
61815
61825
|
status?: pulumi.Input<string>;
|
|
61816
61826
|
}
|
|
@@ -61842,13 +61852,13 @@ export declare namespace s3 {
|
|
|
61842
61852
|
}
|
|
61843
61853
|
interface BucketServerSideEncryptionConfiguration {
|
|
61844
61854
|
/**
|
|
61845
|
-
*
|
|
61855
|
+
* A single object for server-side encryption by default configuration. (documented below)
|
|
61846
61856
|
*/
|
|
61847
61857
|
rule: pulumi.Input<inputs.s3.BucketServerSideEncryptionConfigurationRule>;
|
|
61848
61858
|
}
|
|
61849
61859
|
interface BucketServerSideEncryptionConfigurationRule {
|
|
61850
61860
|
/**
|
|
61851
|
-
*
|
|
61861
|
+
* A single object for setting server-side encryption by default. (documented below)
|
|
61852
61862
|
*/
|
|
61853
61863
|
applyServerSideEncryptionByDefault: pulumi.Input<inputs.s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault>;
|
|
61854
61864
|
/**
|
|
@@ -61858,11 +61868,11 @@ export declare namespace s3 {
|
|
|
61858
61868
|
}
|
|
61859
61869
|
interface BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault {
|
|
61860
61870
|
/**
|
|
61861
|
-
* AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sseAlgorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sseAlgorithm` is `aws:kms`.
|
|
61871
|
+
* The AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sseAlgorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sseAlgorithm` is `aws:kms`.
|
|
61862
61872
|
*/
|
|
61863
61873
|
kmsMasterKeyId?: pulumi.Input<string>;
|
|
61864
61874
|
/**
|
|
61865
|
-
*
|
|
61875
|
+
* The server-side encryption algorithm to use. Valid values are `AES256` and `aws:kms`
|
|
61866
61876
|
*/
|
|
61867
61877
|
sseAlgorithm: pulumi.Input<string>;
|
|
61868
61878
|
}
|
|
@@ -62258,7 +62268,7 @@ export declare namespace s3 {
|
|
|
62258
62268
|
}
|
|
62259
62269
|
interface BucketWebsite {
|
|
62260
62270
|
/**
|
|
62261
|
-
*
|
|
62271
|
+
* An absolute path to the document to return in case of a 4XX error.
|
|
62262
62272
|
*/
|
|
62263
62273
|
errorDocument?: pulumi.Input<string>;
|
|
62264
62274
|
/**
|
|
@@ -62266,12 +62276,14 @@ export declare namespace s3 {
|
|
|
62266
62276
|
*/
|
|
62267
62277
|
indexDocument?: pulumi.Input<string>;
|
|
62268
62278
|
/**
|
|
62269
|
-
*
|
|
62279
|
+
* A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting requests. The default is the protocol that is used in the original request.
|
|
62270
62280
|
*/
|
|
62271
62281
|
redirectAllRequestsTo?: pulumi.Input<string>;
|
|
62272
62282
|
/**
|
|
62273
|
-
*
|
|
62283
|
+
* A json array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)
|
|
62274
62284
|
* describing redirect behavior and when redirects are applied.
|
|
62285
|
+
*
|
|
62286
|
+
* The `CORS` object supports the following:
|
|
62275
62287
|
*/
|
|
62276
62288
|
routingRules?: pulumi.Input<string | pulumi.Input<RoutingRule>[]>;
|
|
62277
62289
|
}
|