@pulumi/aws 7.0.0-alpha.1 → 7.0.0-alpha.2

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 (66) hide show
  1. package/ecr/index.d.ts +1 -0
  2. package/ecr/index.js +1 -0
  3. package/ecr/index.js.map +1 -1
  4. package/ecr/lifecyclePolicyDocument.d.ts +5 -0
  5. package/ecr/lifecyclePolicyDocument.js +3 -0
  6. package/ecr/lifecyclePolicyDocument.js.map +1 -0
  7. package/iam/documents.d.ts +5 -0
  8. package/package.json +2 -2
  9. package/s3/bucketAccelerateConfiguration.js +1 -1
  10. package/s3/bucketAccelerateConfiguration.js.map +1 -1
  11. package/s3/bucketAccelerateConfigurationV2.d.ts +122 -0
  12. package/s3/bucketAccelerateConfigurationV2.js +103 -0
  13. package/s3/bucketAccelerateConfigurationV2.js.map +1 -0
  14. package/s3/bucketAcl.js +1 -1
  15. package/s3/bucketAcl.js.map +1 -1
  16. package/s3/bucketAclV2.d.ts +241 -0
  17. package/s3/bucketAclV2.js +207 -0
  18. package/s3/bucketAclV2.js.map +1 -0
  19. package/s3/bucketCorsConfiguration.js +1 -1
  20. package/s3/bucketCorsConfiguration.js.map +1 -1
  21. package/s3/bucketCorsConfigurationV2.d.ts +141 -0
  22. package/s3/bucketCorsConfigurationV2.js +120 -0
  23. package/s3/bucketCorsConfigurationV2.js.map +1 -0
  24. package/s3/bucketLifecycleConfiguration.js +1 -1
  25. package/s3/bucketLifecycleConfiguration.js.map +1 -1
  26. package/s3/bucketLifecycleConfigurationV2.d.ts +437 -0
  27. package/s3/bucketLifecycleConfigurationV2.js +402 -0
  28. package/s3/bucketLifecycleConfigurationV2.js.map +1 -0
  29. package/s3/bucketLogging.js +1 -1
  30. package/s3/bucketLogging.js.map +1 -1
  31. package/s3/bucketLoggingV2.d.ts +174 -0
  32. package/s3/bucketLoggingV2.js +126 -0
  33. package/s3/bucketLoggingV2.js.map +1 -0
  34. package/s3/bucketObjectLockConfiguration.js +1 -1
  35. package/s3/bucketObjectLockConfiguration.js.map +1 -1
  36. package/s3/bucketObjectLockConfigurationV2.d.ts +164 -0
  37. package/s3/bucketObjectLockConfigurationV2.js +119 -0
  38. package/s3/bucketObjectLockConfigurationV2.js.map +1 -0
  39. package/s3/bucketRequestPaymentConfiguration.js +1 -1
  40. package/s3/bucketRequestPaymentConfiguration.js.map +1 -1
  41. package/s3/bucketRequestPaymentConfigurationV2.d.ts +123 -0
  42. package/s3/bucketRequestPaymentConfigurationV2.js +104 -0
  43. package/s3/bucketRequestPaymentConfigurationV2.js.map +1 -0
  44. package/s3/bucketServerSideEncryptionConfiguration.js +1 -1
  45. package/s3/bucketServerSideEncryptionConfiguration.js.map +1 -1
  46. package/s3/bucketServerSideEncryptionConfigurationV2.d.ts +133 -0
  47. package/s3/bucketServerSideEncryptionConfigurationV2.js +112 -0
  48. package/s3/bucketServerSideEncryptionConfigurationV2.js.map +1 -0
  49. package/s3/bucketV2.d.ts +518 -0
  50. package/s3/bucketV2.js +138 -0
  51. package/s3/bucketV2.js.map +1 -0
  52. package/s3/bucketVersioning.js +1 -1
  53. package/s3/bucketVersioning.js.map +1 -1
  54. package/s3/bucketVersioningV2.d.ts +195 -0
  55. package/s3/bucketVersioningV2.js +164 -0
  56. package/s3/bucketVersioningV2.js.map +1 -0
  57. package/s3/bucketWebsiteConfiguration.js +1 -1
  58. package/s3/bucketWebsiteConfiguration.js.map +1 -1
  59. package/s3/bucketWebsiteConfigurationV2.d.ts +231 -0
  60. package/s3/bucketWebsiteConfigurationV2.js +152 -0
  61. package/s3/bucketWebsiteConfigurationV2.js.map +1 -0
  62. package/s3/index.d.ts +33 -0
  63. package/s3/index.js +57 -1
  64. package/s3/index.js.map +1 -1
  65. package/types/input.d.ts +781 -21
  66. package/types/output.d.ts +781 -21
