Interface InstanceRecommendation.Builder

All Superinterfaces:
Buildable, CopyableBuilder<InstanceRecommendation.Builder,InstanceRecommendation>, SdkBuilder<InstanceRecommendation.Builder,InstanceRecommendation>, SdkPojo
Enclosing class:
InstanceRecommendation

public static interface InstanceRecommendation.Builder extends SdkPojo, CopyableBuilder<InstanceRecommendation.Builder,InstanceRecommendation>
  • Method Details

    • instanceArn

      InstanceRecommendation.Builder instanceArn(String instanceArn)

      The Amazon Resource Name (ARN) of the current instance.

      Parameters:
      instanceArn - The Amazon Resource Name (ARN) of the current instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • accountId

      InstanceRecommendation.Builder accountId(String accountId)

      The Amazon Web Services account ID of the instance.

      Parameters:
      accountId - The Amazon Web Services account ID of the instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • instanceName

      InstanceRecommendation.Builder instanceName(String instanceName)

      The name of the current instance.

      Parameters:
      instanceName - The name of the current instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • currentInstanceType

      InstanceRecommendation.Builder currentInstanceType(String currentInstanceType)

      The instance type of the current instance.

      Parameters:
      currentInstanceType - The instance type of the current instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • findingReasonCodesWithStrings

      InstanceRecommendation.Builder findingReasonCodesWithStrings(Collection<String> 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • findingReasonCodesWithStrings

      InstanceRecommendation.Builder findingReasonCodesWithStrings(String... 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • utilizationMetrics

      InstanceRecommendation.Builder utilizationMetrics(Collection<UtilizationMetric> utilizationMetrics)

      An array of objects that describe the utilization metrics of the instance.

      Parameters:
      utilizationMetrics - An array of objects that describe the utilization metrics of the instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • utilizationMetrics

      InstanceRecommendation.Builder utilizationMetrics(UtilizationMetric... utilizationMetrics)

      An array of objects that describe the utilization metrics of the instance.

      Parameters:
      utilizationMetrics - An array of objects that describe the utilization metrics of the instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • utilizationMetrics

      InstanceRecommendation.Builder utilizationMetrics(Consumer<UtilizationMetric.Builder>... utilizationMetrics)

      An array of objects that describe the utilization metrics of the instance.

      This is a convenience method that creates an instance of the UtilizationMetric.Builder avoiding the need to create one manually via UtilizationMetric.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to utilizationMetrics(List<UtilizationMetric>).

      Parameters:
      utilizationMetrics - a consumer that will call methods on UtilizationMetric.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • lookBackPeriodInDays

      InstanceRecommendation.Builder lookBackPeriodInDays(Double lookBackPeriodInDays)

      The number of days for which utilization metrics were analyzed for the instance.

      Parameters:
      lookBackPeriodInDays - The number of days for which utilization metrics were analyzed for the instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • recommendationOptions

      InstanceRecommendation.Builder recommendationOptions(Collection<InstanceRecommendationOption> recommendationOptions)

      An array of objects that describe the recommendation options for the instance.

      Parameters:
      recommendationOptions - An array of objects that describe the recommendation options for the instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • recommendationOptions

      InstanceRecommendation.Builder recommendationOptions(InstanceRecommendationOption... recommendationOptions)

      An array of objects that describe the recommendation options for the instance.

      Parameters:
      recommendationOptions - An array of objects that describe the recommendation options for the instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • recommendationOptions

      InstanceRecommendation.Builder recommendationOptions(Consumer<InstanceRecommendationOption.Builder>... recommendationOptions)

      An array of objects that describe the recommendation options for the instance.

      This is a convenience method that creates an instance of the InstanceRecommendationOption.Builder avoiding the need to create one manually via InstanceRecommendationOption.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to recommendationOptions(List<InstanceRecommendationOption>).

      Parameters:
      recommendationOptions - a consumer that will call methods on InstanceRecommendationOption.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • recommendationSources

      InstanceRecommendation.Builder recommendationSources(Collection<RecommendationSource> recommendationSources)

      An array of objects that describe the source resource of the recommendation.

      Parameters:
      recommendationSources - An array of objects that describe the source resource of the recommendation.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • recommendationSources

      InstanceRecommendation.Builder recommendationSources(RecommendationSource... recommendationSources)

      An array of objects that describe the source resource of the recommendation.

      Parameters:
      recommendationSources - An array of objects that describe the source resource of the recommendation.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • recommendationSources

      InstanceRecommendation.Builder recommendationSources(Consumer<RecommendationSource.Builder>... recommendationSources)

      An array of objects that describe the source resource of the recommendation.

      This is a convenience method that creates an instance of the RecommendationSource.Builder avoiding the need to create one manually via RecommendationSource.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to recommendationSources(List<RecommendationSource>).

      Parameters:
      recommendationSources - a consumer that will call methods on RecommendationSource.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • lastRefreshTimestamp

      InstanceRecommendation.Builder lastRefreshTimestamp(Instant lastRefreshTimestamp)

      The timestamp of when the instance recommendation was last generated.

      Parameters:
      lastRefreshTimestamp - The timestamp of when the instance recommendation was last generated.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • currentPerformanceRisk

      InstanceRecommendation.Builder currentPerformanceRisk(String 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.

      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • currentPerformanceRisk

      InstanceRecommendation.Builder currentPerformanceRisk(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.

      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • effectiveRecommendationPreferences

      InstanceRecommendation.Builder effectiveRecommendationPreferences(EffectiveRecommendationPreferences effectiveRecommendationPreferences)

      An object that describes the effective recommendation preferences for the instance.

      Parameters:
      effectiveRecommendationPreferences - An object that describes the effective recommendation preferences for the instance.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • effectiveRecommendationPreferences

      default InstanceRecommendation.Builder effectiveRecommendationPreferences(Consumer<EffectiveRecommendationPreferences.Builder> effectiveRecommendationPreferences)

      An object that describes the effective recommendation preferences for the instance.

      This is a convenience method that creates an instance of the EffectiveRecommendationPreferences.Builder avoiding the need to create one manually via EffectiveRecommendationPreferences.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to effectiveRecommendationPreferences(EffectiveRecommendationPreferences).

      Parameters:
      effectiveRecommendationPreferences - a consumer that will call methods on EffectiveRecommendationPreferences.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • inferredWorkloadTypesWithStrings

      InstanceRecommendation.Builder inferredWorkloadTypesWithStrings(Collection<String> 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • inferredWorkloadTypesWithStrings

      InstanceRecommendation.Builder inferredWorkloadTypesWithStrings(String... 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • inferredWorkloadTypes

      InstanceRecommendation.Builder inferredWorkloadTypes(Collection<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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • inferredWorkloadTypes

      InstanceRecommendation.Builder inferredWorkloadTypes(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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • instanceState

      InstanceRecommendation.Builder instanceState(String instanceState)

      The state of the instance when the recommendation was generated.

      Parameters:
      instanceState - The state of the instance when the recommendation was generated.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • instanceState

      InstanceRecommendation.Builder instanceState(InstanceState instanceState)

      The state of the instance when the recommendation was generated.

      Parameters:
      instanceState - The state of the instance when the recommendation was generated.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • tags

      A list of tags assigned to your Amazon EC2 instance recommendations.

      Parameters:
      tags - A list of tags assigned to your Amazon EC2 instance recommendations.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • tags

      A list of tags assigned to your Amazon EC2 instance recommendations.

      Parameters:
      tags - A list of tags assigned to your Amazon EC2 instance recommendations.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • tags

      A list of tags assigned to your Amazon EC2 instance recommendations.

      This is a convenience method that creates an instance of the Tag.Builder avoiding the need to create one manually via Tag.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to tags(List<Tag>).

      Parameters:
      tags - a consumer that will call methods on Tag.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • externalMetricStatus

      InstanceRecommendation.Builder externalMetricStatus(ExternalMetricStatus externalMetricStatus)

      An object that describes Compute Optimizer's integration status with your external metrics provider.

      Parameters:
      externalMetricStatus - An object that describes Compute Optimizer's integration status with your external metrics provider.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • externalMetricStatus

      default InstanceRecommendation.Builder externalMetricStatus(Consumer<ExternalMetricStatus.Builder> externalMetricStatus)

      An object that describes Compute Optimizer's integration status with your external metrics provider.

      This is a convenience method that creates an instance of the ExternalMetricStatus.Builder avoiding the need to create one manually via ExternalMetricStatus.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to externalMetricStatus(ExternalMetricStatus).

      Parameters:
      externalMetricStatus - a consumer that will call methods on ExternalMetricStatus.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • currentInstanceGpuInfo

      InstanceRecommendation.Builder currentInstanceGpuInfo(GpuInfo currentInstanceGpuInfo)

      Describes the GPU accelerator settings for the current instance type.

      Parameters:
      currentInstanceGpuInfo - Describes the GPU accelerator settings for the current instance type.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • currentInstanceGpuInfo

      default InstanceRecommendation.Builder currentInstanceGpuInfo(Consumer<GpuInfo.Builder> currentInstanceGpuInfo)

      Describes the GPU accelerator settings for the current instance type.

      This is a convenience method that creates an instance of the GpuInfo.Builder avoiding the need to create one manually via GpuInfo.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to currentInstanceGpuInfo(GpuInfo).

      Parameters:
      currentInstanceGpuInfo - a consumer that will call methods on GpuInfo.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • idle

      Describes if an Amazon EC2 instance is idle.

      Parameters:
      idle - Describes if an Amazon EC2 instance is idle.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • idle

      Describes if an Amazon EC2 instance is idle.

      Parameters:
      idle - Describes if an Amazon EC2 instance is idle.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also: