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 { HeadObjectOutput, HeadObjectRequest } from "../models/models_0"; import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public * * The input for {@link HeadObjectCommand}. */ export interface HeadObjectCommandInput extends HeadObjectRequest { } /** * @public * * The output of {@link HeadObjectCommand}. */ export interface HeadObjectCommandOutput extends HeadObjectOutput, __MetadataBearer { } /** * @public *

The HEAD action retrieves metadata from an object without returning the object * itself. This action is useful if you're only interested in an object's metadata. To use * HEAD, you must have READ access to the object.

*

A HEAD request has the same options as a GET action on an * object. The response is identical to the GET response except that there is no * response body. Because of this, if the HEAD request generates an error, it * returns a generic 404 Not Found or 403 Forbidden code. It is not * possible to retrieve the exact exception beyond these error codes.

*

If you encrypt an object by using server-side encryption with customer-provided * encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the * metadata from the object, you must use the following headers:

* *

For more information about SSE-C, see Server-Side Encryption (Using * Customer-Provided Encryption Keys).

* * * *

Request headers are limited to 8 KB in size. For more information, see Common Request * Headers.

*

Consider the following when using request headers:

* *

For more information about conditional requests, see RFC 7232.

*

* Permissions *

*

You need the relevant read object (or version) permission for this operation. For more * information, see Specifying Permissions * in a Policy. If the object you request does not exist, the error Amazon S3 returns * depends on whether you also have the s3:ListBucket permission.

* *

The following actions are related to HeadObject:

* * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { S3Client, HeadObjectCommand } from "@aws-sdk/client-s3"; // ES Modules import * // const { S3Client, HeadObjectCommand } = require("@aws-sdk/client-s3"); // CommonJS import * const client = new S3Client(config); * const input = { // HeadObjectRequest * Bucket: "STRING_VALUE", // required * IfMatch: "STRING_VALUE", * IfModifiedSince: new Date("TIMESTAMP"), * IfNoneMatch: "STRING_VALUE", * IfUnmodifiedSince: new Date("TIMESTAMP"), * Key: "STRING_VALUE", // required * Range: "STRING_VALUE", * VersionId: "STRING_VALUE", * SSECustomerAlgorithm: "STRING_VALUE", * SSECustomerKey: "STRING_VALUE", * SSECustomerKeyMD5: "STRING_VALUE", * RequestPayer: "requester", * PartNumber: Number("int"), * ExpectedBucketOwner: "STRING_VALUE", * ChecksumMode: "ENABLED", * }; * const command = new HeadObjectCommand(input); * const response = await client.send(command); * ``` * * @param HeadObjectCommandInput - {@link HeadObjectCommandInput} * @returns {@link HeadObjectCommandOutput} * @see {@link HeadObjectCommandInput} for command's `input` shape. * @see {@link HeadObjectCommandOutput} for command's `response` shape. * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape. * * @throws {@link NotFound} (client fault) *

The specified content does not exist.

* * * @example To retrieve metadata of an object without returning the object itself * ```javascript * // The following example retrieves an object metadata. * const input = { * "Bucket": "examplebucket", * "Key": "HappyFace.jpg" * }; * const command = new HeadObjectCommand(input); * const response = await client.send(command); * /* response == * { * "AcceptRanges": "bytes", * "ContentLength": "3191", * "ContentType": "image/jpeg", * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", * "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", * "Metadata": {}, * "VersionId": "null" * } * *\/ * // example id: to-retrieve-metadata-of-an-object-without-returning-the-object-itself-1481834820480 * ``` * */ export declare class HeadObjectCommand extends $Command { readonly input: HeadObjectCommandInput; static getEndpointParameterInstructions(): EndpointParameterInstructions; /** * @public */ constructor(input: HeadObjectCommandInput); /** * @internal */ resolveMiddleware(clientStack: MiddlewareStack, configuration: S3ClientResolvedConfig, options?: __HttpHandlerOptions): Handler; /** * @internal */ private serialize; /** * @internal */ private deserialize; }