Class ServiceLevelObjectiveBudgetReport

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

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

A structure containing an SLO budget report that you have requested.

See Also:
  • Method Details

    • arn

      public final String arn()

      The ARN of the SLO that this report is for.

      Returns:
      The ARN of the SLO that this report is for.
    • name

      public final String name()

      The name of the SLO that this report is for.

      Returns:
      The name of the SLO that this report is for.
    • evaluationType

      public final EvaluationType evaluationType()

      Displays whether this budget report is for 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 budget report is for a period-based SLO or a request-based SLO.
      See Also:
    • evaluationTypeAsString

      public final String evaluationTypeAsString()

      Displays whether this budget report is for 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 budget report is for a period-based SLO or a request-based SLO.
      See Also:
    • budgetStatus

      public final ServiceLevelObjectiveBudgetStatus budgetStatus()

      The status of this SLO, as it relates to the error budget for the entire time interval.

      • OK means that the SLO had remaining budget above the warning threshold, as of the time that you specified in TimeStamp.

      • WARNING means that the SLO's remaining budget was below the warning threshold, as of the time that you specified in TimeStamp.

      • BREACHED means that the SLO's budget was exhausted, as of the time that you specified in TimeStamp.

      • INSUFFICIENT_DATA means that the specified start and end times were before the SLO was created, or that attainment data is missing.

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

      Returns:
      The status of this SLO, as it relates to the error budget for the entire time interval.

      • OK means that the SLO had remaining budget above the warning threshold, as of the time that you specified in TimeStamp.

      • WARNING means that the SLO's remaining budget was below the warning threshold, as of the time that you specified in TimeStamp.

      • BREACHED means that the SLO's budget was exhausted, as of the time that you specified in TimeStamp.

      • INSUFFICIENT_DATA means that the specified start and end times were before the SLO was created, or that attainment data is missing.

      See Also:
    • budgetStatusAsString

      public final String budgetStatusAsString()

      The status of this SLO, as it relates to the error budget for the entire time interval.

      • OK means that the SLO had remaining budget above the warning threshold, as of the time that you specified in TimeStamp.

      • WARNING means that the SLO's remaining budget was below the warning threshold, as of the time that you specified in TimeStamp.

      • BREACHED means that the SLO's budget was exhausted, as of the time that you specified in TimeStamp.

      • INSUFFICIENT_DATA means that the specified start and end times were before the SLO was created, or that attainment data is missing.

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

      Returns:
      The status of this SLO, as it relates to the error budget for the entire time interval.

      • OK means that the SLO had remaining budget above the warning threshold, as of the time that you specified in TimeStamp.

      • WARNING means that the SLO's remaining budget was below the warning threshold, as of the time that you specified in TimeStamp.

      • BREACHED means that the SLO's budget was exhausted, as of the time that you specified in TimeStamp.

      • INSUFFICIENT_DATA means that the specified start and end times were before the SLO was created, or that attainment data is missing.

      See Also:
    • attainment

      public final Double attainment()

      A number between 0 and 100 that represents the success percentage of your application compared to the goal set by the SLO.

      If this is a period-based SLO, the number is the percentage of time periods that the service has attained the SLO's attainment goal, as of the time of the request.

      If this is a request-based SLO, the number is the number of successful requests divided by the number of total requests, multiplied by 100, during the time range that you specified in your request.

      Returns:
      A number between 0 and 100 that represents the success percentage of your application compared to the goal set by the SLO.

      If this is a period-based SLO, the number is the percentage of time periods that the service has attained the SLO's attainment goal, as of the time of the request.

      If this is a request-based SLO, the number is the number of successful requests divided by the number of total requests, multiplied by 100, during the time range that you specified in your request.

    • totalBudgetSeconds

      public final Integer totalBudgetSeconds()

      The total number of seconds in the error budget for the interval. This field is included only if the SLO is a period-based SLO.

      Returns:
      The total number of seconds in the error budget for the interval. This field is included only if the SLO is a period-based SLO.
    • budgetSecondsRemaining

      public final Integer budgetSecondsRemaining()

      The budget amount remaining before the SLO status becomes BREACHING, at the time specified in the Timestemp parameter of the request. If this value is negative, then the SLO is already in BREACHING status.

      This field is included only if the SLO is a period-based SLO.

      Returns:
      The budget amount remaining before the SLO status becomes BREACHING, at the time specified in the Timestemp parameter of the request. If this value is negative, then the SLO is already in BREACHING status.

      This field is included only if the SLO is a period-based SLO.

    • totalBudgetRequests

      public final Integer totalBudgetRequests()

      This field is displayed only for request-based SLOs. It displays the total number of failed requests that can be tolerated during the time range between the start of the interval and the time stamp supplied in the budget report request. It is based on the total number of requests that occurred, and the percentage specified in the attainment goal. If the number of failed requests matches this number or is higher, then this SLO is currently breaching.

      This number can go up and down between reports with different time stamps, based on both how many total requests occur.

      Returns:
      This field is displayed only for request-based SLOs. It displays the total number of failed requests that can be tolerated during the time range between the start of the interval and the time stamp supplied in the budget report request. It is based on the total number of requests that occurred, and the percentage specified in the attainment goal. If the number of failed requests matches this number or is higher, then this SLO is currently breaching.

      This number can go up and down between reports with different time stamps, based on both how many total requests occur.

    • budgetRequestsRemaining

      public final Integer budgetRequestsRemaining()

      This field is displayed only for request-based SLOs. It displays the number of failed requests that can be tolerated before any more successful requests occur, and still have the application meet its SLO goal.

      This number can go up and down between different reports, based on both how many successful requests and how many failed requests occur in that time.

      Returns:
      This field is displayed only for request-based SLOs. It displays the number of failed requests that can be tolerated before any more successful requests occur, and still have the application meet its SLO goal.

      This number can go up and down between different reports, based on both how many successful requests and how many failed requests occur in that time.

    • sli

      public final ServiceLevelIndicator sli()

      A structure that contains information about the performance metric that this SLO monitors.

      Returns:
      A structure that contains information about the performance metric that this SLO monitors.
    • requestBasedSli

      public final RequestBasedServiceLevelIndicator requestBasedSli()
      Returns the value of the RequestBasedSli property for this object.
      Returns:
      The value of the RequestBasedSli property for this object.
    • 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

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

    • serializableBuilderClass

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