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 { DeleteObjectOutput, DeleteObjectRequest } from "../models/models_0"; import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public * * The input for {@link DeleteObjectCommand}. */ export interface DeleteObjectCommandInput extends DeleteObjectRequest { } /** * @public * * The output of {@link DeleteObjectCommand}. */ export interface DeleteObjectCommandOutput extends DeleteObjectOutput, __MetadataBearer { } /** * @public *
Removes the null version (if there is one) of an object and inserts a delete marker, * which becomes the latest version of the object. If there isn't a null version, Amazon S3 does * not remove any objects but will still respond that the command was successful.
*To remove a specific version, you must be the bucket owner and you must use the version
* Id subresource. Using this subresource permanently deletes the version. If the object
* deleted is a delete marker, Amazon S3 sets the response header,
* x-amz-delete-marker, to true.
If the object you want to delete is in a bucket where the bucket versioning
* configuration is MFA Delete enabled, you must include the x-amz-mfa request
* header in the DELETE versionId request. Requests that include
* x-amz-mfa must use HTTPS.
For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.
*You can delete objects by explicitly calling DELETE Object or configure its
* lifecycle (PutBucketLifecycle) to
* enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or
* deleting objects from your bucket, you must deny them the s3:DeleteObject,
* s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration
* actions.
The following action is related to DeleteObject:
* PutObject *
*