Skip to content

create_monitoring_subscription

create_monitoring_subscription(
    distribution_id: string,
    monitoring_subscription: MonitoringSubscription,
    *,
    config_overrides: Optional[CloudFrontClientConfig] = None,
) -> CreateMonitoringSubscriptionResult

Enables or disables additional Amazon CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an additional cost.

For more information, see Viewing additional CloudFront distribution metrics in the Amazon CloudFront Developer Guide.

Parameters:

  • distribution_id (string) –

    The ID of the distribution that you are enabling metrics for.

  • monitoring_subscription (MonitoringSubscription) –

    A monitoring subscription. This structure contains information about whether additional CloudWatch metrics are enabled for a given CloudFront distribution.

Raises:

Source code in docs_src/capo_cloudfront/_services/cloud_front.py
def create_monitoring_subscription(
    self,
    distribution_id: "capo_cloudfront.types.string.string",
    monitoring_subscription: "capo_cloudfront.types.monitoring_subscription.MonitoringSubscription",
    *,
    config_overrides: Optional[CloudFrontClientConfig] = None,
) -> "capo_cloudfront.types.create_monitoring_subscription_result.CreateMonitoringSubscriptionResult":
    """<p>Enables or disables additional Amazon CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an additional cost.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional">Viewing additional CloudFront distribution metrics</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>

    Args:
        distribution_id: <p>The ID of the distribution that you are enabling metrics for.</p>
        monitoring_subscription: <p>A monitoring subscription. This structure contains information about whether additional CloudWatch metrics are enabled for a given CloudFront distribution.</p>

    Raises:
        capo_cloudfront.errors.access_denied.AccessDenied: <p>Access denied.</p>
        capo_cloudfront.errors.monitoring_subscription_already_exists.MonitoringSubscriptionAlreadyExists: <p>A monitoring subscription already exists for the specified distribution.</p>
        capo_cloudfront.errors.no_such_distribution.NoSuchDistribution: <p>The specified distribution does not exist.</p>
        capo_cloudfront.errors.unsupported_operation.UnsupportedOperation: <p>This operation is not supported in this Amazon Web Services Region.</p>
        capo_cloudfront.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_cloudfront.types.create_monitoring_subscription_request.CreateMonitoringSubscriptionRequest]",
    ) -> OperationResponse[
        "capo_cloudfront.types.create_monitoring_subscription_result.CreateMonitoringSubscriptionResult"
    ]:
        import capo_cloudfront._operations.cloudfront2020_05_31.create_monitoring_subscription

        output, http_response = (
            capo_cloudfront._operations.cloudfront2020_05_31.create_monitoring_subscription.create_monitoring_subscription(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateMonitoringSubscription")
    )
    input_: capo_cloudfront.types.create_monitoring_subscription_request.CreateMonitoringSubscriptionRequest = {
        "distribution_id": distribution_id,
        "monitoring_subscription": monitoring_subscription,
    }

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