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 { GetObjectAttributesOutput, GetObjectAttributesRequest } from "../models/models_0"; import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client"; /** * @public * * The input for {@link GetObjectAttributesCommand}. */ export interface GetObjectAttributesCommandInput extends GetObjectAttributesRequest { } /** * @public * * The output of {@link GetObjectAttributesCommand}. */ export interface GetObjectAttributesCommandOutput extends GetObjectAttributesOutput, __MetadataBearer { } /** * @public *
Retrieves all the metadata from an object without returning the object itself. This
* action is useful if you're interested only in an object's metadata. To use
* GetObjectAttributes, you must have READ access to the object.
* GetObjectAttributes combines the functionality of
* GetObjectAcl, GetObjectLegalHold,
* GetObjectLockConfiguration, GetObjectRetention,
* GetObjectTagging, HeadObject, and ListParts. All
* of the data returned with each of those individual calls can be returned with a single call
* to GetObjectAttributes.
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:
*
* x-amz-server-side-encryption-customer-algorithm
*
* x-amz-server-side-encryption-customer-key
*
* x-amz-server-side-encryption-customer-key-MD5
*
For more information about SSE-C, see Server-Side Encryption * (Using Customer-Provided Encryption Keys) in the * Amazon S3 User Guide.
*Encryption request headers, such as
* x-amz-server-side-encryption, should not be sent for GET requests
* if your object uses server-side encryption with Amazon Web Services KMS keys stored in Amazon Web Services Key
* Management Service (SSE-KMS) or server-side encryption with Amazon S3 managed
* encryption keys (SSE-S3). If your object does use these types of keys, you'll get
* an HTTP 400 Bad Request error.
* The last modified property in this case is the creation date of the object.
*Consider the following when using request headers:
* If both of the If-Match and If-Unmodified-Since
* headers are present in the request as follows, then Amazon S3 returns the HTTP
* status code 200 OK and the data requested:
* If-Match condition evaluates to true.
* If-Unmodified-Since condition evaluates to
* false.
If both of the If-None-Match and If-Modified-Since
* headers are present in the request as follows, then Amazon S3 returns the HTTP status code
* 304 Not Modified:
* If-None-Match condition evaluates to
* false.
* If-Modified-Since condition evaluates to
* true.
For more information about conditional requests, see RFC 7232.
** Permissions *
*The permissions that you need to use this operation depend on whether the bucket is
* versioned. If the bucket is versioned, you need both the s3:GetObjectVersion
* and s3:GetObjectVersionAttributes permissions for this operation. If the
* bucket is not versioned, you need the s3:GetObject and
* s3:GetObjectAttributes permissions. For more information, see Specifying
* Permissions in a Policy in the Amazon S3 User Guide. If the
* object that you request does not exist, the error Amazon S3 returns depends on whether you also
* have the s3:ListBucket permission.
If you have the s3:ListBucket permission on the bucket, Amazon S3
* returns an HTTP status code 404 Not Found ("no such key") error.
If you don't have the s3:ListBucket permission, Amazon S3 returns an
* HTTP status code 403 Forbidden ("access denied") error.
The following actions are related to GetObjectAttributes:
* GetObject *
** GetObjectAcl *
** GetObjectTagging *
** HeadObject *
** ListParts *
*The specified key does not exist.
* * */ export declare class GetObjectAttributesCommand extends $Command