UNPKG

@pepperize/cdk-vpc

Version:

Utility constructs for tagging subnets or creating a cheaper vpc.

863 lines (518 loc) • 28.6 kB
# API Reference <a name="API Reference" id="api-reference"></a> ## Constructs <a name="Constructs" id="Constructs"></a> ### CheapVpc <a name="CheapVpc" id="@pepperize/cdk-vpc.CheapVpc"></a> #### Initializers <a name="Initializers" id="@pepperize/cdk-vpc.CheapVpc.Initializer"></a> ```typescript import { CheapVpc } from '@pepperize/cdk-vpc' new CheapVpc(scope: Construct, id: string, props?: VpcProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.Initializer.parameter.props">props</a></code> | <code>aws-cdk-lib.aws_ec2.VpcProps</code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-vpc.CheapVpc.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Optional</sup> <a name="props" id="@pepperize/cdk-vpc.CheapVpc.Initializer.parameter.props"></a> - *Type:* aws-cdk-lib.aws_ec2.VpcProps --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.toString">toString</a></code> | Returns a string representation of this construct. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.addClientVpnEndpoint">addClientVpnEndpoint</a></code> | Adds a new client VPN endpoint to this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.addFlowLog">addFlowLog</a></code> | Adds a new flow log to this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.addGatewayEndpoint">addGatewayEndpoint</a></code> | Adds a new gateway endpoint to this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.addInterfaceEndpoint">addInterfaceEndpoint</a></code> | Adds a new interface endpoint to this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.addVpnConnection">addVpnConnection</a></code> | Adds a new VPN connection to this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.enableVpnGateway">enableVpnGateway</a></code> | Adds a VPN Gateway to this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.selectSubnets">selectSubnets</a></code> | Returns IDs of selected subnets. | --- ##### `toString` <a name="toString" id="@pepperize/cdk-vpc.CheapVpc.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@pepperize/cdk-vpc.CheapVpc.applyRemovalPolicy"></a> ```typescript public applyRemovalPolicy(policy: RemovalPolicy): void ``` Apply the given removal policy to this resource. The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced. The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ###### `policy`<sup>Required</sup> <a name="policy" id="@pepperize/cdk-vpc.CheapVpc.applyRemovalPolicy.parameter.policy"></a> - *Type:* aws-cdk-lib.RemovalPolicy --- ##### `addClientVpnEndpoint` <a name="addClientVpnEndpoint" id="@pepperize/cdk-vpc.CheapVpc.addClientVpnEndpoint"></a> ```typescript public addClientVpnEndpoint(id: string, options: ClientVpnEndpointOptions): ClientVpnEndpoint ``` Adds a new client VPN endpoint to this VPC. ###### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.addClientVpnEndpoint.parameter.id"></a> - *Type:* string --- ###### `options`<sup>Required</sup> <a name="options" id="@pepperize/cdk-vpc.CheapVpc.addClientVpnEndpoint.parameter.options"></a> - *Type:* aws-cdk-lib.aws_ec2.ClientVpnEndpointOptions --- ##### `addFlowLog` <a name="addFlowLog" id="@pepperize/cdk-vpc.CheapVpc.addFlowLog"></a> ```typescript public addFlowLog(id: string, options?: FlowLogOptions): FlowLog ``` Adds a new flow log to this VPC. ###### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.addFlowLog.parameter.id"></a> - *Type:* string --- ###### `options`<sup>Optional</sup> <a name="options" id="@pepperize/cdk-vpc.CheapVpc.addFlowLog.parameter.options"></a> - *Type:* aws-cdk-lib.aws_ec2.FlowLogOptions --- ##### `addGatewayEndpoint` <a name="addGatewayEndpoint" id="@pepperize/cdk-vpc.CheapVpc.addGatewayEndpoint"></a> ```typescript public addGatewayEndpoint(id: string, options: GatewayVpcEndpointOptions): GatewayVpcEndpoint ``` Adds a new gateway endpoint to this VPC. ###### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.addGatewayEndpoint.parameter.id"></a> - *Type:* string --- ###### `options`<sup>Required</sup> <a name="options" id="@pepperize/cdk-vpc.CheapVpc.addGatewayEndpoint.parameter.options"></a> - *Type:* aws-cdk-lib.aws_ec2.GatewayVpcEndpointOptions --- ##### `addInterfaceEndpoint` <a name="addInterfaceEndpoint" id="@pepperize/cdk-vpc.CheapVpc.addInterfaceEndpoint"></a> ```typescript public addInterfaceEndpoint(id: string, options: InterfaceVpcEndpointOptions): InterfaceVpcEndpoint ``` Adds a new interface endpoint to this VPC. ###### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.addInterfaceEndpoint.parameter.id"></a> - *Type:* string --- ###### `options`<sup>Required</sup> <a name="options" id="@pepperize/cdk-vpc.CheapVpc.addInterfaceEndpoint.parameter.options"></a> - *Type:* aws-cdk-lib.aws_ec2.InterfaceVpcEndpointOptions --- ##### `addVpnConnection` <a name="addVpnConnection" id="@pepperize/cdk-vpc.CheapVpc.addVpnConnection"></a> ```typescript public addVpnConnection(id: string, options: VpnConnectionOptions): VpnConnection ``` Adds a new VPN connection to this VPC. ###### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.addVpnConnection.parameter.id"></a> - *Type:* string --- ###### `options`<sup>Required</sup> <a name="options" id="@pepperize/cdk-vpc.CheapVpc.addVpnConnection.parameter.options"></a> - *Type:* aws-cdk-lib.aws_ec2.VpnConnectionOptions --- ##### `enableVpnGateway` <a name="enableVpnGateway" id="@pepperize/cdk-vpc.CheapVpc.enableVpnGateway"></a> ```typescript public enableVpnGateway(options: EnableVpnGatewayOptions): void ``` Adds a VPN Gateway to this VPC. ###### `options`<sup>Required</sup> <a name="options" id="@pepperize/cdk-vpc.CheapVpc.enableVpnGateway.parameter.options"></a> - *Type:* aws-cdk-lib.aws_ec2.EnableVpnGatewayOptions --- ##### `selectSubnets` <a name="selectSubnets" id="@pepperize/cdk-vpc.CheapVpc.selectSubnets"></a> ```typescript public selectSubnets(selection?: SubnetSelection): SelectedSubnets ``` Returns IDs of selected subnets. ###### `selection`<sup>Optional</sup> <a name="selection" id="@pepperize/cdk-vpc.CheapVpc.selectSubnets.parameter.selection"></a> - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection --- #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.isResource">isResource</a></code> | Check whether the given construct is a Resource. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.fromLookup">fromLookup</a></code> | Import an existing VPC from by querying the AWS environment this stack is deployed to. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.fromVpcAttributes">fromVpcAttributes</a></code> | Import a VPC by supplying all attributes directly. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@pepperize/cdk-vpc.CheapVpc.isConstruct"></a> ```typescript import { CheapVpc } from '@pepperize/cdk-vpc' CheapVpc.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="@pepperize/cdk-vpc.CheapVpc.isConstruct.parameter.x"></a> - *Type:* any Any object. --- ##### `isResource` <a name="isResource" id="@pepperize/cdk-vpc.CheapVpc.isResource"></a> ```typescript import { CheapVpc } from '@pepperize/cdk-vpc' CheapVpc.isResource(construct: IConstruct) ``` Check whether the given construct is a Resource. ###### `construct`<sup>Required</sup> <a name="construct" id="@pepperize/cdk-vpc.CheapVpc.isResource.parameter.construct"></a> - *Type:* constructs.IConstruct --- ##### `fromLookup` <a name="fromLookup" id="@pepperize/cdk-vpc.CheapVpc.fromLookup"></a> ```typescript import { CheapVpc } from '@pepperize/cdk-vpc' CheapVpc.fromLookup(scope: Construct, id: string, options: VpcLookupOptions) ``` Import an existing VPC from by querying the AWS environment this stack is deployed to. This function only needs to be used to use VPCs not defined in your CDK application. If you are looking to share a VPC between stacks, you can pass the `Vpc` object between stacks and use it as normal. Calling this method will lead to a lookup when the CDK CLI is executed. You can therefore not use any values that will only be available at CloudFormation execution time (i.e., Tokens). The VPC information will be cached in `cdk.context.json` and the same VPC will be used on future runs. To refresh the lookup, you will have to evict the value from the cache using the `cdk context` command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information. ###### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-vpc.CheapVpc.fromLookup.parameter.scope"></a> - *Type:* constructs.Construct --- ###### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.fromLookup.parameter.id"></a> - *Type:* string --- ###### `options`<sup>Required</sup> <a name="options" id="@pepperize/cdk-vpc.CheapVpc.fromLookup.parameter.options"></a> - *Type:* aws-cdk-lib.aws_ec2.VpcLookupOptions --- ##### `fromVpcAttributes` <a name="fromVpcAttributes" id="@pepperize/cdk-vpc.CheapVpc.fromVpcAttributes"></a> ```typescript import { CheapVpc } from '@pepperize/cdk-vpc' CheapVpc.fromVpcAttributes(scope: Construct, id: string, attrs: VpcAttributes) ``` Import a VPC by supplying all attributes directly. NOTE: using `fromVpcAttributes()` with deploy-time parameters (like a `Fn.importValue()` or `CfnParameter` to represent a list of subnet IDs) sometimes accidentally works. It happens to work for constructs that need a list of subnets (like `AutoScalingGroup` and `eks.Cluster`) but it does not work for constructs that need individual subnets (like `Instance`). See https://github.com/aws/aws-cdk/issues/4118 for more information. Prefer to use `Vpc.fromLookup()` instead. ###### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-vpc.CheapVpc.fromVpcAttributes.parameter.scope"></a> - *Type:* constructs.Construct --- ###### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CheapVpc.fromVpcAttributes.parameter.id"></a> - *Type:* string --- ###### `attrs`<sup>Required</sup> <a name="attrs" id="@pepperize/cdk-vpc.CheapVpc.fromVpcAttributes.parameter.attrs"></a> - *Type:* aws-cdk-lib.aws_ec2.VpcAttributes --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.availabilityZones">availabilityZones</a></code> | <code>string[]</code> | AZs for this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.dnsHostnamesEnabled">dnsHostnamesEnabled</a></code> | <code>boolean</code> | Indicates if instances launched in this VPC will have public DNS hostnames. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.dnsSupportEnabled">dnsSupportEnabled</a></code> | <code>boolean</code> | Indicates if DNS support is enabled for this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.internetConnectivityEstablished">internetConnectivityEstablished</a></code> | <code>constructs.IDependable</code> | Dependencies for internet connectivity. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.internetGatewayId">internetGatewayId</a></code> | <code>string</code> | Internet Gateway for the VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.isolatedSubnets">isolatedSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet[]</code> | List of isolated subnets in this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.privateSubnets">privateSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet[]</code> | List of private subnets in this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.publicSubnets">publicSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet[]</code> | List of public subnets in this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpcArn">vpcArn</a></code> | <code>string</code> | Arn of this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpcCidrBlock">vpcCidrBlock</a></code> | <code>string</code> | CIDR range for this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpcCidrBlockAssociations">vpcCidrBlockAssociations</a></code> | <code>string[]</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpcDefaultNetworkAcl">vpcDefaultNetworkAcl</a></code> | <code>string</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpcDefaultSecurityGroup">vpcDefaultSecurityGroup</a></code> | <code>string</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpcId">vpcId</a></code> | <code>string</code> | Identifier for this VPC. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpcIpv6CidrBlocks">vpcIpv6CidrBlocks</a></code> | <code>string[]</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.vpnGatewayId">vpnGatewayId</a></code> | <code>string</code> | Returns the id of the VPN Gateway (if enabled). | --- ##### `node`<sup>Required</sup> <a name="node" id="@pepperize/cdk-vpc.CheapVpc.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `env`<sup>Required</sup> <a name="env" id="@pepperize/cdk-vpc.CheapVpc.property.env"></a> ```typescript public readonly env: ResourceEnvironment; ``` - *Type:* aws-cdk-lib.ResourceEnvironment The environment this resource belongs to. For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into. --- ##### `stack`<sup>Required</sup> <a name="stack" id="@pepperize/cdk-vpc.CheapVpc.property.stack"></a> ```typescript public readonly stack: Stack; ``` - *Type:* aws-cdk-lib.Stack The stack in which this resource is defined. --- ##### `availabilityZones`<sup>Required</sup> <a name="availabilityZones" id="@pepperize/cdk-vpc.CheapVpc.property.availabilityZones"></a> ```typescript public readonly availabilityZones: string[]; ``` - *Type:* string[] AZs for this VPC. --- ##### `dnsHostnamesEnabled`<sup>Required</sup> <a name="dnsHostnamesEnabled" id="@pepperize/cdk-vpc.CheapVpc.property.dnsHostnamesEnabled"></a> ```typescript public readonly dnsHostnamesEnabled: boolean; ``` - *Type:* boolean Indicates if instances launched in this VPC will have public DNS hostnames. --- ##### `dnsSupportEnabled`<sup>Required</sup> <a name="dnsSupportEnabled" id="@pepperize/cdk-vpc.CheapVpc.property.dnsSupportEnabled"></a> ```typescript public readonly dnsSupportEnabled: boolean; ``` - *Type:* boolean Indicates if DNS support is enabled for this VPC. --- ##### `internetConnectivityEstablished`<sup>Required</sup> <a name="internetConnectivityEstablished" id="@pepperize/cdk-vpc.CheapVpc.property.internetConnectivityEstablished"></a> ```typescript public readonly internetConnectivityEstablished: IDependable; ``` - *Type:* constructs.IDependable Dependencies for internet connectivity. --- ##### `internetGatewayId`<sup>Optional</sup> <a name="internetGatewayId" id="@pepperize/cdk-vpc.CheapVpc.property.internetGatewayId"></a> ```typescript public readonly internetGatewayId: string; ``` - *Type:* string Internet Gateway for the VPC. Note that in case the VPC is configured only with ISOLATED subnets, this attribute will be `undefined`. --- ##### `isolatedSubnets`<sup>Required</sup> <a name="isolatedSubnets" id="@pepperize/cdk-vpc.CheapVpc.property.isolatedSubnets"></a> ```typescript public readonly isolatedSubnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] List of isolated subnets in this VPC. --- ##### `privateSubnets`<sup>Required</sup> <a name="privateSubnets" id="@pepperize/cdk-vpc.CheapVpc.property.privateSubnets"></a> ```typescript public readonly privateSubnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] List of private subnets in this VPC. --- ##### `publicSubnets`<sup>Required</sup> <a name="publicSubnets" id="@pepperize/cdk-vpc.CheapVpc.property.publicSubnets"></a> ```typescript public readonly publicSubnets: ISubnet[]; ``` - *Type:* aws-cdk-lib.aws_ec2.ISubnet[] List of public subnets in this VPC. --- ##### `vpcArn`<sup>Required</sup> <a name="vpcArn" id="@pepperize/cdk-vpc.CheapVpc.property.vpcArn"></a> ```typescript public readonly vpcArn: string; ``` - *Type:* string Arn of this VPC. --- ##### `vpcCidrBlock`<sup>Required</sup> <a name="vpcCidrBlock" id="@pepperize/cdk-vpc.CheapVpc.property.vpcCidrBlock"></a> ```typescript public readonly vpcCidrBlock: string; ``` - *Type:* string CIDR range for this VPC. --- ##### `vpcCidrBlockAssociations`<sup>Required</sup> <a name="vpcCidrBlockAssociations" id="@pepperize/cdk-vpc.CheapVpc.property.vpcCidrBlockAssociations"></a> ```typescript public readonly vpcCidrBlockAssociations: string[]; ``` - *Type:* string[] --- ##### `vpcDefaultNetworkAcl`<sup>Required</sup> <a name="vpcDefaultNetworkAcl" id="@pepperize/cdk-vpc.CheapVpc.property.vpcDefaultNetworkAcl"></a> ```typescript public readonly vpcDefaultNetworkAcl: string; ``` - *Type:* string --- ##### `vpcDefaultSecurityGroup`<sup>Required</sup> <a name="vpcDefaultSecurityGroup" id="@pepperize/cdk-vpc.CheapVpc.property.vpcDefaultSecurityGroup"></a> ```typescript public readonly vpcDefaultSecurityGroup: string; ``` - *Type:* string --- ##### `vpcId`<sup>Required</sup> <a name="vpcId" id="@pepperize/cdk-vpc.CheapVpc.property.vpcId"></a> ```typescript public readonly vpcId: string; ``` - *Type:* string Identifier for this VPC. --- ##### `vpcIpv6CidrBlocks`<sup>Required</sup> <a name="vpcIpv6CidrBlocks" id="@pepperize/cdk-vpc.CheapVpc.property.vpcIpv6CidrBlocks"></a> ```typescript public readonly vpcIpv6CidrBlocks: string[]; ``` - *Type:* string[] --- ##### `vpnGatewayId`<sup>Optional</sup> <a name="vpnGatewayId" id="@pepperize/cdk-vpc.CheapVpc.property.vpnGatewayId"></a> ```typescript public readonly vpnGatewayId: string; ``` - *Type:* string Returns the id of the VPN Gateway (if enabled). --- #### Constants <a name="Constants" id="Constants"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.DEFAULT_CIDR_RANGE">DEFAULT_CIDR_RANGE</a></code> | <code>string</code> | The default CIDR range used when creating VPCs. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.DEFAULT_SUBNETS">DEFAULT_SUBNETS</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetConfiguration[]</code> | The default subnet configuration. | | <code><a href="#@pepperize/cdk-vpc.CheapVpc.property.DEFAULT_SUBNETS_NO_NAT">DEFAULT_SUBNETS_NO_NAT</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetConfiguration[]</code> | The default subnet configuration if natGateways specified to be 0. | --- ##### `DEFAULT_CIDR_RANGE`<sup>Required</sup> <a name="DEFAULT_CIDR_RANGE" id="@pepperize/cdk-vpc.CheapVpc.property.DEFAULT_CIDR_RANGE"></a> ```typescript public readonly DEFAULT_CIDR_RANGE: string; ``` - *Type:* string The default CIDR range used when creating VPCs. This can be overridden using VpcProps when creating a VPCNetwork resource. e.g. new VpcResource(this, { cidr: '192.168.0.0./16' }) --- ##### `DEFAULT_SUBNETS`<sup>Required</sup> <a name="DEFAULT_SUBNETS" id="@pepperize/cdk-vpc.CheapVpc.property.DEFAULT_SUBNETS"></a> ```typescript public readonly DEFAULT_SUBNETS: SubnetConfiguration[]; ``` - *Type:* aws-cdk-lib.aws_ec2.SubnetConfiguration[] The default subnet configuration. 1 Public and 1 Private subnet per AZ evenly split --- ##### `DEFAULT_SUBNETS_NO_NAT`<sup>Required</sup> <a name="DEFAULT_SUBNETS_NO_NAT" id="@pepperize/cdk-vpc.CheapVpc.property.DEFAULT_SUBNETS_NO_NAT"></a> ```typescript public readonly DEFAULT_SUBNETS_NO_NAT: SubnetConfiguration[]; ``` - *Type:* aws-cdk-lib.aws_ec2.SubnetConfiguration[] The default subnet configuration if natGateways specified to be 0. 1 Public and 1 Isolated Subnet per AZ evenly split --- ### CreateTags <a name="CreateTags" id="@pepperize/cdk-vpc.CreateTags"></a> #### Initializers <a name="Initializers" id="@pepperize/cdk-vpc.CreateTags.Initializer"></a> ```typescript import { CreateTags } from '@pepperize/cdk-vpc' new CreateTags(scope: Construct, id: string, props: CreateTagsProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CreateTags.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CreateTags.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#@pepperize/cdk-vpc.CreateTags.Initializer.parameter.props">props</a></code> | <code><a href="#@pepperize/cdk-vpc.CreateTagsProps">CreateTagsProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="@pepperize/cdk-vpc.CreateTags.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="@pepperize/cdk-vpc.CreateTags.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="@pepperize/cdk-vpc.CreateTags.Initializer.parameter.props"></a> - *Type:* <a href="#@pepperize/cdk-vpc.CreateTagsProps">CreateTagsProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CreateTags.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="@pepperize/cdk-vpc.CreateTags.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CreateTags.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@pepperize/cdk-vpc.CreateTags.isConstruct"></a> ```typescript import { CreateTags } from '@pepperize/cdk-vpc' CreateTags.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="@pepperize/cdk-vpc.CreateTags.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CreateTags.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | --- ##### `node`<sup>Required</sup> <a name="node" id="@pepperize/cdk-vpc.CreateTags.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ## Structs <a name="Structs" id="Structs"></a> ### CreateTagsProps <a name="CreateTagsProps" id="@pepperize/cdk-vpc.CreateTagsProps"></a> Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource. > [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) #### Initializer <a name="Initializer" id="@pepperize/cdk-vpc.CreateTagsProps.Initializer"></a> ```typescript import { CreateTagsProps } from '@pepperize/cdk-vpc' const createTagsProps: CreateTagsProps = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#@pepperize/cdk-vpc.CreateTagsProps.property.resourceIds">resourceIds</a></code> | <code>string[]</code> | The IDs of the ec2 resources, separated by spaces. | | <code><a href="#@pepperize/cdk-vpc.CreateTagsProps.property.tags">tags</a></code> | <code><a href="#@pepperize/cdk-vpc.Tag">Tag</a>[]</code> | The tags. | | <code><a href="#@pepperize/cdk-vpc.CreateTagsProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | *No description.* | --- ##### `resourceIds`<sup>Required</sup> <a name="resourceIds" id="@pepperize/cdk-vpc.CreateTagsProps.property.resourceIds"></a> ```typescript public readonly resourceIds: string[]; ``` - *Type:* string[] The IDs of the ec2 resources, separated by spaces. Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches. > [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) --- ##### `tags`<sup>Required</sup> <a name="tags" id="@pepperize/cdk-vpc.CreateTagsProps.property.tags"></a> ```typescript public readonly tags: Tag[]; ``` - *Type:* <a href="#@pepperize/cdk-vpc.Tag">Tag</a>[] The tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string. --- ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pepperize/cdk-vpc.CreateTagsProps.property.removalPolicy"></a> ```typescript public readonly removalPolicy: RemovalPolicy; ``` - *Type:* aws-cdk-lib.RemovalPolicy --- ### Tag <a name="Tag" id="@pepperize/cdk-vpc.Tag"></a> #### Initializer <a name="Initializer" id="@pepperize/cdk-vpc.Tag.Initializer"></a> ```typescript import { Tag } from '@pepperize/cdk-vpc' const tag: Tag = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#@pepperize/cdk-vpc.Tag.property.key">key</a></code> | <code>string</code> | The key of the tag. | | <code><a href="#@pepperize/cdk-vpc.Tag.property.value">value</a></code> | <code>string</code> | The value of the tag. | --- ##### `key`<sup>Required</sup> <a name="key" id="@pepperize/cdk-vpc.Tag.property.key"></a> ```typescript public readonly key: string; ``` - *Type:* string The key of the tag. Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:. --- ##### `value`<sup>Required</sup> <a name="value" id="@pepperize/cdk-vpc.Tag.property.value"></a> ```typescript public readonly value: string; ``` - *Type:* string The value of the tag. Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters. ---