@@ -0,0 +1,402 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.BucketLifecycleConfigurationV2 = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Provides an independent configuration resource for S3 bucket [lifecycle configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).
10
+ *
11
+ * An S3 Lifecycle configuration consists of one or more Lifecycle rules. Each rule consists of the following:
12
+ *
13
+ * * Rule metadata (`id` and `status`)
14
+ * * Filter identifying objects to which the rule applies
15
+ * * One or more transition or expiration actions
16
+ *
17
+ * For more information see the Amazon S3 User Guide on [`Lifecycle Configuration Elements`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html).
18
+ *
19
+ * > S3 Buckets only support a single lifecycle configuration. Declaring multiple `aws.s3.BucketLifecycleConfiguration` resources to the same S3 Bucket will cause a perpetual difference in configuration.
20
+ *
21
+ * > Lifecycle configurations may take some time to fully propagate to all AWS S3 systems.
22
+ * Running Pulumi operations shortly after creating a lifecycle configuration may result in changes that affect configuration idempotence.
23
+ * See the Amazon S3 User Guide on [setting lifecycle configuration on a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).
24
+ *
25
+ * ## Example Usage
26
+ *
27
+ * ### With neither a filter nor prefix specified
28
+ *
29
+ * The Lifecycle rule applies to a subset of objects based on the key name prefix (`""`).
30
+ *
31
+ * This configuration is intended to replicate the default behavior of the `lifecycleRule`
32
+ * parameter in the AWS Provider `aws.s3.Bucket` resource prior to `v4.0`.
33
+ *
34
+ * ```typescript
35
+ * import * as pulumi from "@pulumi/pulumi";
36
+ * import * as aws from "@pulumi/aws";
37
+ *
38
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
39
+ * bucket: bucket.id,
40
+ * rules: [{
41
+ * id: "rule-1",
42
+ * status: "Enabled",
43
+ * }],
44
+ * });
45
+ * ```
46
+ *
47
+ * ### Specifying an empty filter
48
+ *
49
+ * The Lifecycle rule applies to all objects in the bucket.
50
+ *
51
+ * ```typescript
52
+ * import * as pulumi from "@pulumi/pulumi";
53
+ * import * as aws from "@pulumi/aws";
54
+ *
55
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
56
+ * bucket: bucket.id,
57
+ * rules: [{
58
+ * id: "rule-1",
59
+ * filter: {},
60
+ * status: "Enabled",
61
+ * }],
62
+ * });
63
+ * ```
64
+ *
65
+ * ### Specifying a filter using key prefixes
66
+ *
67
+ * The Lifecycle rule applies to a subset of objects based on the key name prefix (`logs/`).
68
+ *
69
+ * ```typescript
70
+ * import * as pulumi from "@pulumi/pulumi";
71
+ * import * as aws from "@pulumi/aws";
72
+ *
73
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
74
+ * bucket: bucket.id,
75
+ * rules: [{
76
+ * id: "rule-1",
77
+ * filter: {
78
+ * prefix: "logs/",
79
+ * },
80
+ * status: "Enabled",
81
+ * }],
82
+ * });
83
+ * ```
84
+ *
85
+ * If you want to apply a Lifecycle action to a subset of objects based on different key name prefixes, specify separate rules.
86
+ *
87
+ * ```typescript
88
+ * import * as pulumi from "@pulumi/pulumi";
89
+ * import * as aws from "@pulumi/aws";
90
+ *
91
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
92
+ * bucket: bucket.id,
93
+ * rules: [
94
+ * {
95
+ * id: "rule-1",
96
+ * filter: {
97
+ * prefix: "logs/",
98
+ * },
99
+ * status: "Enabled",
100
+ * },
101
+ * {
102
+ * id: "rule-2",
103
+ * filter: {
104
+ * prefix: "tmp/",
105
+ * },
106
+ * status: "Enabled",
107
+ * },
108
+ * ],
109
+ * });
110
+ * ```
111
+ *
112
+ * ### Specifying a filter based on an object tag
113
+ *
114
+ * The Lifecycle rule specifies a filter based on a tag key and value. The rule then applies only to a subset of objects with the specific tag.
115
+ *
116
+ * ```typescript
117
+ * import * as pulumi from "@pulumi/pulumi";
118
+ * import * as aws from "@pulumi/aws";
119
+ *
120
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
121
+ * bucket: bucket.id,
122
+ * rules: [{
123
+ * id: "rule-1",
124
+ * filter: {
125
+ * tag: {
126
+ * key: "Name",
127
+ * value: "Staging",
128
+ * },
129
+ * },
130
+ * status: "Enabled",
131
+ * }],
132
+ * });
133
+ * ```
134
+ *
135
+ * ### Specifying a filter based on multiple tags
136
+ *
137
+ * The Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with two tags (with the specific tag keys and values). Notice `tags` is wrapped in the `and` configuration block.
138
+ *
139
+ * ```typescript
140
+ * import * as pulumi from "@pulumi/pulumi";
141
+ * import * as aws from "@pulumi/aws";
142
+ *
143
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
144
+ * bucket: bucket.id,
145
+ * rules: [{
146
+ * id: "rule-1",
147
+ * filter: {
148
+ * and: {
149
+ * tags: {
150
+ * Key1: "Value1",
151
+ * Key2: "Value2",
152
+ * },
153
+ * },
154
+ * },
155
+ * status: "Enabled",
156
+ * }],
157
+ * });
158
+ * ```
159
+ *
160
+ * ### Specifying a filter based on both prefix and one or more tags
161
+ *
162
+ * The Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with the specified prefix and two tags (with the specific tag keys and values). Notice both `prefix` and `tags` are wrapped in the `and` configuration block.
163
+ *
164
+ * ```typescript
165
+ * import * as pulumi from "@pulumi/pulumi";
166
+ * import * as aws from "@pulumi/aws";
167
+ *
168
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
169
+ * bucket: bucket.id,
170
+ * rules: [{
171
+ * id: "rule-1",
172
+ * filter: {
173
+ * and: {
174
+ * prefix: "logs/",
175
+ * tags: {
176
+ * Key1: "Value1",
177
+ * Key2: "Value2",
178
+ * },
179
+ * },
180
+ * },
181
+ * status: "Enabled",
182
+ * }],
183
+ * });
184
+ * ```
185
+ *
186
+ * ### Specifying a filter based on object size
187
+ *
188
+ * Object size values are in bytes. Maximum filter size is 5TB. Amazon S3 applies a default behavior to your Lifecycle configuration that prevents objects smaller than 128 KB from being transitioned to any storage class. You can allow smaller objects to transition by adding a minimum size (`objectSizeGreaterThan`) or a maximum size (`objectSizeLessThan`) filter that specifies a smaller size to the configuration. This example allows any object smaller than 128 KB to transition to the S3 Glacier Instant Retrieval storage class:
189
+ *
190
+ * ```typescript
191
+ * import * as pulumi from "@pulumi/pulumi";
192
+ * import * as aws from "@pulumi/aws";
193
+ *
194
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
195
+ * bucket: bucket.id,
196
+ * rules: [{
197
+ * id: "Allow small object transitions",
198
+ * filter: {
199
+ * objectSizeGreaterThan: 1,
200
+ * },
201
+ * status: "Enabled",
202
+ * transitions: [{
203
+ * days: 365,
204
+ * storageClass: "GLACIER_IR",
205
+ * }],
206
+ * }],
207
+ * });
208
+ * ```
209
+ *
210
+ * ### Specifying a filter based on object size range and prefix
211
+ *
212
+ * The `objectSizeGreaterThan` must be less than the `objectSizeLessThan`. Notice both the object size range and prefix are wrapped in the `and` configuration block.
213
+ *
214
+ * ```typescript
215
+ * import * as pulumi from "@pulumi/pulumi";
216
+ * import * as aws from "@pulumi/aws";
217
+ *
218
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
219
+ * bucket: bucket.id,
220
+ * rules: [{
221
+ * id: "rule-1",
222
+ * filter: {
223
+ * and: {
224
+ * prefix: "logs/",
225
+ * objectSizeGreaterThan: 500,
226
+ * objectSizeLessThan: 64000,
227
+ * },
228
+ * },
229
+ * status: "Enabled",
230
+ * }],
231
+ * });
232
+ * ```
233
+ *
234
+ * ### Creating a Lifecycle Configuration for a bucket with versioning
235
+ *
236
+ * ```typescript
237
+ * import * as pulumi from "@pulumi/pulumi";
238
+ * import * as aws from "@pulumi/aws";
239
+ *
240
+ * const bucket = new aws.s3.Bucket("bucket", {bucket: "my-bucket"});
241
+ * const bucketAcl = new aws.s3.BucketAcl("bucket_acl", {
242
+ * bucket: bucket.id,
243
+ * acl: "private",
244
+ * });
245
+ * const bucket_config = new aws.s3.BucketLifecycleConfiguration("bucket-config", {
246
+ * bucket: bucket.id,
247
+ * rules: [
248
+ * {
249
+ * id: "log",
250
+ * expiration: {
251
+ * days: 90,
252
+ * },
253
+ * filter: {
254
+ * and: {
255
+ * prefix: "log/",
256
+ * tags: {
257
+ * rule: "log",
258
+ * autoclean: "true",
259
+ * },
260
+ * },
261
+ * },
262
+ * status: "Enabled",
263
+ * transitions: [
264
+ * {
265
+ * days: 30,
266
+ * storageClass: "STANDARD_IA",
267
+ * },
268
+ * {
269
+ * days: 60,
270
+ * storageClass: "GLACIER",
271
+ * },
272
+ * ],
273
+ * },
274
+ * {
275
+ * id: "tmp",
276
+ * filter: {
277
+ * prefix: "tmp/",
278
+ * },
279
+ * expiration: {
280
+ * date: "2023-01-13T00:00:00Z",
281
+ * },
282
+ * status: "Enabled",
283
+ * },
284
+ * ],
285
+ * });
286
+ * const versioningBucket = new aws.s3.Bucket("versioning_bucket", {bucket: "my-versioning-bucket"});
287
+ * const versioningBucketAcl = new aws.s3.BucketAcl("versioning_bucket_acl", {
288
+ * bucket: versioningBucket.id,
289
+ * acl: "private",
290
+ * });
291
+ * const versioning = new aws.s3.BucketVersioning("versioning", {
292
+ * bucket: versioningBucket.id,
293
+ * versioningConfiguration: {
294
+ * status: "Enabled",
295
+ * },
296
+ * });
297
+ * const versioning_bucket_config = new aws.s3.BucketLifecycleConfiguration("versioning-bucket-config", {
298
+ * bucket: versioningBucket.id,
299
+ * rules: [{
300
+ * id: "config",
301
+ * filter: {
302
+ * prefix: "config/",
303
+ * },
304
+ * noncurrentVersionExpiration: {
305
+ * noncurrentDays: 90,
306
+ * },
307
+ * noncurrentVersionTransitions: [
308
+ * {
309
+ * noncurrentDays: 30,
310
+ * storageClass: "STANDARD_IA",
311
+ * },
312
+ * {
313
+ * noncurrentDays: 60,
314
+ * storageClass: "GLACIER",
315
+ * },
316
+ * ],
317
+ * status: "Enabled",
318
+ * }],
319
+ * }, {
320
+ * dependsOn: [versioning],
321
+ * });
322
+ * ```
323
+ *
324
+ * ## Import
325
+ *
326
+ * If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):
327
+ *
328
+ * Using `pulumi import`, import an S3 bucket lifecycle configuration using the `bucket` or the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:
329
+ *
330
+ * If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:
331
+ *
332
+ * ```sh
333
+ * $ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name
334
+ * ```
335
+ * If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):
336
+ *
337
+ * ```sh
338
+ * $ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name,123456789012
339
+ * ```
340
+ *
341
+ * @deprecated aws.s3/bucketlifecycleconfigurationv2.BucketLifecycleConfigurationV2 has been deprecated in favor of aws.s3/bucketlifecycleconfiguration.BucketLifecycleConfiguration
342
+ */
343
+ class BucketLifecycleConfigurationV2 extends pulumi.CustomResource {
344
+ /**
345
+ * Get an existing BucketLifecycleConfigurationV2 resource's state with the given name, ID, and optional extra
346
+ * properties used to qualify the lookup.
347
+ *
348
+ * @param name The _unique_ name of the resulting resource.
349
+ * @param id The _unique_ provider ID of the resource to lookup.
350
+ * @param state Any extra arguments used during the lookup.
351
+ * @param opts Optional settings to control the behavior of the CustomResource.
352
+ */
353
+ static get(name, id, state, opts) {
354
+ pulumi.log.warn("BucketLifecycleConfigurationV2 is deprecated: aws.s3/bucketlifecycleconfigurationv2.BucketLifecycleConfigurationV2 has been deprecated in favor of aws.s3/bucketlifecycleconfiguration.BucketLifecycleConfiguration");
355
+ return new BucketLifecycleConfigurationV2(name, state, Object.assign(Object.assign({}, opts), { id: id }));
356
+ }
357
+ /**
358
+ * Returns true if the given object is an instance of BucketLifecycleConfigurationV2. This is designed to work even
359
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
360
+ */
361
+ static isInstance(obj) {
362
+ if (obj === undefined || obj === null) {
363
+ return false;
364
+ }
365
+ return obj['__pulumiType'] === BucketLifecycleConfigurationV2.__pulumiType;
366
+ }
367
+ /** @deprecated aws.s3/bucketlifecycleconfigurationv2.BucketLifecycleConfigurationV2 has been deprecated in favor of aws.s3/bucketlifecycleconfiguration.BucketLifecycleConfiguration */
368
+ constructor(name, argsOrState, opts) {
369
+ pulumi.log.warn("BucketLifecycleConfigurationV2 is deprecated: aws.s3/bucketlifecycleconfigurationv2.BucketLifecycleConfigurationV2 has been deprecated in favor of aws.s3/bucketlifecycleconfiguration.BucketLifecycleConfiguration");
370
+ let resourceInputs = {};
371
+ opts = opts || {};
372
+ if (opts.id) {
373
+ const state = argsOrState;
374
+ resourceInputs["bucket"] = state ? state.bucket : undefined;
375
+ resourceInputs["expectedBucketOwner"] = state ? state.expectedBucketOwner : undefined;
376
+ resourceInputs["region"] = state ? state.region : undefined;
377
+ resourceInputs["rules"] = state ? state.rules : undefined;
378
+ resourceInputs["timeouts"] = state ? state.timeouts : undefined;
379
+ resourceInputs["transitionDefaultMinimumObjectSize"] = state ? state.transitionDefaultMinimumObjectSize : undefined;
380
+ }
381
+ else {
382
+ const args = argsOrState;
383
+ if ((!args || args.bucket === undefined) && !opts.urn) {
384
+ throw new Error("Missing required property 'bucket'");
385
+ }
386
+ resourceInputs["bucket"] = args ? args.bucket : undefined;
387
+ resourceInputs["expectedBucketOwner"] = args ? args.expectedBucketOwner : undefined;
388
+ resourceInputs["region"] = args ? args.region : undefined;
389
+ resourceInputs["rules"] = args ? args.rules : undefined;
390
+ resourceInputs["timeouts"] = args ? args.timeouts : undefined;
391
+ resourceInputs["transitionDefaultMinimumObjectSize"] = args ? args.transitionDefaultMinimumObjectSize : undefined;
392
+ }
393
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
394
+ const aliasOpts = { aliases: [{ type: "aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2" }] };
395
+ opts = pulumi.mergeOptions(opts, aliasOpts);
396
+ super(BucketLifecycleConfigurationV2.__pulumiType, name, resourceInputs, opts);
397
+ }
398
+ }
399
+ exports.BucketLifecycleConfigurationV2 = BucketLifecycleConfigurationV2;
400
+ /** @internal */
401
+ BucketLifecycleConfigurationV2.__pulumiType = 'aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2';
402
+ //# sourceMappingURL=bucketLifecycleConfigurationV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucketLifecycleConfigurationV2.js","sourceRoot":"","sources":["../../s3/bucketLifecycleConfigurationV2.ts"],"names":[],"mappings":"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"}
@@ -110,7 +110,7 @@ class BucketLogging extends pulumi.CustomResource {
110
110
  resourceInputs["targetPrefix"] = args ? args.targetPrefix : undefined;
111
111
  }
