Class Filter

  • All Implemented Interfaces:
    Serializable, SdkPojo, ToCopyableBuilder<Filter.Builder,​Filter>

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

    A conditional statement for a search expression that includes a resource property, a Boolean operator, and a value. Resources that match the statement are returned in the results from the Search API.

    If you specify a Value, but not an Operator, SageMaker uses the equals operator.

    In search, there are several property types:

    Metrics

    To define a metric filter, enter a value using the form "Metrics.<name>", where <name> is a metric name. For example, the following filter searches for training jobs with an "accuracy" metric greater than "0.9":

    {

    "Name": "Metrics.accuracy",

    "Operator": "GreaterThan",

    "Value": "0.9"

    }

    HyperParameters

    To define a hyperparameter filter, enter a value with the form "HyperParameters.<name>". Decimal hyperparameter values are treated as a decimal in a comparison if the specified Value is also a decimal value. If the specified Value is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a "learning_rate" hyperparameter that is less than "0.5":

    {

    "Name": "HyperParameters.learning_rate",

    "Operator": "LessThan",

    "Value": "0.5"

    }

    Tags

    To define a tag filter, enter a value with the form Tags.<key>.

    See Also:
    Serialized Form
    • Method Detail

      • name

        public final String name()

        A resource property name. For example, TrainingJobName. For valid property names, see SearchRecord. You must specify a valid property for the resource.

        Returns:
        A resource property name. For example, TrainingJobName. For valid property names, see SearchRecord. You must specify a valid property for the resource.
      • operator

        public final Operator operator()

        A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:

        Equals

        The value of Name equals Value.

        NotEquals

        The value of Name doesn't equal Value.

        Exists

        The Name property exists.

        NotExists

        The Name property does not exist.

        GreaterThan

        The value of Name is greater than Value. Not supported for text properties.

        GreaterThanOrEqualTo

        The value of Name is greater than or equal to Value. Not supported for text properties.

        LessThan

        The value of Name is less than Value. Not supported for text properties.

        LessThanOrEqualTo

        The value of Name is less than or equal to Value. Not supported for text properties.

        In

        The value of Name is one of the comma delimited strings in Value. Only supported for text properties.

        Contains

        The value of Name contains the string Value. Only supported for text properties.

        A SearchExpression can include the Contains operator multiple times when the value of Name is one of the following:

        • Experiment.DisplayName

        • Experiment.ExperimentName

        • Experiment.Tags

        • Trial.DisplayName

        • Trial.TrialName

        • Trial.Tags

        • TrialComponent.DisplayName

        • TrialComponent.TrialComponentName

        • TrialComponent.Tags

        • TrialComponent.InputArtifacts

        • TrialComponent.OutputArtifacts

        A SearchExpression can include only one Contains operator for all other values of Name. In these cases, if you include multiple Contains operators in the SearchExpression, the result is the following error message: " 'CONTAINS' operator usage limit of 1 exceeded."

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

        Returns:
        A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:

        Equals

        The value of Name equals Value.

        NotEquals

        The value of Name doesn't equal Value.

        Exists

        The Name property exists.

        NotExists

        The Name property does not exist.

        GreaterThan

        The value of Name is greater than Value. Not supported for text properties.

        GreaterThanOrEqualTo

        The value of Name is greater than or equal to Value. Not supported for text properties.

        LessThan

        The value of Name is less than Value. Not supported for text properties.

        LessThanOrEqualTo

        The value of Name is less than or equal to Value. Not supported for text properties.

        In

        The value of Name is one of the comma delimited strings in Value. Only supported for text properties.

        Contains

        The value of Name contains the string Value. Only supported for text properties.

        A SearchExpression can include the Contains operator multiple times when the value of Name is one of the following:

        • Experiment.DisplayName

        • Experiment.ExperimentName

        • Experiment.Tags

        • Trial.DisplayName

        • Trial.TrialName

        • Trial.Tags

        • TrialComponent.DisplayName

        • TrialComponent.TrialComponentName

        • TrialComponent.Tags

        • TrialComponent.InputArtifacts

        • TrialComponent.OutputArtifacts

        A SearchExpression can include only one Contains operator for all other values of Name. In these cases, if you include multiple Contains operators in the SearchExpression, the result is the following error message: " 'CONTAINS' operator usage limit of 1 exceeded."

        See Also:
        Operator
      • operatorAsString

        public final String operatorAsString()

        A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:

        Equals

        The value of Name equals Value.

        NotEquals

        The value of Name doesn't equal Value.

        Exists

        The Name property exists.

        NotExists

        The Name property does not exist.

        GreaterThan

        The value of Name is greater than Value. Not supported for text properties.

        GreaterThanOrEqualTo

        The value of Name is greater than or equal to Value. Not supported for text properties.

        LessThan

        The value of Name is less than Value. Not supported for text properties.

        LessThanOrEqualTo

        The value of Name is less than or equal to Value. Not supported for text properties.

        In

        The value of Name is one of the comma delimited strings in Value. Only supported for text properties.

        Contains

        The value of Name contains the string Value. Only supported for text properties.

        A SearchExpression can include the Contains operator multiple times when the value of Name is one of the following:

        • Experiment.DisplayName

        • Experiment.ExperimentName

        • Experiment.Tags

        • Trial.DisplayName

        • Trial.TrialName

        • Trial.Tags

        • TrialComponent.DisplayName

        • TrialComponent.TrialComponentName

        • TrialComponent.Tags

        • TrialComponent.InputArtifacts

        • TrialComponent.OutputArtifacts

        A SearchExpression can include only one Contains operator for all other values of Name. In these cases, if you include multiple Contains operators in the SearchExpression, the result is the following error message: " 'CONTAINS' operator usage limit of 1 exceeded."

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

        Returns:
        A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:

        Equals

        The value of Name equals Value.

        NotEquals

        The value of Name doesn't equal Value.

        Exists

        The Name property exists.

        NotExists

        The Name property does not exist.

        GreaterThan

        The value of Name is greater than Value. Not supported for text properties.

        GreaterThanOrEqualTo

        The value of Name is greater than or equal to Value. Not supported for text properties.

        LessThan

        The value of Name is less than Value. Not supported for text properties.

        LessThanOrEqualTo

        The value of Name is less than or equal to Value. Not supported for text properties.

        In

        The value of Name is one of the comma delimited strings in Value. Only supported for text properties.

        Contains

        The value of Name contains the string Value. Only supported for text properties.

        A SearchExpression can include the Contains operator multiple times when the value of Name is one of the following:

        • Experiment.DisplayName

        • Experiment.ExperimentName

        • Experiment.Tags

        • Trial.DisplayName

        • Trial.TrialName

        • Trial.Tags

        • TrialComponent.DisplayName

        • TrialComponent.TrialComponentName

        • TrialComponent.Tags

        • TrialComponent.InputArtifacts

        • TrialComponent.OutputArtifacts

        A SearchExpression can include only one Contains operator for all other values of Name. In these cases, if you include multiple Contains operators in the SearchExpression, the result is the following error message: " 'CONTAINS' operator usage limit of 1 exceeded."

        See Also:
        Operator
      • value

        public final String value()

        A value used with Name and Operator to determine which resources satisfy the filter's condition. For numerical properties, Value must be an integer or floating-point decimal. For timestamp properties, Value must be an ISO 8601 date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS.

        Returns:
        A value used with Name and Operator to determine which resources satisfy the filter's condition. For numerical properties, Value must be an integer or floating-point decimal. For timestamp properties, Value must be an ISO 8601 date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS.
      • serializableBuilderClass

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

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

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • 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)