Skip to content

batch_delete_rum_metric_definitions

batch_delete_rum_metric_definitions(
    app_monitor_name: AppMonitorName,
    destination: MetricDestination,
    metric_definition_ids: MetricDefinitionIds,
    *,
    config_overrides: Optional[RUMClientConfig] = None,
    destination_arn: Optional[DestinationArn] = None,
) -> BatchDeleteRumMetricDefinitionsResponse

Removes the specified metrics from being sent to an extended metrics destination.

If some metric definition IDs specified in a BatchDeleteRumMetricDefinitions operations are not valid, those metric definitions fail and return errors, but all valid metric definition IDs in the same operation are still deleted.

The maximum number of metric definitions that you can specify in one BatchDeleteRumMetricDefinitions operation is 200.

Parameters:

  • app_monitor_name (AppMonitorName) –

    The name of the CloudWatch RUM app monitor that is sending these metrics.

  • destination (MetricDestination) –

    Defines the destination where you want to stop sending the specified metrics. Valid values are CloudWatch and Evidently. If you specify Evidently, you must also specify the ARN of the CloudWatchEvidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.

  • destination_arn (Optional[DestinationArn], default: None ) –

    This parameter is required if Destination is Evidently. If Destination is CloudWatch, do not use this parameter.

    This parameter specifies the ARN of the Evidently experiment that was receiving the metrics that are being deleted.

  • metric_definition_ids (MetricDefinitionIds) –

    An array of structures which define the metrics that you want to stop sending.

Raises:

Source code in docs_src/capo_rum/_services/rum.py
def batch_delete_rum_metric_definitions(
    self,
    app_monitor_name: "capo_rum.types.app_monitor_name.AppMonitorName",
    destination: "capo_rum.types.metric_destination.MetricDestination",
    metric_definition_ids: "capo_rum.types.metric_definition_ids.MetricDefinitionIds",
    *,
    config_overrides: Optional[RUMClientConfig] = None,
    destination_arn: Optional[
        "capo_rum.types.destination_arn.DestinationArn"
    ] = None,
) -> "capo_rum.types.batch_delete_rum_metric_definitions_response.BatchDeleteRumMetricDefinitionsResponse":
    """<p>Removes the specified metrics from being sent to an extended metrics destination.</p> <p>If some metric definition IDs specified in a <code>BatchDeleteRumMetricDefinitions</code> operations are not valid, those metric definitions fail and return errors, but all valid metric definition IDs in the same operation are still deleted.</p> <p>The maximum number of metric definitions that you can specify in one <code>BatchDeleteRumMetricDefinitions</code> operation is 200.</p>

    Args:
        app_monitor_name: <p>The name of the CloudWatch RUM app monitor that is sending these metrics.</p>
        destination: <p>Defines the destination where you want to stop sending the specified metrics. Valid values are <code>CloudWatch</code> and <code>Evidently</code>. If you specify <code>Evidently</code>, you must also specify the ARN of the CloudWatchEvidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.</p>
        destination_arn: <p>This parameter is required if <code>Destination</code> is <code>Evidently</code>. If <code>Destination</code> is <code>CloudWatch</code>, do not use this parameter. </p> <p>This parameter specifies the ARN of the Evidently experiment that was receiving the metrics that are being deleted.</p>
        metric_definition_ids: <p>An array of structures which define the metrics that you want to stop sending.</p>

    Raises:
        capo_rum.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient permissions to perform this action.</p>
        capo_rum.errors.conflict_exception.ConflictException: <p>This operation attempted to create a resource that already exists.</p>
        capo_rum.errors.internal_server_exception.InternalServerException: <p>Internal service exception.</p>
        capo_rum.errors.resource_not_found_exception.ResourceNotFoundException: <p>Resource not found.</p>
        capo_rum.errors.throttling_exception.ThrottlingException: <p>The request was throttled because of quota limits.</p>
        capo_rum.errors.validation_exception.ValidationException: <p>One of the arguments for the request is not valid.</p>
        capo_rum.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_rum.types.batch_delete_rum_metric_definitions_request.BatchDeleteRumMetricDefinitionsRequest]",
    ) -> OperationResponse[
        "capo_rum.types.batch_delete_rum_metric_definitions_response.BatchDeleteRumMetricDefinitionsResponse"
    ]:
        import capo_rum._operations.rum.batch_delete_rum_metric_definitions

        output, http_response = (
            capo_rum._operations.rum.batch_delete_rum_metric_definitions.batch_delete_rum_metric_definitions(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("BatchDeleteRumMetricDefinitions")
    )
    input_: capo_rum.types.batch_delete_rum_metric_definitions_request.BatchDeleteRumMetricDefinitionsRequest = {
        "app_monitor_name": app_monitor_name,
        "destination": destination,
        "metric_definition_ids": metric_definition_ids,
    }
    if destination_arn is not None:
        input_["destination_arn"] = destination_arn

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