All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pepperize.cdk.vpc.package-info Maven / Gradle / Ivy

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

    *

     * const project = new awscdk.AwsCdkTypeScriptApp({
     *   //...
     *   deps: ["@pepperize/cdk-vpc"],
     * });
     * 
  4. *
  5. Install the dependency *

    *

     * npx projen
     * 
  6. *
*

*

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
 * 
*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) package com.pepperize.cdk.vpc;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy