Show / Hide Table of Contents

Class IpamPoolCidrProvisioningOptions

(experimental) Options to provision CIDRs to an IPAM pool.

Inheritance
object
IpamPoolCidrProvisioningOptions
Implements
IIpamPoolCidrProvisioningOptions
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.ec2.Alpha
Assembly: Amazon.CDK.AWS.ec2.Alpha.dll
Syntax (csharp)
public class IpamPoolCidrProvisioningOptions : IIpamPoolCidrProvisioningOptions
Syntax (vb)
Public Class IpamPoolCidrProvisioningOptions Implements IIpamPoolCidrProvisioningOptions
Remarks

Used to create a new IpamPoolCidr

Stability: Experimental

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

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

IpamPoolCidrProvisioningOptions()

(experimental) Options to provision CIDRs to an IPAM pool.

Properties

Cidr

(experimental) Ipv6 CIDR block for the IPAM pool.

NetmaskLength

(experimental) Ipv6 Netmask length for the CIDR.

Constructors

IpamPoolCidrProvisioningOptions()

(experimental) Options to provision CIDRs to an IPAM pool.

public IpamPoolCidrProvisioningOptions()
Remarks

Used to create a new IpamPoolCidr

Stability: Experimental

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

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"
                 }) }
             });

Properties

Cidr

(experimental) Ipv6 CIDR block for the IPAM pool.

public string? Cidr { get; set; }
Property Value

string

Remarks

Default: - pool provisioned without netmask length, need netmask length in this case

Stability: Experimental

NetmaskLength

(experimental) Ipv6 Netmask length for the CIDR.

public double? NetmaskLength { get; set; }
Property Value

double?

Remarks

Default: - pool provisioned without netmask length, need cidr range in this case

Stability: Experimental

Implements

IIpamPoolCidrProvisioningOptions
Back to top Generated by DocFX