@mavogel/cdk-vscode-server 0.0.17 → 0.0.19

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 (55) hide show
  1. package/.jsii +45 -22
  2. package/API.md +14 -0
  3. package/CONTRIBUTING.md +6 -6
  4. package/README.md +1 -1
  5. package/integ-tests/integ.al2023.ts +4 -0
  6. package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.assets.json +6 -6
  7. package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.template.json +2 -2
  8. package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.assets.json +12 -12
  9. package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.template.json +307 -23
  10. package/integ-tests/integ.al2023.ts.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/__entrypoint__.js +1 -0
  11. package/integ-tests/integ.al2023.ts.snapshot/{asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda → asset.a9865c9d36c7aa999e28cb7926e7a3a8e0b6d0854b25131a172024c5777442fa.lambda}/index.js +28 -9
  12. package/integ-tests/integ.al2023.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +1 -0
  13. package/integ-tests/{integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e → integ.al2023.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/outbound.js +1 -1
  14. package/integ-tests/integ.al2023.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/util.js +1 -0
  15. package/integ-tests/{integ.ubuntu.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle → integ.al2023.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle}/index.js +42 -43
  16. package/integ-tests/integ.al2023.ts.snapshot/cdk.out +1 -1
  17. package/integ-tests/integ.al2023.ts.snapshot/integ.json +2 -2
  18. package/integ-tests/integ.al2023.ts.snapshot/manifest.json +3 -5
  19. package/integ-tests/integ.al2023.ts.snapshot/tree.json +453 -169
  20. package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.assets.json +6 -6
  21. package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json +2 -2
  22. package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.assets.json +12 -12
  23. package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.template.json +131 -23
  24. package/integ-tests/integ.ubuntu.ts.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/__entrypoint__.js +1 -0
  25. package/integ-tests/integ.ubuntu.ts.snapshot/{asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda → asset.a9865c9d36c7aa999e28cb7926e7a3a8e0b6d0854b25131a172024c5777442fa.lambda}/index.js +28 -9
  26. package/integ-tests/integ.ubuntu.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +1 -0
  27. package/integ-tests/{integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e → integ.ubuntu.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/outbound.js +1 -1
  28. package/integ-tests/integ.ubuntu.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/util.js +1 -0
  29. package/integ-tests/{integ.al2023.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle → integ.ubuntu.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle}/index.js +42 -43
  30. package/integ-tests/integ.ubuntu.ts.snapshot/cdk.out +1 -1
  31. package/integ-tests/integ.ubuntu.ts.snapshot/integ.json +2 -2
  32. package/integ-tests/integ.ubuntu.ts.snapshot/manifest.json +3 -5
  33. package/integ-tests/integ.ubuntu.ts.snapshot/tree.json +277 -169
  34. package/lib/vscode-server.d.ts +8 -0
  35. package/lib/vscode-server.js +17 -2
  36. package/mavogelcdkvscodeserver/LinuxArchitectureType.go +2 -0
  37. package/mavogelcdkvscodeserver/LinuxFlavorType.go +3 -0
  38. package/mavogelcdkvscodeserver/README.md +1 -1
  39. package/mavogelcdkvscodeserver/VSCodeServer.go +3 -0
  40. package/mavogelcdkvscodeserver/VSCodeServerProps.go +5 -0
  41. package/mavogelcdkvscodeserver/jsii/jsii.go +2 -2
  42. package/mavogelcdkvscodeserver/version +1 -1
  43. package/package.json +1 -1
  44. package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +0 -1
  45. package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +0 -1
  46. package/integ-tests/integ.al2023.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +0 -1
  47. package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +0 -1
  48. package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +0 -1
  49. package/integ-tests/integ.ubuntu.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +0 -1
  50. /package/integ-tests/integ.al2023.ts.snapshot/{asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a → asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200}/index.js +0 -0
  51. /package/integ-tests/integ.al2023.ts.snapshot/{asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e → asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/consts.js +0 -0
  52. /package/integ-tests/integ.al2023.ts.snapshot/{asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e → asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/framework.js +0 -0
  53. /package/integ-tests/integ.ubuntu.ts.snapshot/{asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a → asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200}/index.js +0 -0
  54. /package/integ-tests/integ.ubuntu.ts.snapshot/{asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e → asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/consts.js +0 -0
  55. /package/integ-tests/integ.ubuntu.ts.snapshot/{asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e → asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/framework.js +0 -0
package/.jsii CHANGED
@@ -4033,7 +4033,7 @@
4033
4033
  },
4034
4034
  "name": "@mavogel/cdk-vscode-server",
4035
4035
  "readme": {
4036
- "markdown": "![Source](https://img.shields.io/github/stars/MV-Consulting/cdk-vscode-server?logo=github&label=GitHub%20Stars)\n[![Build Status](https://github.com/MV-Consulting/cdk-vscode-server/actions/workflows/build.yml/badge.svg)](https://github.com/MV-Consulting/cdk-vscode-server/actions/workflows/build.yml)\n[![ESLint Code Formatting](https://img.shields.io/badge/code_style-eslint-brightgreen.svg)](https://eslint.org)\n[![Latest release](https://img.shields.io/github/release/MV-Consulting/cdk-vscode-server.svg)](https://github.com/MV-Consulting/cdk-vscode-server/releases)\n![GitHub](https://img.shields.io/github/license/MV-Consulting/cdk-vscode-server)\n[![npm](https://img.shields.io/npm/dt/@mavogel/cdk-vscode-server?label=npm&color=orange)](https://www.npmjs.com/package/@mavogel/cdk-vscode-server)\n[![typescript](https://img.shields.io/badge/jsii-typescript-blueviolet.svg)](https://www.npmjs.com/package/@mavogel/cdk-vscode-server)\n\n# cdk-vscode-server\n\nRunning your dev IDE vscode on AWS for development and workshop purposes.\n\n> [!Note]\n> This construct is designed for workshop purposes and does not fulfill all security and authentication best practices.\n\n![EXPERIMENTAL](https://img.shields.io/badge/stability-experimantal-orange?style=for-the-badge)**<br>This is an early version of the package. The API will change while I\nwe implement new features. Therefore make sure you use an exact version in your `package.json` before it reaches 1.0.0.**\n\n## Table of Contents\n\n- [Features](#features)\n- [Usage](#usage)\n- [Solution Design](#solution-design)\n- [Inspiration](#inspiration)\n\n## Features\n\n- ⚡ **Quick Setup**: Spin up and configure your [vscode](https://code.visualstudio.com/) server in under 10 minutes in your AWS account\n- 📏 **Best Practice Setup**: Set up with [projen](https://projen.io/) and a [single configuration file](./.projenrc.ts) to keep your changes centralized.\n- 🤹‍♂️ **Pre-installed packages**: Besides the [vscode](https://code.visualstudio.com/) server, other tools and software packages such as `git`, `docker`, `awscli` `nodejs` and `python` are pre-installed on the EC2 instance.\n- 🏗️ **Extensibility**: Pass in properties to the construct, which start with `additional*`. They allow you to extend the configuration to your needs. There are more to come...\n\n## Usage\nThe following steps get you started:\n\n1. Create a new `awscdk-app` via\n```bash\nnpx projen new awscdk-app-ts --package-manager=npm\n```\n3. Add `@mavogel/cdk-vscode-server` as a dependency to your project in the `.projenrc.ts` file\n4. Run `yarn run projen` to install it\n5. Add the following to the `src/main.ts` file:\n```ts\nimport { App, Stack, StackProps } from 'aws-cdk-lib';\nimport * as ec2 from 'aws-cdk-lib/aws-ec2';\nimport * as iam from 'aws-cdk-lib/aws-iam';\nimport { Construct } from 'constructs';\nimport {\n LinuxArchitectureType,\n LinuxFlavorType,\n VSCodeServer\n} from '@mavogel/cdk-vscode-server';\n\nexport class MyStack extends Stack {\n constructor(scope: Construct, id: string, props: StackProps = {}) {\n super(scope, id, props);\n\n new VSCodeServer(this, 'vscode', {\n // for example (or simply use the defaults by not setting the properties)\n instanceVolumeSize: 8,\n instanceClass: ec2.InstanceClass.M7G,\n instanceSize: ec2.InstanceSize.LARGE,\n instanceOperatingSystem: LinuxFlavorType.UBUNTU_22,\n instanceCpuArchitecture: LinuxArchitectureType.ARM,\n\n // 👇🏽 or if you want to give the InstanceRole more permissions\n additionalInstanceRolePolicies: [\n new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'codebuild:*',\n ],\n resources: [\n `arn:aws:codebuild:*:${Stack.of(this).account}:*/*`,\n ],\n }),\n ]\n\n // and more... 💡\n });\n }\n}\n\nconst env = {\n account: '123456789912',\n region: 'eu-central-1',\n};\n\nconst app = new App();\nnew MyStack(app, 'vscode-server', { env });\napp.synth();\n```\n\nand deploy it\n```bash\nnpx projen build\nnpx projen deploy\n```\n\nwith the output\n```console\n✨ Deployment time: 509.87s\n\nOutputs:\ndev.vscodedomainName6729AA39 = https://d1foo65bar4baz.cloudfront.net/?folder=/Workshop\ndev.vscodepassword64FBCA12 = foobarbaz\n```\n\nSee the [examples](./examples) folder for more inspiration.\n\n6. Then open the domain name in your favorite browser and you'd see the following login screen:\n![vscode-server-ui-login](docs/img/vscode-server-ui-login-min.png)\n\n7. After entering the password, you are logged into VSCode and can start coding :tada:\n\n![vscode-server-ui](docs/img/vscode-server-ui-min.png)\n\n> [!Important]\n> There are issues with copy pasting into the VSCode terminal within the Firefox browser (2025-01-12)\n\n## Solution Design\n\n<details>\n <summary>... if you're curious about click here for the details</summary>\n\n![vscode-server-solution-design](docs/img/vscode-server.drawio-min.png)\n\n</details>\n\n## Inspiration\nThis project was created based on the following inspiration\n\n- [vscode-on-ec2-for-prototyping](https://github.com/aws-samples/vscode-on-ec2-for-prototyping): as baseline, which unfortunately was outdated\n- [aws-terraform-dev-container](https://github.com/awslabs/aws-terraform-dev-container): as baseline for terraform, but unfortunately also outdated\n- [java-on-aws-workshop-ide-only.yaml](https://github.com/aws-samples/java-on-aws/blob/main/labs/unicorn-store/infrastructure/cfn/java-on-aws-workshop-ide-only.yaml): an already synthesized cloudformation stack, which used mostly python as the custom resources\n- [fleet-workshop-team-stack-self.json](https://static.us-east-1.prod.workshops.aws/public/cc4aa67e-5b7a-4df1-abf7-c42502899a25/assets/fleet-workshop-team-stack-self.json): also an already synthesized cloudformation stack, which did much more as I currently implemented here.\n- [eks-workshop-vscode-cfn.yaml](https://github.com/aws-samples/eks-workshop-v2/blob/main/lab/cfn/eks-workshop-vscode-cfn.yaml): another great baseline\n\n\n## 🚀 Unlock the Full Potential of Your AWS Cloud Infrastructure\n\nHi, I’m Manuel, an AWS expert passionate about empowering businesses with **scalable, resilient, and cost-optimized cloud solutions**. With **MV Consulting**, I specialize in crafting **tailored AWS architectures** and **DevOps-driven workflows** that not only meet your current needs but grow with you.\n\n---\n\n### 🌟 Why Work With Me?\n\n✔️ **Tailored AWS Solutions:** Every business is unique, so I design custom solutions that fit your goals and challenges.\n✔️ **Well-Architected Designs:** From scalability to security, my solutions align with AWS Well-Architected Framework.\n✔️ **Cloud-Native Focus:** I specialize in modern, cloud-native systems that embrace the full potential of AWS.\n✔️ **Business-Driven Tech:** Technology should serve your business, not the other way around.\n\n---\n\n### 🛠 What I Bring to the Table\n\n🔑 **12x AWS Certifications**\nI’m **AWS Certified Solutions Architect and DevOps – Professional** and hold numerous additional certifications, so you can trust I’ll bring industry best practices to your projects. Feel free to explose by [badges](https://www.credly.com/users/manuel-vogel)\n\n⚙️ **Infrastructure as Code (IaC)**\nWith deep expertise in **AWS CDK** and **Terraform**, I ensure your infrastructure is automated, maintainable, and scalable.\n\n📦 **DevOps Expertise**\nFrom CI/CD pipelines with **GitHub Actions** and **GitLab CI** to container orchestration **Kubernetes** and others, I deliver workflows that are smooth and efficient.\n\n🌐 **Hands-On Experience**\nWith over **7 years of AWS experience** and a decade in the tech world, I’ve delivered solutions for companies large and small. My open-source contributions showcase my commitment to transparency and innovation. Feel free to explore my [GitHub profile](https://github.com/mavogel)\n\n---\n\n### 💼 Let’s Build Something Great Together\n\nI know that choosing the right partner is critical to your success. When you work with me, you’re not just contracting an engineer – you’re gaining a trusted advisor and hands-on expert who cares about your business as much as you do.\n\n✔️ **Direct Collaboration**: No middlemen or red tape – you work with me directly.\n✔️ **Transparent Process**: Expect open communication, clear timelines, and visible results.\n✔️ **Real Value**: My solutions focus on delivering measurable impact for your business.\n\n\n<a href=\"https://tinyurl.com/mvc-15min\"><img alt=\"Schedule your call\" src=\"https://img.shields.io/badge/schedule%20your%20call-success.svg?style=for-the-badge\"/></a>\n\n---\n\n## 🙌 Acknowledgements\n\nBig shoutout to the amazing team behind [Projen](https://github.com/projen/projen)!\nTheir groundbreaking work simplifies cloud infrastructure projects and inspires us every day. 💡\n\n## Author\n\n[Manuel Vogel](https://manuel-vogel.de/about/)\n\n[![](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/manuel-vogel)\n[![](https://img.shields.io/badge/GitHub-2b3137?style=for-the-badge&logo=github&logoColor=white)](https://github.com/mavogel)"
4036
+ "markdown": "![Source](https://img.shields.io/github/stars/MV-Consulting/cdk-vscode-server?logo=github&label=GitHub%20Stars)\n[![Build Status](https://github.com/MV-Consulting/cdk-vscode-server/actions/workflows/build.yml/badge.svg)](https://github.com/MV-Consulting/cdk-vscode-server/actions/workflows/build.yml)\n[![ESLint Code Formatting](https://img.shields.io/badge/code_style-eslint-brightgreen.svg)](https://eslint.org)\n[![Latest release](https://img.shields.io/github/release/MV-Consulting/cdk-vscode-server.svg)](https://github.com/MV-Consulting/cdk-vscode-server/releases)\n![GitHub](https://img.shields.io/github/license/MV-Consulting/cdk-vscode-server)\n[![npm](https://img.shields.io/npm/dt/@mavogel/cdk-vscode-server?label=npm&color=orange)](https://www.npmjs.com/package/@mavogel/cdk-vscode-server)\n[![typescript](https://img.shields.io/badge/jsii-typescript-blueviolet.svg)](https://www.npmjs.com/package/@mavogel/cdk-vscode-server)\n\n# cdk-vscode-server\n\nRunning your dev IDE vscode on AWS for development and workshop purposes.\n\n> [!Note]\n> This construct is designed for workshop purposes and does not fulfill all security and authentication best practices.\n\n![EXPERIMENTAL](https://img.shields.io/badge/stability-experimantal-orange?style=for-the-badge)**<br>This is an early version of the package. The API will change while I\nwe implement new features. Therefore make sure you use an exact version in your `package.json` before it reaches 1.0.0.**\n\n## Table of Contents\n\n- [Features](#features)\n- [Usage](#usage)\n- [Solution Design](#solution-design)\n- [Inspiration](#inspiration)\n\n## Features\n\n- ⚡ **Quick Setup**: Spin up and configure your [vscode](https://code.visualstudio.com/) server in under 10 minutes in your AWS account\n- 📏 **Best Practice Setup**: Set up with [projen](https://projen.io/) and a [single configuration file](./.projenrc.ts) to keep your changes centralized.\n- 🤹‍♂️ **Pre-installed packages**: Besides the [vscode](https://code.visualstudio.com/) server, other tools and software packages such as `git`, `docker`, `awscli` `nodejs` and `python` are pre-installed on the EC2 instance.\n- 🏗️ **Extensibility**: Pass in properties to the construct, which start with `additional*`. They allow you to extend the configuration to your needs. There are more to come...\n\n## Usage\nThe following steps get you started:\n\n1. Create a new `awscdk-app` via\n```bash\nnpx projen new awscdk-app-ts --package-manager=npm\n```\n3. Add `@mavogel/cdk-vscode-server` as a dependency to your project in the `.projenrc.ts` file\n4. Run `npx projen` to install it\n5. Add the following to the `src/main.ts` file:\n```ts\nimport { App, Stack, StackProps } from 'aws-cdk-lib';\nimport * as ec2 from 'aws-cdk-lib/aws-ec2';\nimport * as iam from 'aws-cdk-lib/aws-iam';\nimport { Construct } from 'constructs';\nimport {\n LinuxArchitectureType,\n LinuxFlavorType,\n VSCodeServer\n} from '@mavogel/cdk-vscode-server';\n\nexport class MyStack extends Stack {\n constructor(scope: Construct, id: string, props: StackProps = {}) {\n super(scope, id, props);\n\n new VSCodeServer(this, 'vscode', {\n // for example (or simply use the defaults by not setting the properties)\n instanceVolumeSize: 8,\n instanceClass: ec2.InstanceClass.M7G,\n instanceSize: ec2.InstanceSize.LARGE,\n instanceOperatingSystem: LinuxFlavorType.UBUNTU_22,\n instanceCpuArchitecture: LinuxArchitectureType.ARM,\n\n // 👇🏽 or if you want to give the InstanceRole more permissions\n additionalInstanceRolePolicies: [\n new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'codebuild:*',\n ],\n resources: [\n `arn:aws:codebuild:*:${Stack.of(this).account}:*/*`,\n ],\n }),\n ]\n\n // and more... 💡\n });\n }\n}\n\nconst env = {\n account: '123456789912',\n region: 'eu-central-1',\n};\n\nconst app = new App();\nnew MyStack(app, 'vscode-server', { env });\napp.synth();\n```\n\nand deploy it\n```bash\nnpx projen build\nnpx projen deploy\n```\n\nwith the output\n```console\n✨ Deployment time: 509.87s\n\nOutputs:\ndev.vscodedomainName6729AA39 = https://d1foo65bar4baz.cloudfront.net/?folder=/Workshop\ndev.vscodepassword64FBCA12 = foobarbaz\n```\n\nSee the [examples](./examples) folder for more inspiration.\n\n6. Then open the domain name in your favorite browser and you'd see the following login screen:\n![vscode-server-ui-login](docs/img/vscode-server-ui-login-min.png)\n\n7. After entering the password, you are logged into VSCode and can start coding :tada:\n\n![vscode-server-ui](docs/img/vscode-server-ui-min.png)\n\n> [!Important]\n> There are issues with copy pasting into the VSCode terminal within the Firefox browser (2025-01-12)\n\n## Solution Design\n\n<details>\n <summary>... if you're curious about click here for the details</summary>\n\n![vscode-server-solution-design](docs/img/vscode-server.drawio-min.png)\n\n</details>\n\n## Inspiration\nThis project was created based on the following inspiration\n\n- [vscode-on-ec2-for-prototyping](https://github.com/aws-samples/vscode-on-ec2-for-prototyping): as baseline, which unfortunately was outdated\n- [aws-terraform-dev-container](https://github.com/awslabs/aws-terraform-dev-container): as baseline for terraform, but unfortunately also outdated\n- [java-on-aws-workshop-ide-only.yaml](https://github.com/aws-samples/java-on-aws/blob/main/labs/unicorn-store/infrastructure/cfn/java-on-aws-workshop-ide-only.yaml): an already synthesized cloudformation stack, which used mostly python as the custom resources\n- [fleet-workshop-team-stack-self.json](https://static.us-east-1.prod.workshops.aws/public/cc4aa67e-5b7a-4df1-abf7-c42502899a25/assets/fleet-workshop-team-stack-self.json): also an already synthesized cloudformation stack, which did much more as I currently implemented here.\n- [eks-workshop-vscode-cfn.yaml](https://github.com/aws-samples/eks-workshop-v2/blob/main/lab/cfn/eks-workshop-vscode-cfn.yaml): another great baseline\n\n\n## 🚀 Unlock the Full Potential of Your AWS Cloud Infrastructure\n\nHi, I’m Manuel, an AWS expert passionate about empowering businesses with **scalable, resilient, and cost-optimized cloud solutions**. With **MV Consulting**, I specialize in crafting **tailored AWS architectures** and **DevOps-driven workflows** that not only meet your current needs but grow with you.\n\n---\n\n### 🌟 Why Work With Me?\n\n✔️ **Tailored AWS Solutions:** Every business is unique, so I design custom solutions that fit your goals and challenges.\n✔️ **Well-Architected Designs:** From scalability to security, my solutions align with AWS Well-Architected Framework.\n✔️ **Cloud-Native Focus:** I specialize in modern, cloud-native systems that embrace the full potential of AWS.\n✔️ **Business-Driven Tech:** Technology should serve your business, not the other way around.\n\n---\n\n### 🛠 What I Bring to the Table\n\n🔑 **12x AWS Certifications**\nI’m **AWS Certified Solutions Architect and DevOps – Professional** and hold numerous additional certifications, so you can trust I’ll bring industry best practices to your projects. Feel free to explose by [badges](https://www.credly.com/users/manuel-vogel)\n\n⚙️ **Infrastructure as Code (IaC)**\nWith deep expertise in **AWS CDK** and **Terraform**, I ensure your infrastructure is automated, maintainable, and scalable.\n\n📦 **DevOps Expertise**\nFrom CI/CD pipelines with **GitHub Actions** and **GitLab CI** to container orchestration **Kubernetes** and others, I deliver workflows that are smooth and efficient.\n\n🌐 **Hands-On Experience**\nWith over **7 years of AWS experience** and a decade in the tech world, I’ve delivered solutions for companies large and small. My open-source contributions showcase my commitment to transparency and innovation. Feel free to explore my [GitHub profile](https://github.com/mavogel)\n\n---\n\n### 💼 Let’s Build Something Great Together\n\nI know that choosing the right partner is critical to your success. When you work with me, you’re not just contracting an engineer – you’re gaining a trusted advisor and hands-on expert who cares about your business as much as you do.\n\n✔️ **Direct Collaboration**: No middlemen or red tape – you work with me directly.\n✔️ **Transparent Process**: Expect open communication, clear timelines, and visible results.\n✔️ **Real Value**: My solutions focus on delivering measurable impact for your business.\n\n\n<a href=\"https://tinyurl.com/mvc-15min\"><img alt=\"Schedule your call\" src=\"https://img.shields.io/badge/schedule%20your%20call-success.svg?style=for-the-badge\"/></a>\n\n---\n\n## 🙌 Acknowledgements\n\nBig shoutout to the amazing team behind [Projen](https://github.com/projen/projen)!\nTheir groundbreaking work simplifies cloud infrastructure projects and inspires us every day. 💡\n\n## Author\n\n[Manuel Vogel](https://manuel-vogel.de/about/)\n\n[![](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/manuel-vogel)\n[![](https://img.shields.io/badge/GitHub-2b3137?style=for-the-badge&logo=github&logoColor=white)](https://github.com/mavogel)"
4037
4037
  },
4038
4038
  "repository": {
4039
4039
  "type": "git",
@@ -4063,7 +4063,7 @@
4063
4063
  "kind": "enum",
4064
4064
  "locationInModule": {
4065
4065
  "filename": "src/vscode-server.ts",
4066
- "line": 126
4066
+ "line": 140
4067
4067
  },
4068
4068
  "members": [
4069
4069
  {
@@ -4094,7 +4094,7 @@
4094
4094
  "kind": "enum",
4095
4095
  "locationInModule": {
4096
4096
  "filename": "src/vscode-server.ts",
4097
- "line": 106
4097
+ "line": 120
4098
4098
  },
4099
4099
  "members": [
4100
4100
  {
@@ -4136,7 +4136,7 @@
4136
4136
  },
4137
4137
  "locationInModule": {
4138
4138
  "filename": "src/vscode-server.ts",
4139
- "line": 152
4139
+ "line": 166
4140
4140
  },
4141
4141
  "parameters": [
4142
4142
  {
@@ -4163,7 +4163,7 @@
4163
4163
  "kind": "class",
4164
4164
  "locationInModule": {
4165
4165
  "filename": "src/vscode-server.ts",
4166
- "line": 141
4166
+ "line": 155
4167
4167
  },
4168
4168
  "name": "VSCodeServer",
4169
4169
  "properties": [
@@ -4175,7 +4175,7 @@
4175
4175
  "immutable": true,
4176
4176
  "locationInModule": {
4177
4177
  "filename": "src/vscode-server.ts",
4178
- "line": 145
4178
+ "line": 159
4179
4179
  },
4180
4180
  "name": "domainName",
4181
4181
  "type": {
@@ -4190,7 +4190,7 @@
4190
4190
  "immutable": true,
4191
4191
  "locationInModule": {
4192
4192
  "filename": "src/vscode-server.ts",
4193
- "line": 150
4193
+ "line": 164
4194
4194
  },
4195
4195
  "name": "password",
4196
4196
  "type": {
@@ -4211,7 +4211,7 @@
4211
4211
  "kind": "interface",
4212
4212
  "locationInModule": {
4213
4213
  "filename": "src/vscode-server.ts",
4214
- "line": 17
4214
+ "line": 24
4215
4215
  },
4216
4216
  "name": "VSCodeServerProps",
4217
4217
  "properties": [
@@ -4225,7 +4225,7 @@
4225
4225
  "immutable": true,
4226
4226
  "locationInModule": {
4227
4227
  "filename": "src/vscode-server.ts",
4228
- "line": 100
4228
+ "line": 107
4229
4229
  },
4230
4230
  "name": "additionalInstanceRolePolicies",
4231
4231
  "optional": true,
@@ -4238,6 +4238,29 @@
4238
4238
  }
4239
4239
  }
4240
4240
  },
4241
+ {
4242
+ "abstract": true,
4243
+ "docs": {
4244
+ "default": "- {}",
4245
+ "stability": "stable",
4246
+ "summary": "Additional tags to add to the instance."
4247
+ },
4248
+ "immutable": true,
4249
+ "locationInModule": {
4250
+ "filename": "src/vscode-server.ts",
4251
+ "line": 114
4252
+ },
4253
+ "name": "additionalTags",
4254
+ "optional": true,
4255
+ "type": {
4256
+ "collection": {
4257
+ "elementtype": {
4258
+ "primitive": "string"
4259
+ },
4260
+ "kind": "map"
4261
+ }
4262
+ }
4263
+ },
4241
4264
  {
4242
4265
  "abstract": true,
4243
4266
  "docs": {
@@ -4248,7 +4271,7 @@
4248
4271
  "immutable": true,
4249
4272
  "locationInModule": {
4250
4273
  "filename": "src/vscode-server.ts",
4251
- "line": 86
4274
+ "line": 93
4252
4275
  },
4253
4276
  "name": "devServerBasePath",
4254
4277
  "optional": true,
@@ -4266,7 +4289,7 @@
4266
4289
  "immutable": true,
4267
4290
  "locationInModule": {
4268
4291
  "filename": "src/vscode-server.ts",
4269
- "line": 93
4292
+ "line": 100
4270
4293
  },
4271
4294
  "name": "devServerPort",
4272
4295
  "optional": true,
@@ -4284,7 +4307,7 @@
4284
4307
  "immutable": true,
4285
4308
  "locationInModule": {
4286
4309
  "filename": "src/vscode-server.ts",
4287
- "line": 79
4310
+ "line": 86
4288
4311
  },
4289
4312
  "name": "homeFolder",
4290
4313
  "optional": true,
@@ -4302,7 +4325,7 @@
4302
4325
  "immutable": true,
4303
4326
  "locationInModule": {
4304
4327
  "filename": "src/vscode-server.ts",
4305
- "line": 51
4328
+ "line": 58
4306
4329
  },
4307
4330
  "name": "instanceClass",
4308
4331
  "optional": true,
@@ -4320,7 +4343,7 @@
4320
4343
  "immutable": true,
4321
4344
  "locationInModule": {
4322
4345
  "filename": "src/vscode-server.ts",
4323
- "line": 72
4346
+ "line": 79
4324
4347
  },
4325
4348
  "name": "instanceCpuArchitecture",
4326
4349
  "optional": true,
@@ -4338,7 +4361,7 @@
4338
4361
  "immutable": true,
4339
4362
  "locationInModule": {
4340
4363
  "filename": "src/vscode-server.ts",
4341
- "line": 37
4364
+ "line": 44
4342
4365
  },
4343
4366
  "name": "instanceName",
4344
4367
  "optional": true,
@@ -4356,7 +4379,7 @@
4356
4379
  "immutable": true,
4357
4380
  "locationInModule": {
4358
4381
  "filename": "src/vscode-server.ts",
4359
- "line": 65
4382
+ "line": 72
4360
4383
  },
4361
4384
  "name": "instanceOperatingSystem",
4362
4385
  "optional": true,
@@ -4374,7 +4397,7 @@
4374
4397
  "immutable": true,
4375
4398
  "locationInModule": {
4376
4399
  "filename": "src/vscode-server.ts",
4377
- "line": 58
4400
+ "line": 65
4378
4401
  },
4379
4402
  "name": "instanceSize",
4380
4403
  "optional": true,
@@ -4392,7 +4415,7 @@
4392
4415
  "immutable": true,
4393
4416
  "locationInModule": {
4394
4417
  "filename": "src/vscode-server.ts",
4395
- "line": 44
4418
+ "line": 51
4396
4419
  },
4397
4420
  "name": "instanceVolumeSize",
4398
4421
  "optional": true,
@@ -4410,7 +4433,7 @@
4410
4433
  "immutable": true,
4411
4434
  "locationInModule": {
4412
4435
  "filename": "src/vscode-server.ts",
4413
- "line": 30
4436
+ "line": 37
4414
4437
  },
4415
4438
  "name": "vscodePassword",
4416
4439
  "optional": true,
@@ -4428,7 +4451,7 @@
4428
4451
  "immutable": true,
4429
4452
  "locationInModule": {
4430
4453
  "filename": "src/vscode-server.ts",
4431
- "line": 23
4454
+ "line": 30
4432
4455
  },
4433
4456
  "name": "vscodeUser",
4434
4457
  "optional": true,
@@ -4440,6 +4463,6 @@
4440
4463
  "symbolId": "src/vscode-server:VSCodeServerProps"
4441
4464
  }
4442
4465
  },
4443
- "version": "0.0.17",
4444
- "fingerprint": "XZcOeSonCyNwBoAj2hvha02opSURKTwe/TR/rQGBTb4="
4466
+ "version": "0.0.19",
4467
+ "fingerprint": "ot3HmNqpEFWUzXkGz4EUCvMzrOWBJBK25lz5ncOWEgM="
4445
4468
  }
package/API.md CHANGED
@@ -148,6 +148,7 @@ const vSCodeServerProps: VSCodeServerProps = { ... }
148
148
  | **Name** | **Type** | **Description** |
149
149
  | --- | --- | --- |
150
150
  | <code><a href="#@mavogel/cdk-vscode-server.VSCodeServerProps.property.additionalInstanceRolePolicies">additionalInstanceRolePolicies</a></code> | <code>aws-cdk-lib.aws_iam.PolicyStatement[]</code> | Additional instance role policies. |
151
+ | <code><a href="#@mavogel/cdk-vscode-server.VSCodeServerProps.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Additional tags to add to the instance. |
151
152
  | <code><a href="#@mavogel/cdk-vscode-server.VSCodeServerProps.property.devServerBasePath">devServerBasePath</a></code> | <code>string</code> | Base path for the application to be added to Nginx sites-available list. |
152
153
  | <code><a href="#@mavogel/cdk-vscode-server.VSCodeServerProps.property.devServerPort">devServerPort</a></code> | <code>number</code> | Port for the DevServer. |
153
154
  | <code><a href="#@mavogel/cdk-vscode-server.VSCodeServerProps.property.homeFolder">homeFolder</a></code> | <code>string</code> | Folder to open in VS Code server. |
@@ -175,6 +176,19 @@ Additional instance role policies.
175
176
 
176
177
  ---
177
178
 
179
+ ##### `additionalTags`<sup>Optional</sup> <a name="additionalTags" id="@mavogel/cdk-vscode-server.VSCodeServerProps.property.additionalTags"></a>
180
+
181
+ ```typescript
182
+ public readonly additionalTags: {[ key: string ]: string};
183
+ ```
184
+
185
+ - *Type:* {[ key: string ]: string}
186
+ - *Default:* {}
187
+
188
+ Additional tags to add to the instance.
189
+
190
+ ---
191
+
178
192
  ##### `devServerBasePath`<sup>Optional</sup> <a name="devServerBasePath" id="@mavogel/cdk-vscode-server.VSCodeServerProps.property.devServerBasePath"></a>
179
193
 
180
194
  ```typescript
package/CONTRIBUTING.md CHANGED
@@ -31,19 +31,19 @@ To send us a pull request, please:
31
31
 
32
32
  1. Fork the repository.
33
33
  2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
34
- 3. Ensure local tests pass -> `yarn run test`
34
+ 3. Ensure local tests pass -> `npm test`
35
35
  4. The integ tests will run separately in the AWS account of the owner of the project.
36
- 5. Build the project -> `yarn run build` to also update the `API.md` file.
36
+ 5. Build the project -> `npm build` to also update the `API.md` file.
37
37
  ```bash
38
38
  # do this within the container as we build jsii for multiple targets
39
- docker run -it --rm -v $(pwd):/source -w /source --user 0:0 public.ecr.aws/jsii/superchain:1-bookworm-slim-node20 bash
39
+ docker run -it --rm -v $(pwd):/source -w /source --user 0:0 public.ecr.aws/jsii/superchain:1-bookworm-slim-node22 bash
40
40
  # clean node_modules for fresh dependencies for the OS within the container
41
41
  rm -rf node_modules
42
- yarn install
42
+ npm ci
43
43
  # now build it
44
- yarn run build
44
+ npx projen build
45
45
  # also check for awscdk linting, which checks the API.md
46
- yarn post-eslint
46
+ npm run awslint
47
47
  ```
48
48
  6. Commit to your fork using clear commit messages.
49
49
  7. Send us a pull request, answering any default questions in the pull request interface.
package/README.md CHANGED
@@ -38,7 +38,7 @@ The following steps get you started:
38
38
  npx projen new awscdk-app-ts --package-manager=npm
39
39
  ```
40
40
  3. Add `@mavogel/cdk-vscode-server` as a dependency to your project in the `.projenrc.ts` file
41
- 4. Run `yarn run projen` to install it
41
+ 4. Run `npx projen` to install it
42
42
  5. Add the following to the `src/main.ts` file:
43
43
  ```ts
44
44
  import { App, Stack, StackProps } from 'aws-cdk-lib';
@@ -20,6 +20,10 @@ const stackUnderTest = new Stack(app, 'IntegTestStackAl2023', {
20
20
  const constructUnderTest = new VSCodeServer(stackUnderTest, 'IntegVSCodeServer', {
21
21
  instanceOperatingSystem: LinuxFlavorType.AMAZON_LINUX_2023,
22
22
  instanceVolumeSize: 20,
23
+ additionalTags: {
24
+ 'IntegTest': 'True',
25
+ 'Environement': 'IntegTestAl2023',
26
+ },
23
27
  })
24
28
 
25
29
  const integ = new IntegTest(app, 'IntegSetupVSCodeOnAl2023', {
@@ -1,20 +1,20 @@
1
1
  {
2
- "version": "38.0.1",
2
+ "version": "39.0.0",
3
3
  "files": {
4
- "c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d": {
4
+ "f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd": {
5
5
  "source": {
6
- "path": "asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle",
6
+ "path": "asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle",
7
7
  "packaging": "zip"
8
8
  },
9
9
  "destinations": {
10
10
  "current_account-current_region": {
11
11
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
12
- "objectKey": "c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.zip",
12
+ "objectKey": "f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.zip",
13
13
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
14
14
  }
15
15
  }
16
16
  },
17
- "29b072499b91a1f4d8973a4a7a824e02679b674a7e345d3506360cd1834cca75": {
17
+ "ee19dd9c0fda5adf103254cc3abcf577e111b5a997170f6cb9b5a4f6cb44d61b": {
18
18
  "source": {
19
19
  "path": "IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.template.json",
20
20
  "packaging": "file"
@@ -22,7 +22,7 @@
22
22
  "destinations": {
23
23
  "current_account-current_region": {
24
24
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25
- "objectKey": "29b072499b91a1f4d8973a4a7a824e02679b674a7e345d3506360cd1834cca75.json",
25
+ "objectKey": "ee19dd9c0fda5adf103254cc3abcf577e111b5a997170f6cb9b5a4f6cb44d61b.json",
26
26
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
27
27
  }
28
28
  }
@@ -45,7 +45,7 @@
45
45
  }
46
46
  },
47
47
  "flattenResponse": "false",
48
- "salt": "1736842556830"
48
+ "salt": "1737895516965"
49
49
  },
50
50
  "UpdateReplacePolicy": "Delete",
51
51
  "DeletionPolicy": "Delete"
@@ -153,7 +153,7 @@
153
153
  "S3Bucket": {
154
154
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
155
155
  },
156
- "S3Key": "c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.zip"
156
+ "S3Key": "f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.zip"
157
157
  },
158
158
  "Timeout": 120,
159
159
  "Handler": "index.handler",
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "38.0.1",
2
+ "version": "39.0.0",
3
3
  "files": {
4
4
  "781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b": {
5
5
  "source": {
@@ -14,28 +14,28 @@
14
14
  }
15
15
  }
16
16
  },
17
- "4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e": {
17
+ "bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca": {
18
18
  "source": {
19
- "path": "asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e",
19
+ "path": "asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca",
20
20
  "packaging": "zip"
21
21
  },
22
22
  "destinations": {
23
23
  "current_account-current_region": {
24
24
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25
- "objectKey": "4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e.zip",
25
+ "objectKey": "bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca.zip",
26
26
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
27
27
  }
28
28
  }
29
29
  },
30
- "ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a": {
30
+ "7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200": {
31
31
  "source": {
32
- "path": "asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a",
32
+ "path": "asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200",
33
33
  "packaging": "zip"
34
34
  },
35
35
  "destinations": {
36
36
  "current_account-current_region": {
37
37
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
38
- "objectKey": "ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a.zip",
38
+ "objectKey": "7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200.zip",
39
39
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
40
40
  }
41
41
  }
@@ -53,15 +53,15 @@
53
53
  }
54
54
  }
55
55
  },
56
- "512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf": {
56
+ "a9865c9d36c7aa999e28cb7926e7a3a8e0b6d0854b25131a172024c5777442fa": {
57
57
  "source": {
58
- "path": "asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda",
58
+ "path": "asset.a9865c9d36c7aa999e28cb7926e7a3a8e0b6d0854b25131a172024c5777442fa.lambda",
59
59
  "packaging": "zip"
60
60
  },
61
61
  "destinations": {
62
62
  "current_account-current_region": {
63
63
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
64
- "objectKey": "512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.zip",
64
+ "objectKey": "a9865c9d36c7aa999e28cb7926e7a3a8e0b6d0854b25131a172024c5777442fa.zip",
65
65
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
66
66
  }
67
67
  }
@@ -92,7 +92,7 @@
92
92
  }
93
93
  }
94
94
  },
95
- "79908ece8dd8986278df780532f28b213201185648edfe351e9bf6317c4a918e": {
95
+ "b98f25e42ee43ae0965e3209920b77a27b6a98dac76211ecefb0f979c03a5053": {
96
96
  "source": {
97
97
  "path": "IntegTestStackAl2023.template.json",
98
98
  "packaging": "file"
@@ -100,7 +100,7 @@
100
100
  "destinations": {
101
101
  "current_account-current_region": {
102
102
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
103
- "objectKey": "79908ece8dd8986278df780532f28b213201185648edfe351e9bf6317c4a918e.json",
103
+ "objectKey": "b98f25e42ee43ae0965e3209920b77a27b6a98dac76211ecefb0f979c03a5053.json",
104
104
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
105
105
  }
106
106
  }