112
112
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
113
- const aliasOpts = { aliases: [{ type: "aws:s3/bucketLoggingV2:BucketLoggingV2" }, { type: "aws:s3/bucketLoggingV2:BucketLoggingV2" }] };
113
+ const aliasOpts = { aliases: [{ type: "aws:s3/bucketLoggingV2:BucketLoggingV2" }] };
114
114
  opts = pulumi.mergeOptions(opts, aliasOpts);
115
115
  super(BucketLogging.__pulumiType, name, resourceInputs, opts);
116
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bucketLogging.js","sourceRoot":"","sources":["../../s3/bucketLogging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bucketLogging.js","sourceRoot":"","sources":["../../s3/bucketLogging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Provides an S3 bucket (server access) logging resource. For more information, see [Logging requests using server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)
6
+ * in the AWS S3 User Guide.
7
+ *
8
+ * > **Note:** Amazon S3 supports server access logging, AWS CloudTrail, or a combination of both. Refer to the [Logging options for Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html)
9
+ * to decide which method meets your requirements.
10
+ *
11
+ * > This resource cannot be used with S3 directory buckets.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as aws from "@pulumi/aws";
18
+ *
19
+ * const example = new aws.s3.Bucket("example", {bucket: "my-tf-example-bucket"});
20
+ * const exampleBucketAcl = new aws.s3.BucketAcl("example", {
21
+ * bucket: example.id,
22
+ * acl: "private",
23
+ * });
24
+ * const logBucket = new aws.s3.Bucket("log_bucket", {bucket: "my-tf-log-bucket"});
25
+ * const logBucketAcl = new aws.s3.BucketAcl("log_bucket_acl", {
26
+ * bucket: logBucket.id,
27
+ * acl: "log-delivery-write",
28
+ * });
29
+ * const exampleBucketLogging = new aws.s3.BucketLogging("example", {
30
+ * bucket: example.id,
31
+ * targetBucket: logBucket.id,
32
+ * targetPrefix: "log/",
33
+ * });
34
+ * ```
35
+ *
36
+ * ## Import
37
+ *
38
+ * If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):
39
+ *
40
+ * __Using `pulumi import` to import__ S3 bucket logging using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:
41
+ *
42
+ * If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:
43
+ *
44
+ * ```sh
45
+ * $ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name
46
+ * ```
47
+ * If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):
48
+ *
49
+ * ```sh
50
+ * $ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name,123456789012
51
+ * ```
52
+ *
53
+ * @deprecated aws.s3/bucketloggingv2.BucketLoggingV2 has been deprecated in favor of aws.s3/bucketlogging.BucketLogging
54
+ */
55
+ export declare class BucketLoggingV2 extends pulumi.CustomResource {
56
+ /**
57
+ * Get an existing BucketLoggingV2 resource's state with the given name, ID, and optional extra
58
+ * properties used to qualify the lookup.
59
+ *
60
+ * @param name The _unique_ name of the resulting resource.
61
+ * @param id The _unique_ provider ID of the resource to lookup.
62
+ * @param state Any extra arguments used during the lookup.
63
+ * @param opts Optional settings to control the behavior of the CustomResource.
64
+ */
65
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BucketLoggingV2State, opts?: pulumi.CustomResourceOptions): BucketLoggingV2;
66
+ /**
67
+ * Returns true if the given object is an instance of BucketLoggingV2. This is designed to work even
68
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
69
+ */
70
+ static isInstance(obj: any): obj is BucketLoggingV2;
71
+ /**
72
+ * Name of the bucket.
73
+ */
74
+ readonly bucket: pulumi.Output<string>;
75
+ /**
76
+ * Account ID of the expected bucket owner.
77
+ */
78
+ readonly expectedBucketOwner: pulumi.Output<string | undefined>;
79
+ /**
80
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
81
+ */
82
+ readonly region: pulumi.Output<string>;
83
+ /**
84
+ * Name of the bucket where you want Amazon S3 to store server access logs.
85
+ */
86
+ readonly targetBucket: pulumi.Output<string>;
87
+ /**
88
+ * Set of configuration blocks with information for granting permissions. See below.
89
+ */
90
+ readonly targetGrants: pulumi.Output<outputs.s3.BucketLoggingV2TargetGrant[] | undefined>;
91
+ /**
92
+ * Amazon S3 key format for log objects. See below.
93
+ */
94
+ readonly targetObjectKeyFormat: pulumi.Output<outputs.s3.BucketLoggingV2TargetObjectKeyFormat | undefined>;
95
+ /**
96
+ * Prefix for all log object keys.
97
+ */
98
+ readonly targetPrefix: pulumi.Output<string>;
99
+ /**
100
+ * Create a BucketLoggingV2 resource with the given unique name, arguments, and options.
101
+ *
102
+ * @param name The _unique_ name of the resource.
103
+ * @param args The arguments to use to populate this resource's properties.
104
+ * @param opts A bag of options that control this resource's behavior.
105
+ */
106
+ /** @deprecated aws.s3/bucketloggingv2.BucketLoggingV2 has been deprecated in favor of aws.s3/bucketlogging.BucketLogging */
107
+ constructor(name: string, args: BucketLoggingV2Args, opts?: pulumi.CustomResourceOptions);
108
+ }
109
+ /**
110
+ * Input properties used for looking up and filtering BucketLoggingV2 resources.
111
+ */
112
+ export interface BucketLoggingV2State {
113
+ /**
114
+ * Name of the bucket.
115
+ */
116
+ bucket?: pulumi.Input<string>;
117
+ /**
118
+ * Account ID of the expected bucket owner.
119
+ */
120
+ expectedBucketOwner?: pulumi.Input<string>;
121
+ /**
122
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
123
+ */
124
+ region?: pulumi.Input<string>;
125
+ /**
126
+ * Name of the bucket where you want Amazon S3 to store server access logs.
127
+ */
128
+ targetBucket?: pulumi.Input<string>;
129
+ /**
130
+ * Set of configuration blocks with information for granting permissions. See below.
131
+ */
132
+ targetGrants?: pulumi.Input<pulumi.Input<inputs.s3.BucketLoggingV2TargetGrant>[]>;
133
+ /**
134
+ * Amazon S3 key format for log objects. See below.
135
+ */
136
+ targetObjectKeyFormat?: pulumi.Input<inputs.s3.BucketLoggingV2TargetObjectKeyFormat>;
137
+ /**
138
+ * Prefix for all log object keys.
139
+ */
140
+ targetPrefix?: pulumi.Input<string>;
141
+ }
142
+ /**
143
+ * The set of arguments for constructing a BucketLoggingV2 resource.
144
+ */
145
+ export interface BucketLoggingV2Args {
146
+ /**
147
+ * Name of the bucket.
148
+ */
149
+ bucket: pulumi.Input<string>;
150
+ /**
151
+ * Account ID of the expected bucket owner.
152
+ */
153
+ expectedBucketOwner?: pulumi.Input<string>;
154
+ /**
155
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
156
+ */
157
+ region?: pulumi.Input<string>;
158
+ /**
159
+ * Name of the bucket where you want Amazon S3 to store server access logs.
160
+ */
161
+ targetBucket: pulumi.Input<string>;
162
+ /**
163
+ * Set of configuration blocks with information for granting permissions. See below.
164
+ */
165
+ targetGrants?: pulumi.Input<pulumi.Input<inputs.s3.BucketLoggingV2TargetGrant>[]>;
166
+ /**
167
+ * Amazon S3 key format for log objects. See below.
168
+ */
169
+ targetObjectKeyFormat?: pulumi.Input<inputs.s3.BucketLoggingV2TargetObjectKeyFormat>;
170
+ /**
171
+ * Prefix for all log object keys.
172
+ */
173
+ targetPrefix: pulumi.Input<string>;
174
+ }