@gammarers/aws-secure-bucket 2.3.20 → 2.4.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/.jsii CHANGED
@@ -3952,7 +3952,7 @@
3952
3952
  "stability": "stable"
3953
3953
  },
3954
3954
  "homepage": "https://github.com/gammarers/aws-secure-bucket.git",
3955
- "jsiiVersion": "5.7.21 (build e7af4b3)",
3955
+ "jsiiVersion": "5.8.17 (build 7212fc3)",
3956
3956
  "keywords": [
3957
3957
  "aws",
3958
3958
  "aws-cdk",
@@ -3973,7 +3973,7 @@
3973
3973
  },
3974
3974
  "name": "@gammarers/aws-secure-bucket",
3975
3975
  "readme": {
3976
- "markdown": "# AWS Secure Bucket\n\n[![GitHub](https://img.shields.io/github/license/gammarers/aws-secure-bucket?style=flat-square)](https://github.com/gammarers/aws-secure-bucket/blob/main/LICENSE)\n[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-secure-bucket?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-secure-bucket)\n[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-secure-bucket?style=flat-square)](https://pypi.org/project/gammarers.aws-secure-bucket/)\n[![Nuget](https://img.shields.io/nuget/v/Gammarers.CDK.AWS.SecureBucket?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.SecureBucket/)\n[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-secure-bucket/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-secure-bucket/actions/workflows/release.yml)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-secure-bucket?sort=semver&style=flat-square)](https://github.com/gammarers/aws-secure-bucket/releases)\n\n[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-secure-bucket)](https://constructs.dev/packages/@gammarers/aws-secure-bucket)\n\nThis is a Simple S3 Secure Bucket.\n\n- Bucket Access Control is Private\n- Public Read Access is false\n- Enforce SSL\n- All Block public access\n- Require encryption\n\n## Additional Properties\n\n| **Name** | **Type** | **Default** | **Description** |\n| --- | --- | --- | --- |\n| isPipelineArtifactBucket | boolean | false | If you are setting a custom Qualifier and using it as the artifact bucket for the CDK pipeline, set it to true. |\n| isCloudFrontOriginBucket | boolean | false | If your are using it as the CloudFront orign bucket, set it to true. |\n\n## Install\n\n### TypeScript\n\n#### install by npm\n\n```shell\nnpm install @gammarers/aws-secure-bucket\n```\n\n#### install by yarn\n\n```shell\nyarn add @gammarers/aws-secure-bucket\n```\n\n#### install by pnpm\n\n```shell\npnpm add @gammarers/aws-secure-bucket\n```\n\n#### install by bun\n\n```shell\nbun add @gammarers/aws-secure-bucket\n```\n\n### Python\n\n```shell\npip install gammarers.aws-secure-bucket\n```\n\n### C# / .Net\n\n```shell\ndotnet add package Gammarers.CDK.AWS.SecureBucket\n```\n\n## Example\n\n```typescript\nimport { SecureBucket } from '@gammarers/aws-secure-bucket';\n\nconst bucket = new SecureBucket(stack, 'SecureBucket', {\n bucketName: 'example-secure-bucket',\n});\n\n```\n"
3976
+ "markdown": "# AWS Secure Bucket\n\n[![GitHub](https://img.shields.io/github/license/gammarers/aws-secure-bucket?style=flat-square)](https://github.com/gammarers/aws-secure-bucket/blob/main/LICENSE)\n[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-secure-bucket?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-secure-bucket)\n[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-secure-bucket?style=flat-square)](https://pypi.org/project/gammarers.aws-secure-bucket/)\n[![Nuget](https://img.shields.io/nuget/v/Gammarers.CDK.AWS.SecureBucket?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.SecureBucket/)\n[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-secure-bucket/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-secure-bucket/actions/workflows/release.yml)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-secure-bucket?sort=semver&style=flat-square)](https://github.com/gammarers/aws-secure-bucket/releases)\n\n[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-secure-bucket)](https://constructs.dev/packages/@gammarers/aws-secure-bucket)\n\nThis is a Simple S3 Secure Bucket.\n\n- Bucket Access Control is Private\n- Public Read Access is false\n- Enforce SSL\n- All Block public access\n- Require encryption\n\n## Additional Properties\n\n| **Name** | **Type** | **Default** | **Description** |\n| --- | --- | --- | --- |\n| bucketType | SecureBucketType | SecureBucketType.DEFAULT | The type of the bucket. Available types: DEFAULT, SINGLE_PIPELINE_ARTIFACT, MULTI_PIPELINE_ARTIFACT, CLOUD_FRONT_ORIGIN |\n| isPipelineArtifactBucket | boolean | false | ⚠️ **Deprecated**: Use bucketType property instead. If you are setting a custom Qualifier and using it as the artifact bucket for the CDK pipeline, set it to true. |\n| isCloudFrontOriginBucket | boolean | false | ⚠️ **Deprecated**: Use bucketType property instead. If you are using it as the CloudFront origin bucket, set it to true. |\n\n## Install\n\n### TypeScript\n\n#### install by npm\n\n```shell\nnpm install @gammarers/aws-secure-bucket\n```\n\n#### install by yarn\n\n```shell\nyarn add @gammarers/aws-secure-bucket\n```\n\n### Python\n\n```shell\npip install gammarers.aws-secure-bucket\n```\n\n### C# / .Net\n\n```shell\ndotnet add package Gammarers.CDK.AWS.SecureBucket\n```\n\n## Example\n\n```typescript\nimport { SecureBucket } from '@gammarers/aws-secure-bucket';\n\nconst bucket = new SecureBucket(stack, 'SecureBucket', {\n bucketName: 'example-secure-bucket',\n});\n\n```\n"
3977
3977
  },
3978
3978
  "repository": {
3979
3979
  "type": "git",
@@ -4007,7 +4007,7 @@
4007
4007
  },
4008
4008
  "locationInModule": {
4009
4009
  "filename": "src/index.ts",
4010
- "line": 29
4010
+ "line": 44
4011
4011
  },
