@Generated(value="software.amazon.awssdk:codegen") public final class InstanceRecommendation extends Object implements SdkPojo, Serializable, ToCopyableBuilder<InstanceRecommendation.Builder,InstanceRecommendation>
Describes an Amazon EC2 instance recommendation.
| Modifier and Type | Class and Description |
|---|---|
static interface |
InstanceRecommendation.Builder |
| Modifier and Type | Method and Description |
|---|---|
String |
accountId()
The Amazon Web Services account ID of the instance.
|
static InstanceRecommendation.Builder |
builder() |
String |
currentInstanceType()
The instance type of the current instance.
|
CurrentPerformanceRisk |
currentPerformanceRisk()
The risk of the current instance not meeting the performance needs of its workloads.
|
String |
currentPerformanceRiskAsString()
The risk of the current instance not meeting the performance needs of its workloads.
|
EffectiveRecommendationPreferences |
effectiveRecommendationPreferences()
An object that describes the effective recommendation preferences for the instance.
|
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj) |
ExternalMetricStatus |
externalMetricStatus()
An object that describes Compute Optimizer's integration status with your external metrics provider.
|
Finding |
finding()
The finding classification of the instance.
|
String |
findingAsString()
The finding classification of the instance.
|
List<InstanceRecommendationFindingReasonCode> |
findingReasonCodes()
The reason for the finding classification of the instance.
|
List<String> |
findingReasonCodesAsStrings()
The reason for the finding classification of the instance.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
boolean |
hasFindingReasonCodes()
For responses, this returns true if the service returned a value for the FindingReasonCodes property.
|
int |
hashCode() |
boolean |
hasInferredWorkloadTypes()
For responses, this returns true if the service returned a value for the InferredWorkloadTypes property.
|
boolean |
hasRecommendationOptions()
For responses, this returns true if the service returned a value for the RecommendationOptions property.
|
boolean |
hasRecommendationSources()
For responses, this returns true if the service returned a value for the RecommendationSources property.
|
boolean |
hasTags()
For responses, this returns true if the service returned a value for the Tags property.
|
boolean |
hasUtilizationMetrics()
For responses, this returns true if the service returned a value for the UtilizationMetrics property.
|
List<InferredWorkloadType> |
inferredWorkloadTypes()
The applications that might be running on the instance as inferred by Compute Optimizer.
|
List<String> |
inferredWorkloadTypesAsStrings()
The applications that might be running on the instance as inferred by Compute Optimizer.
|
String |
instanceArn()
The Amazon Resource Name (ARN) of the current instance.
|
String |
instanceName()
The name of the current instance.
|
InstanceState |
instanceState()
The state of the instance when the recommendation was generated.
|
String |
instanceStateAsString()
The state of the instance when the recommendation was generated.
|
Instant |
lastRefreshTimestamp()
The timestamp of when the instance recommendation was last generated.
|
Double |
lookBackPeriodInDays()
The number of days for which utilization metrics were analyzed for the instance.
|
List<InstanceRecommendationOption> |
recommendationOptions()
An array of objects that describe the recommendation options for the instance.
|
List<RecommendationSource> |
recommendationSources()
An array of objects that describe the source resource of the recommendation.
|
List<SdkField<?>> |
sdkFields() |
static Class<? extends InstanceRecommendation.Builder> |
serializableBuilderClass() |
List<Tag> |
tags()
A list of tags assigned to your Amazon EC2 instance recommendations.
|
InstanceRecommendation.Builder |
toBuilder() |
String |
toString()
Returns a string representation of this object.
|
List<UtilizationMetric> |
utilizationMetrics()
An array of objects that describe the utilization metrics of the instance.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcopypublic final String instanceArn()
The Amazon Resource Name (ARN) of the current instance.
public final String accountId()
The Amazon Web Services account ID of the instance.
public final String instanceName()
The name of the current instance.
public final String currentInstanceType()
The instance type of the current instance.
public final Finding finding()
The finding classification of the instance.
Findings for instances include:
Underprovisioned —An instance is considered under-provisioned when at least one
specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of
your workload. Under-provisioned instances may lead to poor application performance.
Overprovisioned —An instance is considered over-provisioned when at least one specification
of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance
requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to
unnecessary infrastructure cost.
Optimized —An instance is considered optimized when all specifications of your instance,
such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned.
For optimized resources, Compute Optimizer might recommend a new generation instance type.
If the service returns an enum value that is not available in the current SDK version, finding will
return Finding.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from
findingAsString().
Findings for instances include:
Underprovisioned —An instance is considered under-provisioned when at least one
specification of your instance, such as CPU, memory, or network, does not meet the performance
requirements of your workload. Under-provisioned instances may lead to poor application performance.
Overprovisioned —An instance is considered over-provisioned when at least one
specification of your instance, such as CPU, memory, or network, can be sized down while still meeting
the performance requirements of your workload, and no specification is under-provisioned.
Over-provisioned instances may lead to unnecessary infrastructure cost.
Optimized —An instance is considered optimized when all specifications of your
instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not
over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance
type.
Findingpublic final String findingAsString()
The finding classification of the instance.
Findings for instances include:
Underprovisioned —An instance is considered under-provisioned when at least one
specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of
your workload. Under-provisioned instances may lead to poor application performance.
Overprovisioned —An instance is considered over-provisioned when at least one specification
of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance
requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to
unnecessary infrastructure cost.
Optimized —An instance is considered optimized when all specifications of your instance,
such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned.
For optimized resources, Compute Optimizer might recommend a new generation instance type.
If the service returns an enum value that is not available in the current SDK version, finding will
return Finding.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from
findingAsString().
Findings for instances include:
Underprovisioned —An instance is considered under-provisioned when at least one
specification of your instance, such as CPU, memory, or network, does not meet the performance
requirements of your workload. Under-provisioned instances may lead to poor application performance.
Overprovisioned —An instance is considered over-provisioned when at least one
specification of your instance, such as CPU, memory, or network, can be sized down while still meeting
the performance requirements of your workload, and no specification is under-provisioned.
Over-provisioned instances may lead to unnecessary infrastructure cost.
Optimized —An instance is considered optimized when all specifications of your
instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not
over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance
type.
Findingpublic final List<InstanceRecommendationFindingReasonCode> findingReasonCodes()
The reason for the finding classification of the instance.
Finding reason codes for instances include:
CPUOverprovisioned — The instance’s CPU configuration can be sized down while still meeting
the performance requirements of your workload. This is identified by analyzing the CPUUtilization
metric of the current instance during the look-back period.
CPUUnderprovisioned — The instance’s CPU configuration doesn't meet the performance
requirements of your workload and there is an alternative instance type that provides better CPU performance.
This is identified by analyzing the CPUUtilization metric of the current instance during the
look-back period.
MemoryOverprovisioned — The instance’s memory configuration can be sized down while still
meeting the performance requirements of your workload. This is identified by analyzing the memory utilization
metric of the current instance during the look-back period.
MemoryUnderprovisioned — The instance’s memory configuration doesn't meet the performance
requirements of your workload and there is an alternative instance type that provides better memory performance.
This is identified by analyzing the memory utilization metric of the current instance during the look-back
period.
Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For
more information, see Enabling memory utilization
with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute
Optimizer analyses the mem_used_percent metric in the CWAgent namespace, or the legacy
MemoryUtilization metric in the System/Linux namespace. On Windows instances, Compute
Optimizer analyses the Memory % Committed Bytes In Use metric in the CWAgent namespace.
EBSThroughputOverprovisioned — The instance’s EBS throughput configuration can be sized
down while still meeting the performance requirements of your workload. This is identified by analyzing the
VolumeReadBytes and VolumeWriteBytes metrics of EBS volumes attached to the current
instance during the look-back period.
EBSThroughputUnderprovisioned — The instance’s EBS throughput configuration doesn't meet
the performance requirements of your workload and there is an alternative instance type that provides better EBS
throughput performance. This is identified by analyzing the VolumeReadBytes and
VolumeWriteBytes metrics of EBS volumes attached to the current instance during the look-back
period.
EBSIOPSOverprovisioned — The instance’s EBS IOPS configuration can be sized down while
still meeting the performance requirements of your workload. This is identified by analyzing the
VolumeReadOps and VolumeWriteOps metric of EBS volumes attached to the current instance
during the look-back period.
EBSIOPSUnderprovisioned — The instance’s EBS IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS
performance. This is identified by analyzing the VolumeReadOps and VolumeWriteOps
metric of EBS volumes attached to the current instance during the look-back period.
NetworkBandwidthOverprovisioned — The instance’s network bandwidth configuration can be
sized down while still meeting the performance requirements of your workload. This is identified by analyzing the
NetworkIn and NetworkOut metrics of the current instance during the look-back period.
NetworkBandwidthUnderprovisioned — The instance’s network bandwidth configuration doesn't
meet the performance requirements of your workload and there is an alternative instance type that provides better
network bandwidth performance. This is identified by analyzing the NetworkIn and
NetworkOut metrics of the current instance during the look-back period. This finding reason happens
when the NetworkIn or NetworkOut performance of an instance is impacted.
NetworkPPSOverprovisioned — The instance’s network PPS (packets per second) configuration
can be sized down while still meeting the performance requirements of your workload. This is identified by
analyzing the NetworkPacketsIn and NetworkPacketsIn metrics of the current instance
during the look-back period.
NetworkPPSUnderprovisioned — The instance’s network PPS (packets per second) configuration
doesn't meet the performance requirements of your workload and there is an alternative instance type that
provides better network PPS performance. This is identified by analyzing the NetworkPacketsIn and
NetworkPacketsIn metrics of the current instance during the look-back period.
DiskIOPSOverprovisioned — The instance’s disk IOPS configuration can be sized down while
still meeting the performance requirements of your workload. This is identified by analyzing the
DiskReadOps and DiskWriteOps metrics of the current instance during the look-back
period.
DiskIOPSUnderprovisioned — The instance’s disk IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better disk
IOPS performance. This is identified by analyzing the DiskReadOps and DiskWriteOps
metrics of the current instance during the look-back period.
DiskThroughputOverprovisioned — The instance’s disk throughput configuration can be sized
down while still meeting the performance requirements of your workload. This is identified by analyzing the
DiskReadBytes and DiskWriteBytes metrics of the current instance during the look-back
period.
DiskThroughputUnderprovisioned — The instance’s disk throughput configuration doesn't meet
the performance requirements of your workload and there is an alternative instance type that provides better disk
throughput performance. This is identified by analyzing the DiskReadBytes and
DiskWriteBytes metrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
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.
Finding reason codes for instances include:
CPUOverprovisioned — The instance’s CPU configuration can be sized down while still
meeting the performance requirements of your workload. This is identified by analyzing the
CPUUtilization metric of the current instance during the look-back period.
CPUUnderprovisioned — The instance’s CPU configuration doesn't meet the performance
requirements of your workload and there is an alternative instance type that provides better CPU
performance. This is identified by analyzing the CPUUtilization metric of the current
instance during the look-back period.
MemoryOverprovisioned — The instance’s memory configuration can be sized down while
still meeting the performance requirements of your workload. This is identified by analyzing the memory
utilization metric of the current instance during the look-back period.
MemoryUnderprovisioned — The instance’s memory configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better
memory performance. This is identified by analyzing the memory utilization metric of the current instance
during the look-back period.
Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on
them. For more information, see Enabling memory
utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux
instances, Compute Optimizer analyses the mem_used_percent metric in the
CWAgent namespace, or the legacy MemoryUtilization metric in the
System/Linux namespace. On Windows instances, Compute Optimizer analyses the
Memory % Committed Bytes In Use metric in the CWAgent namespace.
EBSThroughputOverprovisioned — The instance’s EBS throughput configuration can be
sized down while still meeting the performance requirements of your workload. This is identified by
analyzing the VolumeReadBytes and VolumeWriteBytes metrics of EBS volumes
attached to the current instance during the look-back period.
EBSThroughputUnderprovisioned — The instance’s EBS throughput configuration doesn't
meet the performance requirements of your workload and there is an alternative instance type that
provides better EBS throughput performance. This is identified by analyzing the
VolumeReadBytes and VolumeWriteBytes metrics of EBS volumes attached to the
current instance during the look-back period.
EBSIOPSOverprovisioned — The instance’s EBS IOPS configuration can be sized down
while still meeting the performance requirements of your workload. This is identified by analyzing the
VolumeReadOps and VolumeWriteOps metric of EBS volumes attached to the current
instance during the look-back period.
EBSIOPSUnderprovisioned — The instance’s EBS IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better
EBS IOPS performance. This is identified by analyzing the VolumeReadOps and
VolumeWriteOps metric of EBS volumes attached to the current instance during the look-back
period.
NetworkBandwidthOverprovisioned — The instance’s network bandwidth configuration
can be sized down while still meeting the performance requirements of your workload. This is identified
by analyzing the NetworkIn and NetworkOut metrics of the current instance
during the look-back period.
NetworkBandwidthUnderprovisioned — The instance’s network bandwidth configuration
doesn't meet the performance requirements of your workload and there is an alternative instance type that
provides better network bandwidth performance. This is identified by analyzing the NetworkIn
and NetworkOut metrics of the current instance during the look-back period. This finding
reason happens when the NetworkIn or NetworkOut performance of an instance is
impacted.
NetworkPPSOverprovisioned — The instance’s network PPS (packets per second)
configuration can be sized down while still meeting the performance requirements of your workload. This
is identified by analyzing the NetworkPacketsIn and NetworkPacketsIn metrics of
the current instance during the look-back period.
NetworkPPSUnderprovisioned — The instance’s network PPS (packets per second)
configuration doesn't meet the performance requirements of your workload and there is an alternative
instance type that provides better network PPS performance. This is identified by analyzing the
NetworkPacketsIn and NetworkPacketsIn metrics of the current instance during
the look-back period.
DiskIOPSOverprovisioned — The instance’s disk IOPS configuration can be sized down
while still meeting the performance requirements of your workload. This is identified by analyzing the
DiskReadOps and DiskWriteOps metrics of the current instance during the
look-back period.
DiskIOPSUnderprovisioned — The instance’s disk IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better
disk IOPS performance. This is identified by analyzing the DiskReadOps and
DiskWriteOps metrics of the current instance during the look-back period.
DiskThroughputOverprovisioned — The instance’s disk throughput configuration can be
sized down while still meeting the performance requirements of your workload. This is identified by
analyzing the DiskReadBytes and DiskWriteBytes metrics of the current instance
during the look-back period.
DiskThroughputUnderprovisioned — The instance’s disk throughput configuration
doesn't meet the performance requirements of your workload and there is an alternative instance type that
provides better disk throughput performance. This is identified by analyzing the
DiskReadBytes and DiskWriteBytes metrics of the current instance during the
look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
public final boolean hasFindingReasonCodes()
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.public final List<String> findingReasonCodesAsStrings()
The reason for the finding classification of the instance.
Finding reason codes for instances include:
CPUOverprovisioned — The instance’s CPU configuration can be sized down while still meeting
the performance requirements of your workload. This is identified by analyzing the CPUUtilization
metric of the current instance during the look-back period.
CPUUnderprovisioned — The instance’s CPU configuration doesn't meet the performance
requirements of your workload and there is an alternative instance type that provides better CPU performance.
This is identified by analyzing the CPUUtilization metric of the current instance during the
look-back period.
MemoryOverprovisioned — The instance’s memory configuration can be sized down while still
meeting the performance requirements of your workload. This is identified by analyzing the memory utilization
metric of the current instance during the look-back period.
MemoryUnderprovisioned — The instance’s memory configuration doesn't meet the performance
requirements of your workload and there is an alternative instance type that provides better memory performance.
This is identified by analyzing the memory utilization metric of the current instance during the look-back
period.
Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For
more information, see Enabling memory utilization
with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute
Optimizer analyses the mem_used_percent metric in the CWAgent namespace, or the legacy
MemoryUtilization metric in the System/Linux namespace. On Windows instances, Compute
Optimizer analyses the Memory % Committed Bytes In Use metric in the CWAgent namespace.
EBSThroughputOverprovisioned — The instance’s EBS throughput configuration can be sized
down while still meeting the performance requirements of your workload. This is identified by analyzing the
VolumeReadBytes and VolumeWriteBytes metrics of EBS volumes attached to the current
instance during the look-back period.
EBSThroughputUnderprovisioned — The instance’s EBS throughput configuration doesn't meet
the performance requirements of your workload and there is an alternative instance type that provides better EBS
throughput performance. This is identified by analyzing the VolumeReadBytes and
VolumeWriteBytes metrics of EBS volumes attached to the current instance during the look-back
period.
EBSIOPSOverprovisioned — The instance’s EBS IOPS configuration can be sized down while
still meeting the performance requirements of your workload. This is identified by analyzing the
VolumeReadOps and VolumeWriteOps metric of EBS volumes attached to the current instance
during the look-back period.
EBSIOPSUnderprovisioned — The instance’s EBS IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS
performance. This is identified by analyzing the VolumeReadOps and VolumeWriteOps
metric of EBS volumes attached to the current instance during the look-back period.
NetworkBandwidthOverprovisioned — The instance’s network bandwidth configuration can be
sized down while still meeting the performance requirements of your workload. This is identified by analyzing the
NetworkIn and NetworkOut metrics of the current instance during the look-back period.
NetworkBandwidthUnderprovisioned — The instance’s network bandwidth configuration doesn't
meet the performance requirements of your workload and there is an alternative instance type that provides better
network bandwidth performance. This is identified by analyzing the NetworkIn and
NetworkOut metrics of the current instance during the look-back period. This finding reason happens
when the NetworkIn or NetworkOut performance of an instance is impacted.
NetworkPPSOverprovisioned — The instance’s network PPS (packets per second) configuration
can be sized down while still meeting the performance requirements of your workload. This is identified by
analyzing the NetworkPacketsIn and NetworkPacketsIn metrics of the current instance
during the look-back period.
NetworkPPSUnderprovisioned — The instance’s network PPS (packets per second) configuration
doesn't meet the performance requirements of your workload and there is an alternative instance type that
provides better network PPS performance. This is identified by analyzing the NetworkPacketsIn and
NetworkPacketsIn metrics of the current instance during the look-back period.
DiskIOPSOverprovisioned — The instance’s disk IOPS configuration can be sized down while
still meeting the performance requirements of your workload. This is identified by analyzing the
DiskReadOps and DiskWriteOps metrics of the current instance during the look-back
period.
DiskIOPSUnderprovisioned — The instance’s disk IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better disk
IOPS performance. This is identified by analyzing the DiskReadOps and DiskWriteOps
metrics of the current instance during the look-back period.
DiskThroughputOverprovisioned — The instance’s disk throughput configuration can be sized
down while still meeting the performance requirements of your workload. This is identified by analyzing the
DiskReadBytes and DiskWriteBytes metrics of the current instance during the look-back
period.
DiskThroughputUnderprovisioned — The instance’s disk throughput configuration doesn't meet
the performance requirements of your workload and there is an alternative instance type that provides better disk
throughput performance. This is identified by analyzing the DiskReadBytes and
DiskWriteBytes metrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
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.
Finding reason codes for instances include:
CPUOverprovisioned — The instance’s CPU configuration can be sized down while still
meeting the performance requirements of your workload. This is identified by analyzing the
CPUUtilization metric of the current instance during the look-back period.
CPUUnderprovisioned — The instance’s CPU configuration doesn't meet the performance
requirements of your workload and there is an alternative instance type that provides better CPU
performance. This is identified by analyzing the CPUUtilization metric of the current
instance during the look-back period.
MemoryOverprovisioned — The instance’s memory configuration can be sized down while
still meeting the performance requirements of your workload. This is identified by analyzing the memory
utilization metric of the current instance during the look-back period.
MemoryUnderprovisioned — The instance’s memory configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better
memory performance. This is identified by analyzing the memory utilization metric of the current instance
during the look-back period.
Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on
them. For more information, see Enabling memory
utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux
instances, Compute Optimizer analyses the mem_used_percent metric in the
CWAgent namespace, or the legacy MemoryUtilization metric in the
System/Linux namespace. On Windows instances, Compute Optimizer analyses the
Memory % Committed Bytes In Use metric in the CWAgent namespace.
EBSThroughputOverprovisioned — The instance’s EBS throughput configuration can be
sized down while still meeting the performance requirements of your workload. This is identified by
analyzing the VolumeReadBytes and VolumeWriteBytes metrics of EBS volumes
attached to the current instance during the look-back period.
EBSThroughputUnderprovisioned — The instance’s EBS throughput configuration doesn't
meet the performance requirements of your workload and there is an alternative instance type that
provides better EBS throughput performance. This is identified by analyzing the
VolumeReadBytes and VolumeWriteBytes metrics of EBS volumes attached to the
current instance during the look-back period.
EBSIOPSOverprovisioned — The instance’s EBS IOPS configuration can be sized down
while still meeting the performance requirements of your workload. This is identified by analyzing the
VolumeReadOps and VolumeWriteOps metric of EBS volumes attached to the current
instance during the look-back period.
EBSIOPSUnderprovisioned — The instance’s EBS IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better
EBS IOPS performance. This is identified by analyzing the VolumeReadOps and
VolumeWriteOps metric of EBS volumes attached to the current instance during the look-back
period.
NetworkBandwidthOverprovisioned — The instance’s network bandwidth configuration
can be sized down while still meeting the performance requirements of your workload. This is identified
by analyzing the NetworkIn and NetworkOut metrics of the current instance
during the look-back period.
NetworkBandwidthUnderprovisioned — The instance’s network bandwidth configuration
doesn't meet the performance requirements of your workload and there is an alternative instance type that
provides better network bandwidth performance. This is identified by analyzing the NetworkIn
and NetworkOut metrics of the current instance during the look-back period. This finding
reason happens when the NetworkIn or NetworkOut performance of an instance is
impacted.
NetworkPPSOverprovisioned — The instance’s network PPS (packets per second)
configuration can be sized down while still meeting the performance requirements of your workload. This
is identified by analyzing the NetworkPacketsIn and NetworkPacketsIn metrics of
the current instance during the look-back period.
NetworkPPSUnderprovisioned — The instance’s network PPS (packets per second)
configuration doesn't meet the performance requirements of your workload and there is an alternative
instance type that provides better network PPS performance. This is identified by analyzing the
NetworkPacketsIn and NetworkPacketsIn metrics of the current instance during
the look-back period.
DiskIOPSOverprovisioned — The instance’s disk IOPS configuration can be sized down
while still meeting the performance requirements of your workload. This is identified by analyzing the
DiskReadOps and DiskWriteOps metrics of the current instance during the
look-back period.
DiskIOPSUnderprovisioned — The instance’s disk IOPS configuration doesn't meet the
performance requirements of your workload and there is an alternative instance type that provides better
disk IOPS performance. This is identified by analyzing the DiskReadOps and
DiskWriteOps metrics of the current instance during the look-back period.
DiskThroughputOverprovisioned — The instance’s disk throughput configuration can be
sized down while still meeting the performance requirements of your workload. This is identified by
analyzing the DiskReadBytes and DiskWriteBytes metrics of the current instance
during the look-back period.
DiskThroughputUnderprovisioned — The instance’s disk throughput configuration
doesn't meet the performance requirements of your workload and there is an alternative instance type that
provides better disk throughput performance. This is identified by analyzing the
DiskReadBytes and DiskWriteBytes metrics of the current instance during the
look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
public final boolean hasUtilizationMetrics()
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.public final List<UtilizationMetric> utilizationMetrics()
An array of objects that describe the utilization metrics of the 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 hasUtilizationMetrics() method.
public final Double lookBackPeriodInDays()
The number of days for which utilization metrics were analyzed for the instance.
public final boolean hasRecommendationOptions()
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.public final List<InstanceRecommendationOption> recommendationOptions()
An array of objects that describe the recommendation options for the 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 hasRecommendationOptions() method.
public final boolean hasRecommendationSources()
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.public final List<RecommendationSource> recommendationSources()
An array of objects that describe the source resource of 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 hasRecommendationSources() method.
public final Instant lastRefreshTimestamp()
The timestamp of when the instance recommendation was last generated.
public final CurrentPerformanceRisk currentPerformanceRisk()
The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
If the service returns an enum value that is not available in the current SDK version,
currentPerformanceRisk will return CurrentPerformanceRisk.UNKNOWN_TO_SDK_VERSION. The raw value
returned by the service is available from currentPerformanceRiskAsString().
CurrentPerformanceRiskpublic final String currentPerformanceRiskAsString()
The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
If the service returns an enum value that is not available in the current SDK version,
currentPerformanceRisk will return CurrentPerformanceRisk.UNKNOWN_TO_SDK_VERSION. The raw value
returned by the service is available from currentPerformanceRiskAsString().
CurrentPerformanceRiskpublic final EffectiveRecommendationPreferences effectiveRecommendationPreferences()
An object that describes the effective recommendation preferences for the instance.
public final List<InferredWorkloadType> inferredWorkloadTypes()
The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
AmazonEmr - Infers that Amazon EMR might be running on the instance.
ApacheCassandra - Infers that Apache Cassandra might be running on the instance.
ApacheHadoop - Infers that Apache Hadoop might be running on the instance.
Memcached - Infers that Memcached might be running on the instance.
NGINX - Infers that NGINX might be running on the instance.
PostgreSql - Infers that PostgreSQL might be running on the instance.
Redis - Infers that Redis might be running on the instance.
Kafka - Infers that Kafka might be running on the instance.
SQLServer - Infers that SQLServer might be running on the 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 hasInferredWorkloadTypes() method.
Compute Optimizer can infer if one of the following applications might be running on the instance:
AmazonEmr - Infers that Amazon EMR might be running on the instance.
ApacheCassandra - Infers that Apache Cassandra might be running on the instance.
ApacheHadoop - Infers that Apache Hadoop might be running on the instance.
Memcached - Infers that Memcached might be running on the instance.
NGINX - Infers that NGINX might be running on the instance.
PostgreSql - Infers that PostgreSQL might be running on the instance.
Redis - Infers that Redis might be running on the instance.
Kafka - Infers that Kafka might be running on the instance.
SQLServer - Infers that SQLServer might be running on the instance.
public final boolean hasInferredWorkloadTypes()
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.public final List<String> inferredWorkloadTypesAsStrings()
The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
AmazonEmr - Infers that Amazon EMR might be running on the instance.
ApacheCassandra - Infers that Apache Cassandra might be running on the instance.
ApacheHadoop - Infers that Apache Hadoop might be running on the instance.
Memcached - Infers that Memcached might be running on the instance.
NGINX - Infers that NGINX might be running on the instance.
PostgreSql - Infers that PostgreSQL might be running on the instance.
Redis - Infers that Redis might be running on the instance.
Kafka - Infers that Kafka might be running on the instance.
SQLServer - Infers that SQLServer might be running on the 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 hasInferredWorkloadTypes() method.
Compute Optimizer can infer if one of the following applications might be running on the instance:
AmazonEmr - Infers that Amazon EMR might be running on the instance.
ApacheCassandra - Infers that Apache Cassandra might be running on the instance.
ApacheHadoop - Infers that Apache Hadoop might be running on the instance.
Memcached - Infers that Memcached might be running on the instance.
NGINX - Infers that NGINX might be running on the instance.
PostgreSql - Infers that PostgreSQL might be running on the instance.
Redis - Infers that Redis might be running on the instance.
Kafka - Infers that Kafka might be running on the instance.
SQLServer - Infers that SQLServer might be running on the instance.
public final InstanceState instanceState()
The state of the instance when the recommendation was generated.
If the service returns an enum value that is not available in the current SDK version, instanceState
will return InstanceState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from
instanceStateAsString().
InstanceStatepublic final String instanceStateAsString()
The state of the instance when the recommendation was generated.
If the service returns an enum value that is not available in the current SDK version, instanceState
will return InstanceState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from
instanceStateAsString().
InstanceStatepublic final boolean hasTags()
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.public final List<Tag> tags()
A list of tags assigned to your Amazon EC2 instance recommendations.
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.
public final ExternalMetricStatus externalMetricStatus()
An object that describes Compute Optimizer's integration status with your external metrics provider.
public InstanceRecommendation.Builder toBuilder()
toBuilder in interface ToCopyableBuilder<InstanceRecommendation.Builder,InstanceRecommendation>public static InstanceRecommendation.Builder builder()
public static Class<? extends InstanceRecommendation.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
equalsBySdkFields in interface SdkPojopublic final String toString()
Copyright © 2023. All rights reserved.