Skip to content

Commit 601da81

Browse files
author
awstools
committed
feat(client-s3tables): S3 Tables now supports setting encryption configurations on table buckets and tables. Encryption configurations can use server side encryption using AES256 or KMS customer-managed keys.
1 parent 6cdfd24 commit 601da81

20 files changed

+1488
-27
lines changed

clients/client-s3tables/README.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
AWS SDK for JavaScript S3Tables Client for Node.js, Browser and React Native.
88

9-
<p>An Amazon S3 table represents a structured dataset consisting of tabular data in <a href="https://parquet.apache.org/docs/">Apache Parquet</a> format and related metadata. This data is stored inside an S3 table as a subresource. All tables in a table bucket are stored in the <a href="https://iceberg.apache.org/docs/latest/">Apache Iceberg</a> table format. Through integration with the <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html">AWS Glue Data Catalog</a> you can interact with your tables using AWS analytics services, such as <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/athena/">Amazon Athena</a> and <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/redshift/">Amazon Redshift</a>. Amazon S3 manages maintenance of your tables through automatic file compaction and snapshot management. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets.html">Amazon S3 table buckets</a>.</p>
9+
<p>An Amazon S3 table represents a structured dataset consisting of tabular data in <a href="https://parquet.apache.org/docs/">Apache Parquet</a> format and related metadata. This data is stored inside an S3 table as a subresource. All tables in a table bucket are stored in the <a href="https://iceberg.apache.org/docs/latest/">Apache Iceberg</a> table format. Through integration with the <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html">Amazon Web Services Glue Data Catalog</a> you can interact with your tables using Amazon Web Services analytics services, such as <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/athena/">Amazon Athena</a> and <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/redshift/">Amazon Redshift</a>. Amazon S3 manages maintenance of your tables through automatic file compaction and snapshot management. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets.html">Amazon S3 table buckets</a>.</p>
1010

1111
## Installing
1212

@@ -250,6 +250,14 @@ DeleteTableBucket
250250

251251
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/DeleteTableBucketCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/DeleteTableBucketCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/DeleteTableBucketCommandOutput/)
252252

253+
</details>
254+
<details>
255+
<summary>
256+
DeleteTableBucketEncryption
257+
</summary>
258+
259+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/DeleteTableBucketEncryptionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/DeleteTableBucketEncryptionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/DeleteTableBucketEncryptionCommandOutput/)
260+
253261
</details>
254262
<details>
255263
<summary>
@@ -290,6 +298,14 @@ GetTableBucket
290298

291299
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/GetTableBucketCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableBucketCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableBucketCommandOutput/)
292300

301+
</details>
302+
<details>
303+
<summary>
304+
GetTableBucketEncryption
305+
</summary>
306+
307+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/GetTableBucketEncryptionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableBucketEncryptionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableBucketEncryptionCommandOutput/)
308+
293309
</details>
294310
<details>
295311
<summary>
@@ -306,6 +322,14 @@ GetTableBucketPolicy
306322

307323
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/GetTableBucketPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableBucketPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableBucketPolicyCommandOutput/)
308324

325+
</details>
326+
<details>
327+
<summary>
328+
GetTableEncryption
329+
</summary>
330+
331+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/GetTableEncryptionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableEncryptionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/GetTableEncryptionCommandOutput/)
332+
309333
</details>
310334
<details>
311335
<summary>
@@ -362,6 +386,14 @@ ListTables
362386

363387
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/ListTablesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/ListTablesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/ListTablesCommandOutput/)
364388

389+
</details>
390+
<details>
391+
<summary>
392+
PutTableBucketEncryption
393+
</summary>
394+
395+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3tables/command/PutTableBucketEncryptionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/PutTableBucketEncryptionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3tables/Interface/PutTableBucketEncryptionCommandOutput/)
396+
365397
</details>
366398
<details>
367399
<summary>

