@aws-sdk/client-s3 3.1068.0 → 3.1070.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +35 -0
  2. package/dist-cjs/auth/httpAuthSchemeProvider.js +15 -19
  3. package/dist-cjs/endpoint/bdd.js +2 -5
  4. package/dist-cjs/endpoint/endpointResolver.js +7 -11
  5. package/dist-cjs/index.js +646 -535
  6. package/dist-cjs/models/S3ServiceException.js +4 -8
  7. package/dist-cjs/models/errors.js +106 -52
  8. package/dist-cjs/runtimeConfig.browser.js +29 -33
  9. package/dist-cjs/runtimeConfig.js +43 -47
  10. package/dist-cjs/runtimeConfig.native.js +4 -7
  11. package/dist-cjs/runtimeConfig.shared.js +25 -29
  12. package/dist-cjs/schemas/schemas_0.js +1256 -740
  13. package/dist-es/S3.js +12 -0
  14. package/dist-es/commands/DeleteObjectAnnotationCommand.js +23 -0
  15. package/dist-es/commands/GetObjectAnnotationCommand.js +28 -0
  16. package/dist-es/commands/ListObjectAnnotationsCommand.js +23 -0
  17. package/dist-es/commands/PutObjectAnnotationCommand.js +29 -0
  18. package/dist-es/commands/UpdateBucketMetadataAnnotationTableConfigurationCommand.js +27 -0
  19. package/dist-es/commands/index.js +5 -0
  20. package/dist-es/models/enums.js +12 -1
  21. package/dist-es/models/errors.js +76 -4
  22. package/dist-es/pagination/ListObjectAnnotationsPaginator.js +4 -0
  23. package/dist-es/pagination/index.js +1 -0
  24. package/dist-es/schemas/schemas_0.js +260 -100
  25. package/dist-types/S3.d.ts +42 -0
  26. package/dist-types/S3Client.d.ts +7 -2
  27. package/dist-types/commands/CopyObjectCommand.d.ts +1 -0
  28. package/dist-types/commands/CreateBucketMetadataConfigurationCommand.d.ts +27 -0
  29. package/dist-types/commands/DeleteObjectAnnotationCommand.d.ts +119 -0
  30. package/dist-types/commands/GetBucketMetadataConfigurationCommand.d.ts +11 -0
  31. package/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +3 -3
  32. package/dist-types/commands/GetObjectAnnotationCommand.d.ts +141 -0
  33. package/dist-types/commands/ListObjectAnnotationsCommand.d.ts +138 -0
  34. package/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +3 -3
  35. package/dist-types/commands/PutObjectAnnotationCommand.d.ts +166 -0
  36. package/dist-types/commands/RenameObjectCommand.d.ts +1 -1
  37. package/dist-types/commands/RestoreObjectCommand.d.ts +1 -2
  38. package/dist-types/commands/UpdateBucketMetadataAnnotationTableConfigurationCommand.d.ts +110 -0
  39. package/dist-types/commands/index.d.ts +5 -0
  40. package/dist-types/models/enums.d.ts +29 -2
  41. package/dist-types/models/errors.d.ts +76 -4
  42. package/dist-types/models/models_0.d.ts +925 -549
  43. package/dist-types/models/models_1.d.ts +380 -2
  44. package/dist-types/pagination/ListObjectAnnotationsPaginator.d.ts +7 -0
  45. package/dist-types/pagination/index.d.ts +1 -0
  46. package/dist-types/schemas/schemas_0.d.ts +24 -0
  47. package/dist-types/ts3.4/S3.d.ts +98 -0
  48. package/dist-types/ts3.4/S3Client.d.ts +30 -0
  49. package/dist-types/ts3.4/commands/DeleteObjectAnnotationCommand.d.ts +53 -0
  50. package/dist-types/ts3.4/commands/GetObjectAnnotationCommand.d.ts +61 -0
  51. package/dist-types/ts3.4/commands/ListObjectAnnotationsCommand.d.ts +53 -0
  52. package/dist-types/ts3.4/commands/PutObjectAnnotationCommand.d.ts +61 -0
  53. package/dist-types/ts3.4/commands/RenameObjectCommand.d.ts +1 -1
  54. package/dist-types/ts3.4/commands/RestoreObjectCommand.d.ts +1 -2
  55. package/dist-types/ts3.4/commands/UpdateBucketMetadataAnnotationTableConfigurationCommand.d.ts +49 -0
  56. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  57. package/dist-types/ts3.4/models/enums.d.ts +18 -3
  58. package/dist-types/ts3.4/models/errors.d.ts +41 -3
  59. package/dist-types/ts3.4/models/models_0.d.ts +138 -64
  60. package/dist-types/ts3.4/models/models_1.d.ts +75 -5
  61. package/dist-types/ts3.4/pagination/ListObjectAnnotationsPaginator.d.ts +11 -0
  62. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  63. package/dist-types/ts3.4/schemas/schemas_0.d.ts +24 -0
  64. package/package.json +20 -20
