Class LicenseRecommendation

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

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

Describes a license recommendation for an EC2 instance.

See Also:
  • Method Details

    • resourceArn

      public final String resourceArn()

      The ARN that identifies the Amazon EC2 instance.

      Returns:
      The ARN that identifies the Amazon EC2 instance.
    • accountId

      public final String accountId()

      The Amazon Web Services account ID of the license.

      Returns:
      The Amazon Web Services account ID of the license.
    • currentLicenseConfiguration

      public final LicenseConfiguration currentLicenseConfiguration()

      An object that describes the current configuration of an instance that runs on a license.

      Returns:
      An object that describes the current configuration of an instance that runs on a license.
    • lookbackPeriodInDays

      public final Double lookbackPeriodInDays()

      The number of days for which utilization metrics were analyzed for an instance that runs on a license.

      Returns:
      The number of days for which utilization metrics were analyzed for an instance that runs on a license.
    • lastRefreshTimestamp

      public final Instant lastRefreshTimestamp()

      The timestamp of when the license recommendation was last generated.

      Returns:
      The timestamp of when the license recommendation was last generated.
    • finding

      public final LicenseFinding finding()

      The finding classification for an instance that runs on a license.

      Findings include:

      • InsufficentMetrics — When Compute Optimizer detects that your CloudWatch Application Insights isn't enabled or is enabled with insufficient permissions.

      • NotOptimized — When Compute Optimizer detects that your EC2 infrastructure isn't using any of the SQL server license features you're paying for, a license is considered not optimized.

      • Optimized — When Compute Optimizer detects that all specifications of your license meet the performance requirements of your workload.

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

      Returns:
      The finding classification for an instance that runs on a license.

      Findings include:

      • InsufficentMetrics — When Compute Optimizer detects that your CloudWatch Application Insights isn't enabled or is enabled with insufficient permissions.

      • NotOptimized — When Compute Optimizer detects that your EC2 infrastructure isn't using any of the SQL server license features you're paying for, a license is considered not optimized.

      • Optimized — When Compute Optimizer detects that all specifications of your license meet the performance requirements of your workload.

      See Also:
    • findingAsString

      public final String findingAsString()

      The finding classification for an instance that runs on a license.

      Findings include:

      • InsufficentMetrics — When Compute Optimizer detects that your CloudWatch Application Insights isn't enabled or is enabled with insufficient permissions.

      • NotOptimized — When Compute Optimizer detects that your EC2 infrastructure isn't using any of the SQL server license features you're paying for, a license is considered not optimized.

      • Optimized — When Compute Optimizer detects that all specifications of your license meet the performance requirements of your workload.

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

      Returns:
      The finding classification for an instance that runs on a license.

      Findings include:

      • InsufficentMetrics — When Compute Optimizer detects that your CloudWatch Application Insights isn't enabled or is enabled with insufficient permissions.

      • NotOptimized — When Compute Optimizer detects that your EC2 infrastructure isn't using any of the SQL server license features you're paying for, a license is considered not optimized.

      • Optimized — When Compute Optimizer detects that all specifications of your license meet the performance requirements of your workload.

      See Also:
    • findingReasonCodes

      public final List<LicenseFindingReasonCode> findingReasonCodes()

      The reason for the finding classification for an instance that runs on a license.

      Finding reason codes include:

      • Optimized — All specifications of your license meet the performance requirements of your workload.

      • LicenseOverprovisioned — A license is considered over-provisioned when your license can be downgraded while still meeting the performance requirements of your workload.

      • InvalidCloudwatchApplicationInsights — CloudWatch Application Insights isn't configured properly.

      • CloudwatchApplicationInsightsError — There is a CloudWatch Application Insights error.

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

      Returns:
      The reason for the finding classification for an instance that runs on a license.

      Finding reason codes include:

      • Optimized — All specifications of your license meet the performance requirements of your workload.

      • LicenseOverprovisioned — A license is considered over-provisioned when your license can be downgraded while still meeting the performance requirements of your workload.

      • InvalidCloudwatchApplicationInsights — CloudWatch Application Insights isn't configured properly.

      • CloudwatchApplicationInsightsError — There is a CloudWatch Application Insights error.

    • hasFindingReasonCodes

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

      public final List<String> findingReasonCodesAsStrings()

      The reason for the finding classification for an instance that runs on a license.

      Finding reason codes include:

      • Optimized — All specifications of your license meet the performance requirements of your workload.

      • LicenseOverprovisioned — A license is considered over-provisioned when your license can be downgraded while still meeting the performance requirements of your workload.

      • InvalidCloudwatchApplicationInsights — CloudWatch Application Insights isn't configured properly.

      • CloudwatchApplicationInsightsError — There is a CloudWatch Application Insights error.

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

      Returns:
      The reason for the finding classification for an instance that runs on a license.

      Finding reason codes include:

      • Optimized — All specifications of your license meet the performance requirements of your workload.

      • LicenseOverprovisioned — A license is considered over-provisioned when your license can be downgraded while still meeting the performance requirements of your workload.

      • InvalidCloudwatchApplicationInsights — CloudWatch Application Insights isn't configured properly.

      • CloudwatchApplicationInsightsError — There is a CloudWatch Application Insights error.

    • hasLicenseRecommendationOptions

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

      public final List<LicenseRecommendationOption> licenseRecommendationOptions()

      An array of objects that describe the license recommendation options.

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

      Returns:
      An array of objects that describe the license recommendation options.
    • 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 an EC2 instance.

      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 an EC2 instance.
    • toBuilder

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

      public static LicenseRecommendation.Builder builder()
    • serializableBuilderClass

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