Class IpamPoolCidrProvisioningOptions
(experimental) Options to provision CIDRs to an IPAM pool.
Implements
Inherited Members
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
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
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
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
Remarks
Default: - pool provisioned without netmask length, need cidr range in this case
Stability: Experimental