Class IpAddresses

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.ec2.IpAddresses
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.94.0 (build b380f01)", date="2024-03-01T20:58:23.283Z") @Stability(Stable) public class IpAddresses extends software.amazon.jsii.JsiiObject
An abstract Provider of IpAddresses.

Note this is specific to the IPv4 CIDR.

Example:

 Vpc vpc = Vpc.Builder.create(this, "TheVPC")
         // 'IpAddresses' configures the IP range and size of the entire VPC.
         // The IP space will be divided based on configuration for the subnets.
         .ipAddresses(IpAddresses.cidr("10.0.0.0/21"))
         // 'maxAzs' configures the maximum number of availability zones to use.
         // If you want to specify the exact availability zones you want the VPC
         // to use, use `availabilityZones` instead.
         .maxAzs(3)
         // 'subnetConfiguration' specifies the "subnet groups" to create.
         // Every subnet group will have a subnet for each AZ, so this
         // configuration will create `3 groups × 3 AZs = 9` subnets.
         .subnetConfiguration(List.of(SubnetConfiguration.builder()
                 // 'subnetType' controls Internet access, as described above.
                 .subnetType(SubnetType.PUBLIC)
                 // 'name' is used to name this particular subnet group. You will have to
                 // use the name for subnet selection if you have more than one subnet
                 // group of the same type.
                 .name("Ingress")
                 // 'cidrMask' specifies the IP addresses in the range of of individual
                 // subnets in the group. Each of the subnets in this group will contain
                 // `2^(32 address bits - 24 subnet bits) - 2 reserved addresses = 254`
                 // usable IP addresses.
                 //
                 // If 'cidrMask' is left out the available address space is evenly
                 // divided across the remaining subnet groups.
                 .cidrMask(24)
                 .build(), SubnetConfiguration.builder()
                 .cidrMask(24)
                 .name("Application")
                 .subnetType(SubnetType.PRIVATE_WITH_EGRESS)
                 .build(), SubnetConfiguration.builder()
                 .cidrMask(28)
                 .name("Database")
                 .subnetType(SubnetType.PRIVATE_ISOLATED)
                 // 'reserved' can be used to reserve IP address space. No resources will
                 // be created for this subnet, but the IP range will be kept available for
                 // future creation of this subnet, or even for future subdivision.
                 .reserved(true)
                 .build()))
         .build();
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    IpAddresses(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    IpAddresses(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Used to provide centralized Ip Address Management services for your VPC.
    cidr(String cidrBlock)
    Used to provide local Ip Address Management services for your VPC.

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • IpAddresses

      protected IpAddresses(software.amazon.jsii.JsiiObjectRef objRef)
    • IpAddresses

      protected IpAddresses(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
  • Method Details

    • awsIpamAllocation

      @Stability(Stable) @NotNull public static IIpAddresses awsIpamAllocation(@NotNull AwsIpamProps props)
      Used to provide centralized Ip Address Management services for your VPC.

      Uses VPC CIDR allocations from AWS IPAM

      Note this is specific to the IPv4 CIDR.

      Parameters:
      props - This parameter is required.
      See Also:
    • cidr

      @Stability(Stable) @NotNull public static IIpAddresses cidr(@NotNull String cidrBlock)
      Used to provide local Ip Address Management services for your VPC.

      VPC CIDR is supplied at creation and subnets are calculated locally

      Note this is specific to the IPv4 CIDR.

      Parameters:
      cidrBlock - This parameter is required.