import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { PutBucketTaggingRequest } from "../models/models_1"; import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PutBucketTaggingCommand}. */ export interface PutBucketTaggingCommandInput extends PutBucketTaggingRequest { } /** * @public * * The output of {@link PutBucketTaggingCommand}. */ export interface PutBucketTaggingCommandOutput extends __MetadataBearer { } declare const PutBucketTaggingCommand_base: { new (input: PutBucketTaggingCommandInput): import("@smithy/smithy-client").CommandImpl; new (__0_0: PutBucketTaggingCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** * *

This operation is not supported by directory buckets.

*
*

Sets the tags for a bucket.

*

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, * sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost * of combined resources, organize your billing information according to resources with the * same tag key values. For example, you can tag several resources with a specific application * name, and then organize your billing information to see the total cost of that application * across several services. For more information, see Cost Allocation and * Tagging and Using Cost Allocation in Amazon S3 * Bucket Tags.

* *

When this operation sets the tags for a bucket, it will overwrite any current tags * the bucket already has. You cannot use this operation to add tags to an existing list of * tags.

*
*

To use this operation, you must have permissions to perform the * s3:PutBucketTagging action. The bucket owner has this permission by default * and 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.

*

* PutBucketTagging has the following special errors. For more Amazon S3 errors * see, Error * Responses.

* *

The following operations are related to PutBucketTagging:

* * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { S3Client, PutBucketTaggingCommand } from "@aws-sdk/client-s3"; // ES Modules import * // const { S3Client, PutBucketTaggingCommand } = require("@aws-sdk/client-s3"); // CommonJS import * const client = new S3Client(config); * const input = { // PutBucketTaggingRequest * Bucket: "STRING_VALUE", // required * ContentMD5: "STRING_VALUE", * ChecksumAlgorithm: "CRC32" || "CRC32C" || "SHA1" || "SHA256", * Tagging: { // Tagging * TagSet: [ // TagSet // required * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * }, * ExpectedBucketOwner: "STRING_VALUE", * }; * const command = new PutBucketTaggingCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param PutBucketTaggingCommandInput - {@link PutBucketTaggingCommandInput} * @returns {@link PutBucketTaggingCommandOutput} * @see {@link PutBucketTaggingCommandInput} for command's `input` shape. * @see {@link PutBucketTaggingCommandOutput} 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 * @example Set tags on a bucket * ```javascript * // The following example sets tags on a bucket. Any existing tags are replaced. * const input = { * "Bucket": "examplebucket", * "Tagging": { * "TagSet": [ * { * "Key": "Key1", * "Value": "Value1" * }, * { * "Key": "Key2", * "Value": "Value2" * } * ] * } * }; * const command = new PutBucketTaggingCommand(input); * await client.send(command); * // example id: set-tags-on-a-bucket-1482346269066 * ``` * */ export declare class PutBucketTaggingCommand extends PutBucketTaggingCommand_base { }