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

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 (201) hide show
  1. package/accessanalyzer/analyzer.d.ts +54 -7
  2. package/accessanalyzer/analyzer.js +48 -1
  3. package/accessanalyzer/analyzer.js.map +1 -1
  4. package/amplify/app.d.ts +26 -0
  5. package/amplify/app.js +16 -0
  6. package/amplify/app.js.map +1 -1
  7. package/bedrock/agentAgent.d.ts +2 -2
  8. package/bedrock/agentAgent.js +2 -2
  9. package/bedrock/agentAgentCollaborator.d.ts +4 -4
  10. package/bedrock/agentAgentCollaborator.js +4 -4
  11. package/cloudtrail/trail.d.ts +2 -2
  12. package/cloudtrail/trail.js +2 -2
  13. package/cloudwatch/eventArchive.d.ts +91 -15
  14. package/cloudwatch/eventArchive.js +67 -1
  15. package/cloudwatch/eventArchive.js.map +1 -1
  16. package/cloudwatch/logGroup.d.ts +6 -6
  17. package/codeartifact/domainPermissions.d.ts +1 -1
  18. package/codeartifact/domainPermissions.js +0 -3
  19. package/codeartifact/domainPermissions.js.map +1 -1
  20. package/connect/botAssociation.d.ts +1 -1
  21. package/connect/botAssociation.js +1 -1
  22. package/controltower/controlTowerControl.d.ts +1 -1
  23. package/controltower/controlTowerControl.js +1 -1
  24. package/cur/reportDefinition.d.ts +3 -3
  25. package/datasync/agent.d.ts +1 -1
  26. package/datasync/agent.js +1 -1
  27. package/dynamodb/table.d.ts +1 -1
  28. package/dynamodb/table.js +1 -1
  29. package/dynamodb/tag.d.ts +1 -1
  30. package/dynamodb/tag.js +1 -1
  31. package/ec2/getManagedPrefixList.d.ts +2 -2
  32. package/ec2/getManagedPrefixList.js +2 -2
  33. package/ec2/securityGroupRule.d.ts +1 -1
  34. package/ec2/securityGroupRule.js +1 -1
  35. package/ec2/vpc.d.ts +2 -2
  36. package/ec2/vpc.js +2 -2
  37. package/ec2/vpcIpam.d.ts +1 -1
  38. package/ec2/vpcIpam.js +1 -1
  39. package/ec2/vpcIpamPool.d.ts +4 -4
  40. package/ec2/vpcIpamPool.js +4 -4
  41. package/ec2/vpcIpamPoolCidr.d.ts +3 -3
  42. package/ec2/vpcIpamPoolCidr.js +3 -3
  43. package/ec2/vpcIpamPoolCidrAllocation.d.ts +4 -4
  44. package/ec2/vpcIpamPoolCidrAllocation.js +4 -4
  45. package/ec2/vpcIpamPreviewNextCidr.d.ts +2 -2
  46. package/ec2/vpcIpamPreviewNextCidr.js +2 -2
  47. package/ec2/vpcIpamResourceDiscovery.d.ts +1 -1
  48. package/ec2/vpcIpamResourceDiscovery.js +1 -1
  49. package/ec2/vpcIpamScope.d.ts +1 -1
  50. package/ec2/vpcIpamScope.js +1 -1
  51. package/ecr/index.d.ts +1 -0
  52. package/ecr/index.js +1 -0
  53. package/ecr/index.js.map +1 -1
  54. package/ecr/lifecyclePolicyDocument.d.ts +5 -0
  55. package/ecr/lifecyclePolicyDocument.js +3 -0
  56. package/ecr/lifecyclePolicyDocument.js.map +1 -0
  57. package/ecr/registryPolicy.d.ts +1 -1
  58. package/ecr/registryPolicy.js +1 -1
  59. package/eks/podIdentityAssociation.d.ts +32 -0
  60. package/eks/podIdentityAssociation.js +6 -0
  61. package/eks/podIdentityAssociation.js.map +1 -1
  62. package/elasticsearch/domain.d.ts +2 -2
  63. package/elasticsearch/domain.js +2 -2
  64. package/emr/cluster.d.ts +12 -0
  65. package/emr/cluster.js +2 -0
  66. package/emr/cluster.js.map +1 -1
  67. package/fms/policy.d.ts +12 -0
  68. package/fms/policy.js +2 -0
  69. package/fms/policy.js.map +1 -1
  70. package/getRegion.d.ts +2 -2
  71. package/getService.d.ts +2 -2
  72. package/getService.js +2 -2
  73. package/glue/job.d.ts +12 -0
  74. package/glue/job.js +2 -0
  75. package/glue/job.js.map +1 -1
  76. package/glue/resourcePolicy.d.ts +1 -1
  77. package/glue/resourcePolicy.js +1 -1
  78. package/guardduty/detectorFeature.d.ts +21 -0
  79. package/guardduty/detectorFeature.js +21 -0
  80. package/guardduty/detectorFeature.js.map +1 -1
  81. package/guardduty/memberDetectorFeature.d.ts +1 -11
  82. package/guardduty/memberDetectorFeature.js +1 -11
  83. package/guardduty/memberDetectorFeature.js.map +1 -1
  84. package/guardduty/publishingDestination.d.ts +2 -2
  85. package/guardduty/publishingDestination.js +2 -2
  86. package/iam/documents.d.ts +5 -0
  87. package/imagebuilder/imageRecipe.d.ts +1 -1
  88. package/imagebuilder/imageRecipe.js +1 -1
  89. package/kinesis/firehoseDeliveryStream.d.ts +1 -1
  90. package/kinesis/firehoseDeliveryStream.js +1 -1
  91. package/kms/getKey.d.ts +1 -1
  92. package/kms/key.d.ts +3 -3
  93. package/lightsail/instancePublicPorts.d.ts +6 -6
  94. package/macie/findingsFilter.d.ts +1 -1
  95. package/macie/findingsFilter.js +1 -1
  96. package/mediastore/containerPolicy.d.ts +1 -1
  97. package/mediastore/containerPolicy.js +1 -1
  98. package/networkfirewall/firewallPolicy.d.ts +51 -2
  99. package/networkfirewall/firewallPolicy.js +51 -2
  100. package/networkfirewall/firewallPolicy.js.map +1 -1
  101. package/networkmanager/dxGatewayAttachment.d.ts +1 -1
  102. package/networkmanager/dxGatewayAttachment.js +1 -1
  103. package/opensearch/domain.d.ts +2 -2
  104. package/opensearch/domain.js +2 -2
  105. package/opensearch/inboundConnectionAccepter.d.ts +2 -2
  106. package/opensearch/inboundConnectionAccepter.js +2 -2
  107. package/opensearch/outboundConnection.d.ts +2 -2
  108. package/opensearch/outboundConnection.js +2 -2
  109. package/opensearchingest/pipeline.d.ts +1 -1
  110. package/opensearchingest/pipeline.js +1 -1
  111. package/package.json +2 -2
  112. package/quicksight/dataSource.d.ts +1 -1
  113. package/quicksight/dataSource.js +1 -1
  114. package/route53/getTrafficPolicyDocument.d.ts +4 -4
  115. package/route53/getTrafficPolicyDocument.js +4 -4
  116. package/s3/bucket.d.ts +5 -4
  117. package/s3/bucketAccelerateConfiguration.js +1 -1
  118. package/s3/bucketAccelerateConfiguration.js.map +1 -1
  119. package/s3/bucketAccelerateConfigurationV2.d.ts +122 -0
  120. package/s3/bucketAccelerateConfigurationV2.js +103 -0
  121. package/s3/bucketAccelerateConfigurationV2.js.map +1 -0
  122. package/s3/bucketAcl.js +1 -1
  123. package/s3/bucketAcl.js.map +1 -1
  124. package/s3/bucketAclV2.d.ts +241 -0
  125. package/s3/bucketAclV2.js +207 -0
  126. package/s3/bucketAclV2.js.map +1 -0
  127. package/s3/bucketCorsConfiguration.js +1 -1
  128. package/s3/bucketCorsConfiguration.js.map +1 -1
  129. package/s3/bucketCorsConfigurationV2.d.ts +141 -0
  130. package/s3/bucketCorsConfigurationV2.js +120 -0
  131. package/s3/bucketCorsConfigurationV2.js.map +1 -0
  132. package/s3/bucketLifecycleConfiguration.js +1 -1
  133. package/s3/bucketLifecycleConfiguration.js.map +1 -1
  134. package/s3/bucketLifecycleConfigurationV2.d.ts +437 -0
  135. package/s3/bucketLifecycleConfigurationV2.js +402 -0
  136. package/s3/bucketLifecycleConfigurationV2.js.map +1 -0
  137. package/s3/bucketLogging.js +1 -1
  138. package/s3/bucketLogging.js.map +1 -1
  139. package/s3/bucketLoggingV2.d.ts +174 -0
  140. package/s3/bucketLoggingV2.js +126 -0
  141. package/s3/bucketLoggingV2.js.map +1 -0
  142. package/s3/bucketObjectLockConfiguration.js +1 -1
  143. package/s3/bucketObjectLockConfiguration.js.map +1 -1
  144. package/s3/bucketObjectLockConfigurationV2.d.ts +164 -0
  145. package/s3/bucketObjectLockConfigurationV2.js +119 -0
  146. package/s3/bucketObjectLockConfigurationV2.js.map +1 -0
  147. package/s3/bucketPolicy.d.ts +2 -0
  148. package/s3/bucketPolicy.js +2 -0
  149. package/s3/bucketPolicy.js.map +1 -1
  150. package/s3/bucketRequestPaymentConfiguration.js +1 -1
  151. package/s3/bucketRequestPaymentConfiguration.js.map +1 -1
  152. package/s3/bucketRequestPaymentConfigurationV2.d.ts +123 -0
  153. package/s3/bucketRequestPaymentConfigurationV2.js +104 -0
  154. package/s3/bucketRequestPaymentConfigurationV2.js.map +1 -0
  155. package/s3/bucketServerSideEncryptionConfiguration.js +1 -1
  156. package/s3/bucketServerSideEncryptionConfiguration.js.map +1 -1
  157. package/s3/bucketServerSideEncryptionConfigurationV2.d.ts +133 -0
  158. package/s3/bucketServerSideEncryptionConfigurationV2.js +112 -0
  159. package/s3/bucketServerSideEncryptionConfigurationV2.js.map +1 -0
  160. package/s3/bucketV2.d.ts +518 -0
  161. package/s3/bucketV2.js +138 -0
  162. package/s3/bucketV2.js.map +1 -0
  163. package/s3/bucketVersioning.js +1 -1
  164. package/s3/bucketVersioning.js.map +1 -1
  165. package/s3/bucketVersioningV2.d.ts +195 -0
  166. package/s3/bucketVersioningV2.js +164 -0
  167. package/s3/bucketVersioningV2.js.map +1 -0
  168. package/s3/bucketWebsiteConfiguration.js +1 -1
  169. package/s3/bucketWebsiteConfiguration.js.map +1 -1
  170. package/s3/bucketWebsiteConfigurationV2.d.ts +231 -0
  171. package/s3/bucketWebsiteConfigurationV2.js +152 -0
  172. package/s3/bucketWebsiteConfigurationV2.js.map +1 -0
  173. package/s3/index.d.ts +33 -0
  174. package/s3/index.js +57 -1
  175. package/s3/index.js.map +1 -1
  176. package/s3tables/table.d.ts +62 -0
  177. package/s3tables/table.js +49 -0
  178. package/s3tables/table.js.map +1 -1
  179. package/sagemaker/flowDefinition.d.ts +1 -1
  180. package/sagemaker/flowDefinition.js +1 -1
  181. package/securityhub/productSubscription.d.ts +1 -1
  182. package/securityhub/productSubscription.js +1 -1
  183. package/securityhub/standardsSubscription.d.ts +1 -1
  184. package/securityhub/standardsSubscription.js +1 -1
  185. package/serverlessrepository/cloudFormationStack.d.ts +1 -1
  186. package/serverlessrepository/cloudFormationStack.js +1 -1
  187. package/shield/drtAccessLogBucketAssociation.d.ts +1 -1
  188. package/shield/drtAccessLogBucketAssociation.js +1 -1
  189. package/shield/protection.d.ts +1 -1
  190. package/shield/protection.js +1 -1
  191. package/shield/protectionGroup.d.ts +2 -2
  192. package/shield/protectionGroup.js +2 -2
  193. package/shield/protectionHealthCheckAssociation.d.ts +1 -1
  194. package/shield/protectionHealthCheckAssociation.js +1 -1
  195. package/ssm/parameter.d.ts +1 -1
  196. package/ssm/quicksetupConfigurationManager.d.ts +2 -2
  197. package/ssm/quicksetupConfigurationManager.js +2 -2
  198. package/types/input.d.ts +897 -20
  199. package/types/input.js.map +1 -1
  200. package/types/output.d.ts +897 -19
  201. package/types/output.js.map +1 -1