4012
4012
  "parameters": [
4013
4013
  {
@@ -4034,7 +4034,7 @@
4034
4034
  "kind": "class",
4035
4035
  "locationInModule": {
4036
4036
  "filename": "src/index.ts",
4037
- "line": 28
4037
+ "line": 43
4038
4038
  },
4039
4039
  "name": "SecureBucket",
4040
4040
  "symbolId": "src/index:SecureBucket"
@@ -4043,9 +4043,6 @@
4043
4043
  "assembly": "@gammarers/aws-secure-bucket",
4044
4044
  "datatype": true,
4045
4045
  "docs": {
4046
- "custom": {
4047
- "TODO": ": Not yet supported\nhttps://github.com/aws/jsii/issues/4468\ntype omitKeys = 'publicReadAccess|enforceSSL|blockPublicAccess';\nexport interface CodePipelineStateChangeDetectionEventRuleProps extends Omit<s3.BucketProps, 'publicReadAccess'> {}"
4048
- },
4049
4046
  "stability": "stable"
4050
4047
  },
4051
4048
  "fqn": "@gammarers/aws-secure-bucket.SecureBucketProps",
@@ -4055,20 +4052,40 @@
4055
4052
  "kind": "interface",
4056
4053
  "locationInModule": {
4057
4054
  "filename": "src/index.ts",
4058
- "line": 13
4055
+ "line": 20
4059
4056
  },
4060
4057
  "name": "SecureBucketProps",
4061
4058
  "properties": [
4062
4059
  {
4063
4060
  "abstract": true,
4064
4061
  "docs": {
4062
+ "default": "SecureBucketType.DEFAULT",
4065
4063
  "stability": "stable",
4066
- "summary": "If your are using it as the CloudFront orign bucket, set it to true."
4064
+ "summary": "The type of the bucket."
4065
+ },
4066
+ "immutable": true,
4067
+ "locationInModule": {
4068
+ "filename": "src/index.ts",
4069
+ "line": 40
4070
+ },
4071
+ "name": "bucketType",
4072
+ "optional": true,
4073
+ "type": {
4074
+ "fqn": "@gammarers/aws-secure-bucket.SecureBucketType"
4075
+ }
4076
+ },
4077
+ {
4078
+ "abstract": true,
4079
+ "docs": {
4080
+ "default": "false",
4081
+ "deprecated": "This property is deprecated. Use the bucketType property instead.",
4082
+ "stability": "deprecated",
4083
+ "summary": "If your are using it as the CloudFront origin bucket, set it to true."
4067
4084
  },
4068
4085
  "immutable": true,
4069
4086
  "locationInModule": {
4070
4087
  "filename": "src/index.ts",
4071
- "line": 25
4088
+ "line": 34
4072
4089
  },
4073
4090
  "name": "isCloudFrontOriginBucket",
4074
4091
  "optional": true,
@@ -4080,13 +4097,14 @@
4080
4097
  "abstract": true,
4081
4098
  "docs": {
4082
4099
  "default": "false",
4083
- "stability": "stable",
4100
+ "deprecated": "This property is deprecated. Use the bucketType property instead.",
4101
+ "stability": "deprecated",
4084
4102
  "summary": "If you are setting a custom Qualifier and using it as the artifact bucket for the CDK pipeline, set it to true."
4085
4103
  },
4086
4104
  "immutable": true,
4087
4105
  "locationInModule": {
4088
4106
  "filename": "src/index.ts",
4089
- "line": 20
4107
+ "line": 27
4090
4108
  },
4091
4109
  "name": "isPipelineArtifactBucket",
4092
4110
  "optional": true,
@@ -4096,8 +4114,51 @@
4096
4114
  }
4097
4115
  ],
4098
4116
  "symbolId": "src/index:SecureBucketProps"
4117
+ },
4118
+ "@gammarers/aws-secure-bucket.SecureBucketType": {
4119
+ "assembly": "@gammarers/aws-secure-bucket",
4120
+ "docs": {
4121
+ "custom": {
4122
+ "TODO": ": Not yet supported\nhttps://github.com/aws/jsii/issues/4468\ntype omitKeys = 'publicReadAccess|enforceSSL|blockPublicAccess';\nexport interface CodePipelineStateChangeDetectionEventRuleProps extends Omit<s3.BucketProps, 'publicReadAccess'> {}"
4123
+ },
4124
+ "stability": "stable"
4125
+ },
4126
+ "fqn": "@gammarers/aws-secure-bucket.SecureBucketType",
4127
+ "kind": "enum",
4128
+ "locationInModule": {
4129
+ "filename": "src/index.ts",
4130
+ "line": 13
4131
+ },
4132
+ "members": [
4133
+ {
4134
+ "docs": {
4135
+ "stability": "stable"
4136
+ },
4137
+ "name": "SINGLE_PIPELINE_ARTIFACT"
4138
+ },
4139
+ {
4140
+ "docs": {
4141
+ "stability": "stable"
4142
+ },
4143
+ "name": "MULTI_PIPELINE_ARTIFACT"
4144
+ },
4145
+ {
4146
+ "docs": {
4147
+ "stability": "stable"
4148
+ },
4149
+ "name": "CLOUD_FRONT_ORIGIN"
4150
+ },
4151
+ {
4152
+ "docs": {
4153
+ "stability": "stable"
4154
+ },
4155
+ "name": "DEFAULT"
4156
+ }
4157
+ ],
4158
+ "name": "SecureBucketType",
4159
+ "symbolId": "src/index:SecureBucketType"
4099
4160
  }
4100
4161
  },
4101
- "version": "2.3.20",
4102
- "fingerprint": "fgm0X0+jRXhMfu6X6b4hBosUZcpXCNgt1ZJcJd0bkBk="
4162
+ "version": "2.4.1",
4163
+ "fingerprint": "xkcfvspqqaZoNMd1QjjoiEpqaWpnaDY7d5vjAcO7SyY="
4103
4164
  }
