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

This operation is not supported for directory buckets.

*
*

Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you * must have the s3:PutBucketOwnershipControls permission. For more information about Amazon S3 * permissions, see Specifying permissions in a policy.

*

For information about Amazon S3 Object Ownership, see Using object ownership.

*

The following operations are related to PutBucketOwnershipControls:

* * *

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, PutBucketOwnershipControlsCommand } from "@aws-sdk/client-s3"; // ES Modules import * // const { S3Client, PutBucketOwnershipControlsCommand } = 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 = { // PutBucketOwnershipControlsRequest * Bucket: "STRING_VALUE", // required * ContentMD5: "STRING_VALUE", * ExpectedBucketOwner: "STRING_VALUE", * OwnershipControls: { // OwnershipControls * Rules: [ // OwnershipControlsRules // required * { // OwnershipControlsRule * ObjectOwnership: "BucketOwnerPreferred" || "ObjectWriter" || "BucketOwnerEnforced", // required * }, * ], * }, * ChecksumAlgorithm: "CRC32" || "CRC32C" || "SHA1" || "SHA256" || "CRC64NVME", * }; * const command = new PutBucketOwnershipControlsCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param PutBucketOwnershipControlsCommandInput - {@link PutBucketOwnershipControlsCommandInput} * @returns {@link PutBucketOwnershipControlsCommandOutput} * @see {@link PutBucketOwnershipControlsCommandInput} for command's `input` shape. * @see {@link PutBucketOwnershipControlsCommandOutput} 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 PutBucketOwnershipControlsCommand extends PutBucketOwnershipControlsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutBucketOwnershipControlsRequest; output: {}; }; sdk: { input: PutBucketOwnershipControlsCommandInput; output: PutBucketOwnershipControlsCommandOutput; }; }; }