@nikovirtala/cdk-codebuild-hosted-github-actions-runner 1.0.0 → 1.0.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 (4) hide show
  1. package/.jsii +4 -4
  2. package/README.md +120 -47
  3. package/lib/index.js +1 -1
  4. package/package.json +5 -5
package/.jsii CHANGED
@@ -3777,7 +3777,7 @@
3777
3777
  "stability": "stable"
3778
3778
  },
3779
3779
  "homepage": "https://github.com/nikovirtala/cdk-codebuild-hosted-github-actions-runner.git",
3780
- "jsiiVersion": "5.5.12 (build 8b85294)",
3780
+ "jsiiVersion": "5.5.14 (build 992ecef)",
3781
3781
  "keywords": [
3782
3782
  "aws",
3783
3783
  "aws-cdk",
@@ -3800,7 +3800,7 @@
3800
3800
  },
3801
3801
  "name": "@nikovirtala/cdk-codebuild-hosted-github-actions-runner",
3802
3802
  "readme": {
3803
- "markdown": "# Codebuild hosted GitHub Actions runner\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40nikovirtala%2Fcdk-codebuild-hosted-github-actions-runner)](https://constructs.dev/packages/@nikovirtala/cdk-codebuild-hosted-github-actions-runner)\n\nThe `cdk-codebuild-hosted-github-actions-runner` package provides a construct to create an AWS CodeBuild project that can be used to run GitHub Actions workflows.\n\n## Installation\n\nTo install this package, use [npm](https://www.npmjs.com/), [yarn](https://yarnpkg.com/), or [pnpm](https://pnpm.io/):\n\n```sh\nnpm install @nikovirtala/cdk-codebuild-hosted-github-actions-runner\n```\n\n```sh\nyarn add @nikovirtala/cdk-codebuild-hosted-github-actions-runner\n```\n\n```sh\npnpm add @nikovirtala/cdk-codebuild-hosted-github-actions-runner\n```\n\n## Usage\n\nTo use this construct, you need to have an AWS Secrets Manager secret containing your GitHub Personal Access Token. This token is used to authenticate with GitHub. Use `Plaintext` type Secret value. I will add Support for `Key/value` type later.\n\n```\ngithub_pat_<redacted>_<redacted>\n```\n\nFor more information on creating a GitHub token with the required scopes, refer to the [AWS CodeBuild documentation](https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens-github.html).\n\n### Example\n\n```typescript\nimport { Stack, App } from \"aws-cdk-lib\";\nimport { CodebuildHostedGitHubActionsRunner } from \"@nikovirtala/cdk-codebuild-hosted-github-actions-runner\";\n\nconst app = new App();\nconst stack = new Stack(app, \"MyStack\");\n\nnew CodebuildHostedGitHubActionsRunner(stack, \"MyRunner\", {\n repositoryOwner: \"my-github-username\",\n repositoryName: \"my-repo\",\n tokenSecretArn:\n \"arn:aws:secretsmanager:region:account-id:secret:my-github-token\",\n});\n```\n\n## GitHub Actions Workflow\n\nTo trigger the CodeBuild project from a GitHub Actions workflow, you need to create a workflow file to `.github/workflows/` folder in your GitHub repository. Below is an example of a workflow file:\n\n```yaml\nname: Run on Codebuild\n\non: [push]\n\njobs:\n codebuild-job:\n runs-on:\n - codebuild-<<project name>>-${{ github.run_id }}-${{ github.run_attempt }}\n - image:arm-3.0\n - instance-size:small\n\n steps:\n - name: Run a script\n run: echo \"Hello, world!\"\n```\n\nReplace `<<project name>>` with the name of your CodeBuild project. If you did not specify a `codeBuildProjectName` in the construct, the default name will be `${repositoryOwner}-${repositoryName}`.\n\n## Properties\n\nFor detailed information about the construct properties, refer to the [API.md](./API.md) file.\n"
3803
+ "markdown": "# CDK Construct for CodeBuild-Hosted GitHub Actions Runner\n\nThis project provides an AWS CDK construct that creates a CodeBuild project for running GitHub Actions workflows.\n\nThe `CodebuildHostedGitHubActionsRunner` construct allows you to easily set up an AWS CodeBuild project that can be used as a runner for GitHub Actions. This enables you to leverage AWS infrastructure for your GitHub Actions workflows, providing a scalable and cost-effective solution for CI/CD pipelines.\n\n## Repository Structure\n\n```\n.\n├── API.md\n├── package.json\n├── README.md\n├── src\n│ └── index.ts\n└── tsconfig.dev.json\n```\n\n- `src/index.ts`: Contains the main implementation of the `CodebuildHostedGitHubActionsRunner` construct.\n- `package.json`: Defines the project dependencies and scripts.\n- `tsconfig.dev.json`: TypeScript configuration for development.\n\n## Usage Instructions\n\n### Installation\n\nTo use this construct in your AWS CDK project, install it via npm:\n\n```bash\nnpm install @nikovirtala/cdk-codebuild-hosted-github-actions-runner\n```\n\n### Getting Started\n\nHere's a basic example of how to use the `CodebuildHostedGitHubActionsRunner` construct in your CDK stack:\n\n```typescript\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { Construct } from 'constructs';\nimport { CodebuildHostedGitHubActionsRunner } from '@nikovirtala/cdk-codebuild-hosted-github-actions-runner';\n\nexport class MyStack extends Stack {\n constructor(scope: Construct, id: string, props?: StackProps) {\n super(scope, id, props);\n\n new CodebuildHostedGitHubActionsRunner(this, 'GitHubActionsRunner', {\n repositoryOwner: 'myorg',\n repositoryName: 'myrepo',\n tokenSecretArn: 'arn:aws:secretsmanager:region:account-id:secret:my-github-token',\n });\n }\n}\n```\n\n### Configuration Options\n\nThe `CodebuildHostedGitHubActionsRunner` construct accepts the following properties:\n\n- `codeBuildProjectName` (optional): The name of the CodeBuild project. If not provided, a name is generated based on the repository owner and name.\n- `repositoryOwner` (required): The owner of the GitHub repository.\n- `repositoryName` (required): The name of the GitHub repository.\n- `tokenSecretArn` (optional): The ARN of the Secrets Manager secret containing the GitHub token. This is required if the GitHub repository is private.\n\n### Integration with GitHub Actions\n\nTo use this CodeBuild project as a runner for your GitHub Actions workflows, you'll need to configure your workflow to use self-hosted runners. Here's an example workflow:\n\n```yaml\nname: My Workflow\n\non:\n push:\n branches: [ main ]\n\njobs:\n build:\n runs-on: self-hosted\n steps:\n - uses: actions/checkout@v2\n - name: Run a one-line script\n run: echo 'Hello, world!'\n```\n\n### Troubleshooting\n\n#### Common Issues\n\n1. **GitHub Token Not Recognized**\n - Problem: The CodeBuild project fails to authenticate with GitHub.\n - Error Message: \"Unable to access the repository. Please check the source definition of your project.\"\n - Solution:\n 1. Verify that the GitHub token is correctly stored in AWS Secrets Manager.\n 2. Ensure the `tokenSecretArn` property is correctly set in the construct.\n 3. Check if the token has the necessary permissions for the repository.\n\n2. **CodeBuild Project Creation Fails**\n - Problem: The CDK deployment fails when creating the CodeBuild project.\n - Error Message: \"Resource handler returned message: \"Invalid request provided\" (RequestToken: ...)\"\n - Solution:\n 1. Check if you have the necessary permissions to create CodeBuild projects.\n 2. Verify that the provided repository owner and name are correct.\n 3. Ensure you're not exceeding any AWS account limits for CodeBuild projects.\n\n#### Debugging\n\nTo enable verbose logging for the CDK deployment:\n\n```bash\ncdk deploy --debug\n```\n\nThis will provide more detailed information about the deployment process and any errors encountered.\n\n## Data Flow\n\nThe `CodebuildHostedGitHubActionsRunner` construct sets up a CodeBuild project that integrates with GitHub Actions. Here's how the data flows through the system:\n\n1. GitHub Action Workflow Triggered\n2. GitHub sends a webhook event to CodeBuild\n3. CodeBuild Project receives the webhook\n4. CodeBuild Project clones the GitHub repository\n5. CodeBuild executes the GitHub Actions workflow\n6. Results are sent back to GitHub\n\n```mermaid\ngraph TD\n A[GitHub] -->|webhook| B[CodeBuild Project]\n B -->|clone| C[GitHub Repo]\n B -->|execute workflow| D[Execute Workflow]\n D -->|results| B\n B -->|results| A\n```\n\nNote: If a GitHub token is provided, the construct creates a GitHub source credential in CodeBuild to allow access to private repositories.\n\n## Infrastructure\n\nThe `CodebuildHostedGitHubActionsRunner` construct creates the following AWS resources:\n\n- AWS CodeBuild Project:\n - Type: `aws_codebuild.Project`\n - Purpose: Runs GitHub Actions workflows\n\n- GitHub Source Credentials (if token provided):\n - Type: `aws_codebuild.GitHubSourceCredentials`\n - Purpose: Authenticates CodeBuild with GitHub for private repositories\n\nThe construct also references an existing AWS Secrets Manager secret if a `tokenSecretArn` is provided."
3804
3804
  },
