Skip to main content

PRs Welcome GitHub npm (scoped) PyPI Nuget Sonatype Nexus (Releases) GitHub Workflow Status (branch) GitHub release (latest SemVer) Gitpod ready-to-code

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

  1. 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
    
  2. Add @pepperize/cdk-vpc to your dependencies in .projenrc.js

    const project = new awscdk.AwsCdkTypeScriptApp({
      //...
      deps: ["@pepperize/cdk-vpc"],
    });
    
  3. 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pepperize_cdk_vpc-0.0.1165.tar.gz (35.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pepperize_cdk_vpc-0.0.1165-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file pepperize_cdk_vpc-0.0.1165.tar.gz.

File metadata

  • Download URL: pepperize_cdk_vpc-0.0.1165.tar.gz
  • Upload date:
  • Size: 35.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pepperize_cdk_vpc-0.0.1165.tar.gz
Algorithm Hash digest
SHA256 9ea2a6986b95865385c62b1c81c5051158938afb1cc6422170d0f903cbe28b9e
MD5 7f059d436f352e7947870b07d610ad2a
BLAKE2b-256 50ff6ec87f92ff09c5bfae5832b03ee9b6097cbc96ca517420decd4a492db3f6

See more details on using hashes here.

File details

Details for the file pepperize_cdk_vpc-0.0.1165-py3-none-any.whl.

File metadata

File hashes

Hashes for pepperize_cdk_vpc-0.0.1165-py3-none-any.whl
Algorithm Hash digest
SHA256 51042d1c3d95dad44df07b0170df5c04d002ec4892d80287665da9c62d670d5c
MD5 e80c6691afe716f4ada46908bc5c61cb
BLAKE2b-256 28c72d3e7d347f903eaac5403cc6fa378ba6980862c89c35400b5206abc3c0a6

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page