CDK Vpc
Utility constructs for tagging subnets or creating a cheaper vpc.
Install
TypeScript
npm install @pepperize/cdk-vpc
or
yarn add @pepperize/cdk-vpc
Python
pip install pepperize.cdk-vpc
C# / .Net
dotnet add package Pepperize.CDK.Vpc
Java
<dependency>
<groupId>com.pepperize</groupId>
<artifactId>cdk-vpc</artifactId>
<version>${cdkVpc.version}</version>
</dependency>
Getting Started
-
Create a new CDK TypeScript App project with projen
mkdir my-project cd my-project git init -b main npx projen new awscdk-app-ts
-
Add
@pepperize/cdk-vpcto your dependencies in.projenrc.jsconst project = new awscdk.AwsCdkTypeScriptApp({ //... deps: ["@pepperize/cdk-vpc"], });
-
Install the dependency
npx projen
Usage
Create a cheaper Vpc
Use this as a cheaper drop-in replacement to create a vpc with 2 AvailabilityZones and a t3.nano NatInstance.
import { App, Stack } from "aws-cdk-lib";
import { CheapVpc } from "@pepperize/cdk-vpc";
const app = new App();
const stack = new Stack(app, "MyCheapVpcStack");
new CheapVpc(stack, "MyCheapVpc");
Tag your imported subnets
Subnets imported by Vpc.fromLookup wouldn't be tagged by Tags.of automatically. To tag them (or any other imported vpc resource) use:
import { CheapVpc } from "@pepperize/cdk-vpc";
import * as ec2 from "aws-cdk-lib/aws-ec2";
const app = new App();
const stack = new Stack(app, "VpcStack");
const vpc = ec2.Vpc.fromLookup(stack, "VpcLookup", {
vpcId: "vpc-1234567890",
region: env.region,
});
new CreateTags(vpcStack, "TagPrivateSubnets", {
resourceIds: vpc.privateSubnets.map((subnet) => {
return subnet.subnetId;
}),
tags: [
{
key: "kubernetes.io/role/internal-elb",
value: "1",
},
],
});
Contributing
Contributions of all kinds are welcome :rocket: Check out our contributor's guide.
For a quick start, check out a development environment:
git clone git@github.com:pepperize/cdk-vpc
cd cdk-vpc
# install dependencies
yarn
# build with projen
yarn build
Metadata
Release files for pepperize.cdk-vpc 0.0.1165
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pepperize_cdk_vpc-0.0.1165.tar.gz | 35.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pepperize_cdk_vpc-0.0.1165-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.8 kB
Release files / pepperize_cdk_vpc-0.0.1165.tar.gz
| Download URL | pepperize_cdk_vpc-0.0.1165.tar.gz |
|---|---|
| Size | 35.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ea2a6986b95865385c62b1c81c5051158938afb1cc6422170d0f903cbe28b9e
|
|
BLAKE2b-256 checksum How to use checksums |
50ff6ec87f92ff09c5bfae5832b03ee9b6097cbc96ca517420decd4a492db3f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / pepperize_cdk_vpc-0.0.1165-py3-none-any.whl
| Download URL | pepperize_cdk_vpc-0.0.1165-py3-none-any.whl |
|---|---|
| Size | 35.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51042d1c3d95dad44df07b0170df5c04d002ec4892d80287665da9c62d670d5c
|
|
BLAKE2b-256 checksum How to use checksums |
28c72d3e7d347f903eaac5403cc6fa378ba6980862c89c35400b5206abc3c0a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|