@@ -0,0 +1,120 @@
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.BucketCorsConfigurationV2 = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Provides an S3 bucket CORS configuration resource. For more information about CORS, go to [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) in the Amazon S3 User Guide.
10
+ *
11
+ * > **NOTE:** S3 Buckets only support a single CORS configuration. Declaring multiple `aws.s3.BucketCorsConfiguration` resources to the same S3 Bucket will cause a perpetual difference in configuration.
12
+ *
13
+ * > This resource cannot be used with S3 directory buckets.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as aws from "@pulumi/aws";
20
+ *
21
+ * const example = new aws.s3.Bucket("example", {bucket: "mybucket"});
22
+ * const exampleBucketCorsConfiguration = new aws.s3.BucketCorsConfiguration("example", {
23
+ * bucket: example.id,
24
+ * corsRules: [
25
+ * {
26
+ * allowedHeaders: ["*"],
27
+ * allowedMethods: [
28
+ * "PUT",
29
+ * "POST",
30
+ * ],
31
+ * allowedOrigins: ["https://s3-website-test.domain.example"],
32
+ * exposeHeaders: ["ETag"],
33
+ * maxAgeSeconds: 3000,
34
+ * },
35
+ * {
36
+ * allowedMethods: ["GET"],
37
+ * allowedOrigins: ["*"],
38
+ * },
39
+ * ],
40
+ * });
41
+ * ```
42
+ *
43
+ * ## Import
44
+ *
45
+ * 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 (`,`):
46
+ *
47
+ * __Using `pulumi import` to import__ S3 bucket CORS configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:
48
+ *
49
+ * If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:
50
+ *
51
+ * ```sh
52
+ * $ pulumi import aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2 example bucket-name
53
+ * ```
54
+ * 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 (`,`):
55
+ *
56
+ * ```sh
57
+ * $ pulumi import aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2 example bucket-name,123456789012
58
+ * ```
59
+ *
60
+ * @deprecated aws.s3/bucketcorsconfigurationv2.BucketCorsConfigurationV2 has been deprecated in favor of aws.s3/bucketcorsconfiguration.BucketCorsConfiguration
61
+ */
62
+ class BucketCorsConfigurationV2 extends pulumi.CustomResource {
63
+ /**
64
+ * Get an existing BucketCorsConfigurationV2 resource's state with the given name, ID, and optional extra
65
+ * properties used to qualify the lookup.
66
+ *
67
+ * @param name The _unique_ name of the resulting resource.
68
+ * @param id The _unique_ provider ID of the resource to lookup.
69
+ * @param state Any extra arguments used during the lookup.
70
+ * @param opts Optional settings to control the behavior of the CustomResource.
71
+ */
72
+ static get(name, id, state, opts) {
73
+ pulumi.log.warn("BucketCorsConfigurationV2 is deprecated: aws.s3/bucketcorsconfigurationv2.BucketCorsConfigurationV2 has been deprecated in favor of aws.s3/bucketcorsconfiguration.BucketCorsConfiguration");
74
+ return new BucketCorsConfigurationV2(name, state, Object.assign(Object.assign({}, opts), { id: id }));
75
+ }
76
+ /**
77
+ * Returns true if the given object is an instance of BucketCorsConfigurationV2. This is designed to work even
78
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
79
+ */
80
+ static isInstance(obj) {
81
+ if (obj === undefined || obj === null) {
82
+ return false;
83
+ }
84
+ return obj['__pulumiType'] === BucketCorsConfigurationV2.__pulumiType;
85
+ }
86
+ /** @deprecated aws.s3/bucketcorsconfigurationv2.BucketCorsConfigurationV2 has been deprecated in favor of aws.s3/bucketcorsconfiguration.BucketCorsConfiguration */
87
+ constructor(name, argsOrState, opts) {
88
+ pulumi.log.warn("BucketCorsConfigurationV2 is deprecated: aws.s3/bucketcorsconfigurationv2.BucketCorsConfigurationV2 has been deprecated in favor of aws.s3/bucketcorsconfiguration.BucketCorsConfiguration");
89
+ let resourceInputs = {};
90
+ opts = opts || {};
91
+ if (opts.id) {
92
+ const state = argsOrState;
93
+ resourceInputs["bucket"] = state ? state.bucket : undefined;
94
+ resourceInputs["corsRules"] = state ? state.corsRules : undefined;
95
+ resourceInputs["expectedBucketOwner"] = state ? state.expectedBucketOwner : undefined;
96
+ resourceInputs["region"] = state ? state.region : undefined;
97
+ }
98
+ else {
99
+ const args = argsOrState;
100
+ if ((!args || args.bucket === undefined) && !opts.urn) {
101
+ throw new Error("Missing required property 'bucket'");
102
+ }
103
+ if ((!args || args.corsRules === undefined) && !opts.urn) {
104
+ throw new Error("Missing required property 'corsRules'");
105
+ }
106
+ resourceInputs["bucket"] = args ? args.bucket : undefined;
107
+ resourceInputs["corsRules"] = args ? args.corsRules : undefined;
108
+ resourceInputs["expectedBucketOwner"] = args ? args.expectedBucketOwner : undefined;
109
+ resourceInputs["region"] = args ? args.region : undefined;
110
+ }
111
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
112
+ const aliasOpts = { aliases: [{ type: "aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2" }] };
113
+ opts = pulumi.mergeOptions(opts, aliasOpts);
114
+ super(BucketCorsConfigurationV2.__pulumiType, name, resourceInputs, opts);
115
+ }
116
+ }
117
+ exports.BucketCorsConfigurationV2 = BucketCorsConfigurationV2;
118
+ /** @internal */
119
+ BucketCorsConfigurationV2.__pulumiType = 'aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2';
120
+ //# sourceMappingURL=bucketCorsConfigurationV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucketCorsConfigurationV2.js","sourceRoot":"","sources":["../../s3/bucketCorsConfigurationV2.ts"],"names":[],"mappings":"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"}
@@ -386,7 +386,7 @@ class BucketLifecycleConfiguration extends pulumi.CustomResource {
386
386
  resourceInputs["transitionDefaultMinimumObjectSize"] = args ? args.transitionDefaultMinimumObjectSize : undefined;
387
387
  }
388
388
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
389
- const aliasOpts = { aliases: [{ type: "aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2" }, { type: "aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2" }] };
389
+ const aliasOpts = { aliases: [{ type: "aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2" }] };
390
390
  opts = pulumi.mergeOptions(opts, aliasOpts);
391
391
  super(BucketLifecycleConfiguration.__pulumiType, name, resourceInputs, opts);
392
392
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bucketLifecycleConfiguration.js","sourceRoot":"","sources":["../../s3/bucketLifecycleConfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bucketLifecycleConfiguration.js","sourceRoot":"","sources":["../../s3/bucketLifecycleConfiguration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,437 @@
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 independent configuration resource for S3 bucket [lifecycle configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).
6
+ *
7
+ * An S3 Lifecycle configuration consists of one or more Lifecycle rules. Each rule consists of the following:
8
+ *
9
+ * * Rule metadata (`id` and `status`)
10
+ * * Filter identifying objects to which the rule applies
11
+ * * One or more transition or expiration actions
12
+ *
13
+ * 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).
14
+ *
15
+ * > 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.
16
+ *
17
+ * > Lifecycle configurations may take some time to fully propagate to all AWS S3 systems.
18
+ * Running Pulumi operations shortly after creating a lifecycle configuration may result in changes that affect configuration idempotence.
19
+ * 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).
20
+ *
21
+ * ## Example Usage
22
+ *
23
+ * ### With neither a filter nor prefix specified
24
+ *
25
+ * The Lifecycle rule applies to a subset of objects based on the key name prefix (`""`).
26
+ *
27
+ * This configuration is intended to replicate the default behavior of the `lifecycleRule`
28
+ * parameter in the AWS Provider `aws.s3.Bucket` resource prior to `v4.0`.
29
+ *
30
+ * ```typescript
31
+ * import * as pulumi from "@pulumi/pulumi";
32
+ * import * as aws from "@pulumi/aws";
33
+ *
34
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
35
+ * bucket: bucket.id,
36
+ * rules: [{
37
+ * id: "rule-1",
38
+ * status: "Enabled",
39
+ * }],
40
+ * });
41
+ * ```
42
+ *
43
+ * ### Specifying an empty filter
44
+ *
45
+ * The Lifecycle rule applies to all objects in the bucket.
46
+ *
47
+ * ```typescript
48
+ * import * as pulumi from "@pulumi/pulumi";
49
+ * import * as aws from "@pulumi/aws";
50
+ *
51
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
52
+ * bucket: bucket.id,
53
+ * rules: [{
54
+ * id: "rule-1",
55
+ * filter: {},
56
+ * status: "Enabled",
57
+ * }],
58
+ * });
59
+ * ```
60
+ *
61
+ * ### Specifying a filter using key prefixes
62
+ *
63
+ * The Lifecycle rule applies to a subset of objects based on the key name prefix (`logs/`).
64
+ *
65
+ * ```typescript
66
+ * import * as pulumi from "@pulumi/pulumi";
67
+ * import * as aws from "@pulumi/aws";
68
+ *
69
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
70
+ * bucket: bucket.id,
71
+ * rules: [{
72
+ * id: "rule-1",
73
+ * filter: {
74
+ * prefix: "logs/",
75
+ * },
76
+ * status: "Enabled",
77
+ * }],
78
+ * });
79
+ * ```
80
+ *
81
+ * If you want to apply a Lifecycle action to a subset of objects based on different key name prefixes, specify separate rules.
82
+ *
83
+ * ```typescript
84
+ * import * as pulumi from "@pulumi/pulumi";
85
+ * import * as aws from "@pulumi/aws";
86
+ *
87
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
88
+ * bucket: bucket.id,
89
+ * rules: [
90
+ * {
91
+ * id: "rule-1",
92
+ * filter: {
93
+ * prefix: "logs/",
94
+ * },
95
+ * status: "Enabled",
96
+ * },
97
+ * {
98
+ * id: "rule-2",
99
+ * filter: {
100
+ * prefix: "tmp/",
101
+ * },
102
+ * status: "Enabled",
103
+ * },
104
+ * ],
105
+ * });
106
+ * ```
107
+ *
108
+ * ### Specifying a filter based on an object tag
109
+ *
110
+ * 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.
111
+ *
112
+ * ```typescript
113
+ * import * as pulumi from "@pulumi/pulumi";
114
+ * import * as aws from "@pulumi/aws";
115
+ *
116
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
117
+ * bucket: bucket.id,
118
+ * rules: [{
119
+ * id: "rule-1",
120
+ * filter: {
121
+ * tag: {
122
+ * key: "Name",
123
+ * value: "Staging",
124
+ * },
125
+ * },
126
+ * status: "Enabled",
127
+ * }],
128
+ * });
129
+ * ```
130
+ *
131
+ * ### Specifying a filter based on multiple tags
132
+ *
133
+ * 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.
134
+ *
135
+ * ```typescript
136
+ * import * as pulumi from "@pulumi/pulumi";
137
+ * import * as aws from "@pulumi/aws";
138
+ *
139
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
140
+ * bucket: bucket.id,
141
+ * rules: [{
142
+ * id: "rule-1",
143
+ * filter: {
144
+ * and: {
145
+ * tags: {
146
+ * Key1: "Value1",
147
+ * Key2: "Value2",
148
+ * },
149
+ * },
150
+ * },
151
+ * status: "Enabled",
152
+ * }],
153
+ * });
154
+ * ```
155
+ *
156
+ * ### Specifying a filter based on both prefix and one or more tags
157
+ *
158
+ * 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.
159
+ *
160
+ * ```typescript
161
+ * import * as pulumi from "@pulumi/pulumi";
162
+ * import * as aws from "@pulumi/aws";
163
+ *
164
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
165
+ * bucket: bucket.id,
166
+ * rules: [{
167
+ * id: "rule-1",
168
+ * filter: {
169
+ * and: {
170
+ * prefix: "logs/",
171
+ * tags: {
172
+ * Key1: "Value1",
173
+ * Key2: "Value2",
174
+ * },
175
+ * },
176
+ * },
177
+ * status: "Enabled",
178
+ * }],
179
+ * });
180
+ * ```
181
+ *
182
+ * ### Specifying a filter based on object size
183
+ *
184
+ * 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:
185
+ *
186
+ * ```typescript
187
+ * import * as pulumi from "@pulumi/pulumi";
188
+ * import * as aws from "@pulumi/aws";
189
+ *
190
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
191
+ * bucket: bucket.id,
192
+ * rules: [{
193
+ * id: "Allow small object transitions",
194
+ * filter: {
195
+ * objectSizeGreaterThan: 1,
196
+ * },
197
+ * status: "Enabled",
198
+ * transitions: [{
199
+ * days: 365,
200
+ * storageClass: "GLACIER_IR",
201
+ * }],
202
+ * }],
203
+ * });
204
+ * ```
205
+ *
206
+ * ### Specifying a filter based on object size range and prefix
207
+ *
208
+ * The `objectSizeGreaterThan` must be less than the `objectSizeLessThan`. Notice both the object size range and prefix are wrapped in the `and` configuration block.
209
+ *
210
+ * ```typescript
211
+ * import * as pulumi from "@pulumi/pulumi";
212
+ * import * as aws from "@pulumi/aws";
213
+ *
214
+ * const example = new aws.s3.BucketLifecycleConfiguration("example", {
215
+ * bucket: bucket.id,
216
+ * rules: [{
217
+ * id: "rule-1",
218
+ * filter: {
219
+ * and: {
220
+ * prefix: "logs/",
221
+ * objectSizeGreaterThan: 500,
222
+ * objectSizeLessThan: 64000,
223
+ * },
224
+ * },
225
+ * status: "Enabled",
226
+ * }],
227
+ * });
228
+ * ```
229
+ *
230
+ * ### Creating a Lifecycle Configuration for a bucket with versioning
231
+ *
232
+ * ```typescript
233
+ * import * as pulumi from "@pulumi/pulumi";
234
+ * import * as aws from "@pulumi/aws";
235
+ *
236
+ * const bucket = new aws.s3.Bucket("bucket", {bucket: "my-bucket"});
237
+ * const bucketAcl = new aws.s3.BucketAcl("bucket_acl", {
238
+ * bucket: bucket.id,
239
+ * acl: "private",
240
+ * });
241
+ * const bucket_config = new aws.s3.BucketLifecycleConfiguration("bucket-config", {
242
+ * bucket: bucket.id,
243
+ * rules: [
244
+ * {
245
+ * id: "log",
246
+ * expiration: {
247
+ * days: 90,
248
+ * },
249
+ * filter: {
250
+ * and: {
251
+ * prefix: "log/",
252
+ * tags: {
253
+ * rule: "log",
254
+ * autoclean: "true",
255
+ * },
256
+ * },
257
+ * },
258
+ * status: "Enabled",
259
+ * transitions: [
260
+ * {
261
+ * days: 30,
262
+ * storageClass: "STANDARD_IA",
263
+ * },
264
+ * {
265
+ * days: 60,
266
+ * storageClass: "GLACIER",
267
+ * },
268
+ * ],
269
+ * },
270
+ * {
271
+ * id: "tmp",
272
+ * filter: {
273
+ * prefix: "tmp/",
274
+ * },
275
+ * expiration: {
276
+ * date: "2023-01-13T00:00:00Z",
277
+ * },
278
+ * status: "Enabled",
279
+ * },
280
+ * ],
281
+ * });
282
+ * const versioningBucket = new aws.s3.Bucket("versioning_bucket", {bucket: "my-versioning-bucket"});
283
+ * const versioningBucketAcl = new aws.s3.BucketAcl("versioning_bucket_acl", {
284
+ * bucket: versioningBucket.id,
285
+ * acl: "private",
286
+ * });
287
+ * const versioning = new aws.s3.BucketVersioning("versioning", {
288
+ * bucket: versioningBucket.id,
289
+ * versioningConfiguration: {
290
+ * status: "Enabled",
291
+ * },
292
+ * });
293
+ * const versioning_bucket_config = new aws.s3.BucketLifecycleConfiguration("versioning-bucket-config", {
294
+ * bucket: versioningBucket.id,
295
+ * rules: [{
296
+ * id: "config",
297
+ * filter: {
298
+ * prefix: "config/",
299
+ * },
300
+ * noncurrentVersionExpiration: {
301
+ * noncurrentDays: 90,
302
+ * },
303
+ * noncurrentVersionTransitions: [
304
+ * {
305
+ * noncurrentDays: 30,
306
+ * storageClass: "STANDARD_IA",
307
+ * },
308
+ * {
309
+ * noncurrentDays: 60,
310
+ * storageClass: "GLACIER",
311
+ * },
312
+ * ],
313
+ * status: "Enabled",
314
+ * }],
315
+ * }, {
316
+ * dependsOn: [versioning],
317
+ * });
318
+ * ```
319
+ *
320
+ * ## Import
321
+ *
322
+ * 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 (`,`):
323
+ *
324
+ * 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:
325
+ *
326
+ * If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:
327
+ *
328
+ * ```sh
329
+ * $ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name
330
+ * ```
331
+ * 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 (`,`):
332
+ *
333
+ * ```sh
334
+ * $ pulumi import aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name,123456789012
335
+ * ```
336
+ *
337
+ * @deprecated aws.s3/bucketlifecycleconfigurationv2.BucketLifecycleConfigurationV2 has been deprecated in favor of aws.s3/bucketlifecycleconfiguration.BucketLifecycleConfiguration
338
+ */
339
+ export declare class BucketLifecycleConfigurationV2 extends pulumi.CustomResource {
340
+ /**
341
+ * Get an existing BucketLifecycleConfigurationV2 resource's state with the given name, ID, and optional extra
342
+ * properties used to qualify the lookup.
343
+ *
344
+ * @param name The _unique_ name of the resulting resource.
345
+ * @param id The _unique_ provider ID of the resource to lookup.
346
+ * @param state Any extra arguments used during the lookup.
347
+ * @param opts Optional settings to control the behavior of the CustomResource.
348
+ */
349
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BucketLifecycleConfigurationV2State, opts?: pulumi.CustomResourceOptions): BucketLifecycleConfigurationV2;
350
+ /**
351
+ * Returns true if the given object is an instance of BucketLifecycleConfigurationV2. This is designed to work even
352
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
353
+ */
354
+ static isInstance(obj: any): obj is BucketLifecycleConfigurationV2;
355
+ /**
356
+ * Name of the source S3 bucket you want Amazon S3 to monitor.
357
+ */
358
+ readonly bucket: pulumi.Output<string>;
359
+ /**
360
+ * Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
361
+ */
362
+ readonly expectedBucketOwner: pulumi.Output<string>;
363
+ /**
364
+ * 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.
365
+ */
366
+ readonly region: pulumi.Output<string>;
367
+ /**
368
+ * List of configuration blocks describing the rules managing the replication. See below.
369
+ */
370
+ readonly rules: pulumi.Output<outputs.s3.BucketLifecycleConfigurationV2Rule[] | undefined>;
371
+ readonly timeouts: pulumi.Output<outputs.s3.BucketLifecycleConfigurationV2Timeouts | undefined>;
372
+ /**
373
+ * The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), `variesByStorageClass`. To customize the minimum object size for any transition you can add a `filter` that specifies a custom `objectSizeGreaterThan` or `objectSizeLessThan` value. Custom filters always take precedence over the default transition behavior.
374
+ */
375
+ readonly transitionDefaultMinimumObjectSize: pulumi.Output<string>;
376
+ /**
377
+ * Create a BucketLifecycleConfigurationV2 resource with the given unique name, arguments, and options.
378
+ *
379
+ * @param name The _unique_ name of the resource.
380
+ * @param args The arguments to use to populate this resource's properties.
381
+ * @param opts A bag of options that control this resource's behavior.
382
+ */
383
+ /** @deprecated aws.s3/bucketlifecycleconfigurationv2.BucketLifecycleConfigurationV2 has been deprecated in favor of aws.s3/bucketlifecycleconfiguration.BucketLifecycleConfiguration */
384
+ constructor(name: string, args: BucketLifecycleConfigurationV2Args, opts?: pulumi.CustomResourceOptions);
385
+ }
386
+ /**
387
+ * Input properties used for looking up and filtering BucketLifecycleConfigurationV2 resources.
388
+ */
389
+ export interface BucketLifecycleConfigurationV2State {
390
+ /**
391
+ * Name of the source S3 bucket you want Amazon S3 to monitor.
392
+ */
393
+ bucket?: pulumi.Input<string>;
394
+ /**
395
+ * Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
396
+ */
397
+ expectedBucketOwner?: pulumi.Input<string>;
398
+ /**
399
+ * 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.
400
+ */
401
+ region?: pulumi.Input<string>;
402
+ /**
403
+ * List of configuration blocks describing the rules managing the replication. See below.
404
+ */
405
+ rules?: pulumi.Input<pulumi.Input<inputs.s3.BucketLifecycleConfigurationV2Rule>[]>;
406
+ timeouts?: pulumi.Input<inputs.s3.BucketLifecycleConfigurationV2Timeouts>;
407
+ /**
408
+ * The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), `variesByStorageClass`. To customize the minimum object size for any transition you can add a `filter` that specifies a custom `objectSizeGreaterThan` or `objectSizeLessThan` value. Custom filters always take precedence over the default transition behavior.
409
+ */
410
+ transitionDefaultMinimumObjectSize?: pulumi.Input<string>;
411
+ }
412
+ /**
413
+ * The set of arguments for constructing a BucketLifecycleConfigurationV2 resource.
414
+ */
415
+ export interface BucketLifecycleConfigurationV2Args {
416
+ /**
417
+ * Name of the source S3 bucket you want Amazon S3 to monitor.
418
+ */
419
+ bucket: pulumi.Input<string>;
420
+ /**
421
+ * Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
422
+ */
423
+ expectedBucketOwner?: pulumi.Input<string>;
424
+ /**
425
+ * 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.
426
+ */
427
+ region?: pulumi.Input<string>;
428
+ /**
429
+ * List of configuration blocks describing the rules managing the replication. See below.
430
+ */
431
+ rules?: pulumi.Input<pulumi.Input<inputs.s3.BucketLifecycleConfigurationV2Rule>[]>;
432
+ timeouts?: pulumi.Input<inputs.s3.BucketLifecycleConfigurationV2Timeouts>;
433
+ /**
434
+ * The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), `variesByStorageClass`. To customize the minimum object size for any transition you can add a `filter` that specifies a custom `objectSizeGreaterThan` or `objectSizeLessThan` value. Custom filters always take precedence over the default transition behavior.
435
+ */
436
+ transitionDefaultMinimumObjectSize?: pulumi.Input<string>;
437
+ }