Class ServiceLevelObjective

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

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

A structure containing information about one service level objective (SLO) that has been created in Application Signals. Creating SLOs can help you ensure your services are performing to the level that you expect. SLOs help you set and track a specific target level for the reliability and availability of your applications and services. Each SLO uses a service level indicator (SLI), which is a key performance metric, to calculate how much underperformance can be tolerated before the goal that you set for the SLO is not achieved.

See Also:
  • Method Details

    • arn

      public final String arn()

      The ARN of this SLO.

      Returns:
      The ARN of this SLO.
    • name

      public final String name()

      The name of this SLO.

      Returns:
      The name of this SLO.
    • description

      public final String description()

      The description that you created for this SLO.

      Returns:
      The description that you created for this SLO.
    • createdTime

      public final Instant createdTime()

      The date and time that this SLO was created. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

      Returns:
      The date and time that this SLO was created. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.
    • lastUpdatedTime

      public final Instant lastUpdatedTime()

      The time that this SLO was most recently updated. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

      Returns:
      The time that this SLO was most recently updated. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.
    • sli

      public final ServiceLevelIndicator sli()

      A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.

      Returns:
      A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
    • requestBasedSli

      public final RequestBasedServiceLevelIndicator requestBasedSli()

      A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.

      Returns:
      A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
    • evaluationType

      public final EvaluationType evaluationType()

      Displays whether this is a period-based SLO or a request-based SLO.

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

      Returns:
      Displays whether this is a period-based SLO or a request-based SLO.
      See Also:
    • evaluationTypeAsString

      public final String evaluationTypeAsString()

      Displays whether this is a period-based SLO or a request-based SLO.

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

      Returns:
      Displays whether this is a period-based SLO or a request-based SLO.
      See Also:
    • goal

      public final Goal goal()
      Returns the value of the Goal property for this object.
      Returns:
      The value of the Goal property for this object.
    • toBuilder

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

      public static ServiceLevelObjective.Builder builder()
    • serializableBuilderClass

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