import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { MediaStoreClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaStoreClient"; import type { PutMetricPolicyInput, PutMetricPolicyOutput } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PutMetricPolicyCommand}. */ export interface PutMetricPolicyCommandInput extends PutMetricPolicyInput { } /** * @public * * The output of {@link PutMetricPolicyCommand}. */ export interface PutMetricPolicyCommandOutput extends PutMetricPolicyOutput, __MetadataBearer { } declare const PutMetricPolicyCommand_base: { new (input: PutMetricPolicyCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: PutMetricPolicyCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

The metric policy that you want to add to the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. It takes up to 20 minutes for the new policy to take effect.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { MediaStoreClient, PutMetricPolicyCommand } from "@aws-sdk/client-mediastore"; // ES Modules import * // const { MediaStoreClient, PutMetricPolicyCommand } = require("@aws-sdk/client-mediastore"); // CommonJS import * // import type { MediaStoreClientConfig } from "@aws-sdk/client-mediastore"; * const config = {}; // type is MediaStoreClientConfig * const client = new MediaStoreClient(config); * const input = { // PutMetricPolicyInput * ContainerName: "STRING_VALUE", // required * MetricPolicy: { // MetricPolicy * ContainerLevelMetrics: "ENABLED" || "DISABLED", // required * MetricPolicyRules: [ // MetricPolicyRules * { // MetricPolicyRule * ObjectGroup: "STRING_VALUE", // required * ObjectGroupName: "STRING_VALUE", // required * }, * ], * }, * }; * const command = new PutMetricPolicyCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param PutMetricPolicyCommandInput - {@link PutMetricPolicyCommandInput} * @returns {@link PutMetricPolicyCommandOutput} * @see {@link PutMetricPolicyCommandInput} for command's `input` shape. * @see {@link PutMetricPolicyCommandOutput} for command's `response` shape. * @see {@link MediaStoreClientResolvedConfig | config} for MediaStoreClient's `config` shape. * * @throws {@link ContainerInUseException} (client fault) *

The container that you specified in the request already exists or is being * updated.

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

The container that you specified in the request does not exist.

* * @throws {@link InternalServerError} (server fault) *

The service is temporarily unavailable.

* * @throws {@link MediaStoreServiceException} *

Base exception class for all service exceptions from MediaStore service.

* * * @public */ export declare class PutMetricPolicyCommand extends PutMetricPolicyCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutMetricPolicyInput; output: {}; }; sdk: { input: PutMetricPolicyCommandInput; output: PutMetricPolicyCommandOutput; }; }; }