pepperize.cdk-vpc


Namepepperize.cdk-vpc JSON
Version 0.0.877 PyPI version JSON
download
home_pagehttps://github.com/pepperize/cdk-vpc.git
SummaryUtility constructs for tagging subnets or creating a cheaper vpc.
upload_time2023-12-29 15:41:36
maintainer
docs_urlNone
authorPatrick Florek<patrick.florek@gmail.com>
requires_python~=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com)
[![GitHub](https://img.shields.io/github/license/pepperize/cdk-vpc?style=flat-square)](https://github.com/pepperize/cdk-vpc/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@pepperize/cdk-vpc?style=flat-square)](https://www.npmjs.com/package/@pepperize/cdk-vpc)
[![PyPI](https://img.shields.io/pypi/v/pepperize.cdk-vpc?style=flat-square)](https://pypi.org/project/pepperize.cdk-vpc/)
[![Nuget](https://img.shields.io/nuget/v/Pepperize.CDK.Vpc?style=flat-square)](https://www.nuget.org/packages/Pepperize.CDK.Vpc/)
[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/com.pepperize/cdk-vpc?server=https%3A%2F%2Fs01.oss.sonatype.org%2F&style=flat-square)](https://s01.oss.sonatype.org/content/repositories/releases/com/pepperize/cdk-vpc/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/pepperize/cdk-vpc/release.yml?branch=main&label=release&style=flat-square)](https://github.com/pepperize/cdk-vpc/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/pepperize/cdk-vpc?sort=semver&style=flat-square)](https://github.com/pepperize/cdk-vpc/releases)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod&style=flat-square)](https://gitpod.io/#https://github.com/pepperize/cdk-vpc)

# CDK Vpc

Utility constructs for tagging subnets or creating a cheaper vpc.

* [Cheaper Vpc](#create-a-cheaper-vpc)
* [Tagging subnets](#tag-your-imported-subnets)

## Install

### TypeScript

```shell
npm install @pepperize/cdk-vpc
```

or

```shell
yarn add @pepperize/cdk-vpc
```

### Python

```shell
pip install pepperize.cdk-vpc
```

### C# / .Net

```shell
dotnet add package Pepperize.CDK.Vpc
```

### Java

```xml
<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](https://github.com/projen/projen)

   ```shell
   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`

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

   ```shell
   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.

```python
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:

```python
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](https://github.com/pepperize/cdk-vpc/blob/main/CONTRIBUTING.md).

For a quick start, check out a development environment:

```shell
git clone git@github.com:pepperize/cdk-vpc
cd cdk-vpc
 # install dependencies
yarn
# build with projen
yarn build
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pepperize/cdk-vpc.git",
    "name": "pepperize.cdk-vpc",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "~=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Patrick Florek<patrick.florek@gmail.com>",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/84/6a/28f8685aaa44c0f15fc4e6e00afedee5ddcbb4dcddb2b0dafeb5460e060f/pepperize.cdk-vpc-0.0.877.tar.gz",
    "platform": null,
    "description": "[![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&style=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&label=release&style=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&style=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&style=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<dependency>\n  <groupId>com.pepperize</groupId>\n  <artifactId>cdk-vpc</artifactId>\n  <version>${cdkVpc.version}</version>\n</dependency>\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   ```\n2. Add `@pepperize/cdk-vpc` to your dependencies in `.projenrc.js`\n\n   ```python\n   const project = new awscdk.AwsCdkTypeScriptApp({\n     //...\n     deps: [\"@pepperize/cdk-vpc\"],\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```python\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```python\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) => {\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",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Utility constructs for tagging subnets or creating a cheaper vpc.",
    "version": "0.0.877",
    "project_urls": {
        "Homepage": "https://github.com/pepperize/cdk-vpc.git",
        "Source": "https://github.com/pepperize/cdk-vpc.git"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e21ff66243d22f06baef74f540946072dd1e5cbdb64af167709e05879c1cd21",
                "md5": "b903ee52693613f1ec5e767d27075975",
                "sha256": "d9516389db3f0e6e4c5363cca73879d1b14b013b8ecc373f36335477828f2fe9"
            },
            "downloads": -1,
            "filename": "pepperize.cdk_vpc-0.0.877-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b903ee52693613f1ec5e767d27075975",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.8",
            "size": 37189,
            "upload_time": "2023-12-29T15:41:31",
            "upload_time_iso_8601": "2023-12-29T15:41:31.036133Z",
            "url": "https://files.pythonhosted.org/packages/4e/21/ff66243d22f06baef74f540946072dd1e5cbdb64af167709e05879c1cd21/pepperize.cdk_vpc-0.0.877-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "846a28f8685aaa44c0f15fc4e6e00afedee5ddcbb4dcddb2b0dafeb5460e060f",
                "md5": "ab6fd433473455da042faddf5e707639",
                "sha256": "385839c1da8b4bfa6440324f6bc2082eb80b5e90173870209399310aaacd6225"
            },
            "downloads": -1,
            "filename": "pepperize.cdk-vpc-0.0.877.tar.gz",
            "has_sig": false,
            "md5_digest": "ab6fd433473455da042faddf5e707639",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.8",
            "size": 36525,
            "upload_time": "2023-12-29T15:41:36",
            "upload_time_iso_8601": "2023-12-29T15:41:36.803144Z",
            "url": "https://files.pythonhosted.org/packages/84/6a/28f8685aaa44c0f15fc4e6e00afedee5ddcbb4dcddb2b0dafeb5460e060f/pepperize.cdk-vpc-0.0.877.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-29 15:41:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pepperize",
    "github_project": "cdk-vpc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pepperize.cdk-vpc"
}
        
Elapsed time: 0.16604s