import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { PutBucketMetricsConfigurationRequest } from "../models/models_0"; import type { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PutBucketMetricsConfigurationCommand}. */ export interface PutBucketMetricsConfigurationCommandInput extends PutBucketMetricsConfigurationRequest { } /** * @public * * The output of {@link PutBucketMetricsConfigurationCommand}. */ export interface PutBucketMetricsConfigurationCommandOutput extends __MetadataBearer { } declare const PutBucketMetricsConfigurationCommand_base: { new (input: PutBucketMetricsConfigurationCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: PutBucketMetricsConfigurationCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** * *

This operation is not supported for directory buckets.

*
*

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. You can * have up to 1,000 metrics configurations per bucket. If you're updating an existing metrics * configuration, note that this is a full replacement of the existing metrics configuration. If you don't * include the elements you want to keep, they are erased.

*

To use this operation, you must have permissions to perform the * s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The * bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 * Resources.

*

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon * CloudWatch.

*

The following operations are related to PutBucketMetricsConfiguration:

* *

* PutBucketMetricsConfiguration has the following special error:

* * *

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { S3Client, PutBucketMetricsConfigurationCommand } from "@aws-sdk/client-s3"; // ES Modules import * // const { S3Client, PutBucketMetricsConfigurationCommand } = require("@aws-sdk/client-s3"); // CommonJS import * // import type { S3ClientConfig } from "@aws-sdk/client-s3"; * const config = {}; // type is S3ClientConfig * const client = new S3Client(config); * const input = { // PutBucketMetricsConfigurationRequest * Bucket: "STRING_VALUE", // required * Id: "STRING_VALUE", // required * MetricsConfiguration: { // MetricsConfiguration * Id: "STRING_VALUE", // required * Filter: { // MetricsFilter Union: only one key present * Prefix: "STRING_VALUE", * Tag: { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * AccessPointArn: "STRING_VALUE", * And: { // MetricsAndOperator * Prefix: "STRING_VALUE", * Tags: [ // TagSet * { * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * AccessPointArn: "STRING_VALUE", * }, * }, * }, * ExpectedBucketOwner: "STRING_VALUE", * }; * const command = new PutBucketMetricsConfigurationCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param PutBucketMetricsConfigurationCommandInput - {@link PutBucketMetricsConfigurationCommandInput} * @returns {@link PutBucketMetricsConfigurationCommandOutput} * @see {@link PutBucketMetricsConfigurationCommandInput} for command's `input` shape. * @see {@link PutBucketMetricsConfigurationCommandOutput} for command's `response` shape. * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape. * * @throws {@link S3ServiceException} *

Base exception class for all service exceptions from S3 service.

* * * @public */ export declare class PutBucketMetricsConfigurationCommand extends PutBucketMetricsConfigurationCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutBucketMetricsConfigurationRequest; output: {}; }; sdk: { input: PutBucketMetricsConfigurationCommandInput; output: PutBucketMetricsConfigurationCommandOutput; }; }; }