Utility constructs for tagging subnets or creating a cheaper vpc.
Project description
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-vpc
to your dependencies in.projenrc.js
const 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pepperize.cdk-vpc-0.0.802.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2069342d38554a405238cd6e479a6ede8d385f0f88cd9bc7c0c00087af98054d |
|
MD5 | 137af6ec3f18a3f079cae59af6c3a08b |
|
BLAKE2b-256 | 5cc252e9b114716117b1e11dcce2fb483488dee0f45906a99f713895c9e920a0 |
Hashes for pepperize.cdk_vpc-0.0.802-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a6ad9df88e3626c03060a49dc0a04c9c7a524f309d75a33c9069b667e1f7c84 |
|
MD5 | 35afdc59618e02205599ad0cfa03a6d6 |
|
BLAKE2b-256 | 688326f819e1f98d4f8336a515c78d3b7f358471e8e9287b8f9d62e5923e211e |