Skip to content

list_available_resource_metrics async

list_available_resource_metrics(
    service_type: ServiceType,
    identifier: IdentifierString,
    metric_types: MetricTypeList,
    *,
    config_overrides: Optional[AsyncPIClientConfig] = None,
    next_token: Optional[NextToken] = None,
    max_results: Optional[MaxResults] = None,
) -> ListAvailableResourceMetricsResponse

Retrieve metrics of the specified types that can be queried for a specified DB instance.

Parameters:

  • service_type (ServiceType) –

    The Amazon Web Services service for which Performance Insights returns metrics.

  • identifier (IdentifierString) –

    An immutable identifier for a data source that is unique within an Amazon Web Services Region. Performance Insights gathers metrics from this data source. To use an Amazon RDS DB instance as a data source, specify its DbiResourceId value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VWZ.

  • metric_types (MetricTypeList) –

    The types of metrics to return in the response. Valid values in the array include the following:

    • os (OS counter metrics) - All engines

    • db (DB load metrics) - All engines except for Amazon DocumentDB

    • db.sql.stats (per-SQL metrics) - All engines except for Amazon DocumentDB

    • db.sql_tokenized.stats (per-SQL digest metrics) - All engines except for Amazon DocumentDB

  • next_token (Optional[NextToken], default: None ) –

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

  • max_results (Optional[MaxResults], default: None ) –

    The maximum number of items to return. If the MaxRecords value is less than the number of existing items, the response includes a pagination token.

Raises:

Source code in docs_src/capo_pi/_services/async_pi.py
async def list_available_resource_metrics(
    self,
    service_type: "capo_pi.types.service_type.ServiceType",
    identifier: "capo_pi.types.identifier_string.IdentifierString",
    metric_types: "capo_pi.types.metric_type_list.MetricTypeList",
    *,
    config_overrides: Optional[AsyncPIClientConfig] = None,
    next_token: Optional["capo_pi.types.next_token.NextToken"] = None,
    max_results: Optional["capo_pi.types.max_results.MaxResults"] = None,
) -> "capo_pi.types.list_available_resource_metrics_response.ListAvailableResourceMetricsResponse":
    """<p>Retrieve metrics of the specified types that can be queried for a specified DB instance. </p>

    Args:
        service_type: <p>The Amazon Web Services service for which Performance Insights returns metrics.</p>
        identifier: <p>An immutable identifier for a data source that is unique within an Amazon Web Services Region. Performance Insights gathers metrics from this data source. To use an Amazon RDS DB instance as a data source, specify its <code>DbiResourceId</code> value. For example, specify <code>db-ABCDEFGHIJKLMNOPQRSTU1VWZ</code>. </p>
        metric_types: <p>The types of metrics to return in the response. Valid values in the array include the following:</p> <ul> <li> <p> <code>os</code> (OS counter metrics) - All engines</p> </li> <li> <p> <code>db</code> (DB load metrics) - All engines except for Amazon DocumentDB</p> </li> <li> <p> <code>db.sql.stats</code> (per-SQL metrics) - All engines except for Amazon DocumentDB</p> </li> <li> <p> <code>db.sql_tokenized.stats</code> (per-SQL digest metrics) - All engines except for Amazon DocumentDB</p> </li> </ul>
        next_token: <p>An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by <code>MaxRecords</code>. </p>
        max_results: <p>The maximum number of items to return. If the <code>MaxRecords</code> value is less than the number of existing items, the response includes a pagination token. </p>

    Raises:
        capo_pi.errors.internal_service_error.InternalServiceError: <p>The request failed due to an unknown error.</p>
        capo_pi.errors.invalid_argument_exception.InvalidArgumentException: <p>One of the arguments provided is invalid for this request.</p>
        capo_pi.errors.not_authorized_exception.NotAuthorizedException: <p>The user is not authorized to perform this request.</p>
        capo_pi.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_pi.types.list_available_resource_metrics_request.ListAvailableResourceMetricsRequest]",
    ) -> AsyncOperationResponse[
        "capo_pi.types.list_available_resource_metrics_response.ListAvailableResourceMetricsResponse"
    ]:
        import capo_pi._operations.performance_insightsv20180227.list_available_resource_metrics

        (
            output,
            http_response,
        ) = await capo_pi._operations.performance_insightsv20180227.list_available_resource_metrics.async_list_available_resource_metrics(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListAvailableResourceMetrics")
    )
    input_: capo_pi.types.list_available_resource_metrics_request.ListAvailableResourceMetricsRequest = {
        "service_type": service_type,
        "identifier": identifier,
        "metric_types": metric_types,
    }
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output