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

This operation is not supported for directory buckets.

*
*

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

* *

A bucket doesn't have OwnershipControls settings in the following cases:

*
    *
  • *

    The bucket was created before the BucketOwnerEnforced ownership setting was * introduced and you've never explicitly applied this value

    *
  • *
  • *

    You've manually deleted the bucket ownership control value using the * DeleteBucketOwnershipControls API operation.

    *
  • *
*

By default, Amazon S3 sets OwnershipControls for all newly created buckets.

*
*

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

*

The following operations are related to GetBucketOwnershipControls:

* * *

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