Class RecommendationDetailData

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

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

The details and metrics for the given recommendation.

See Also:
  • Method Details

    • accountScope

      public final AccountScope accountScope()

      The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

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

      Returns:
      The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.
      See Also:
    • accountScopeAsString

      public final String accountScopeAsString()

      The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

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

      Returns:
      The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.
      See Also:
    • lookbackPeriodInDays

      public final LookbackPeriodInDays lookbackPeriodInDays()

      How many days of previous usage that Amazon Web Services considers when making this recommendation.

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

      Returns:
      How many days of previous usage that Amazon Web Services considers when making this recommendation.
      See Also:
    • lookbackPeriodInDaysAsString

      public final String lookbackPeriodInDaysAsString()

      How many days of previous usage that Amazon Web Services considers when making this recommendation.

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

      Returns:
      How many days of previous usage that Amazon Web Services considers when making this recommendation.
      See Also:
    • savingsPlansType

      public final SupportedSavingsPlansType savingsPlansType()

      The requested Savings Plan recommendation type.

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

      Returns:
      The requested Savings Plan recommendation type.
      See Also:
    • savingsPlansTypeAsString

      public final String savingsPlansTypeAsString()

      The requested Savings Plan recommendation type.

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

      Returns:
      The requested Savings Plan recommendation type.
      See Also:
    • termInYears

      public final TermInYears termInYears()

      The term of the commitment in years.

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

      Returns:
      The term of the commitment in years.
      See Also:
    • termInYearsAsString

      public final String termInYearsAsString()

      The term of the commitment in years.

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

      Returns:
      The term of the commitment in years.
      See Also:
    • paymentOption

      public final PaymentOption paymentOption()

      The payment option for the commitment (for example, All Upfront or No Upfront).

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

      Returns:
      The payment option for the commitment (for example, All Upfront or No Upfront).
      See Also:
    • paymentOptionAsString

      public final String paymentOptionAsString()

      The payment option for the commitment (for example, All Upfront or No Upfront).

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

      Returns:
      The payment option for the commitment (for example, All Upfront or No Upfront).
      See Also:
    • accountId

      public final String accountId()

      The AccountID that the recommendation is generated for.

      Returns:
      The AccountID that the recommendation is generated for.
    • currencyCode

      public final String currencyCode()

      The currency code that Amazon Web Services used to generate the recommendation and present potential savings.

      Returns:
      The currency code that Amazon Web Services used to generate the recommendation and present potential savings.
    • instanceFamily

      public final String instanceFamily()

      The instance family of the recommended Savings Plan.

      Returns:
      The instance family of the recommended Savings Plan.
    • region

      public final String region()

      The region the recommendation is generated for.

      Returns:
      The region the recommendation is generated for.
    • offeringId

      public final String offeringId()

      The unique ID that's used to distinguish Savings Plans from one another.

      Returns:
      The unique ID that's used to distinguish Savings Plans from one another.
    • generationTimestamp

      public final String generationTimestamp()
      Returns the value of the GenerationTimestamp property for this object.
      Returns:
      The value of the GenerationTimestamp property for this object.
    • latestUsageTimestamp

      public final String latestUsageTimestamp()
      Returns the value of the LatestUsageTimestamp property for this object.
      Returns:
      The value of the LatestUsageTimestamp property for this object.
    • currentAverageHourlyOnDemandSpend

      public final String currentAverageHourlyOnDemandSpend()

      The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

      Returns:
      The average value of hourly On-Demand spend over the lookback period of the applicable usage type.
    • currentMaximumHourlyOnDemandSpend

      public final String currentMaximumHourlyOnDemandSpend()

      The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

      Returns:
      The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.
    • currentMinimumHourlyOnDemandSpend

      public final String currentMinimumHourlyOnDemandSpend()

      The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

      Returns:
      The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.
    • estimatedAverageUtilization

      public final String estimatedAverageUtilization()

      The estimated utilization of the recommended Savings Plan.

      Returns:
      The estimated utilization of the recommended Savings Plan.
    • estimatedMonthlySavingsAmount

      public final String estimatedMonthlySavingsAmount()

      The estimated monthly savings amount based on the recommended Savings Plan.

      Returns:
      The estimated monthly savings amount based on the recommended Savings Plan.
    • estimatedOnDemandCost

      public final String estimatedOnDemandCost()

      The remaining On-Demand cost estimated to not be covered by the recommended Savings Plan, over the length of the lookback period.

      Returns:
      The remaining On-Demand cost estimated to not be covered by the recommended Savings Plan, over the length of the lookback period.
    • estimatedOnDemandCostWithCurrentCommitment

      public final String estimatedOnDemandCostWithCurrentCommitment()

      The estimated On-Demand costs you expect with no additional commitment, based on your usage of the selected time period and the Savings Plan you own.

      Returns:
      The estimated On-Demand costs you expect with no additional commitment, based on your usage of the selected time period and the Savings Plan you own.
    • estimatedROI

      public final String estimatedROI()

      The estimated return on investment that's based on the recommended Savings Plan that you purchased. This is calculated as estimatedSavingsAmount/estimatedSPCost*100.

      Returns:
      The estimated return on investment that's based on the recommended Savings Plan that you purchased. This is calculated as estimatedSavingsAmount/estimatedSPCost*100.
    • estimatedSPCost

      public final String estimatedSPCost()

      The cost of the recommended Savings Plan over the length of the lookback period.

      Returns:
      The cost of the recommended Savings Plan over the length of the lookback period.
    • estimatedSavingsAmount

      public final String estimatedSavingsAmount()

      The estimated savings amount that's based on the recommended Savings Plan over the length of the lookback period.

      Returns:
      The estimated savings amount that's based on the recommended Savings Plan over the length of the lookback period.
    • estimatedSavingsPercentage

      public final String estimatedSavingsPercentage()

      The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

      Returns:
      The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.
    • existingHourlyCommitment

      public final String existingHourlyCommitment()

      The existing hourly commitment for the Savings Plan type.

      Returns:
      The existing hourly commitment for the Savings Plan type.
    • hourlyCommitmentToPurchase

      public final String hourlyCommitmentToPurchase()

      The recommended hourly commitment level for the Savings Plan type and the configuration that's based on the usage during the lookback period.

      Returns:
      The recommended hourly commitment level for the Savings Plan type and the configuration that's based on the usage during the lookback period.
    • upfrontCost

      public final String upfrontCost()

      The upfront cost of the recommended Savings Plan, based on the selected payment option.

      Returns:
      The upfront cost of the recommended Savings Plan, based on the selected payment option.
    • currentAverageCoverage

      public final String currentAverageCoverage()

      The average value of hourly coverage over the lookback period.

      Returns:
      The average value of hourly coverage over the lookback period.
    • estimatedAverageCoverage

      public final String estimatedAverageCoverage()

      The estimated coverage of the recommended Savings Plan.

      Returns:
      The estimated coverage of the recommended Savings Plan.
    • hasMetricsOverLookbackPeriod

      public final boolean hasMetricsOverLookbackPeriod()
      For responses, this returns true if the service returned a value for the MetricsOverLookbackPeriod property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • metricsOverLookbackPeriod

      public final List<RecommendationDetailHourlyMetrics> metricsOverLookbackPeriod()

      The related hourly cost, coverage, and utilization metrics over the lookback period.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMetricsOverLookbackPeriod() method.

      Returns:
      The related hourly cost, coverage, and utilization metrics over the lookback period.
    • 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<RecommendationDetailData.Builder,RecommendationDetailData>
      Returns:
      a builder for type T
    • builder

      public static RecommendationDetailData.Builder builder()
    • serializableBuilderClass

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