Class Recommendation

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

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

Describes a recommendation.

See Also:
  • Method Details

    • recommendationId

      public final String recommendationId()

      The ID for the recommendation.

      Returns:
      The ID for the recommendation.
    • accountId

      public final String accountId()

      The account to which the recommendation applies.

      Returns:
      The account to which the recommendation applies.
    • region

      public final String region()

      The Amazon Web Services Region of the resource.

      Returns:
      The Amazon Web Services Region of the resource.
    • resourceId

      public final String resourceId()

      The resource ID for the recommendation.

      Returns:
      The resource ID for the recommendation.
    • resourceArn

      public final String resourceArn()

      The Amazon Resource Name (ARN) for the recommendation.

      Returns:
      The Amazon Resource Name (ARN) for the recommendation.
    • currentResourceType

      public final String currentResourceType()

      The current resource type.

      Returns:
      The current resource type.
    • recommendedResourceType

      public final String recommendedResourceType()

      The recommended resource type.

      Returns:
      The recommended resource type.
    • estimatedMonthlySavings

      public final Double estimatedMonthlySavings()

      The estimated monthly savings amount for the recommendation.

      Returns:
      The estimated monthly savings amount for the recommendation.
    • estimatedSavingsPercentage

      public final Double estimatedSavingsPercentage()

      The estimated savings percentage relative to the total cost over the cost calculation lookback period.

      Returns:
      The estimated savings percentage relative to the total cost over the cost calculation lookback period.
    • estimatedMonthlyCost

      public final Double estimatedMonthlyCost()

      The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

      Returns:
      The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.
    • currencyCode

      public final String currencyCode()

      The currency code used for the recommendation.

      Returns:
      The currency code used for the recommendation.
    • implementationEffort

      public final String implementationEffort()

      The effort required to implement the recommendation.

      Returns:
      The effort required to implement the recommendation.
    • restartNeeded

      public final Boolean restartNeeded()

      Whether or not implementing the recommendation requires a restart.

      Returns:
      Whether or not implementing the recommendation requires a restart.
    • actionType

      public final String actionType()

      The type of tasks that can be carried out by this action.

      Returns:
      The type of tasks that can be carried out by this action.
    • rollbackPossible

      public final Boolean rollbackPossible()

      Whether or not implementing the recommendation can be rolled back.

      Returns:
      Whether or not implementing the recommendation can be rolled back.
    • currentResourceSummary

      public final String currentResourceSummary()

      Describes the current resource.

      Returns:
      Describes the current resource.
    • recommendedResourceSummary

      public final String recommendedResourceSummary()

      Describes the recommended resource.

      Returns:
      Describes the recommended resource.
    • lastRefreshTimestamp

      public final Instant lastRefreshTimestamp()

      The time when the recommendation was last generated.

      Returns:
      The time when the recommendation was last generated.
    • recommendationLookbackPeriodInDays

      public final Integer recommendationLookbackPeriodInDays()

      The lookback period that's used to generate the recommendation.

      Returns:
      The lookback period that's used to generate the recommendation.
    • source

      public final Source source()

      The source of the recommendation.

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

      Returns:
      The source of the recommendation.
      See Also:
    • sourceAsString

      public final String sourceAsString()

      The source of the recommendation.

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

      Returns:
      The source of the recommendation.
      See Also:
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags 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.
    • tags

      public final List<Tag> tags()

      A list of tags assigned to the recommendation.

      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 hasTags() method.

      Returns:
      A list of tags assigned to the recommendation.
    • toBuilder

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

      public static Recommendation.Builder builder()
    • serializableBuilderClass

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