{"id":21127303,"url":"https://github.com/pepperize/cdk-vpc","last_synced_at":"2025-10-24T03:27:20.156Z","repository":{"id":37082588,"uuid":"478110325","full_name":"pepperize/cdk-vpc","owner":"pepperize","description":"Utility constructs for tagging subnets or creating a cheaper vpc.","archived":false,"fork":false,"pushed_at":"2025-07-01T16:01:54.000Z","size":4212,"stargazers_count":6,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-03T17:16:31.602Z","etag":null,"topics":["aws","cdk","cheap","tags","vpc"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pepperize.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-05T12:04:30.000Z","updated_at":"2025-06-17T15:34:21.000Z","dependencies_parsed_at":"2022-07-08T18:52:49.033Z","dependency_job_id":"afbe88ae-b5b9-4e0b-9b55-5c7c8ff6b2f3","html_url":"https://github.com/pepperize/cdk-vpc","commit_stats":{"total_commits":607,"total_committers":3,"mean_commits":"202.33333333333334","dds":"0.021416803953871466","last_synced_commit":"a63802a60fff4c243508185549aa36204bec06e3"},"previous_names":[],"tags_count":1160,"template":false,"template_full_name":null,"purl":"pkg:github/pepperize/cdk-vpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-vpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-vpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-vpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-vpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pepperize","download_url":"https://codeload.github.com/pepperize/cdk-vpc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepperize%2Fcdk-vpc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264365903,"owners_count":23596928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cdk","cheap","tags","vpc"],"created_at":"2024-11-20T04:48:18.134Z","updated_at":"2025-10-24T03:27:20.087Z","avatar_url":"https://github.com/pepperize.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com)\n[![GitHub](https://img.shields.io/github/license/pepperize/cdk-vpc?style=flat-square)](https://github.com/pepperize/cdk-vpc/blob/main/LICENSE)\n[![npm (scoped)](https://img.shields.io/npm/v/@pepperize/cdk-vpc?style=flat-square)](https://www.npmjs.com/package/@pepperize/cdk-vpc)\n[![PyPI](https://img.shields.io/pypi/v/pepperize.cdk-vpc?style=flat-square)](https://pypi.org/project/pepperize.cdk-vpc/)\n[![Nuget](https://img.shields.io/nuget/v/Pepperize.CDK.Vpc?style=flat-square)](https://www.nuget.org/packages/Pepperize.CDK.Vpc/)\n[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/com.pepperize/cdk-vpc?server=https%3A%2F%2Fs01.oss.sonatype.org%2F\u0026style=flat-square)](https://s01.oss.sonatype.org/content/repositories/releases/com/pepperize/cdk-vpc/)\n[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/pepperize/cdk-vpc/release.yml?branch=main\u0026label=release\u0026style=flat-square)](https://github.com/pepperize/cdk-vpc/actions/workflows/release.yml)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/pepperize/cdk-vpc?sort=semver\u0026style=flat-square)](https://github.com/pepperize/cdk-vpc/releases)\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\u0026style=flat-square)](https://gitpod.io/#https://github.com/pepperize/cdk-vpc)\n\n# CDK Vpc\n\nUtility constructs for tagging subnets or creating a cheaper vpc.\n\n- [Cheaper Vpc](#create-a-cheaper-vpc)\n- [Tagging subnets](#tag-your-imported-subnets)\n\n## Install\n\n### TypeScript\n\n```shell\nnpm install @pepperize/cdk-vpc\n```\n\nor\n\n```shell\nyarn add @pepperize/cdk-vpc\n```\n\n### Python\n\n```shell\npip install pepperize.cdk-vpc\n```\n\n### C\\# / .Net\n\n```shell\ndotnet add package Pepperize.CDK.Vpc\n```\n\n### Java\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.pepperize\u003c/groupId\u003e\n  \u003cartifactId\u003ecdk-vpc\u003c/artifactId\u003e\n  \u003cversion\u003e${cdkVpc.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Getting Started\n\n1. Create a new CDK TypeScript App project with [projen](https://github.com/projen/projen)\n\n   ```shell\n   mkdir my-project\n   cd my-project\n   git init -b main\n   npx projen new awscdk-app-ts\n   ```\n\n2. Add `@pepperize/cdk-vpc` to your dependencies in `.projenrc.js`\n\n   ```typescript\n   const project = new awscdk.AwsCdkTypeScriptApp({\n     //...\n     deps: [\"@pepperize/cdk-vpc\"],\n   });\n   ```\n\n3. Install the dependency\n\n   ```shell\n   npx projen\n   ```\n\n# Usage\n\n## Create a cheaper Vpc\n\nUse this as a cheaper drop-in replacement to create a vpc with 2 AvailabilityZones and a `t3.nano` NatInstance.\n\n```typescript\nimport { App, Stack } from \"aws-cdk-lib\";\nimport { CheapVpc } from \"@pepperize/cdk-vpc\";\n\nconst app = new App();\nconst stack = new Stack(app, \"MyCheapVpcStack\");\n\nnew CheapVpc(stack, \"MyCheapVpc\");\n```\n\n## Tag your imported subnets\n\nSubnets imported by `Vpc.fromLookup` wouldn't be tagged by `Tags.of` automatically. To tag them (or any other imported vpc resource) use:\n\n```typescript\nimport { CheapVpc } from \"@pepperize/cdk-vpc\";\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\";\n\nconst app = new App();\nconst stack = new Stack(app, \"VpcStack\");\nconst vpc = ec2.Vpc.fromLookup(stack, \"VpcLookup\", {\n  vpcId: \"vpc-1234567890\",\n  region: env.region,\n});\n\nnew CreateTags(vpcStack, \"TagPrivateSubnets\", {\n  resourceIds: vpc.privateSubnets.map((subnet) =\u003e {\n    return subnet.subnetId;\n  }),\n  tags: [\n    {\n      key: \"kubernetes.io/role/internal-elb\",\n      value: \"1\",\n    },\n  ],\n});\n```\n\n# Contributing\n\nContributions of all kinds are welcome :rocket: Check out our [contributor's guide](https://github.com/pepperize/cdk-vpc/blob/main/CONTRIBUTING.md).\n\nFor a quick start, check out a development environment:\n\n```shell\ngit clone git@github.com:pepperize/cdk-vpc\ncd cdk-vpc\n # install dependencies\nyarn\n# build with projen\nyarn build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpepperize%2Fcdk-vpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpepperize%2Fcdk-vpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpepperize%2Fcdk-vpc/lists"}