3805
3805
  "repository": {
3806
3806
  "type": "git",
@@ -3960,6 +3960,6 @@
3960
3960
  "symbolId": "src/index:CodebuildHostedGitHubActionsRunnerProps"
3961
3961
  }
3962
3962
  },
3963
- "version": "1.0.0",
3964
- "fingerprint": "kdm38ynF/A6nK5lBoxoVMvmJLZ93TK6zpR8AzBselmQ="
3963
+ "version": "1.0.2",
3964
+ "fingerprint": "TZ2NK2n4Nd2Xq96AovIBRAKI9Rvf46zTOWNYzupdcUI="
3965
3965
  }
package/README.md CHANGED
@@ -1,75 +1,148 @@
1
- # Codebuild hosted GitHub Actions runner
1
+ # CDK Construct for CodeBuild-Hosted GitHub Actions Runner
2
2
 
3
- [![View on Construct Hub](https://constructs.dev/badge?package=%40nikovirtala%2Fcdk-codebuild-hosted-github-actions-runner)](https://constructs.dev/packages/@nikovirtala/cdk-codebuild-hosted-github-actions-runner)
3
+ This project provides an AWS CDK construct that creates a CodeBuild project for running GitHub Actions workflows.
4
4
 
5
- The `cdk-codebuild-hosted-github-actions-runner` package provides a construct to create an AWS CodeBuild project that can be used to run GitHub Actions workflows.
5
+ The `CodebuildHostedGitHubActionsRunner` construct allows you to easily set up an AWS CodeBuild project that can be used as a runner for GitHub Actions. This enables you to leverage AWS infrastructure for your GitHub Actions workflows, providing a scalable and cost-effective solution for CI/CD pipelines.
6
6
 
7
- ## Installation
7
+ ## Repository Structure
8
8
 
9
- To install this package, use [npm](https://www.npmjs.com/), [yarn](https://yarnpkg.com/), or [pnpm](https://pnpm.io/):
10
-
11
- ```sh
12
- npm install @nikovirtala/cdk-codebuild-hosted-github-actions-runner
13
9
  ```
14
-
15
- ```sh
16
- yarn add @nikovirtala/cdk-codebuild-hosted-github-actions-runner
10
+ .
11
+ ├── API.md
12
+ ├── package.json
13
+ ├── README.md
14
+ ├── src
15
+ │ └── index.ts
16
+ └── tsconfig.dev.json
17
17
  ```
18
18
 
19
- ```sh
20
- pnpm add @nikovirtala/cdk-codebuild-hosted-github-actions-runner
21
- ```
19
+ - `src/index.ts`: Contains the main implementation of the `CodebuildHostedGitHubActionsRunner` construct.
20
+ - `package.json`: Defines the project dependencies and scripts.
21
+ - `tsconfig.dev.json`: TypeScript configuration for development.
22
22
 
23
- ## Usage
23
+ ## Usage Instructions
24
24
 
25
- To use this construct, you need to have an AWS Secrets Manager secret containing your GitHub Personal Access Token. This token is used to authenticate with GitHub. Use `Plaintext` type Secret value. I will add Support for `Key/value` type later.
25
+ ### Installation
26
26
 
27
- ```
28
- github_pat_<redacted>_<redacted>
27
+ To use this construct in your AWS CDK project, install it via npm:
28
+
29
+ ```bash
30
+ npm install @nikovirtala/cdk-codebuild-hosted-github-actions-runner
29
31
  ```
30
32
 
31
- For more information on creating a GitHub token with the required scopes, refer to the [AWS CodeBuild documentation](https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens-github.html).
33
+ ### Getting Started
32
34
 
33
- ### Example
35
+ Here's a basic example of how to use the `CodebuildHostedGitHubActionsRunner` construct in your CDK stack:
34
36
 
35
37
  ```typescript
36
- import { Stack, App } from "aws-cdk-lib";
37
- import { CodebuildHostedGitHubActionsRunner } from "@nikovirtala/cdk-codebuild-hosted-github-actions-runner";
38
-
39
- const app = new App();
40
- const stack = new Stack(app, "MyStack");
41
-
42
- new CodebuildHostedGitHubActionsRunner(stack, "MyRunner", {
43
- repositoryOwner: "my-github-username",
44
- repositoryName: "my-repo",
45
- tokenSecretArn:
46
- "arn:aws:secretsmanager:region:account-id:secret:my-github-token",
47
- });
38
+ import { Stack, StackProps } from 'aws-cdk-lib';
39
+ import { Construct } from 'constructs';
40
+ import { CodebuildHostedGitHubActionsRunner } from '@nikovirtala/cdk-codebuild-hosted-github-actions-runner';
41
+
42
+ export class MyStack extends Stack {
43
+ constructor(scope: Construct, id: string, props?: StackProps) {
44
+ super(scope, id, props);
45
+
46
+ new CodebuildHostedGitHubActionsRunner(this, 'GitHubActionsRunner', {
47
+ repositoryOwner: 'myorg',
48
+ repositoryName: 'myrepo',
49
+ tokenSecretArn: 'arn:aws:secretsmanager:region:account-id:secret:my-github-token',
50
+ });
51
+ }
52
+ }
48
53
  ```
49
54
 
50
- ## GitHub Actions Workflow
55
+ ### Configuration Options
51
56
 
52
- To trigger the CodeBuild project from a GitHub Actions workflow, you need to create a workflow file to `.github/workflows/` folder in your GitHub repository. Below is an example of a workflow file:
57
+ The `CodebuildHostedGitHubActionsRunner` construct accepts the following properties:
58
+
59
+ - `codeBuildProjectName` (optional): The name of the CodeBuild project. If not provided, a name is generated based on the repository owner and name.
60
+ - `repositoryOwner` (required): The owner of the GitHub repository.
61
+ - `repositoryName` (required): The name of the GitHub repository.
62
+ - `tokenSecretArn` (optional): The ARN of the Secrets Manager secret containing the GitHub token. This is required if the GitHub repository is private.
63
+
64
+ ### Integration with GitHub Actions
65
+
66
+ To use this CodeBuild project as a runner for your GitHub Actions workflows, you'll need to configure your workflow to use self-hosted runners. Here's an example workflow:
53
67
 
54
68
  ```yaml
55
- name: Run on Codebuild
69
+ name: My Workflow
56
70
 
57
- on: [push]
71
+ on:
72
+ push:
73
+ branches: [ main ]
58
74
 
59
75
  jobs:
60
- codebuild-job:
61
- runs-on:
62
- - codebuild-<<project name>>-${{ github.run_id }}-${{ github.run_attempt }}
63
- - image:arm-3.0
64
- - instance-size:small
65
-
76
+ build:
77
+ runs-on: self-hosted
66
78
  steps:
67
- - name: Run a script
68
- run: echo "Hello, world!"
79
+ - uses: actions/checkout@v2
80
+ - name: Run a one-line script
81
+ run: echo 'Hello, world!'
82
+ ```
83
+
84
+ ### Troubleshooting
85
+
86
+ #### Common Issues
87
+
88
+ 1. **GitHub Token Not Recognized**
89
+ - Problem: The CodeBuild project fails to authenticate with GitHub.
90
+ - Error Message: "Unable to access the repository. Please check the source definition of your project."
91
+ - Solution:
92
+ 1. Verify that the GitHub token is correctly stored in AWS Secrets Manager.
93
+ 2. Ensure the `tokenSecretArn` property is correctly set in the construct.
94
+ 3. Check if the token has the necessary permissions for the repository.
95
+
96
+ 2. **CodeBuild Project Creation Fails**
97
+ - Problem: The CDK deployment fails when creating the CodeBuild project.
98
+ - Error Message: "Resource handler returned message: "Invalid request provided" (RequestToken: ...)"
99
+ - Solution:
100
+ 1. Check if you have the necessary permissions to create CodeBuild projects.
101
+ 2. Verify that the provided repository owner and name are correct.
102
+ 3. Ensure you're not exceeding any AWS account limits for CodeBuild projects.
103
+
104
+ #### Debugging
105
+
106
+ To enable verbose logging for the CDK deployment:
107
+
108
+ ```bash
109
+ cdk deploy --debug
110
+ ```
111
+
112
+ This will provide more detailed information about the deployment process and any errors encountered.
113
+
114
+ ## Data Flow
115
+
116
+ The `CodebuildHostedGitHubActionsRunner` construct sets up a CodeBuild project that integrates with GitHub Actions. Here's how the data flows through the system:
117
+
118
+ 1. GitHub Action Workflow Triggered
119
+ 2. GitHub sends a webhook event to CodeBuild
120
+ 3. CodeBuild Project receives the webhook
121
+ 4. CodeBuild Project clones the GitHub repository
122
+ 5. CodeBuild executes the GitHub Actions workflow
123
+ 6. Results are sent back to GitHub
124
+
125
+ ```mermaid
126
+ graph TD
127
+ A[GitHub] -->|webhook| B[CodeBuild Project]
128
+ B -->|clone| C[GitHub Repo]
129
+ B -->|execute workflow| D[Execute Workflow]
130
+ D -->|results| B
131
+ B -->|results| A
69
132
  ```
70
133
 
71
- Replace `<<project name>>` with the name of your CodeBuild project. If you did not specify a `codeBuildProjectName` in the construct, the default name will be `${repositoryOwner}-${repositoryName}`.
134
+ Note: If a GitHub token is provided, the construct creates a GitHub source credential in CodeBuild to allow access to private repositories.
135
+
136
+ ## Infrastructure
137
+
138
+ The `CodebuildHostedGitHubActionsRunner` construct creates the following AWS resources:
139
+
140
+ - AWS CodeBuild Project:
141
+ - Type: `aws_codebuild.Project`
142
+ - Purpose: Runs GitHub Actions workflows
72
143
 
73
- ## Properties
144
+ - GitHub Source Credentials (if token provided):
145
+ - Type: `aws_codebuild.GitHubSourceCredentials`
146
+ - Purpose: Authenticates CodeBuild with GitHub for private repositories
74
147
 
75
- For detailed information about the construct properties, refer to the [API.md](./API.md) file.
148
+ The construct also references an existing AWS Secrets Manager secret if a `tokenSecretArn` is provided.
package/lib/index.js CHANGED
@@ -28,5 +28,5 @@ class CodebuildHostedGitHubActionsRunner extends constructs_1.Construct {
28
28
  }
29
29
  exports.CodebuildHostedGitHubActionsRunner = CodebuildHostedGitHubActionsRunner;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- CodebuildHostedGitHubActionsRunner[_a] = { fqn: "@nikovirtala/cdk-codebuild-hosted-github-actions-runner.CodebuildHostedGitHubActionsRunner", version: "1.0.0" };
31
+ CodebuildHostedGitHubActionsRunner[_a] = { fqn: "@nikovirtala/cdk-codebuild-hosted-github-actions-runner.CodebuildHostedGitHubActionsRunner", version: "1.0.2" };
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBZ0U7QUFDaEUsMkNBQXVDO0FBK0J2QyxNQUFhLGtDQUFtQyxTQUFRLHNCQUFTO0lBRzdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEM7UUFDcEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFeEYsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQixNQUFNLE1BQU0sR0FBRyxnQ0FBa0IsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUVwRyxJQUFJLDJCQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUN2RSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7YUFDbEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSwyQkFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3RELFdBQVcsRUFBRSxvQkFBb0IsSUFBSSxHQUFHLGVBQWUsSUFBSSxjQUFjLEVBQUU7WUFDM0UsTUFBTSxFQUFFLDJCQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDaEMsS0FBSyxFQUFFLGVBQWU7Z0JBQ3RCLElBQUksRUFBRSxjQUFjO2dCQUNwQixPQUFPLEVBQUUsSUFBSTtnQkFDYixjQUFjLEVBQUUsQ0FBQywyQkFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsMkJBQWEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN2RyxDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUF6QkwsZ0ZBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzX2NvZGVidWlsZCwgYXdzX3NlY3JldHNtYW5hZ2VyIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXJQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIENvZGVCdWlsZCBwcm9qZWN0LlxuICAgICAqIEBkZWZhdWx0IC0gQSBuYW1lIGlzIGdlbmVyYXRlZCBiYXNlZCBvbiB0aGUgcmVwb3NpdG9yeSBvd25lciBhbmQgbmFtZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBjb2RlQnVpbGRQcm9qZWN0TmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBvd25lciBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwb3NpdG9yeU93bmVyOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwb3NpdG9yeU5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBBUk4gb2YgdGhlIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgY29udGFpbmluZyB0aGUgR2l0SHViIHRva2VuLlxuICAgICAqXG4gICAgICogTm90ZSEgQ29kZUJ1aWxkIG9ubHkgYWxsb3dzIGEgc2luZ2xlIGNyZWRlbnRpYWwgZm9yIEdpdEh1YlxuICAgICAqIHRvIGJlIHNhdmVkIGluIGEgZ2l2ZW4gQVdTIGFjY291bnQgaW4gYSBnaXZlbiByZWdpb24gLVxuICAgICAqIGFueSBhdHRlbXB0IHRvIGFkZCBtb3JlIHRoYW4gb25lIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBObyBHaXRIdWIgdG9rZW4gaXMgdXNlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0b2tlblNlY3JldEFybj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBhd3NfY29kZWJ1aWxkLklQcm9qZWN0O1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXJQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIGNvbnN0IHsgY29kZUJ1aWxkUHJvamVjdE5hbWUsIHJlcG9zaXRvcnlPd25lciwgcmVwb3NpdG9yeU5hbWUsIHRva2VuU2VjcmV0QXJuIH0gPSBwcm9wcztcblxuICAgICAgICBpZiAodG9rZW5TZWNyZXRBcm4pIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3JldCA9IGF3c19zZWNyZXRzbWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldENvbXBsZXRlQXJuKHRoaXMsIFwiR2l0SHViVG9rZW5cIiwgdG9rZW5TZWNyZXRBcm4pO1xuXG4gICAgICAgICAgICBuZXcgYXdzX2NvZGVidWlsZC5HaXRIdWJTb3VyY2VDcmVkZW50aWFscyh0aGlzLCBcIkdpdEh1YlNvdXJjZUNyZWRlbnRpYWxzXCIsIHtcbiAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogc2VjcmV0LnNlY3JldFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2plY3QgPSBuZXcgYXdzX2NvZGVidWlsZC5Qcm9qZWN0KHRoaXMsIFwiUHJvamVjdFwiLCB7XG4gICAgICAgICAgICBwcm9qZWN0TmFtZTogY29kZUJ1aWxkUHJvamVjdE5hbWUgPz8gYCR7cmVwb3NpdG9yeU93bmVyfS0ke3JlcG9zaXRvcnlOYW1lfWAsXG4gICAgICAgICAgICBzb3VyY2U6IGF3c19jb2RlYnVpbGQuU291cmNlLmdpdEh1Yih7XG4gICAgICAgICAgICAgICAgb3duZXI6IHJlcG9zaXRvcnlPd25lcixcbiAgICAgICAgICAgICAgICByZXBvOiByZXBvc2l0b3J5TmFtZSxcbiAgICAgICAgICAgICAgICB3ZWJob29rOiB0cnVlLFxuICAgICAgICAgICAgICAgIHdlYmhvb2tGaWx0ZXJzOiBbYXdzX2NvZGVidWlsZC5GaWx0ZXJHcm91cC5pbkV2ZW50T2YoYXdzX2NvZGVidWlsZC5FdmVudEFjdGlvbi5XT1JLRkxPV19KT0JfUVVFVUVEKV0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
package/package.json CHANGED
@@ -34,7 +34,7 @@
34
34
  "organization": false
35
35
  },
36
36
  "devDependencies": {
37
- "@types/node": "^22.10.1",
37
+ "@types/node": "^22.10.2",
38
38
  "@typescript-eslint/eslint-plugin": "^8",
39
39
  "@typescript-eslint/parser": "^8",
40
40
  "aws-cdk-lib": "2.146.0",
@@ -46,12 +46,12 @@
46
46
  "eslint-plugin-import": "^2.31.0",
47
47
  "eslint-plugin-prettier": "^5.2.1",
48
48
  "jsii": "~5.5.0",
49
- "jsii-diff": "^1.105.0",
49
+ "jsii-diff": "^1.106.0",
50
50
  "jsii-docgen": "^10.5.0",
51
- "jsii-pacmak": "^1.105.0",
51
+ "jsii-pacmak": "^1.106.0",
52
52
  "jsii-rosetta": "~5.5.0",
53
53
  "prettier": "^3.4.2",
54
- "projen": "^0.90.6",
54
+ "projen": "^0.91.1",
55
55
  "ts-node": "^10.9.2",
56
56
  "typescript": "^5.7.2"
57
57
  },
@@ -75,7 +75,7 @@
75
75
  "publishConfig": {
76
76
  "access": "public"
77
77
  },
78
- "version": "1.0.0",
78
+ "version": "1.0.2",
79
79
  "types": "lib/index.d.ts",
80
80
  "stability": "stable",
81
81
  "jsii": {