Skip to content

Latest commit

 

History

History
1196 lines (723 loc) · 42 KB

File metadata and controls

1196 lines (723 loc) · 42 KB

API Reference

Constructs

Ipam

Creates an IPAM.

IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts throughout your AWS Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html

Initializers

import { Ipam } from '@renovosolutions/cdk-library-aws-ipam'

new Ipam(scope: Construct, id: string, props: IpamProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props IpamProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.

toString
public toString(): string

Returns a string representation of this construct.

Static Functions

Name Description
isConstruct Checks if x is a construct.

isConstruct
import { Ipam } from '@renovosolutions/cdk-library-aws-ipam'

Ipam.isConstruct(x: any)

Checks if x is a construct.

xRequired
  • Type: any

Any object.


Properties

Name Type Description
node constructs.Node The tree node.
cfnIpam aws-cdk-lib.aws_ec2.CfnIPAM The underlying IPAM resource.
ipamId string The ID of the resulting IPAM resource.
privateDefaultScopeId string The default private scope ID.
publicDefaultScopeId string The default public scope ID.
scopeCount number The number of scopes in this IPAM.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


cfnIpamRequired
public readonly cfnIpam: CfnIPAM;
  • Type: aws-cdk-lib.aws_ec2.CfnIPAM

The underlying IPAM resource.


ipamIdRequired
public readonly ipamId: string;
  • Type: string

The ID of the resulting IPAM resource.


privateDefaultScopeIdRequired
public readonly privateDefaultScopeId: string;
  • Type: string

The default private scope ID.


publicDefaultScopeIdRequired
public readonly publicDefaultScopeId: string;
  • Type: string

The default public scope ID.


scopeCountRequired
public readonly scopeCount: number;
  • Type: number

The number of scopes in this IPAM.


IpamAllocation

An IPAM Allocation.

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool.

Initializers

import { IpamAllocation } from '@renovosolutions/cdk-library-aws-ipam'

new IpamAllocation(scope: Construct, id: string, props: IpamAllocationProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props IpamAllocationProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.

toString
public toString(): string

Returns a string representation of this construct.

Static Functions

Name Description
isConstruct Checks if x is a construct.

isConstruct
import { IpamAllocation } from '@renovosolutions/cdk-library-aws-ipam'

IpamAllocation.isConstruct(x: any)

Checks if x is a construct.

xRequired
  • Type: any

Any object.


Properties

Name Type Description
node constructs.Node The tree node.
allocation aws-cdk-lib.aws_ec2.CfnIPAMAllocation The underlying IPAM Allocation resource.
ipamPoolAllocationId string The ID of the allocation.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


allocationRequired
public readonly allocation: CfnIPAMAllocation;
  • Type: aws-cdk-lib.aws_ec2.CfnIPAMAllocation

The underlying IPAM Allocation resource.


ipamPoolAllocationIdRequired
public readonly ipamPoolAllocationId: string;
  • Type: string

The ID of the allocation.


IpamPool

An IPAM Pool.

In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

Initializers

import { IpamPool } from '@renovosolutions/cdk-library-aws-ipam'

new IpamPool(scope: Construct, id: string, props: IpamPoolProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props IpamPoolProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.
provisionCidr Adds a CIDR to the pool.

toString
public toString(): string

Returns a string representation of this construct.

provisionCidr
public provisionCidr(cidr: string): void

Adds a CIDR to the pool.

cidrRequired
  • Type: string

The CIDR to add to the pool.


Static Functions

Name Description
isConstruct Checks if x is a construct.

isConstruct
import { IpamPool } from '@renovosolutions/cdk-library-aws-ipam'

IpamPool.isConstruct(x: any)

Checks if x is a construct.

xRequired
  • Type: any

Any object.


Properties

Name Type Description
node constructs.Node The tree node.
arn string The ARN of the resulting IPAM Pool resource.
ipamArn string The ARN of the IPAM this pool belongs to.
ipamPoolId string The ID of the resulting IPAM Pool resource.
ipamScopeArn string The ARN of the scope of the IPAM Pool.
ipamScopeType string The IPAM scope type (public or private) of the scope of the IPAM Pool.
pool aws-cdk-lib.aws_ec2.CfnIPAMPool The underlying IPAM Pool resource.
poolDepth number The depth of pools in your IPAM pool.
provisionedCidrs aws-cdk-lib.aws_ec2.CfnIPAMPool.ProvisionedCidrProperty[] The provisioned CIDRs for this pool.
state string The state of the IPAM pool.
stateMessage string A message related to the failed creation of an IPAM pool.
allocationDefaultNetmaskLength number The default netmask length for allocations added to this pool.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


arnRequired
public readonly arn: string;
  • Type: string

The ARN of the resulting IPAM Pool resource.


ipamArnRequired
public readonly ipamArn: string;
  • Type: string

The ARN of the IPAM this pool belongs to.


ipamPoolIdRequired
public readonly ipamPoolId: string;
  • Type: string

The ID of the resulting IPAM Pool resource.


ipamScopeArnRequired
public readonly ipamScopeArn: string;
  • Type: string

The ARN of the scope of the IPAM Pool.


ipamScopeTypeRequired
public readonly ipamScopeType: string;
  • Type: string

The IPAM scope type (public or private) of the scope of the IPAM Pool.


poolRequired
public readonly pool: CfnIPAMPool;
  • Type: aws-cdk-lib.aws_ec2.CfnIPAMPool

The underlying IPAM Pool resource.


poolDepthRequired
public readonly poolDepth: number;
  • Type: number

The depth of pools in your IPAM pool.


provisionedCidrsRequired
public readonly provisionedCidrs: ProvisionedCidrProperty[];
  • Type: aws-cdk-lib.aws_ec2.CfnIPAMPool.ProvisionedCidrProperty[]

The provisioned CIDRs for this pool.


stateRequired
public readonly state: string;
  • Type: string

The state of the IPAM pool.


stateMessageRequired
public readonly stateMessage: string;
  • Type: string

A message related to the failed creation of an IPAM pool.


allocationDefaultNetmaskLengthOptional
public readonly allocationDefaultNetmaskLength: number;
  • Type: number

The default netmask length for allocations added to this pool.


IpamScope

An IPAM Scope.

In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

Initializers

import { IpamScope } from '@renovosolutions/cdk-library-aws-ipam'

new IpamScope(scope: Construct, id: string, props: IpamScopeProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props IpamScopeProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.

toString
public toString(): string

Returns a string representation of this construct.

Static Functions

Name Description
isConstruct Checks if x is a construct.

isConstruct
import { IpamScope } from '@renovosolutions/cdk-library-aws-ipam'

IpamScope.isConstruct(x: any)

Checks if x is a construct.

xRequired
  • Type: any

Any object.


Properties

Name Type Description
node constructs.Node The tree node.
arn string The ARN of the resulting IPAM Scope resource.
ipamArn string The ARN of the IPAM this scope belongs to.
ipamScopeId string The ID of the resulting IPAM Scope resource.
isDefault aws-cdk-lib.IResolvable Indicates whether the scope is the default scope for the IPAM.
poolCount number The number of pools in the scope.
scope aws-cdk-lib.aws_ec2.CfnIPAMScope The underlying IPAM Scope resource.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


arnRequired
public readonly arn: string;
  • Type: string

The ARN of the resulting IPAM Scope resource.


ipamArnRequired
public readonly ipamArn: string;
  • Type: string

The ARN of the IPAM this scope belongs to.


ipamScopeIdRequired
public readonly ipamScopeId: string;
  • Type: string

The ID of the resulting IPAM Scope resource.


isDefaultRequired
public readonly isDefault: IResolvable;
  • Type: aws-cdk-lib.IResolvable

Indicates whether the scope is the default scope for the IPAM.


poolCountRequired
public readonly poolCount: number;
  • Type: number

The number of pools in the scope.


scopeRequired
public readonly scope: CfnIPAMScope;
  • Type: aws-cdk-lib.aws_ec2.CfnIPAMScope

The underlying IPAM Scope resource.


Structs

IpamAllocationProps

Properties of an IPAM Allocation.

Initializer

import { IpamAllocationProps } from '@renovosolutions/cdk-library-aws-ipam'

const ipamAllocationProps: IpamAllocationProps = { ... }

Properties

Name Type Description
ipamPool IpamPool The IPAM pool from which you would like to allocate a CIDR.
cidr string The CIDR you would like to allocate from the IPAM pool. Note the following:.
description string A description of the pool allocation.
netmaskLength number The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:.

ipamPoolRequired
public readonly ipamPool: IpamPool;

The IPAM pool from which you would like to allocate a CIDR.


cidrOptional
public readonly cidr: string;
  • Type: string

The CIDR you would like to allocate from the IPAM pool. Note the following:.

If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.


descriptionOptional
public readonly description: string;
  • Type: string

A description of the pool allocation.


netmaskLengthOptional
public readonly netmaskLength: number;
  • Type: number

The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:.

If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR.

If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored.


IpamPoolProps

Properties of an IPAM Pool.

Initializer

import { IpamPoolProps } from '@renovosolutions/cdk-library-aws-ipam'

const ipamPoolProps: IpamPoolProps = { ... }

Properties

Name Type Description
addressFamily IpamPoolAddressFamily The address family of the pool, either IPv4 or IPv6.
ipamScopeId string The IPAM scope this pool is associated with.
allocationDefaultNetmaskLength number The default netmask length for allocations added to this pool.
allocationMaxNetmaskLength number The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant.
allocationMinNetmaskLength number The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant.
allocationResourceTags aws-cdk-lib.CfnTag[] Tags that are required for resources that use CIDRs from this IPAM pool.
autoImport boolean If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.
description string The description of the pool.
locale string The locale of the IPAM pool.
provisionedCidrs aws-cdk-lib.aws_ec2.CfnIPAMPool.ProvisionedCidrProperty[] The CIDRs provisioned to the IPAM pool.
sourceIpamPoolId string The ID of the source IPAM pool.
tags aws-cdk-lib.CfnTag[] The key/value combination of tags to assign to the resource.

addressFamilyRequired
public readonly addressFamily: IpamPoolAddressFamily;

The address family of the pool, either IPv4 or IPv6.


ipamScopeIdRequired
public readonly ipamScopeId: string;
  • Type: string

The IPAM scope this pool is associated with.


allocationDefaultNetmaskLengthOptional
public readonly allocationDefaultNetmaskLength: number;
  • Type: number

The default netmask length for allocations added to this pool.

If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.


allocationMaxNetmaskLengthOptional
public readonly allocationMaxNetmaskLength: number;
  • Type: number

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant.

The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.


allocationMinNetmaskLengthOptional
public readonly allocationMinNetmaskLength: number;
  • Type: number

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant.

The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.


allocationResourceTagsOptional
public readonly allocationResourceTags: CfnTag[];
  • Type: aws-cdk-lib.CfnTag[]

Tags that are required for resources that use CIDRs from this IPAM pool.

Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.


autoImportOptional
public readonly autoImport: boolean;
  • Type: boolean

If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.

The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.

A locale must be set on the pool for this feature to work.


descriptionOptional
public readonly description: string;
  • Type: string

The description of the pool.


localeOptional
public readonly locale: string;
  • Type: string

The locale of the IPAM pool.

In IPAM, the locale is the AWS Region where you want to make an IPAM pool available for allocations.Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.


provisionedCidrsOptional
public readonly provisionedCidrs: ProvisionedCidrProperty[];
  • Type: aws-cdk-lib.aws_ec2.CfnIPAMPool.ProvisionedCidrProperty[]

The CIDRs provisioned to the IPAM pool.

A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses


sourceIpamPoolIdOptional
public readonly sourceIpamPoolId: string;
  • Type: string

The ID of the source IPAM pool.

You can use this option to create an IPAM pool within an existing source pool.


tagsOptional
public readonly tags: CfnTag[];
  • Type: aws-cdk-lib.CfnTag[]

The key/value combination of tags to assign to the resource.


IpamProps

Properties of the IPAM.

Initializer

import { IpamProps } from '@renovosolutions/cdk-library-aws-ipam'

const ipamProps: IpamProps = { ... }

Properties

Name Type Description
description string The description for the IPAM.
operatingRegions string[] The operating Regions for an IPAM.
tags aws-cdk-lib.CfnTag[] The key/value combination of tags to assign to the resource.

descriptionOptional
public readonly description: string;
  • Type: string

The description for the IPAM.


operatingRegionsOptional
public readonly operatingRegions: string[];
  • Type: string[]
  • Default: Stack.of(this).region

The operating Regions for an IPAM.

Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

https://vpc/latest/ipam/create-ipam.html


tagsOptional
public readonly tags: CfnTag[];
  • Type: aws-cdk-lib.CfnTag[]

The key/value combination of tags to assign to the resource.


IpamScopeProps

Properties of an IPAM Scope.

Initializer

import { IpamScopeProps } from '@renovosolutions/cdk-library-aws-ipam'

const ipamScopeProps: IpamScopeProps = { ... }

Properties

Name Type Description
ipam Ipam The IPAM for which you're creating the scope.
description string The description of the scope.
tags aws-cdk-lib.CfnTag[] The key/value combination of tags to assign to the resource.

ipamRequired
public readonly ipam: Ipam;

The IPAM for which you're creating the scope.


descriptionOptional
public readonly description: string;
  • Type: string

The description of the scope.


tagsOptional
public readonly tags: CfnTag[];
  • Type: aws-cdk-lib.CfnTag[]

The key/value combination of tags to assign to the resource.


Enums

IpamPoolAddressFamily

Members

Name Description
IPV4 No description.
IPV6 No description.

IPV4

IPV6