clients/client-s3tables/src/S3Tables.ts

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ import {
2323
DeleteTableBucketCommandInput,
2424
DeleteTableBucketCommandOutput,
2525
} from "./commands/DeleteTableBucketCommand";
26+
import {
27+
DeleteTableBucketEncryptionCommand,
28+
DeleteTableBucketEncryptionCommandInput,
29+
DeleteTableBucketEncryptionCommandOutput,
30+
} from "./commands/DeleteTableBucketEncryptionCommand";
2631
import {
2732
DeleteTableBucketPolicyCommand,
2833
DeleteTableBucketPolicyCommandInput,
@@ -44,6 +49,11 @@ import {
4449
GetTableBucketCommandInput,
4550
GetTableBucketCommandOutput,
4651
} from "./commands/GetTableBucketCommand";
52+
import {
53+
GetTableBucketEncryptionCommand,
54+
GetTableBucketEncryptionCommandInput,
55+
GetTableBucketEncryptionCommandOutput,
56+
} from "./commands/GetTableBucketEncryptionCommand";
4757
import {
4858
GetTableBucketMaintenanceConfigurationCommand,
4959
GetTableBucketMaintenanceConfigurationCommandInput,
@@ -55,6 +65,11 @@ import {
5565
GetTableBucketPolicyCommandOutput,
5666
} from "./commands/GetTableBucketPolicyCommand";
5767
import { GetTableCommand, GetTableCommandInput, GetTableCommandOutput } from "./commands/GetTableCommand";
68+
import {
69+
GetTableEncryptionCommand,
70+
GetTableEncryptionCommandInput,
71+
GetTableEncryptionCommandOutput,
72+
} from "./commands/GetTableEncryptionCommand";
5873
import {
5974
GetTableMaintenanceConfigurationCommand,
6075
GetTableMaintenanceConfigurationCommandInput,
@@ -86,6 +101,11 @@ import {
86101
ListTableBucketsCommandOutput,
87102
} from "./commands/ListTableBucketsCommand";
88103
import { ListTablesCommand, ListTablesCommandInput, ListTablesCommandOutput } from "./commands/ListTablesCommand";
104+
import {
105+
PutTableBucketEncryptionCommand,
106+
PutTableBucketEncryptionCommandInput,
107+
PutTableBucketEncryptionCommandOutput,
108+
} from "./commands/PutTableBucketEncryptionCommand";
89109
import {
90110
PutTableBucketMaintenanceConfigurationCommand,
91111
PutTableBucketMaintenanceConfigurationCommandInput,
@@ -121,20 +141,24 @@ const commands = {
121141
DeleteNamespaceCommand,
122142
DeleteTableCommand,
123143
DeleteTableBucketCommand,
144+
DeleteTableBucketEncryptionCommand,
124145
DeleteTableBucketPolicyCommand,
125146
DeleteTablePolicyCommand,
126147
GetNamespaceCommand,
127148
GetTableCommand,
128149
GetTableBucketCommand,
150+
GetTableBucketEncryptionCommand,
129151
GetTableBucketMaintenanceConfigurationCommand,
130152
GetTableBucketPolicyCommand,
153+
GetTableEncryptionCommand,
131154
GetTableMaintenanceConfigurationCommand,
132155
GetTableMaintenanceJobStatusCommand,
133156
GetTableMetadataLocationCommand,
134157
GetTablePolicyCommand,
135158
ListNamespacesCommand,
136159
ListTableBucketsCommand,
137160
ListTablesCommand,
161+
PutTableBucketEncryptionCommand,
138162
PutTableBucketMaintenanceConfigurationCommand,
139163
PutTableBucketPolicyCommand,
140164
PutTableMaintenanceConfigurationCommand,
@@ -228,6 +252,23 @@ export interface S3Tables {
228252
cb: (err: any, data?: DeleteTableBucketCommandOutput) => void
229253
): void;
230254

255+
/**
256+
* @see {@link DeleteTableBucketEncryptionCommand}
257+
*/
258+
deleteTableBucketEncryption(
259+
args: DeleteTableBucketEncryptionCommandInput,
260+
options?: __HttpHandlerOptions
261+
): Promise<DeleteTableBucketEncryptionCommandOutput>;
262+
deleteTableBucketEncryption(
263+
args: DeleteTableBucketEncryptionCommandInput,
264+
cb: (err: any, data?: DeleteTableBucketEncryptionCommandOutput) => void
265+
): void;
266+
deleteTableBucketEncryption(
267+
args: DeleteTableBucketEncryptionCommandInput,
268+
options: __HttpHandlerOptions,
269+
cb: (err: any, data?: DeleteTableBucketEncryptionCommandOutput) => void
270+
): void;
271+
231272
/**
232273
* @see {@link DeleteTableBucketPolicyCommand}
233274
*/
@@ -298,6 +339,23 @@ export interface S3Tables {
298339
cb: (err: any, data?: GetTableBucketCommandOutput) => void
299340
): void;
300341

342+
/**
343+
* @see {@link GetTableBucketEncryptionCommand}
344+
*/
345+
getTableBucketEncryption(
346+
args: GetTableBucketEncryptionCommandInput,
347+
options?: __HttpHandlerOptions
348+
): Promise<GetTableBucketEncryptionCommandOutput>;
349+
getTableBucketEncryption(
350+
args: GetTableBucketEncryptionCommandInput,
351+
cb: (err: any, data?: GetTableBucketEncryptionCommandOutput) => void
352+
): void;
353+
getTableBucketEncryption(
354+
args: GetTableBucketEncryptionCommandInput,
355+
options: __HttpHandlerOptions,
356+
cb: (err: any, data?: GetTableBucketEncryptionCommandOutput) => void
357+
): void;
358+
301359
/**
302360
* @see {@link GetTableBucketMaintenanceConfigurationCommand}
303361
*/
@@ -332,6 +390,23 @@ export interface S3Tables {
332390
cb: (err: any, data?: GetTableBucketPolicyCommandOutput) => void
333391
): void;
334392

393+
/**
394+
* @see {@link GetTableEncryptionCommand}
395+
*/
396+
getTableEncryption(
397+
args: GetTableEncryptionCommandInput,
398+
options?: __HttpHandlerOptions
399+
): Promise<GetTableEncryptionCommandOutput>;
400+
getTableEncryption(
401+
args: GetTableEncryptionCommandInput,
402+
cb: (err: any, data?: GetTableEncryptionCommandOutput) => void
403+
): void;
404+
getTableEncryption(
405+
args: GetTableEncryptionCommandInput,
406+
options: __HttpHandlerOptions,
407+
cb: (err: any, data?: GetTableEncryptionCommandOutput) => void
408+
): void;
409+
335410
/**
336411
* @see {@link GetTableMaintenanceConfigurationCommand}
337412
*/
@@ -440,6 +515,23 @@ export interface S3Tables {
440515
cb: (err: any, data?: ListTablesCommandOutput) => void
441516
): void;
442517

518+
/**
519+
* @see {@link PutTableBucketEncryptionCommand}
520+
*/
521+
putTableBucketEncryption(
522+
args: PutTableBucketEncryptionCommandInput,
523+
options?: __HttpHandlerOptions
524+
): Promise<PutTableBucketEncryptionCommandOutput>;
525+
putTableBucketEncryption(
526+
args: PutTableBucketEncryptionCommandInput,
527+
cb: (err: any, data?: PutTableBucketEncryptionCommandOutput) => void
528+
): void;
529+
putTableBucketEncryption(
530+
args: PutTableBucketEncryptionCommandInput,
531+
options: __HttpHandlerOptions,
532+
cb: (err: any, data?: PutTableBucketEncryptionCommandOutput) => void
533+
): void;
534+
443535
/**
444536
* @see {@link PutTableBucketMaintenanceConfigurationCommand}
445537
*/
@@ -535,7 +627,7 @@ export interface S3Tables {
535627
}
536628

537629
/**
538-
* <p>An Amazon S3 table represents a structured dataset consisting of tabular data in <a href="https://parquet.apache.org/docs/">Apache Parquet</a> format and related metadata. This data is stored inside an S3 table as a subresource. All tables in a table bucket are stored in the <a href="https://iceberg.apache.org/docs/latest/">Apache Iceberg</a> table format. Through integration with the <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html">AWS Glue Data Catalog</a> you can interact with your tables using AWS analytics services, such as <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/athena/">Amazon Athena</a> and <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/redshift/">Amazon Redshift</a>. Amazon S3 manages maintenance of your tables through automatic file compaction and snapshot management. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets.html">Amazon S3 table buckets</a>.</p>
630+
* <p>An Amazon S3 table represents a structured dataset consisting of tabular data in <a href="https://parquet.apache.org/docs/">Apache Parquet</a> format and related metadata. This data is stored inside an S3 table as a subresource. All tables in a table bucket are stored in the <a href="https://iceberg.apache.org/docs/latest/">Apache Iceberg</a> table format. Through integration with the <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html">Amazon Web Services Glue Data Catalog</a> you can interact with your tables using Amazon Web Services analytics services, such as <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/athena/">Amazon Athena</a> and <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/redshift/">Amazon Redshift</a>. Amazon S3 manages maintenance of your tables through automatic file compaction and snapshot management. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets.html">Amazon S3 table buckets</a>.</p>
539631
* @public
540632
*/
541633
export class S3Tables extends S3TablesClient implements S3Tables {}

0 commit comments

Comments
 (0)