import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint"; import { Command as $Command } from "@aws-sdk/smithy-client"; import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types"; import { DeleteBucketPolicyRequest } from "../models/models_0"; import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public * * The input for {@link DeleteBucketPolicyCommand}. */ export interface DeleteBucketPolicyCommandInput extends DeleteBucketPolicyRequest { } /** * @public * * The output of {@link DeleteBucketPolicyCommand}. */ export interface DeleteBucketPolicyCommandOutput extends __MetadataBearer { } /** * @public *

This implementation of the DELETE action uses the policy subresource to delete the * policy of a specified bucket. If you are using an identity other than the root user of the * Amazon Web Services account that owns the bucket, the calling identity must have the * DeleteBucketPolicy permissions on the specified bucket and belong to the * bucket owner's account to use this operation.

*

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 * Access Denied error. If you have the correct permissions, but you're not using an * identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not * Allowed error.

* *

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can * always use this operation, even if the policy explicitly denies the root user the * ability to perform this action.

*
*

For more information about bucket policies, see Using Bucket Policies and * UserPolicies.

*

The following operations are related to DeleteBucketPolicy *

* * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { S3Client, DeleteBucketPolicyCommand } from "@aws-sdk/client-s3"; // ES Modules import * // const { S3Client, DeleteBucketPolicyCommand } = require("@aws-sdk/client-s3"); // CommonJS import * const client = new S3Client(config); * const input = { // DeleteBucketPolicyRequest * Bucket: "STRING_VALUE", // required * ExpectedBucketOwner: "STRING_VALUE", * }; * const command = new DeleteBucketPolicyCommand(input); * const response = await client.send(command); * ``` * * @param DeleteBucketPolicyCommandInput - {@link DeleteBucketPolicyCommandInput} * @returns {@link DeleteBucketPolicyCommandOutput} * @see {@link DeleteBucketPolicyCommandInput} for command's `input` shape. * @see {@link DeleteBucketPolicyCommandOutput} for command's `response` shape. * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape. * * * @example To delete bucket policy * ```javascript * // The following example deletes bucket policy on the specified bucket. * const input = { * "Bucket": "examplebucket" * }; * const command = new DeleteBucketPolicyCommand(input); * await client.send(command); * // example id: to-delete-bucket-policy-1483043406577 * ``` * */ export declare class DeleteBucketPolicyCommand extends $Command { readonly input: DeleteBucketPolicyCommandInput; static getEndpointParameterInstructions(): EndpointParameterInstructions; /** * @public */ constructor(input: DeleteBucketPolicyCommandInput); /** * @internal */ resolveMiddleware(clientStack: MiddlewareStack, configuration: S3ClientResolvedConfig, options?: __HttpHandlerOptions): Handler; /** * @internal */ private serialize; /** * @internal */ private deserialize; }