import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; import { CreateMonitoringSubscriptionRequest, CreateMonitoringSubscriptionResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateMonitoringSubscriptionCommand}. */ export interface CreateMonitoringSubscriptionCommandInput extends CreateMonitoringSubscriptionRequest { } /** * @public * * The output of {@link CreateMonitoringSubscriptionCommand}. */ export interface CreateMonitoringSubscriptionCommandOutput extends CreateMonitoringSubscriptionResult, __MetadataBearer { } declare const CreateMonitoringSubscriptionCommand_base: { new (input: CreateMonitoringSubscriptionCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateMonitoringSubscriptionCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

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.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { CloudFrontClient, CreateMonitoringSubscriptionCommand } from "@aws-sdk/client-cloudfront"; // ES Modules import * // const { CloudFrontClient, CreateMonitoringSubscriptionCommand } = require("@aws-sdk/client-cloudfront"); // CommonJS import * const client = new CloudFrontClient(config); * const input = { // CreateMonitoringSubscriptionRequest * DistributionId: "STRING_VALUE", // required * MonitoringSubscription: { // MonitoringSubscription * RealtimeMetricsSubscriptionConfig: { // RealtimeMetricsSubscriptionConfig * RealtimeMetricsSubscriptionStatus: "Enabled" || "Disabled", // required * }, * }, * }; * const command = new CreateMonitoringSubscriptionCommand(input); * const response = await client.send(command); * // { // CreateMonitoringSubscriptionResult * // MonitoringSubscription: { // MonitoringSubscription * // RealtimeMetricsSubscriptionConfig: { // RealtimeMetricsSubscriptionConfig * // RealtimeMetricsSubscriptionStatus: "Enabled" || "Disabled", // required * // }, * // }, * // }; * * ``` * * @param CreateMonitoringSubscriptionCommandInput - {@link CreateMonitoringSubscriptionCommandInput} * @returns {@link CreateMonitoringSubscriptionCommandOutput} * @see {@link CreateMonitoringSubscriptionCommandInput} for command's `input` shape. * @see {@link CreateMonitoringSubscriptionCommandOutput} for command's `response` shape. * @see {@link CloudFrontClientResolvedConfig | config} for CloudFrontClient's `config` shape. * * @throws {@link AccessDenied} (client fault) *

Access denied.

* * @throws {@link MonitoringSubscriptionAlreadyExists} (client fault) *

A monitoring subscription already exists for the specified distribution.

* * @throws {@link NoSuchDistribution} (client fault) *

The specified distribution does not exist.

* * @throws {@link UnsupportedOperation} (client fault) *

This operation is not supported in this Amazon Web Services Region.

* * @throws {@link CloudFrontServiceException} *

Base exception class for all service exceptions from CloudFront service.

* * * @public */ export declare class CreateMonitoringSubscriptionCommand extends CreateMonitoringSubscriptionCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateMonitoringSubscriptionRequest; output: CreateMonitoringSubscriptionResult; }; sdk: { input: CreateMonitoringSubscriptionCommandInput; output: CreateMonitoringSubscriptionCommandOutput; }; }; }