Skip to content

get_ec2_recommendation_projected_metrics

get_ec2_recommendation_projected_metrics(
    instance_arn: InstanceArn,
    stat: MetricStatistic,
    period: Period,
    start_time: Timestamp,
    end_time: Timestamp,
    *,
    config_overrides: Optional[ComputeOptimizerClientConfig] = None,
    recommendation_preferences: Optional[RecommendationPreferences] = None,
) -> GetEC2RecommendationProjectedMetricsResponse

Returns the projected utilization metrics of Amazon EC2 instance recommendations.

The Cpu and Memory metrics are the only projected utilization metrics returned when you run this action. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

Parameters:

  • instance_arn (InstanceArn) –

    The Amazon Resource Name (ARN) of the instances for which to return recommendation projected metrics.

  • stat (MetricStatistic) –

    The statistic of the projected metrics.

  • period (Period) –

    The granularity, in seconds, of the projected metrics data points.

  • start_time (Timestamp) –

    The timestamp of the first projected metrics data point to return.

  • end_time (Timestamp) –

    The timestamp of the last projected metrics data point to return.

  • recommendation_preferences (Optional[RecommendationPreferences], default: None ) –

    An object to specify the preferences for the Amazon EC2 recommendation projected metrics to return in the response.

Raises:

Source code in docs_src/capo_compute_optimizer/_services/compute_optimizer.py
def get_ec2_recommendation_projected_metrics(
    self,
    instance_arn: "capo_compute_optimizer.types.instance_arn.InstanceArn",
    stat: "capo_compute_optimizer.types.metric_statistic.MetricStatistic",
    period: "capo_compute_optimizer.types.period.Period",
    start_time: "capo_compute_optimizer.types.timestamp.Timestamp",
    end_time: "capo_compute_optimizer.types.timestamp.Timestamp",
    *,
    config_overrides: Optional[ComputeOptimizerClientConfig] = None,
    recommendation_preferences: Optional[
        "capo_compute_optimizer.types.recommendation_preferences.RecommendationPreferences"
    ] = None,
) -> "capo_compute_optimizer.types.get_ec2_recommendation_projected_metrics_response.GetEC2RecommendationProjectedMetricsResponse":
    """<p>Returns the projected utilization metrics of Amazon EC2 instance recommendations.</p> <note> <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected utilization metrics returned when you run this action. Additionally, the <code>Memory</code> metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent">Enabling Memory Utilization with the CloudWatch Agent</a>.</p> </note>

    Args:
        instance_arn: <p>The Amazon Resource Name (ARN) of the instances for which to return recommendation projected metrics.</p>
        stat: <p>The statistic of the projected metrics.</p>
        period: <p>The granularity, in seconds, of the projected metrics data points.</p>
        start_time: <p>The timestamp of the first projected metrics data point to return.</p>
        end_time: <p>The timestamp of the last projected metrics data point to return.</p>
        recommendation_preferences: <p>An object to specify the preferences for the Amazon EC2 recommendation projected metrics to return in the response.</p>

    Raises:
        capo_compute_optimizer.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_compute_optimizer.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred. Try your call again.</p>
        capo_compute_optimizer.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>The value supplied for the input parameter is out of range or not valid.</p>
        capo_compute_optimizer.errors.missing_authentication_token.MissingAuthenticationToken: <p>The request must contain either a valid (registered) Amazon Web Services access key ID or X.509 certificate.</p>
        capo_compute_optimizer.errors.opt_in_required_exception.OptInRequiredException: <p>The account is not opted in to Compute Optimizer.</p>
        capo_compute_optimizer.errors.resource_not_found_exception.ResourceNotFoundException: <p>A resource that is required for the action doesn't exist.</p>
        capo_compute_optimizer.errors.service_unavailable_exception.ServiceUnavailableException: <p>The request has failed due to a temporary failure of the server.</p>
        capo_compute_optimizer.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_compute_optimizer.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_compute_optimizer.types.get_ec2_recommendation_projected_metrics_request.GetEC2RecommendationProjectedMetricsRequest]",
    ) -> OperationResponse[
        "capo_compute_optimizer.types.get_ec2_recommendation_projected_metrics_response.GetEC2RecommendationProjectedMetricsResponse"
    ]:
        import capo_compute_optimizer._operations.compute_optimizer_service.get_ec2_recommendation_projected_metrics

        output, http_response = (
            capo_compute_optimizer._operations.compute_optimizer_service.get_ec2_recommendation_projected_metrics.get_ec2_recommendation_projected_metrics(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("GetEC2RecommendationProjectedMetrics")
    )
    input_: capo_compute_optimizer.types.get_ec2_recommendation_projected_metrics_request.GetEC2RecommendationProjectedMetricsRequest = {
        "instance_arn": instance_arn,
        "stat": stat,
        "period": period,
        "start_time": start_time,
        "end_time": end_time,
    }
    if recommendation_preferences is not None:
        input_["recommendation_preferences"] = recommendation_preferences

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output