package/API.md CHANGED
@@ -1226,7 +1226,8 @@ const secureBucketProps: SecureBucketProps = { ... }
1226
1226
  | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketProps.property.websiteIndexDocument">websiteIndexDocument</a></code> | <code>string</code> | The name of the index document (e.g. "index.html") for the website. Enables static website hosting for this bucket. |
1227
1227
  | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketProps.property.websiteRedirect">websiteRedirect</a></code> | <code>aws-cdk-lib.aws_s3.RedirectTarget</code> | Specifies the redirect behavior of all requests to a website endpoint of a bucket. |
1228
1228
  | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketProps.property.websiteRoutingRules">websiteRoutingRules</a></code> | <code>aws-cdk-lib.aws_s3.RoutingRule[]</code> | Rules that define when a redirect is applied and the redirect behavior. |
1229
- | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketProps.property.isCloudFrontOriginBucket">isCloudFrontOriginBucket</a></code> | <code>boolean</code> | If your are using it as the CloudFront orign bucket, set it to true. |
1229
+ | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketProps.property.bucketType">bucketType</a></code> | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketType">SecureBucketType</a></code> | The type of the bucket. |
1230
+ | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketProps.property.isCloudFrontOriginBucket">isCloudFrontOriginBucket</a></code> | <code>boolean</code> | If your are using it as the CloudFront origin bucket, set it to true. |
1230
1231
  | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketProps.property.isPipelineArtifactBucket">isPipelineArtifactBucket</a></code> | <code>boolean</code> | If you are setting a custom Qualifier and using it as the artifact bucket for the CDK pipeline, set it to true. |
1231
1232
 
1232
1233
  ---
@@ -1726,19 +1727,37 @@ Rules that define when a redirect is applied and the redirect behavior.
1726
1727
 
1727
1728
  ---
1728
1729
 
1729
- ##### `isCloudFrontOriginBucket`<sup>Optional</sup> <a name="isCloudFrontOriginBucket" id="@gammarers/aws-secure-bucket.SecureBucketProps.property.isCloudFrontOriginBucket"></a>
1730
+ ##### `bucketType`<sup>Optional</sup> <a name="bucketType" id="@gammarers/aws-secure-bucket.SecureBucketProps.property.bucketType"></a>
1731
+
1732
+ ```typescript
1733
+ public readonly bucketType: SecureBucketType;
1734
+ ```
1735
+
1736
+ - *Type:* <a href="#@gammarers/aws-secure-bucket.SecureBucketType">SecureBucketType</a>
1737
+ - *Default:* SecureBucketType.DEFAULT
1738
+
1739
+ The type of the bucket.
1740
+
1741
+ ---
1742
+
1743
+ ##### ~~`isCloudFrontOriginBucket`~~<sup>Optional</sup> <a name="isCloudFrontOriginBucket" id="@gammarers/aws-secure-bucket.SecureBucketProps.property.isCloudFrontOriginBucket"></a>
1744
+
1745
+ - *Deprecated:* This property is deprecated. Use the bucketType property instead.
1730
1746
 
1731
1747
  ```typescript
1732
1748
  public readonly isCloudFrontOriginBucket: boolean;
1733
1749
  ```
1734
1750
 
1735
1751
  - *Type:* boolean
1752
+ - *Default:* false
1736
1753
 
1737
- If your are using it as the CloudFront orign bucket, set it to true.
1754
+ If your are using it as the CloudFront origin bucket, set it to true.
1738
1755
 
1739
1756
  ---
1740
1757
 
1741
- ##### `isPipelineArtifactBucket`<sup>Optional</sup> <a name="isPipelineArtifactBucket" id="@gammarers/aws-secure-bucket.SecureBucketProps.property.isPipelineArtifactBucket"></a>
1758
+ ##### ~~`isPipelineArtifactBucket`~~<sup>Optional</sup> <a name="isPipelineArtifactBucket" id="@gammarers/aws-secure-bucket.SecureBucketProps.property.isPipelineArtifactBucket"></a>
1759
+
1760
+ - *Deprecated:* This property is deprecated. Use the bucketType property instead.
1742
1761
 
1743
1762
  ```typescript
1744
1763
  public readonly isPipelineArtifactBucket: boolean;
@@ -1753,3 +1772,37 @@ If you are setting a custom Qualifier and using it as the artifact bucket for th
1753
1772
 
1754
1773
 
1755
1774
 
1775
+ ## Enums <a name="Enums" id="Enums"></a>
1776
+
1777
+ ### SecureBucketType <a name="SecureBucketType" id="@gammarers/aws-secure-bucket.SecureBucketType"></a>
1778
+
1779
+ #### Members <a name="Members" id="Members"></a>
1780
+
1781
+ | **Name** | **Description** |
1782
+ | --- | --- |
1783
+ | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketType.SINGLE_PIPELINE_ARTIFACT">SINGLE_PIPELINE_ARTIFACT</a></code> | *No description.* |
1784
+ | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketType.MULTI_PIPELINE_ARTIFACT">MULTI_PIPELINE_ARTIFACT</a></code> | *No description.* |
1785
+ | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketType.CLOUD_FRONT_ORIGIN">CLOUD_FRONT_ORIGIN</a></code> | *No description.* |
1786
+ | <code><a href="#@gammarers/aws-secure-bucket.SecureBucketType.DEFAULT">DEFAULT</a></code> | *No description.* |
1787
+
1788
+ ---
1789
+
1790
+ ##### `SINGLE_PIPELINE_ARTIFACT` <a name="SINGLE_PIPELINE_ARTIFACT" id="@gammarers/aws-secure-bucket.SecureBucketType.SINGLE_PIPELINE_ARTIFACT"></a>
1791
+
1792
+ ---
1793
+
1794
+
1795
+ ##### `MULTI_PIPELINE_ARTIFACT` <a name="MULTI_PIPELINE_ARTIFACT" id="@gammarers/aws-secure-bucket.SecureBucketType.MULTI_PIPELINE_ARTIFACT"></a>
1796
+
1797
+ ---
1798
+
1799
+
1800
+ ##### `CLOUD_FRONT_ORIGIN` <a name="CLOUD_FRONT_ORIGIN" id="@gammarers/aws-secure-bucket.SecureBucketType.CLOUD_FRONT_ORIGIN"></a>
1801
+
1802
+ ---
1803
+
1804
+
1805
+ ##### `DEFAULT` <a name="DEFAULT" id="@gammarers/aws-secure-bucket.SecureBucketType.DEFAULT"></a>
1806
+
1807
+ ---
1808
+
package/README.md CHANGED
@@ -21,8 +21,9 @@ This is a Simple S3 Secure Bucket.
21
21
 
22
22
  | **Name** | **Type** | **Default** | **Description** |
23
23
  | --- | --- | --- | --- |
24
- | isPipelineArtifactBucket | boolean | false | If you are setting a custom Qualifier and using it as the artifact bucket for the CDK pipeline, set it to true. |
25
- | isCloudFrontOriginBucket | boolean | false | If your are using it as the CloudFront orign bucket, set it to true. |
24
+ | bucketType | SecureBucketType | SecureBucketType.DEFAULT | The type of the bucket. Available types: DEFAULT, SINGLE_PIPELINE_ARTIFACT, MULTI_PIPELINE_ARTIFACT, CLOUD_FRONT_ORIGIN |
25
+ | isPipelineArtifactBucket | boolean | false | ⚠️ **Deprecated**: Use bucketType property instead. If you are setting a custom Qualifier and using it as the artifact bucket for the CDK pipeline, set it to true. |
26
+ | isCloudFrontOriginBucket | boolean | false | ⚠️ **Deprecated**: Use bucketType property instead. If you are using it as the CloudFront origin bucket, set it to true. |
26
27
 
27
28
  ## Install
28
29
 
@@ -40,18 +41,6 @@ npm install @gammarers/aws-secure-bucket
40
41
  yarn add @gammarers/aws-secure-bucket
41
42
  ```
42
43
 
43
- #### install by pnpm
44
-
45
- ```shell
46
- pnpm add @gammarers/aws-secure-bucket
47
- ```
48
-
49
- #### install by bun
50
-
51
- ```shell
52
- bun add @gammarers/aws-secure-bucket
53
- ```
54
-
55
44
  ### Python
56
45
 
