Class IpamPrefixListResolverRuleCondition

java.lang.Object
software.amazon.awssdk.services.ec2.model.IpamPrefixListResolverRuleCondition
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<IpamPrefixListResolverRuleCondition.Builder,IpamPrefixListResolverRuleCondition>

@Generated("software.amazon.awssdk:codegen") public final class IpamPrefixListResolverRuleCondition extends Object implements SdkPojo, Serializable, ToCopyableBuilder<IpamPrefixListResolverRuleCondition.Builder,IpamPrefixListResolverRuleCondition>

Describes a condition within a CIDR selection rule. Conditions define the criteria for selecting CIDRs from IPAM's database based on resource attributes.

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

There are three rule types:

  • Static CIDR: A fixed list of CIDRs that do not change (like a manual list replicated across Regions).

  • IPAM pool CIDR: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool).

  • Scope resource CIDR: CIDRs for Amazon Web Services resources like VPCs, subnets, and EIPs within a specific IPAM scope.

Condition availability by resource type:

  • Only 2 of the 3 rule types support conditions - IPAM pool CIDR and Scope resource CIDR. Static CIDR rules cannot have conditions.

    • Condition available for the IPAM pool CIDR resource type:

      • Property:

        • IPAM Pool ID

        • CIDR (like 10.24.34.0/23)

      • Operation: Equals/Not equals

      • Value: The value on which to match the condition

    • Conditions for the Scope resource CIDR resource type:

      • Property:

        • Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0)

        • Resource type (like VPC or Subnet)

        • Resource owner (like 111122223333)

        • Resource region (like us-east-1)

        • Resource tag (like key: name, value: dev-vpc-1)

        • CIDR (like 10.24.34.0/23)

      • Operation: Equals/Not equals

      • Value: The value on which to match the condition

    • When setting conditions for a rule, one or more conditions is required.

See Also:
  • Method Details

    • operation

      The operation to perform when evaluating this condition. Valid values include equals, not-equals, contains, and not-contains.

      If the service returns an enum value that is not available in the current SDK version, operation will return IpamPrefixListResolverRuleConditionOperation.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from operationAsString().

      Returns:
      The operation to perform when evaluating this condition. Valid values include equals, not-equals, contains, and not-contains.
      See Also:
    • operationAsString

      public final String operationAsString()

      The operation to perform when evaluating this condition. Valid values include equals, not-equals, contains, and not-contains.

      If the service returns an enum value that is not available in the current SDK version, operation will return IpamPrefixListResolverRuleConditionOperation.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from operationAsString().

      Returns:
      The operation to perform when evaluating this condition. Valid values include equals, not-equals, contains, and not-contains.
      See Also:
    • ipamPoolId

      public final String ipamPoolId()

      The ID of the IPAM pool to match against. This condition selects CIDRs that belong to the specified IPAM pool.

      Returns:
      The ID of the IPAM pool to match against. This condition selects CIDRs that belong to the specified IPAM pool.
    • resourceId

      public final String resourceId()

      The ID of the Amazon Web Services resource to match against. This condition selects CIDRs associated with the specified resource.

      Returns:
      The ID of the Amazon Web Services resource to match against. This condition selects CIDRs associated with the specified resource.
    • resourceOwner

      public final String resourceOwner()

      The Amazon Web Services account ID that owns the resources to match against. This condition selects CIDRs from resources owned by the specified account.

      Returns:
      The Amazon Web Services account ID that owns the resources to match against. This condition selects CIDRs from resources owned by the specified account.
    • resourceRegion

      public final String resourceRegion()

      The Amazon Web Services Region where the resources are located. This condition selects CIDRs from resources in the specified Region.

      Returns:
      The Amazon Web Services Region where the resources are located. This condition selects CIDRs from resources in the specified Region.
    • resourceTag

      public final IpamResourceTag resourceTag()

      A tag key-value pair to match against. This condition selects CIDRs from resources that have the specified tag.

      Returns:
      A tag key-value pair to match against. This condition selects CIDRs from resources that have the specified tag.
    • cidr

      public final String cidr()

      A CIDR block to match against. This condition selects CIDRs that fall within or match the specified CIDR range.

      Returns:
      A CIDR block to match against. This condition selects CIDRs that fall within or match the specified CIDR range.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<IpamPrefixListResolverRuleCondition.Builder,IpamPrefixListResolverRuleCondition>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends IpamPrefixListResolverRuleCondition.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.