Show / Hide Table of Contents

Class Ipam

(experimental) Creates new IPAM with default public and private scope.

Inheritance
object
Resource
Ipam
Implements
IResource
IConstruct
IDependable
IEnvironmentAware
Inherited Members
Resource.IsOwnedResource(IConstruct)
Resource.IsResource(IConstruct)
Resource.ApplyRemovalPolicy(RemovalPolicy)
Resource.GeneratePhysicalName()
Resource.GetResourceArnAttribute(string, IArnComponents)
Resource.GetResourceNameAttribute(string)
Resource.Env
Resource.PhysicalName
Resource.Stack
Namespace: Amazon.CDK.AWS.ec2.Alpha
Assembly: Amazon.CDK.AWS.ec2.Alpha.dll
Syntax (csharp)
public class Ipam : Resource, IResource, IConstruct, IDependable, IEnvironmentAware
Syntax (vb)
Public Class Ipam Inherits Resource Implements IResource, IConstruct, IDependable, IEnvironmentAware
Remarks

Stability: Experimental

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html

Resource: AWS::EC2::IPAM

ExampleMetadata: infused

Examples
var stack = new Stack();
             var ipam = new Ipam(this, "Ipam", new IpamProps {
                 OperatingRegions = new [] { "us-west-1" }
             });
             var ipamPublicPool = ipam.PublicScope.AddPool("PublicPoolA", new PoolOptions {
                 AddressFamily = AddressFamily.IP_V6,
                 AwsService = AwsServiceName.EC2,
                 Locale = "us-west-1",
                 PublicIpSource = IpamPoolPublicIpSource.AMAZON
             });
             ipamPublicPool.ProvisionCidr("PublicPoolACidrA", new IpamPoolCidrProvisioningOptions { NetmaskLength = 52 });

             var ipamPrivatePool = ipam.PrivateScope.AddPool("PrivatePoolA", new PoolOptions {
                 AddressFamily = AddressFamily.IP_V4
             });
             ipamPrivatePool.ProvisionCidr("PrivatePoolACidrA", new IpamPoolCidrProvisioningOptions { NetmaskLength = 8 });

             new VpcV2(this, "Vpc", new VpcV2Props {
                 PrimaryAddressBlock = IpAddresses.Ipv4("10.0.0.0/24"),
                 SecondaryAddressBlocks = new [] { IpAddresses.AmazonProvidedIpv6(new SecondaryAddressProps { CidrBlockName = "AmazonIpv6" }), IpAddresses.Ipv6Ipam(new IpamOptions {
                     IpamPool = ipamPublicPool,
                     NetmaskLength = 52,
                     CidrBlockName = "ipv6Ipam"
                 }), IpAddresses.Ipv4Ipam(new IpamOptions {
                     IpamPool = ipamPrivatePool,
                     NetmaskLength = 8,
                     CidrBlockName = "ipv4Ipam"
                 }) }
             });

Synopsis

Constructors

Ipam(Construct, string, IIpamProps?)

(experimental) Creates new IPAM with default public and private scope.

Properties

IpamId

(experimental) Access to Ipam resource id that can be used later to add a custom private scope to this IPAM.

IpamName

(experimental) IPAM name to be used for tagging.

OperatingRegions

(experimental) List of operating regions for IPAM.

PROPERTY_INJECTION_ID

(experimental) Uniquely identifies this class.

PrivateScope

(experimental) Provides access to default private IPAM scope through add pool method.

PublicScope

(experimental) Provides access to default public IPAM scope through add pool method.

Scopes

(experimental) List of scopes created under this IPAM.

Methods

AddScope(Construct, string, IIpamScopeOptions)

(experimental) Function to add custom scope to an existing IPAM Custom scopes can only be private.

Constructors

Ipam(Construct, string, IIpamProps?)

(experimental) Creates new IPAM with default public and private scope.

public Ipam(Construct scope, string id, IIpamProps? props = null)
Parameters
scope Construct
id string
props IIpamProps
Remarks

Stability: Experimental

Properties

IpamId

(experimental) Access to Ipam resource id that can be used later to add a custom private scope to this IPAM.

public virtual string IpamId { get; }
Property Value

string

Remarks

Stability: Experimental

Attribute: IpamId

IpamName

(experimental) IPAM name to be used for tagging.

public virtual string? IpamName { get; }
Property Value

string

Remarks

Default: no tag specified

Stability: Experimental

Attribute: IpamName

OperatingRegions

(experimental) List of operating regions for IPAM.

public virtual string[] OperatingRegions { get; }
Property Value

string[]

Remarks

Stability: Experimental

PROPERTY_INJECTION_ID

(experimental) Uniquely identifies this class.

public static string PROPERTY_INJECTION_ID { get; }
Property Value

string

Remarks

Stability: Experimental

PrivateScope

(experimental) Provides access to default private IPAM scope through add pool method.

public virtual IIpamScopeBase PrivateScope { get; }
Property Value

IIpamScopeBase

Remarks

Usage: To add an Ipam Pool to a default private scope

Stability: Experimental

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html

PublicScope

(experimental) Provides access to default public IPAM scope through add pool method.

public virtual IIpamScopeBase PublicScope { get; }
Property Value

IIpamScopeBase

Remarks

Usage: To add an Ipam Pool to a default public scope

Stability: Experimental

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html

Scopes

(experimental) List of scopes created under this IPAM.

public virtual IIpamScopeBase[] Scopes { get; }
Property Value

IIpamScopeBase[]

Remarks

Stability: Experimental

Methods

AddScope(Construct, string, IIpamScopeOptions)

(experimental) Function to add custom scope to an existing IPAM Custom scopes can only be private.

public virtual IIpamScopeBase AddScope(Construct scope, string id, IIpamScopeOptions options)
Parameters
scope Construct
id string
options IIpamScopeOptions
Returns

IIpamScopeBase

Remarks

Stability: Experimental

Implements

IResource
Constructs.IConstruct
Constructs.IDependable
IEnvironmentAware
Back to top Generated by DocFX