Interface IpamOptions

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
IpamOptions.Jsii$Proxy

@Generated(value="jsii-pacmak/1.106.0 (build e852934)", date="2025-03-04T22:57:35.070Z") @Stability(Experimental) public interface IpamOptions extends software.amazon.jsii.JsiiSerializable
(experimental) Options for configuring an IP Address Manager (IPAM).

For more information, see the

invalid @link
{@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html
}.

Example:

 Stack stack = new Stack();
 Ipam ipam = Ipam.Builder.create(this, "Ipam")
         .operatingRegions(List.of("us-west-1"))
         .build();
 IIpamPool ipamPublicPool = ipam.publicScope.addPool("PublicPoolA", PoolOptions.builder()
         .addressFamily(AddressFamily.IP_V6)
         .awsService(AwsServiceName.EC2)
         .locale("us-west-1")
         .publicIpSource(IpamPoolPublicIpSource.AMAZON)
         .build());
 ipamPublicPool.provisionCidr("PublicPoolACidrA", IpamPoolCidrProvisioningOptions.builder().netmaskLength(52).build());
 IIpamPool ipamPrivatePool = ipam.privateScope.addPool("PrivatePoolA", PoolOptions.builder()
         .addressFamily(AddressFamily.IP_V4)
         .build());
 ipamPrivatePool.provisionCidr("PrivatePoolACidrA", IpamPoolCidrProvisioningOptions.builder().netmaskLength(8).build());
 VpcV2.Builder.create(this, "Vpc")
         .primaryAddressBlock(IpAddresses.ipv4("10.0.0.0/24"))
         .secondaryAddressBlocks(List.of(IpAddresses.amazonProvidedIpv6(SecondaryAddressProps.builder().cidrBlockName("AmazonIpv6").build()), IpAddresses.ipv6Ipam(IpamOptions.builder()
                 .ipamPool(ipamPublicPool)
                 .netmaskLength(52)
                 .cidrBlockName("ipv6Ipam")
                 .build()), IpAddresses.ipv4Ipam(IpamOptions.builder()
                 .ipamPool(ipamPrivatePool)
                 .netmaskLength(8)
                 .cidrBlockName("ipv4Ipam")
                 .build())))
         .build();
 
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final class 
    A builder for IpamOptions
    static final class 
    An implementation for IpamOptions
  • Method Summary

    Modifier and Type
    Method
    Description
     
    (experimental) Required to set Secondary cidr block resource name in order to generate unique logical id for the resource.
    default IIpamPool
    (experimental) Ipv4 or an Ipv6 IPAM pool Only required when using AWS Ipam.
    default Number
    (experimental) CIDR Mask for Vpc Only required when using AWS Ipam.

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Method Details

    • getCidrBlockName

      @Stability(Experimental) @NotNull String getCidrBlockName()
      (experimental) Required to set Secondary cidr block resource name in order to generate unique logical id for the resource.
    • getIpamPool

      @Stability(Experimental) @Nullable default IIpamPool getIpamPool()
      (experimental) Ipv4 or an Ipv6 IPAM pool Only required when using AWS Ipam.

      Default: - no pool attached to VPC secondary address

    • getNetmaskLength

      @Stability(Experimental) @Nullable default Number getNetmaskLength()
      (experimental) CIDR Mask for Vpc Only required when using AWS Ipam.

      Default: - no netmask length for IPAM attached to VPC secondary address

    • builder

      @Stability(Experimental) static IpamOptions.Builder builder()
      Returns:
      a IpamOptions.Builder of IpamOptions