@lafken/bucket 0.14.1 → 0.14.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.
@@ -20,9 +20,18 @@ export interface Transition {
20
20
  */
21
21
  days: number;
22
22
  }
23
+ /**
24
+ * Configuration for automatic object expiration in an S3 lifecycle rule.
25
+ *
26
+ * Exactly one of `days`, `date`, or `expiredObjectDeleteMarker` must be
27
+ * specified (enforced via `OnlyOne<Expiration>` in {@link KeyLifeCycleRule}).
28
+ */
23
29
  export interface Expiration {
30
+ /** Number of days after object creation when the object is deleted. */
24
31
  days?: number;
32
+ /** Specific date on which the object is deleted. */
25
33
  date?: Date;
34
+ /** When `true`, S3 adds a delete marker and removes the current object version. */
26
35
  expiredObjectDeleteMarker?: boolean;
27
36
  }
28
37
  export interface KeyLifeCycleRule {
@@ -197,6 +206,14 @@ export interface InternalBucketProps extends BaseBucketProps {
197
206
  /**
198
207
  * Indicates all objects from bucket should be deleted when bucket is destroyed
199
208
  */
209
+ /**
210
+ * Whether to delete all objects from the bucket when the bucket resource is destroyed.
211
+ *
212
+ * When `true`, Terraform will empty the bucket before destroying it.
213
+ * Use with caution as this permanently removes all stored objects.
214
+ *
215
+ * @default false
216
+ */
200
217
  forceDestroy?: boolean;
201
218
  /**
202
219
  * tags.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lafken/bucket",
3
- "version": "0.14.1",
3
+ "version": "0.14.3",
4
4
  "private": false,
5
5
  "description": "Define S3 buckets using TypeScript decorators - automatic infrastructure generation with Lafken",
6
6
  "keywords": [
@@ -57,7 +57,7 @@
57
57
  ],
58
58
  "dependencies": {
59
59
  "reflect-metadata": "^0.2.2",
60
- "@lafken/resolver": "0.14.1"
60
+ "@lafken/resolver": "0.14.3"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@aws-sdk/client-s3": "^3.1106.0",
@@ -71,13 +71,13 @@
71
71
  "typescript": "7.0.2",
72
72
  "unplugin-swc": "^1.5.10",
73
73
  "vitest": "^4.1.10",
74
- "@lafken/common": "0.14.1"
74
+ "@lafken/common": "0.14.3"
75
75
  },
76
76
  "peerDependencies": {
77
77
  "@cdktn/provider-aws": ">=23.0.0",
78
78
  "cdktn": ">=0.22.0",
79
79
  "constructs": ">=10.7.0",
80
- "@lafken/common": "0.14.1"
80
+ "@lafken/common": "0.14.3"
81
81
  },
82
82
  "engines": {
83
83
  "node": ">=20.19"