57
46
  ```shell
package/lib/index.d.ts CHANGED
@@ -6,17 +6,30 @@ import { Construct } from 'constructs';
6
6
  * type omitKeys = 'publicReadAccess|enforceSSL|blockPublicAccess';
7
7
  * export interface CodePipelineStateChangeDetectionEventRuleProps extends Omit<s3.BucketProps, 'publicReadAccess'> {}
8
8
  */
9
+ export declare enum SecureBucketType {
10
+ SINGLE_PIPELINE_ARTIFACT = "single-pipeline-artifact",
11
+ MULTI_PIPELINE_ARTIFACT = "multi-pipeline-artifact",
12
+ CLOUD_FRONT_ORIGIN = "cloudfront-origin",
13
+ DEFAULT = "default"
14
+ }
9
15
  export interface SecureBucketProps extends s3.BucketProps {
10
16
  /**
11
17
  * If you are setting a custom Qualifier and using it as the artifact bucket for the CDK pipeline, set it to true.
12
- *
18
+ * @deprecated This property is deprecated. Use the bucketType property instead.
13
19
  * @default false
14
20
  */
15
21
  readonly isPipelineArtifactBucket?: boolean;
16
22
  /**
17
- * If your are using it as the CloudFront orign bucket, set it to true.
23
+ * If your are using it as the CloudFront origin bucket, set it to true.
24
+ * @deprecated This property is deprecated. Use the bucketType property instead.
25
+ * @default false
18
26
  */
19
27
  readonly isCloudFrontOriginBucket?: boolean;
28
+ /**
29
+ * The type of the bucket.
30
+ * @default SecureBucketType.DEFAULT
31
+ */
32
+ readonly bucketType?: SecureBucketType;
20
33
  }
21
34
  export declare class SecureBucket extends s3.Bucket {
22
35
  constructor(scope: Construct, id: string, props?: SecureBucketProps);
package/lib/index.js CHANGED
@@ -1,19 +1,34 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SecureBucket = void 0;
4
+ exports.SecureBucket = exports.SecureBucketType = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const iam = require("aws-cdk-lib/aws-iam");
8
8
  const s3 = require("aws-cdk-lib/aws-s3");
9
+ /**
10
+ * @TODO: Not yet supported
11
+ * https://github.com/aws/jsii/issues/4468
12
+ * type omitKeys = 'publicReadAccess|enforceSSL|blockPublicAccess';
13
+ * export interface CodePipelineStateChangeDetectionEventRuleProps extends Omit<s3.BucketProps, 'publicReadAccess'> {}
14
+ */
15
+ var SecureBucketType;
16
+ (function (SecureBucketType) {
17
+ SecureBucketType["SINGLE_PIPELINE_ARTIFACT"] = "single-pipeline-artifact";
18
+ SecureBucketType["MULTI_PIPELINE_ARTIFACT"] = "multi-pipeline-artifact";
19
+ SecureBucketType["CLOUD_FRONT_ORIGIN"] = "cloudfront-origin";
20
+ SecureBucketType["DEFAULT"] = "default";
21
+ })(SecureBucketType || (exports.SecureBucketType = SecureBucketType = {}));
9
22
  class SecureBucket extends s3.Bucket {
10
23
  constructor(scope, id, props) {
24
+ const bucketType = props?.bucketType || SecureBucketType.DEFAULT;
11
25
  super(scope, id, {
12
26
  ...props,
13
27
  removalPolicy: aws_cdk_lib_1.RemovalPolicy.RETAIN,
14
28
  // encryption: props?.encryption || s3.BucketEncryption.KMS_MANAGED,
15
29
  encryption: (() => {
16
- if (props?.isCloudFrontOriginBucket === true) {
30
+ if (props?.isCloudFrontOriginBucket === true
31
+ || bucketType === SecureBucketType.CLOUD_FRONT_ORIGIN) {
17
32
  return s3.BucketEncryption.S3_MANAGED;
18
33
  }
19
34
  return props?.encryption || s3.BucketEncryption.KMS_MANAGED;
@@ -44,7 +59,9 @@ class SecureBucket extends s3.Bucket {
44
59
  // 👇 Get account & region
45
60
  const account = aws_cdk_lib_1.Stack.of(this).account;
46
61
  const region = aws_cdk_lib_1.Stack.of(this).region;
47
- if (props?.isPipelineArtifactBucket) {
62
+ if (props?.isPipelineArtifactBucket
63
+ || bucketType === SecureBucketType.SINGLE_PIPELINE_ARTIFACT
64
+ || bucketType === SecureBucketType.MULTI_PIPELINE_ARTIFACT) {
48
65
  // 👇 Get qualifier
49
66
  // const qualifier = Stack.of(this).synthesizer.bootstrapQualifier || defaultQualifier;
50
67
  const qualifier = aws_cdk_lib_1.Stack.of(this).synthesizer.bootstrapQualifier;
@@ -68,5 +85,5 @@ class SecureBucket extends s3.Bucket {
68
85
  }
69
86
  exports.SecureBucket = SecureBucket;
70
87
  _a = JSII_RTTI_SYMBOL_1;
71
- SecureBucket[_a] = { fqn: "@gammarers/aws-secure-bucket.SecureBucket", version: "2.3.20" };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEU7QUFDNUUsMkNBQTJDO0FBQzNDLHlDQUF5QztBQXlCekMsTUFBYSxZQUFhLFNBQVEsRUFBRSxDQUFDLE1BQU07SUFDekMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE1BQU07WUFDbkMsb0VBQW9FO1lBQ3BFLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDaEIsSUFBSSxLQUFLLEVBQUUsd0JBQXdCLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztnQkFDeEMsQ0FBQztnQkFDRCxPQUFPLEtBQUssRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUM5RCxDQUFDLENBQUMsRUFBRTtZQUNKLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2dCQUN4QyxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUM3QixDQUFDLENBQUMsRUFBRTtZQUNKLGtCQUFrQixFQUFFLFNBQVM7WUFDN0IsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixpQkFBaUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxVQUFVLEVBQUUsSUFBSTtZQUNoQixTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbEUsZUFBZSxFQUFFLENBQUMsR0FBRyxFQUFFO2dCQUNyQixJQUFJLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxLQUFLLENBQUMsZUFBZSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNsRCxDQUFDLENBQUMsRUFBRTtTQUNMLENBQUMsQ0FBQztRQUVILGdCQUFnQjtRQUNoQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQTRCLENBQUM7UUFDekQsSUFBSSxLQUFLLEVBQUUsa0JBQWtCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdkMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLHVFQUF1RSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsTUFBTSxPQUFPLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVyQyxJQUFJLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxDQUFDO1lBRXBDLG1CQUFtQjtZQUNuQix1RkFBdUY7WUFDdkYsTUFBTSxTQUFTLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDO1lBRWhFLDRDQUE0QztZQUM1QyxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsSUFBSSxxQ0FBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBRTFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQy9DLE9BQU8sRUFBRTt3QkFDUCxNQUFNO3FCQUNQO29CQUNELFNBQVMsRUFBRTt3QkFDVCxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ25CLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSTtxQkFDdEI7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsT0FBTyxhQUFhLFNBQVMsZ0JBQWdCLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztxQkFDdkc7aUJBQ0YsQ0FBQyxDQUFDLENBQUM7WUFDTixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7O0FBaEVILG9DQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRTdGFja1N5bnRoZXNpemVyLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBAVE9ETzogTm90IHlldCBzdXBwb3J0ZWRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvanNpaS9pc3N1ZXMvNDQ2OFxuICogdHlwZSBvbWl0S2V5cyA9ICdwdWJsaWNSZWFkQWNjZXNzfGVuZm9yY2VTU0x8YmxvY2tQdWJsaWNBY2Nlc3MnO1xuICogZXhwb3J0IGludGVyZmFjZSBDb2RlUGlwZWxpbmVTdGF0ZUNoYW5nZURldGVjdGlvbkV2ZW50UnVsZVByb3BzIGV4dGVuZHMgT21pdDxzMy5CdWNrZXRQcm9wcywgJ3B1YmxpY1JlYWRBY2Nlc3MnPiB7fVxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJlQnVja2V0UHJvcHMgZXh0ZW5kcyBzMy5CdWNrZXRQcm9wcyB7XG5cbiAgLyoqXG4gICAqIElmIHlvdSBhcmUgc2V0dGluZyBhIGN1c3RvbSBRdWFsaWZpZXIgYW5kIHVzaW5nIGl0IGFzIHRoZSBhcnRpZmFjdCBidWNrZXQgZm9yIHRoZSBDREsgcGlwZWxpbmUsIHNldCBpdCB0byB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaXNQaXBlbGluZUFydGlmYWN0QnVja2V0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgeW91ciBhcmUgdXNpbmcgaXQgYXMgdGhlIENsb3VkRnJvbnQgb3JpZ24gYnVja2V0LCBzZXQgaXQgdG8gdHJ1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzQ2xvdWRGcm9udE9yaWdpbkJ1Y2tldD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBTZWN1cmVCdWNrZXQgZXh0ZW5kcyBzMy5CdWNrZXQge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFNlY3VyZUJ1Y2tldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgLy8gZW5jcnlwdGlvbjogcHJvcHM/LmVuY3J5cHRpb24gfHwgczMuQnVja2V0RW5jcnlwdGlvbi5LTVNfTUFOQUdFRCxcbiAgICAgIGVuY3J5cHRpb246ICgoKSA9PiB7XG4gICAgICAgIGlmIChwcm9wcz8uaXNDbG91ZEZyb250T3JpZ2luQnVja2V0ID09PSB0cnVlKSB7XG4gICAgICAgICAgcmV0dXJuIHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJvcHM/LmVuY3J5cHRpb24gfHwgczMuQnVja2V0RW5jcnlwdGlvbi5LTVNfTUFOQUdFRDtcbiAgICAgIH0pKCksXG4gICAgICBhY2Nlc3NDb250cm9sOiAoKCkgPT4ge1xuICAgICAgICBpZiAoIXByb3BzPy5hY2Nlc3NDb250cm9sKSB7XG4gICAgICAgICAgcmV0dXJuIHMzLkJ1Y2tldEFjY2Vzc0NvbnRyb2wuUFJJVkFURTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJvcHMuYWNjZXNzQ29udHJvbDtcbiAgICAgIH0pKCksXG4gICAgICBldmVudEJyaWRnZUVuYWJsZWQ6IHVuZGVmaW5lZCxcbiAgICAgIHB1YmxpY1JlYWRBY2Nlc3M6IGZhbHNlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICB2ZXJzaW9uZWQ6IHByb3BzPy52ZXJzaW9uZWQgIT09IHVuZGVmaW5lZCA/IHByb3BzLnZlcnNpb25lZCA6IHRydWUsXG4gICAgICBvYmplY3RPd25lcnNoaXA6ICgoKSA9PiB7XG4gICAgICAgIGlmIChwcm9wcz8ub2JqZWN0T3duZXJzaGlwKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3BzLm9iamVjdE93bmVyc2hpcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gczMuT2JqZWN0T3duZXJzaGlwLkJVQ0tFVF9PV05FUl9FTkZPUkNFRDtcbiAgICAgIH0pKCksXG4gICAgfSk7XG5cbiAgICAvLyBHZXQgQ2ZuQnVja2V0XG4gICAgY29uc3QgY2ZuQnVja2V0ID0gdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCBhcyBzMy5DZm5CdWNrZXQ7XG4gICAgaWYgKHByb3BzPy5ldmVudEJyaWRnZUVuYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIGNmbkJ1Y2tldC5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdOb3RpZmljYXRpb25Db25maWd1cmF0aW9uLkV2ZW50QnJpZGdlQ29uZmlndXJhdGlvbi5FdmVudEJyaWRnZUVuYWJsZWQnLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyDwn5GHIEdldCBhY2NvdW50ICYgcmVnaW9uXG4gICAgY29uc3QgYWNjb3VudCA9IFN0YWNrLm9mKHRoaXMpLmFjY291bnQ7XG4gICAgY29uc3QgcmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuXG4gICAgaWYgKHByb3BzPy5pc1BpcGVsaW5lQXJ0aWZhY3RCdWNrZXQpIHtcblxuICAgICAgLy8g8J+RhyBHZXQgcXVhbGlmaWVyXG4gICAgICAvLyBjb25zdCBxdWFsaWZpZXIgPSBTdGFjay5vZih0aGlzKS5zeW50aGVzaXplci5ib290c3RyYXBRdWFsaWZpZXIgfHwgZGVmYXVsdFF1YWxpZmllcjtcbiAgICAgIGNvbnN0IHF1YWxpZmllciA9IFN0YWNrLm9mKHRoaXMpLnN5bnRoZXNpemVyLmJvb3RzdHJhcFF1YWxpZmllcjtcblxuICAgICAgLy8gYWRkIHJlc291cmNlIHBvbGljeSB3aGVuIGN1c3RvbSBxdWFsaWZpZXJcbiAgICAgIGlmIChxdWFsaWZpZXIgJiYgKHF1YWxpZmllciAhPSBEZWZhdWx0U3RhY2tTeW50aGVzaXplci5ERUZBVUxUX1FVQUxJRklFUikpIHtcblxuICAgICAgICB0aGlzLmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdzMzoqJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYCR7dGhpcy5idWNrZXRBcm59YCxcbiAgICAgICAgICAgIGAke3RoaXMuYnVja2V0QXJufS8qYCxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByaW5jaXBhbHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uQXJuUHJpbmNpcGFsKGBhcm46YXdzOmlhbTo6JHthY2NvdW50fTpyb2xlL2Nkay0ke3F1YWxpZmllcn0tZGVwbG95LXJvbGUtJHthY2NvdW50fS0ke3JlZ2lvbn1gKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59Il19
88
+ SecureBucket[_a] = { fqn: "@gammarers/aws-secure-bucket.SecureBucket", version: "2.4.1" };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEU7QUFDNUUsMkNBQTJDO0FBQzNDLHlDQUF5QztBQUd6Qzs7Ozs7R0FLRztBQUVILElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUMxQix5RUFBcUQsQ0FBQTtJQUNyRCx1RUFBbUQsQ0FBQTtJQUNuRCw0REFBd0MsQ0FBQTtJQUN4Qyx1Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFLM0I7QUF5QkQsTUFBYSxZQUFhLFNBQVEsRUFBRSxDQUFDLE1BQU07SUFDekMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsVUFBVSxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE1BQU07WUFDbkMsb0VBQW9FO1lBQ3BFLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDaEIsSUFBSSxLQUFLLEVBQUUsd0JBQXdCLEtBQUssSUFBSTt1QkFDdkMsVUFBVSxLQUFLLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQ3hELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztnQkFDeEMsQ0FBQztnQkFDRCxPQUFPLEtBQUssRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUM5RCxDQUFDLENBQUMsRUFBRTtZQUNKLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2dCQUN4QyxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUM3QixDQUFDLENBQUMsRUFBRTtZQUNKLGtCQUFrQixFQUFFLFNBQVM7WUFDN0IsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixpQkFBaUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxVQUFVLEVBQUUsSUFBSTtZQUNoQixTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbEUsZUFBZSxFQUFFLENBQUMsR0FBRyxFQUFFO2dCQUNyQixJQUFJLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxLQUFLLENBQUMsZUFBZSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNsRCxDQUFDLENBQUMsRUFBRTtTQUNMLENBQUMsQ0FBQztRQUVILGdCQUFnQjtRQUNoQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQTRCLENBQUM7UUFDekQsSUFBSSxLQUFLLEVBQUUsa0JBQWtCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdkMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLHVFQUF1RSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsTUFBTSxPQUFPLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVyQyxJQUFJLEtBQUssRUFBRSx3QkFBd0I7ZUFDOUIsVUFBVSxLQUFLLGdCQUFnQixDQUFDLHdCQUF3QjtlQUN4RCxVQUFVLEtBQUssZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUU3RCxtQkFBbUI7WUFDbkIsdUZBQXVGO1lBQ3ZGLE1BQU0sU0FBUyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztZQUVoRSw0Q0FBNEM7WUFDNUMsSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLElBQUkscUNBQXVCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUUxRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO29CQUMvQyxPQUFPLEVBQUU7d0JBQ1AsTUFBTTtxQkFDUDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUNuQixHQUFHLElBQUksQ0FBQyxTQUFTLElBQUk7cUJBQ3RCO29CQUNELFVBQVUsRUFBRTt3QkFDVixJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLE9BQU8sYUFBYSxTQUFTLGdCQUFnQixPQUFPLElBQUksTUFBTSxFQUFFLENBQUM7cUJBQ3ZHO2lCQUNGLENBQUMsQ0FBQyxDQUFDO1lBQ04sQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOztBQXBFSCxvQ0FxRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWZhdWx0U3RhY2tTeW50aGVzaXplciwgUmVtb3ZhbFBvbGljeSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQFRPRE86IE5vdCB5ZXQgc3VwcG9ydGVkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2pzaWkvaXNzdWVzLzQ0NjhcbiAqIHR5cGUgb21pdEtleXMgPSAncHVibGljUmVhZEFjY2Vzc3xlbmZvcmNlU1NMfGJsb2NrUHVibGljQWNjZXNzJztcbiAqIGV4cG9ydCBpbnRlcmZhY2UgQ29kZVBpcGVsaW5lU3RhdGVDaGFuZ2VEZXRlY3Rpb25FdmVudFJ1bGVQcm9wcyBleHRlbmRzIE9taXQ8czMuQnVja2V0UHJvcHMsICdwdWJsaWNSZWFkQWNjZXNzJz4ge31cbiAqL1xuXG5leHBvcnQgZW51bSBTZWN1cmVCdWNrZXRUeXBlIHtcbiAgU0lOR0xFX1BJUEVMSU5FX0FSVElGQUNUID0gJ3NpbmdsZS1waXBlbGluZS1hcnRpZmFjdCcsXG4gIE1VTFRJX1BJUEVMSU5FX0FSVElGQUNUID0gJ211bHRpLXBpcGVsaW5lLWFydGlmYWN0JyxcbiAgQ0xPVURfRlJPTlRfT1JJR0lOID0gJ2Nsb3VkZnJvbnQtb3JpZ2luJyxcbiAgREVGQVVMVCA9ICdkZWZhdWx0Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cmVCdWNrZXRQcm9wcyBleHRlbmRzIHMzLkJ1Y2tldFByb3BzIHtcblxuICAvKipcbiAgICogSWYgeW91IGFyZSBzZXR0aW5nIGEgY3VzdG9tIFF1YWxpZmllciBhbmQgdXNpbmcgaXQgYXMgdGhlIGFydGlmYWN0IGJ1Y2tldCBmb3IgdGhlIENESyBwaXBlbGluZSwgc2V0IGl0IHRvIHRydWUuXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgcHJvcGVydHkgaXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBidWNrZXRUeXBlIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpc1BpcGVsaW5lQXJ0aWZhY3RCdWNrZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiB5b3VyIGFyZSB1c2luZyBpdCBhcyB0aGUgQ2xvdWRGcm9udCBvcmlnaW4gYnVja2V0LCBzZXQgaXQgdG8gdHJ1ZS5cbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLiBVc2UgdGhlIGJ1Y2tldFR5cGUgcHJvcGVydHkgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGlzQ2xvdWRGcm9udE9yaWdpbkJ1Y2tldD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBidWNrZXQuXG4gICAqIEBkZWZhdWx0IFNlY3VyZUJ1Y2tldFR5cGUuREVGQVVMVFxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0VHlwZT86IFNlY3VyZUJ1Y2tldFR5cGU7XG59XG5cbmV4cG9ydCBjbGFzcyBTZWN1cmVCdWNrZXQgZXh0ZW5kcyBzMy5CdWNrZXQge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFNlY3VyZUJ1Y2tldFByb3BzKSB7XG4gICAgY29uc3QgYnVja2V0VHlwZSA9IHByb3BzPy5idWNrZXRUeXBlIHx8IFNlY3VyZUJ1Y2tldFR5cGUuREVGQVVMVDtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgICAvLyBlbmNyeXB0aW9uOiBwcm9wcz8uZW5jcnlwdGlvbiB8fCBzMy5CdWNrZXRFbmNyeXB0aW9uLktNU19NQU5BR0VELFxuICAgICAgZW5jcnlwdGlvbjogKCgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzPy5pc0Nsb3VkRnJvbnRPcmlnaW5CdWNrZXQgPT09IHRydWVcbiAgICAgICAgICB8fCBidWNrZXRUeXBlID09PSBTZWN1cmVCdWNrZXRUeXBlLkNMT1VEX0ZST05UX09SSUdJTikge1xuICAgICAgICAgIHJldHVybiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb3BzPy5lbmNyeXB0aW9uIHx8IHMzLkJ1Y2tldEVuY3J5cHRpb24uS01TX01BTkFHRUQ7XG4gICAgICB9KSgpLFxuICAgICAgYWNjZXNzQ29udHJvbDogKCgpID0+IHtcbiAgICAgICAgaWYgKCFwcm9wcz8uYWNjZXNzQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiBzMy5CdWNrZXRBY2Nlc3NDb250cm9sLlBSSVZBVEU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb3BzLmFjY2Vzc0NvbnRyb2w7XG4gICAgICB9KSgpLFxuICAgICAgZXZlbnRCcmlkZ2VFbmFibGVkOiB1bmRlZmluZWQsXG4gICAgICBwdWJsaWNSZWFkQWNjZXNzOiBmYWxzZSxcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICBlbmZvcmNlU1NMOiB0cnVlLFxuICAgICAgdmVyc2lvbmVkOiBwcm9wcz8udmVyc2lvbmVkICE9PSB1bmRlZmluZWQgPyBwcm9wcy52ZXJzaW9uZWQgOiB0cnVlLFxuICAgICAgb2JqZWN0T3duZXJzaGlwOiAoKCkgPT4ge1xuICAgICAgICBpZiAocHJvcHM/Lm9iamVjdE93bmVyc2hpcCkge1xuICAgICAgICAgIHJldHVybiBwcm9wcy5vYmplY3RPd25lcnNoaXA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHMzLk9iamVjdE93bmVyc2hpcC5CVUNLRVRfT1dORVJfRU5GT1JDRUQ7XG4gICAgICB9KSgpLFxuICAgIH0pO1xuXG4gICAgLy8gR2V0IENmbkJ1Y2tldFxuICAgIGNvbnN0IGNmbkJ1Y2tldCA9IHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgYXMgczMuQ2ZuQnVja2V0O1xuICAgIGlmIChwcm9wcz8uZXZlbnRCcmlkZ2VFbmFibGVkID09PSB0cnVlKSB7XG4gICAgICBjZm5CdWNrZXQuYWRkUHJvcGVydHlPdmVycmlkZSgnTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbi5FdmVudEJyaWRnZUNvbmZpZ3VyYXRpb24uRXZlbnRCcmlkZ2VFbmFibGVkJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8g8J+RhyBHZXQgYWNjb3VudCAmIHJlZ2lvblxuICAgIGNvbnN0IGFjY291bnQgPSBTdGFjay5vZih0aGlzKS5hY2NvdW50O1xuICAgIGNvbnN0IHJlZ2lvbiA9IFN0YWNrLm9mKHRoaXMpLnJlZ2lvbjtcblxuICAgIGlmIChwcm9wcz8uaXNQaXBlbGluZUFydGlmYWN0QnVja2V0XG4gICAgICB8fCBidWNrZXRUeXBlID09PSBTZWN1cmVCdWNrZXRUeXBlLlNJTkdMRV9QSVBFTElORV9BUlRJRkFDVFxuICAgICAgfHwgYnVja2V0VHlwZSA9PT0gU2VjdXJlQnVja2V0VHlwZS5NVUxUSV9QSVBFTElORV9BUlRJRkFDVCkge1xuXG4gICAgICAvLyDwn5GHIEdldCBxdWFsaWZpZXJcbiAgICAgIC8vIGNvbnN0IHF1YWxpZmllciA9IFN0YWNrLm9mKHRoaXMpLnN5bnRoZXNpemVyLmJvb3RzdHJhcFF1YWxpZmllciB8fCBkZWZhdWx0UXVhbGlmaWVyO1xuICAgICAgY29uc3QgcXVhbGlmaWVyID0gU3RhY2sub2YodGhpcykuc3ludGhlc2l6ZXIuYm9vdHN0cmFwUXVhbGlmaWVyO1xuXG4gICAgICAvLyBhZGQgcmVzb3VyY2UgcG9saWN5IHdoZW4gY3VzdG9tIHF1YWxpZmllclxuICAgICAgaWYgKHF1YWxpZmllciAmJiAocXVhbGlmaWVyICE9IERlZmF1bHRTdGFja1N5bnRoZXNpemVyLkRFRkFVTFRfUVVBTElGSUVSKSkge1xuXG4gICAgICAgIHRoaXMuYWRkVG9SZXNvdXJjZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ3MzOionLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICBgJHt0aGlzLmJ1Y2tldEFybn1gLFxuICAgICAgICAgICAgYCR7dGhpcy5idWNrZXRBcm59LypgLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJpbmNpcGFsczogW1xuICAgICAgICAgICAgbmV3IGlhbS5Bcm5QcmluY2lwYWwoYGFybjphd3M6aWFtOjoke2FjY291bnR9OnJvbGUvY2RrLSR7cXVhbGlmaWVyfS1kZXBsb3ktcm9sZS0ke2FjY291bnR9LSR7cmVnaW9ufWApLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0=
package/package.json CHANGED
@@ -50,15 +50,15 @@
50
50
  "eslint-plugin-import": "^2.32.0",
51
51
  "jest": "^29.7.0",
52
52
  "jest-junit": "^16",
53
- "jsii": "5.7.x",
53
+ "jsii": "5.8.x",
54
54
  "jsii-diff": "^1.113.0",
55
55
  "jsii-docgen": "^10.5.0",
56
56
  "jsii-pacmak": "^1.113.0",
57
- "jsii-rosetta": "5.7.x",
57
+ "jsii-rosetta": "5.8.x",
58
58
  "projen": "^0.95.2",
59
59
  "ts-jest": "^29.4.1",
60
60
  "ts-node": "^10.9.2",
61
- "typescript": "5.7.x"
61
+ "typescript": "5.8.x"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "aws-cdk-lib": "^2.189.1",
@@ -81,7 +81,7 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "version": "2.3.20",
84
+ "version": "2.4.1",
85
85
  "jest": {
86
86
  "coverageProvider": "v8",
87
87
  "testMatch": [