@@ -0,0 +1,138 @@
1
+ import { Command as $Command } from "@smithy/core/client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { ListObjectAnnotationsOutput, ListObjectAnnotationsRequest } from "../models/models_0";
4
+ import type { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link ListObjectAnnotationsCommand}.
14
+ */
15
+ export interface ListObjectAnnotationsCommandInput extends ListObjectAnnotationsRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link ListObjectAnnotationsCommand}.
21
+ */
22
+ export interface ListObjectAnnotationsCommandOutput extends ListObjectAnnotationsOutput, __MetadataBearer {
23
+ }
24
+ declare const ListObjectAnnotationsCommand_base: {
25
+ new (input: ListObjectAnnotationsCommandInput): import("@smithy/core/client").CommandImpl<ListObjectAnnotationsCommandInput, ListObjectAnnotationsCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: ListObjectAnnotationsCommandInput): import("@smithy/core/client").CommandImpl<ListObjectAnnotationsCommandInput, ListObjectAnnotationsCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): {
28
+ [x: string]: unknown;
29
+ };
30
+ };
31
+ /**
32
+ * <p>Lists the annotations attached to an Amazon S3 object. Results are paginated, with a maximum of
33
+ * 1,000 annotations per object. Use the <code>AnnotationPrefix</code> parameter to filter the
34
+ * results by name prefix.</p>
35
+ * <p>To use this operation, you must have the <code>s3:ListObjectAnnotations</code> permission.</p>
36
+ * <note>
37
+ * <p>Annotations are not supported by the following features: S3 Inventory Reports,
38
+ * API Gateway, S3 Storage Lens, Amazon S3 File Gateway, Amazon FSx, S3 on Outposts, and
39
+ * S3 Express One Zone (directory buckets).</p>
40
+ * </note>
41
+ * <p>The following operations are related to <code>ListObjectAnnotations</code>:</p>
42
+ * <ul>
43
+ * <li>
44
+ * <p>
45
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAnnotation.html">PutObjectAnnotation</a>
46
+ * </p>
47
+ * </li>
48
+ * <li>
49
+ * <p>
50
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAnnotation.html">GetObjectAnnotation</a>
51
+ * </p>
52
+ * </li>
53
+ * <li>
54
+ * <p>
55
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectAnnotation.html">DeleteObjectAnnotation</a>
56
+ * </p>
57
+ * </li>
58
+ * </ul>
59
+ * @example
60
+ * Use a bare-bones client and the command you need to make an API call.
61
+ * ```javascript
62
+ * import { S3Client, ListObjectAnnotationsCommand } from "@aws-sdk/client-s3"; // ES Modules import
63
+ * // const { S3Client, ListObjectAnnotationsCommand } = require("@aws-sdk/client-s3"); // CommonJS import
64
+ * // import type { S3ClientConfig } from "@aws-sdk/client-s3";
65
+ * const config = {}; // type is S3ClientConfig
66
+ * const client = new S3Client(config);
67
+ * const input = { // ListObjectAnnotationsRequest
68
+ * Bucket: "STRING_VALUE", // required
69
+ * Key: "STRING_VALUE", // required
70
+ * VersionId: "STRING_VALUE",
71
+ * MaxAnnotationResults: Number("int"),
72
+ * AnnotationPrefix: "STRING_VALUE",
73
+ * ContinuationToken: "STRING_VALUE",
74
+ * RequestPayer: "requester",
75
+ * ExpectedBucketOwner: "STRING_VALUE",
76
+ * };
77
+ * const command = new ListObjectAnnotationsCommand(input);
78
+ * const response = await client.send(command);
79
+ * // { // ListObjectAnnotationsOutput
80
+ * // Annotations: [ // AnnotationList
81
+ * // { // AnnotationEntry
82
+ * // AnnotationName: "STRING_VALUE", // required
83
+ * // LastModified: new Date("TIMESTAMP"), // required
84
+ * // ETag: "STRING_VALUE",
85
+ * // ChecksumAlgorithm: [ // ChecksumAlgorithmList
86
+ * // "CRC32" || "CRC32C" || "SHA1" || "SHA256" || "CRC64NVME" || "SHA512" || "MD5" || "XXHASH64" || "XXHASH3" || "XXHASH128",
87
+ * // ],
88
+ * // Size: Number("long"), // required
89
+ * // ReplicationStatus: "COMPLETE" || "PENDING" || "FAILED" || "REPLICA" || "COMPLETED",
90
+ * // },
91
+ * // ],
92
+ * // Bucket: "STRING_VALUE",
93
+ * // Key: "STRING_VALUE",
94
+ * // ObjectVersionId: "STRING_VALUE",
95
+ * // AnnotationPrefix: "STRING_VALUE",
96
+ * // MaxAnnotationResults: Number("int"),
97
+ * // AnnotationCount: Number("int"),
98
+ * // ContinuationToken: "STRING_VALUE",
99
+ * // NextContinuationToken: "STRING_VALUE",
100
+ * // RequestCharged: "requester",
101
+ * // };
102
+ *
103
+ * ```
104
+ *
105
+ * @param ListObjectAnnotationsCommandInput - {@link ListObjectAnnotationsCommandInput}
106
+ * @returns {@link ListObjectAnnotationsCommandOutput}
107
+ * @see {@link ListObjectAnnotationsCommandInput} for command's `input` shape.
108
+ * @see {@link ListObjectAnnotationsCommandOutput} for command's `response` shape.
109
+ * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
110
+ *
111
+ * @throws {@link InvalidPrefix} (client fault)
112
+ * <p>The annotation prefix you provided is invalid.</p>
113
+ *
114
+ * @throws {@link NoSuchBucket} (client fault)
115
+ * <p>The specified bucket does not exist.</p>
116
+ *
117
+ * @throws {@link NoSuchKey} (client fault)
118
+ * <p>The specified key does not exist.</p>
119
+ *
120
+ * @throws {@link S3ServiceException}
121
+ * <p>Base exception class for all service exceptions from S3 service.</p>
122
+ *
123
+ *
124
+ * @public
125
+ */
126
+ export declare class ListObjectAnnotationsCommand extends ListObjectAnnotationsCommand_base {
127
+ /** @internal type navigation helper, not in runtime. */
128
+ protected static __types: {
129
+ api: {
130
+ input: ListObjectAnnotationsRequest;
131
+ output: ListObjectAnnotationsOutput;
132
+ };
133
+ sdk: {
134
+ input: ListObjectAnnotationsCommandInput;
135
+ output: ListObjectAnnotationsCommandOutput;
136
+ };
137
+ };
138
+ }
@@ -97,7 +97,7 @@ declare const PutBucketNotificationConfigurationCommand_base: {
97
97
  * Id: "STRING_VALUE",
98
98
  * TopicArn: "STRING_VALUE", // required
99
99
  * Events: [ // EventList // required
100
- * "s3:ReducedRedundancyLostObject" || "s3:ObjectCreated:*" || "s3:ObjectCreated:Put" || "s3:ObjectCreated:Post" || "s3:ObjectCreated:Copy" || "s3:ObjectCreated:CompleteMultipartUpload" || "s3:ObjectRemoved:*" || "s3:ObjectRemoved:Delete" || "s3:ObjectRemoved:DeleteMarkerCreated" || "s3:ObjectRestore:*" || "s3:ObjectRestore:Post" || "s3:ObjectRestore:Completed" || "s3:Replication:*" || "s3:Replication:OperationFailedReplication" || "s3:Replication:OperationNotTracked" || "s3:Replication:OperationMissedThreshold" || "s3:Replication:OperationReplicatedAfterThreshold" || "s3:ObjectRestore:Delete" || "s3:LifecycleTransition" || "s3:IntelligentTiering" || "s3:ObjectAcl:Put" || "s3:LifecycleExpiration:*" || "s3:LifecycleExpiration:Delete" || "s3:LifecycleExpiration:DeleteMarkerCreated" || "s3:ObjectTagging:*" || "s3:ObjectTagging:Put" || "s3:ObjectTagging:Delete",
100
+ * "s3:ReducedRedundancyLostObject" || "s3:ObjectCreated:*" || "s3:ObjectCreated:Put" || "s3:ObjectCreated:Post" || "s3:ObjectCreated:Copy" || "s3:ObjectCreated:CompleteMultipartUpload" || "s3:ObjectRemoved:*" || "s3:ObjectRemoved:Delete" || "s3:ObjectRemoved:DeleteMarkerCreated" || "s3:ObjectRestore:*" || "s3:ObjectRestore:Post" || "s3:ObjectRestore:Completed" || "s3:Replication:*" || "s3:Replication:OperationFailedReplication" || "s3:Replication:OperationNotTracked" || "s3:Replication:OperationMissedThreshold" || "s3:Replication:OperationReplicatedAfterThreshold" || "s3:ObjectRestore:Delete" || "s3:LifecycleTransition" || "s3:IntelligentTiering" || "s3:ObjectAcl:Put" || "s3:LifecycleExpiration:*" || "s3:LifecycleExpiration:Delete" || "s3:LifecycleExpiration:DeleteMarkerCreated" || "s3:ObjectTagging:*" || "s3:ObjectTagging:Put" || "s3:ObjectTagging:Delete" || "s3:ObjectAnnotation:*" || "s3:ObjectAnnotation:Put" || "s3:ObjectAnnotation:Delete",
101
101
  * ],
102
102
  * Filter: { // NotificationConfigurationFilter
103
103
  * Key: { // S3KeyFilter
@@ -116,7 +116,7 @@ declare const PutBucketNotificationConfigurationCommand_base: {
116
116
  * Id: "STRING_VALUE",
117
117
  * QueueArn: "STRING_VALUE", // required
118
118
  * Events: [ // required
119
- * "s3:ReducedRedundancyLostObject" || "s3:ObjectCreated:*" || "s3:ObjectCreated:Put" || "s3:ObjectCreated:Post" || "s3:ObjectCreated:Copy" || "s3:ObjectCreated:CompleteMultipartUpload" || "s3:ObjectRemoved:*" || "s3:ObjectRemoved:Delete" || "s3:ObjectRemoved:DeleteMarkerCreated" || "s3:ObjectRestore:*" || "s3:ObjectRestore:Post" || "s3:ObjectRestore:Completed" || "s3:Replication:*" || "s3:Replication:OperationFailedReplication" || "s3:Replication:OperationNotTracked" || "s3:Replication:OperationMissedThreshold" || "s3:Replication:OperationReplicatedAfterThreshold" || "s3:ObjectRestore:Delete" || "s3:LifecycleTransition" || "s3:IntelligentTiering" || "s3:ObjectAcl:Put" || "s3:LifecycleExpiration:*" || "s3:LifecycleExpiration:Delete" || "s3:LifecycleExpiration:DeleteMarkerCreated" || "s3:ObjectTagging:*" || "s3:ObjectTagging:Put" || "s3:ObjectTagging:Delete",
119
+ * "s3:ReducedRedundancyLostObject" || "s3:ObjectCreated:*" || "s3:ObjectCreated:Put" || "s3:ObjectCreated:Post" || "s3:ObjectCreated:Copy" || "s3:ObjectCreated:CompleteMultipartUpload" || "s3:ObjectRemoved:*" || "s3:ObjectRemoved:Delete" || "s3:ObjectRemoved:DeleteMarkerCreated" || "s3:ObjectRestore:*" || "s3:ObjectRestore:Post" || "s3:ObjectRestore:Completed" || "s3:Replication:*" || "s3:Replication:OperationFailedReplication" || "s3:Replication:OperationNotTracked" || "s3:Replication:OperationMissedThreshold" || "s3:Replication:OperationReplicatedAfterThreshold" || "s3:ObjectRestore:Delete" || "s3:LifecycleTransition" || "s3:IntelligentTiering" || "s3:ObjectAcl:Put" || "s3:LifecycleExpiration:*" || "s3:LifecycleExpiration:Delete" || "s3:LifecycleExpiration:DeleteMarkerCreated" || "s3:ObjectTagging:*" || "s3:ObjectTagging:Put" || "s3:ObjectTagging:Delete" || "s3:ObjectAnnotation:*" || "s3:ObjectAnnotation:Put" || "s3:ObjectAnnotation:Delete",
120
120
  * ],
121
121
  * Filter: {
122
122
  * Key: {
@@ -135,7 +135,7 @@ declare const PutBucketNotificationConfigurationCommand_base: {
135
135
  * Id: "STRING_VALUE",
136
136
  * LambdaFunctionArn: "STRING_VALUE", // required
137
137
  * Events: [ // required
138
- * "s3:ReducedRedundancyLostObject" || "s3:ObjectCreated:*" || "s3:ObjectCreated:Put" || "s3:ObjectCreated:Post" || "s3:ObjectCreated:Copy" || "s3:ObjectCreated:CompleteMultipartUpload" || "s3:ObjectRemoved:*" || "s3:ObjectRemoved:Delete" || "s3:ObjectRemoved:DeleteMarkerCreated" || "s3:ObjectRestore:*" || "s3:ObjectRestore:Post" || "s3:ObjectRestore:Completed" || "s3:Replication:*" || "s3:Replication:OperationFailedReplication" || "s3:Replication:OperationNotTracked" || "s3:Replication:OperationMissedThreshold" || "s3:Replication:OperationReplicatedAfterThreshold" || "s3:ObjectRestore:Delete" || "s3:LifecycleTransition" || "s3:IntelligentTiering" || "s3:ObjectAcl:Put" || "s3:LifecycleExpiration:*" || "s3:LifecycleExpiration:Delete" || "s3:LifecycleExpiration:DeleteMarkerCreated" || "s3:ObjectTagging:*" || "s3:ObjectTagging:Put" || "s3:ObjectTagging:Delete",
138
+ * "s3:ReducedRedundancyLostObject" || "s3:ObjectCreated:*" || "s3:ObjectCreated:Put" || "s3:ObjectCreated:Post" || "s3:ObjectCreated:Copy" || "s3:ObjectCreated:CompleteMultipartUpload" || "s3:ObjectRemoved:*" || "s3:ObjectRemoved:Delete" || "s3:ObjectRemoved:DeleteMarkerCreated" || "s3:ObjectRestore:*" || "s3:ObjectRestore:Post" || "s3:ObjectRestore:Completed" || "s3:Replication:*" || "s3:Replication:OperationFailedReplication" || "s3:Replication:OperationNotTracked" || "s3:Replication:OperationMissedThreshold" || "s3:Replication:OperationReplicatedAfterThreshold" || "s3:ObjectRestore:Delete" || "s3:LifecycleTransition" || "s3:IntelligentTiering" || "s3:ObjectAcl:Put" || "s3:LifecycleExpiration:*" || "s3:LifecycleExpiration:Delete" || "s3:LifecycleExpiration:DeleteMarkerCreated" || "s3:ObjectTagging:*" || "s3:ObjectTagging:Put" || "s3:ObjectTagging:Delete" || "s3:ObjectAnnotation:*" || "s3:ObjectAnnotation:Put" || "s3:ObjectAnnotation:Delete",
139
139
  * ],
140
140
  * Filter: {
141
141
  * Key: {
@@ -0,0 +1,166 @@
1
+ import { Command as $Command } from "@smithy/core/client";
2
+ import type { MetadataBearer as __MetadataBearer, StreamingBlobPayloadInputTypes } from "@smithy/types";
3
+ import type { PutObjectAnnotationOutput, PutObjectAnnotationRequest } from "../models/models_0";
4
+ import type { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link PutObjectAnnotationCommand}.
14
+ */
15
+ export interface PutObjectAnnotationCommandInput extends Omit<PutObjectAnnotationRequest, "AnnotationPayload"> {
16
+ AnnotationPayload: StreamingBlobPayloadInputTypes;
17
+ }
18
+ /**
19
+ * @public
20
+ *
21
+ * The output of {@link PutObjectAnnotationCommand}.
22
+ */
23
+ export interface PutObjectAnnotationCommandOutput extends PutObjectAnnotationOutput, __MetadataBearer {
24
+ }
25
+ declare const PutObjectAnnotationCommand_base: {
26
+ new (input: PutObjectAnnotationCommandInput): import("@smithy/core/client").CommandImpl<PutObjectAnnotationCommandInput, PutObjectAnnotationCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ new (input: PutObjectAnnotationCommandInput): import("@smithy/core/client").CommandImpl<PutObjectAnnotationCommandInput, PutObjectAnnotationCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
28
+ getEndpointParameterInstructions(): {
29
+ [x: string]: unknown;
30
+ };
31
+ };
32
+ /**
33
+ * <p>Attaches an annotation to an Amazon S3 object. An annotation is a named payload of 1 byte to 1 MiB
34
+ * that you can associate with a specific object or object version. Each object can have up to 1,000
35
+ * annotations.</p>
36
+ * <p>For annotation naming rules and restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/annotations-overview.html">Annotation naming guidelines</a>
37
+ * in the <i>Amazon S3 User Guide</i>.</p>
38
+ * <p>Annotations inherit the encryption of their parent object. For objects without server-side
39
+ * encryption, annotations are encrypted with SSE-S3 (the default for new objects). Objects
40
+ * encrypted with SSE-C cannot have annotations.</p>
41
+ * <p>To use this operation, you must have the <code>s3:PutObjectAnnotation</code> permission. If the
42
+ * bucket has Requester Pays enabled, you must include the <code>x-amz-request-payer</code> header.</p>
43
+ * <note>
44
+ * <p>Annotations are not supported by the following features: S3 Inventory Reports,
45
+ * API Gateway, S3 Storage Lens, Amazon S3 File Gateway, Amazon FSx, S3 on Outposts, and
46
+ * S3 Express One Zone (directory buckets).</p>
47
+ * </note>
48
+ * <p>The following operations are related to <code>PutObjectAnnotation</code>:</p>
49
+ * <ul>
50
+ * <li>
51
+ * <p>
52
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAnnotation.html">GetObjectAnnotation</a>
53
+ * </p>
54
+ * </li>
55
+ * <li>
56
+ * <p>
57
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectAnnotations.html">ListObjectAnnotations</a>
58
+ * </p>
59
+ * </li>
60
+ * <li>
61
+ * <p>
62
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectAnnotation.html">DeleteObjectAnnotation</a>
63
+ * </p>
64
+ * </li>
65
+ * </ul>
66
+ * @example
67
+ * Use a bare-bones client and the command you need to make an API call.
68
+ * ```javascript
69
+ * import { S3Client, PutObjectAnnotationCommand } from "@aws-sdk/client-s3"; // ES Modules import
70
+ * // const { S3Client, PutObjectAnnotationCommand } = require("@aws-sdk/client-s3"); // CommonJS import
71
+ * // import type { S3ClientConfig } from "@aws-sdk/client-s3";
72
+ * const config = {}; // type is S3ClientConfig
73
+ * const client = new S3Client(config);
74
+ * const input = { // PutObjectAnnotationRequest
75
+ * Bucket: "STRING_VALUE", // required
76
+ * Key: "STRING_VALUE", // required
77
+ * VersionId: "STRING_VALUE",
78
+ * AnnotationName: "STRING_VALUE", // required
79
+ * AnnotationPayload: "MULTIPLE_TYPES_ACCEPTED", // see \@smithy/types -> StreamingBlobPayloadInputTypes // required
80
+ * ObjectIfMatch: "STRING_VALUE",
81
+ * ChecksumAlgorithm: "CRC32" || "CRC32C" || "SHA1" || "SHA256" || "CRC64NVME" || "SHA512" || "MD5" || "XXHASH64" || "XXHASH3" || "XXHASH128",
82
+ * ChecksumCRC32: "STRING_VALUE",
83
+ * ChecksumCRC32C: "STRING_VALUE",
84
+ * ChecksumCRC64NVME: "STRING_VALUE",
85
+ * ChecksumSHA1: "STRING_VALUE",
86
+ * ChecksumSHA256: "STRING_VALUE",
87
+ * ChecksumSHA512: "STRING_VALUE",
88
+ * ChecksumMD5: "STRING_VALUE",
89
+ * ChecksumXXHASH64: "STRING_VALUE",
90
+ * ChecksumXXHASH3: "STRING_VALUE",
91
+ * ChecksumXXHASH128: "STRING_VALUE",
92
+ * ContentMD5: "STRING_VALUE",
93
+ * RequestPayer: "requester",
94
+ * ExpectedBucketOwner: "STRING_VALUE",
95
+ * };
96
+ * const command = new PutObjectAnnotationCommand(input);
97
+ * const response = await client.send(command);
98
+ * // { // PutObjectAnnotationOutput
99
+ * // Key: "STRING_VALUE",
100
+ * // AnnotationName: "STRING_VALUE",
101
+ * // ObjectVersionId: "STRING_VALUE",
102
+ * // ETag: "STRING_VALUE",
103
+ * // ChecksumCRC32: "STRING_VALUE",
104
+ * // ChecksumCRC32C: "STRING_VALUE",
105
+ * // ChecksumCRC64NVME: "STRING_VALUE",
106
+ * // ChecksumSHA1: "STRING_VALUE",
107
+ * // ChecksumSHA256: "STRING_VALUE",
108
+ * // ChecksumSHA512: "STRING_VALUE",
109
+ * // ChecksumMD5: "STRING_VALUE",
110
+ * // ChecksumXXHASH64: "STRING_VALUE",
111
+ * // ChecksumXXHASH3: "STRING_VALUE",
112
+ * // ChecksumXXHASH128: "STRING_VALUE",
113
+ * // ChecksumType: "COMPOSITE" || "FULL_OBJECT",
114
+ * // ServerSideEncryption: "AES256" || "aws:fsx" || "aws:kms" || "aws:kms:dsse",
115
+ * // RequestCharged: "requester",
116
+ * // };
117
+ *
118
+ * ```
119
+ *
120
+ * @param PutObjectAnnotationCommandInput - {@link PutObjectAnnotationCommandInput}
121
+ * @returns {@link PutObjectAnnotationCommandOutput}
122
+ * @see {@link PutObjectAnnotationCommandInput} for command's `input` shape.
123
+ * @see {@link PutObjectAnnotationCommandOutput} for command's `response` shape.
124
+ * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
125
+ *
126
+ * @throws {@link AnnotationLimitExceeded} (client fault)
127
+ * <p>The request would exceed the maximum number of annotations allowed per object.</p>
128
+ *
129
+ * @throws {@link AnnotationNameTooLong} (client fault)
130
+ * <p>The annotation name exceeds 512 bytes.</p>
131
+ *
132
+ * @throws {@link InvalidAnnotationName} (client fault)
133
+ * <p>The annotation name you provided is invalid.</p>
134
+ *
135
+ * @throws {@link InvalidRequest} (client fault)
136
+ * <p>A parameter or header in your request isn't valid. For details, see the description of this API
137
+ * operation.</p>
138
+ *
139
+ * @throws {@link NoSuchBucket} (client fault)
140
+ * <p>The specified bucket does not exist.</p>
141
+ *
142
+ * @throws {@link NoSuchKey} (client fault)
143
+ * <p>The specified key does not exist.</p>
144
+ *
145
+ * @throws {@link UnsupportedMediaType} (client fault)
146
+ * <p>The annotation payload is not valid UTF-8 encoded text.</p>
147
+ *
148
+ * @throws {@link S3ServiceException}
149
+ * <p>Base exception class for all service exceptions from S3 service.</p>
150
+ *
151
+ *
152
+ * @public
153
+ */
154
+ export declare class PutObjectAnnotationCommand extends PutObjectAnnotationCommand_base {
155
+ /** @internal type navigation helper, not in runtime. */
156
+ protected static __types: {
157
+ api: {
158
+ input: PutObjectAnnotationRequest;
159
+ output: PutObjectAnnotationOutput;
160
+ };
161
+ sdk: {
162
+ input: PutObjectAnnotationCommandInput;
163
+ output: PutObjectAnnotationCommandOutput;
164
+ };
165
+ };
166
+ }
@@ -1,6 +1,6 @@
1
1
  import { Command as $Command } from "@smithy/core/client";
2
2
  import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
- import type { RenameObjectOutput, RenameObjectRequest } from "../models/models_0";
3
+ import type { RenameObjectOutput, RenameObjectRequest } from "../models/models_1";
4
4
  import type { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
5
  /**
6
6
  * @public
@@ -1,7 +1,6 @@
1
1
  import { Command as $Command } from "@smithy/core/client";
2
2
  import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
- import type { RestoreObjectOutput } from "../models/models_0";
4
- import type { RestoreObjectRequest } from "../models/models_1";
3
+ import type { RestoreObjectOutput, RestoreObjectRequest } from "../models/models_1";
5
4
  import type { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
6
5
  /**
7
6
  * @public
@@ -0,0 +1,110 @@
1
+ import { Command as $Command } from "@smithy/core/client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { UpdateBucketMetadataAnnotationTableConfigurationRequest } from "../models/models_1";
4
+ import type { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link UpdateBucketMetadataAnnotationTableConfigurationCommand}.
14
+ */
15
+ export interface UpdateBucketMetadataAnnotationTableConfigurationCommandInput extends UpdateBucketMetadataAnnotationTableConfigurationRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link UpdateBucketMetadataAnnotationTableConfigurationCommand}.
21
+ */
22
+ export interface UpdateBucketMetadataAnnotationTableConfigurationCommandOutput extends __MetadataBearer {
23
+ }
24
+ declare const UpdateBucketMetadataAnnotationTableConfigurationCommand_base: {
25
+ new (input: UpdateBucketMetadataAnnotationTableConfigurationCommandInput): import("@smithy/core/client").CommandImpl<UpdateBucketMetadataAnnotationTableConfigurationCommandInput, UpdateBucketMetadataAnnotationTableConfigurationCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: UpdateBucketMetadataAnnotationTableConfigurationCommandInput): import("@smithy/core/client").CommandImpl<UpdateBucketMetadataAnnotationTableConfigurationCommandInput, UpdateBucketMetadataAnnotationTableConfigurationCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): {
28
+ [x: string]: unknown;
29
+ };
30
+ };
31
+ /**
32
+ * <p>Updates the annotation table configuration for an Amazon S3 bucket's metadata configuration. Use this
33
+ * operation to enable or disable the annotation table, or to update its associated IAM role.</p>
34
+ * <p>An annotation table is a queryable Iceberg table that contains records of all annotations
35
+ * attached to objects in the bucket. To use this operation, the bucket must have an existing Amazon S3
36
+ * Metadata configuration.</p>
37
+ * <p>To use this operation, you must have the
38
+ * <code>s3:UpdateBucketMetadataAnnotationTableConfiguration</code> permission. If you are specifying
39
+ * or changing the IAM role, you must also have <code>iam:PassRole</code> permission for the role.</p>
40
+ * <p>The IAM role must have a trust policy that allows the Amazon S3 metadata service to assume it, and a
41
+ * permissions policy that grants the actions needed to read annotations from your bucket. The
42
+ * following examples show a trust policy and a permissions policy that you can adapt for your bucket
43
+ * and account.</p>
44
+ * <p>The following operations are related to
45
+ * <code>UpdateBucketMetadataAnnotationTableConfiguration</code>:</p>
46
+ * <ul>
47
+ * <li>
48
+ * <p>
49
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html">CreateBucketMetadataConfiguration</a>
50
+ * </p>
51
+ * </li>
52
+ * <li>
53
+ * <p>
54
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html">GetBucketMetadataConfiguration</a>
55
+ * </p>
56
+ * </li>
57
+ * </ul>
58
+ * @example
59
+ * Use a bare-bones client and the command you need to make an API call.
60
+ * ```javascript
61
+ * import { S3Client, UpdateBucketMetadataAnnotationTableConfigurationCommand } from "@aws-sdk/client-s3"; // ES Modules import
62
+ * // const { S3Client, UpdateBucketMetadataAnnotationTableConfigurationCommand } = require("@aws-sdk/client-s3"); // CommonJS import
63
+ * // import type { S3ClientConfig } from "@aws-sdk/client-s3";
64
+ * const config = {}; // type is S3ClientConfig
65
+ * const client = new S3Client(config);
66
+ * const input = { // UpdateBucketMetadataAnnotationTableConfigurationRequest
67
+ * Bucket: "STRING_VALUE", // required
68
+ * ContentMD5: "STRING_VALUE",
69
+ * ChecksumAlgorithm: "CRC32" || "CRC32C" || "SHA1" || "SHA256" || "CRC64NVME" || "SHA512" || "MD5" || "XXHASH64" || "XXHASH3" || "XXHASH128",
70
+ * AnnotationTableConfiguration: { // AnnotationTableConfigurationUpdates
71
+ * ConfigurationState: "ENABLED" || "DISABLED", // required
72
+ * EncryptionConfiguration: { // MetadataTableEncryptionConfiguration
73
+ * SseAlgorithm: "aws:kms" || "AES256", // required
74
+ * KmsKeyArn: "STRING_VALUE",
75
+ * },
76
+ * Role: "STRING_VALUE",
77
+ * },
78
+ * ExpectedBucketOwner: "STRING_VALUE",
79
+ * };
80
+ * const command = new UpdateBucketMetadataAnnotationTableConfigurationCommand(input);
81
+ * const response = await client.send(command);
82
+ * // {};
83
+ *
84
+ * ```
85
+ *
86
+ * @param UpdateBucketMetadataAnnotationTableConfigurationCommandInput - {@link UpdateBucketMetadataAnnotationTableConfigurationCommandInput}
87
+ * @returns {@link UpdateBucketMetadataAnnotationTableConfigurationCommandOutput}
88
+ * @see {@link UpdateBucketMetadataAnnotationTableConfigurationCommandInput} for command's `input` shape.
89
+ * @see {@link UpdateBucketMetadataAnnotationTableConfigurationCommandOutput} for command's `response` shape.
90
+ * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
91
+ *
92
+ * @throws {@link S3ServiceException}
93
+ * <p>Base exception class for all service exceptions from S3 service.</p>
94
+ *
95
+ *
96
+ * @public
97
+ */
98
+ export declare class UpdateBucketMetadataAnnotationTableConfigurationCommand extends UpdateBucketMetadataAnnotationTableConfigurationCommand_base {
99
+ /** @internal type navigation helper, not in runtime. */
100
+ protected static __types: {
101
+ api: {
102
+ input: UpdateBucketMetadataAnnotationTableConfigurationRequest;
103
+ output: {};
104
+ };
105
+ sdk: {
106
+ input: UpdateBucketMetadataAnnotationTableConfigurationCommandInput;
107
+ output: UpdateBucketMetadataAnnotationTableConfigurationCommandOutput;
108
+ };
109
+ };
110
+ }
@@ -21,6 +21,7 @@ export * from "./DeleteBucketPolicyCommand";
21
21
  export * from "./DeleteBucketReplicationCommand";
22
22
  export * from "./DeleteBucketTaggingCommand";
23
23
  export * from "./DeleteBucketWebsiteCommand";
24
+ export * from "./DeleteObjectAnnotationCommand";
24
25
  export * from "./DeleteObjectCommand";
25
26
  export * from "./DeleteObjectTaggingCommand";
26
27
  export * from "./DeleteObjectsCommand";
@@ -49,6 +50,7 @@ export * from "./GetBucketTaggingCommand";
49
50
  export * from "./GetBucketVersioningCommand";
50
51
  export * from "./GetBucketWebsiteCommand";
51
52
  export * from "./GetObjectAclCommand";
53
+ export * from "./GetObjectAnnotationCommand";
52
54
  export * from "./GetObjectAttributesCommand";
53
55
  export * from "./GetObjectCommand";
54
56
  export * from "./GetObjectLegalHoldCommand";
@@ -66,6 +68,7 @@ export * from "./ListBucketMetricsConfigurationsCommand";
66
68
  export * from "./ListBucketsCommand";
67
69
  export * from "./ListDirectoryBucketsCommand";
68
70
  export * from "./ListMultipartUploadsCommand";
71
+ export * from "./ListObjectAnnotationsCommand";
69
72
  export * from "./ListObjectVersionsCommand";
70
73
  export * from "./ListObjectsCommand";
71
74
  export * from "./ListObjectsV2Command";
@@ -90,6 +93,7 @@ export * from "./PutBucketTaggingCommand";
90
93
  export * from "./PutBucketVersioningCommand";
91
94
  export * from "./PutBucketWebsiteCommand";
92
95
  export * from "./PutObjectAclCommand";
96
+ export * from "./PutObjectAnnotationCommand";
93
97
  export * from "./PutObjectCommand";
94
98
  export * from "./PutObjectLegalHoldCommand";
95
99
  export * from "./PutObjectLockConfigurationCommand";
@@ -99,6 +103,7 @@ export * from "./PutPublicAccessBlockCommand";
99
103
  export * from "./RenameObjectCommand";
100
104
  export * from "./RestoreObjectCommand";
101
105
  export * from "./SelectObjectContentCommand";
106
+ export * from "./UpdateBucketMetadataAnnotationTableConfigurationCommand";
102
107
  export * from "./UpdateBucketMetadataInventoryTableConfigurationCommand";
103
108
  export * from "./UpdateBucketMetadataJournalTableConfigurationCommand";
104
109
  export * from "./UpdateObjectEncryptionCommand";
@@ -126,6 +126,18 @@ export declare const ObjectCannedACL: {
126
126
  * @public
127
127
  */
128
128
  export type ObjectCannedACL = (typeof ObjectCannedACL)[keyof typeof ObjectCannedACL];
129
+ /**
130
+ * @public
131
+ * @enum
132
+ */
133
+ export declare const AnnotationDirective: {
134
+ readonly COPY: "COPY";
135
+ readonly EXCLUDE: "EXCLUDE";
136
+ };
137
+ /**
138
+ * @public
139
+ */
140
+ export type AnnotationDirective = (typeof AnnotationDirective)[keyof typeof AnnotationDirective];
129
141
  /**
130
142
  * @public
131
143
  * @enum
@@ -343,14 +355,14 @@ export type ObjectOwnership = (typeof ObjectOwnership)[keyof typeof ObjectOwners
343
355
  * @public
344
356
  * @enum
345
357
  */
346
- export declare const InventoryConfigurationState: {
358
+ export declare const AnnotationConfigurationState: {
347
359
  readonly DISABLED: "DISABLED";
348
360
  readonly ENABLED: "ENABLED";
349
361
  };
350
362
  /**
351
363
  * @public
352
364
  */
353
- export type InventoryConfigurationState = (typeof InventoryConfigurationState)[keyof typeof InventoryConfigurationState];
365
+ export type AnnotationConfigurationState = (typeof AnnotationConfigurationState)[keyof typeof AnnotationConfigurationState];
354
366
  /**
355
367
  * @public
356
368
  * @enum
@@ -363,6 +375,18 @@ export declare const TableSseAlgorithm: {
363
375
  * @public
364
376
  */
365
377
  export type TableSseAlgorithm = (typeof TableSseAlgorithm)[keyof typeof TableSseAlgorithm];
378
+ /**
379
+ * @public
380
+ * @enum
381
+ */
382
+ export declare const InventoryConfigurationState: {
383
+ readonly DISABLED: "DISABLED";
384
+ readonly ENABLED: "ENABLED";
385
+ };
386
+ /**
387
+ * @public
388
+ */
389
+ export type InventoryConfigurationState = (typeof InventoryConfigurationState)[keyof typeof InventoryConfigurationState];
366
390
  /**
367
391
  * @public
368
392
  * @enum
@@ -596,6 +620,9 @@ export declare const Event: {
596
620
  readonly s3_LifecycleExpiration_DeleteMarkerCreated: "s3:LifecycleExpiration:DeleteMarkerCreated";
597
621
  readonly s3_LifecycleTransition: "s3:LifecycleTransition";
598
622
  readonly s3_ObjectAcl_Put: "s3:ObjectAcl:Put";
623
+ readonly s3_ObjectAnnotation_: "s3:ObjectAnnotation:*";
624
+ readonly s3_ObjectAnnotation_Delete: "s3:ObjectAnnotation:Delete";
625
+ readonly s3_ObjectAnnotation_Put: "s3:ObjectAnnotation:Put";
599
626
  readonly s3_ObjectCreated_: "s3:ObjectCreated:*";
600
627
  readonly s3_ObjectCreated_CompleteMultipartUpload: "s3:ObjectCreated:CompleteMultipartUpload";
601
628
  readonly s3_ObjectCreated_Copy: "s3:ObjectCreated:Copy";