Interface IIpamOptions
(experimental) Options for configuring an IP Address Manager (IPAM).
Namespace: Amazon.CDK.AWS.ec2.Alpha
Assembly: Amazon.CDK.AWS.ec2.Alpha.dll
Syntax (csharp)
public interface IIpamOptions
Syntax (vb)
Public Interface IIpamOptions
Remarks
For more information, see the {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html}.
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
Properties
Cidr |
(experimental) Required to set Secondary cidr block resource name in order to generate unique logical id for the resource. |
Ipam |
(experimental) Ipv4 or an Ipv6 IPAM pool Only required when using AWS Ipam. |
Netmask |
(experimental) CIDR Mask for Vpc Only required when using AWS Ipam. |
Properties
CidrBlockName
(experimental) Required to set Secondary cidr block resource name in order to generate unique logical id for the resource.
string CidrBlockName { get; }
Property Value
System.
Remarks
Stability: Experimental
IpamPool
(experimental) Ipv4 or an Ipv6 IPAM pool Only required when using AWS Ipam.
virtual IIpamPool IpamPool { get; }
Property Value
Remarks
Default: - no pool attached to VPC secondary address
Stability: Experimental
NetmaskLength
(experimental) CIDR Mask for Vpc Only required when using AWS Ipam.
virtual Nullable<double> NetmaskLength { get; }
Property Value
System.
Remarks
Default: - no netmask length for IPAM attached to VPC secondary address
Stability: Experimental