Class LabelMatchStatement

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

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

A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

See Also:
  • Method Details

    • scope

      public final LabelMatchScope scope()

      Specify whether you want to match using the label name or just the namespace.

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

      Returns:
      Specify whether you want to match using the label name or just the namespace.
      See Also:
    • scopeAsString

      public final String scopeAsString()

      Specify whether you want to match using the label name or just the namespace.

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

      Returns:
      Specify whether you want to match using the label name or just the namespace.
      See Also:
    • key

      public final String key()

      The string to match against. The setting you provide for this depends on the match statement's Scope setting:

      • If the Scope indicates LABEL, then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.

      • If the Scope indicates NAMESPACE, then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

      Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

      Returns:
      The string to match against. The setting you provide for this depends on the match statement's Scope setting:

      • If the Scope indicates LABEL, then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.

      • If the Scope indicates NAMESPACE, then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

      Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

    • toBuilder

      public LabelMatchStatement.Builder 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<LabelMatchStatement.Builder,LabelMatchStatement>
      Returns:
      a builder for type T
    • builder

      public static LabelMatchStatement.Builder builder()
    • serializableBuilderClass

      public static Class<? extends LabelMatchStatement.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.