Skip to content

Commit 01595ee

Browse files
S3 Tables now supports getting details about a table via its table ARN.
1 parent 53b0b02 commit 01595ee

16 files changed

+157
-81
lines changed

generator/ServiceModels/s3tables/s3tables-2018-05-10.api.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@
198198
"name":"GetTable",
199199
"http":{
200200
"method":"GET",
201-
"requestUri":"/tables/{tableBucketARN}/{namespace}/{name}",
201+
"requestUri":"/get-table",
202202
"responseCode":200
203203
},
204204
"input":{"shape":"GetTableRequest"},
@@ -1112,26 +1112,26 @@
11121112
},
11131113
"GetTableRequest":{
11141114
"type":"structure",
1115-
"required":[
1116-
"tableBucketARN",
1117-
"namespace",
1118-
"name"
1119-
],
11201115
"members":{
11211116
"tableBucketARN":{
11221117
"shape":"TableBucketARN",
1123-
"location":"uri",
1118+
"location":"querystring",
11241119
"locationName":"tableBucketARN"
11251120
},
11261121
"namespace":{
11271122
"shape":"NamespaceName",
1128-
"location":"uri",
1123+
"location":"querystring",
11291124
"locationName":"namespace"
11301125
},
11311126
"name":{
11321127
"shape":"TableName",
1133-
"location":"uri",
1128+
"location":"querystring",
11341129
"locationName":"name"
1130+
},
1131+
"tableArn":{
1132+
"shape":"TableARN",
1133+
"location":"querystring",
1134+
"locationName":"tableArn"
11351135
}
11361136
}
11371137
},

generator/ServiceModels/s3tables/s3tables-2018-05-10.docs.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"service": "<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>",
44
"operations": {
55
"CreateNamespace": "<p>Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-namespace-create.html\">Create a namespace</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:CreateNamespace</code> permission to use this operation. </p> </dd> </dl>",
6-
"CreateTable": "<p>Creates a new table associated with the given namespace in a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-create.html\">Creating an Amazon S3 table</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <ul> <li> <p>You must have the <code>s3tables:CreateTable</code> permission to use this operation. </p> </li> <li> <p>If you use this operation with the optional <code>metadata</code> request parameter you must have the <code>s3tables:PutTableData</code> permission. </p> </li> <li> <p>If you use this operation with the optional <code>encryptionConfiguration</code> request parameter you must have the <code>s3tables:PutTableEncryption</code> permission. </p> </li> </ul> <note> <p>Additionally, </p> </note> </dd> </dl>",
6+
"CreateTable": "<p>Creates a new table associated with the given namespace in a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-create.html\">Creating an Amazon S3 table</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <ul> <li> <p>You must have the <code>s3tables:CreateTable</code> permission to use this operation. </p> </li> <li> <p>If you use this operation with the optional <code>metadata</code> request parameter you must have the <code>s3tables:PutTableData</code> permission. </p> </li> <li> <p>If you use this operation with the optional <code>encryptionConfiguration</code> request parameter you must have the <code>s3tables:PutTableEncryption</code> permission. </p> </li> </ul> <note> <p>Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html\">Permissions requirements for S3 Tables SSE-KMS encryption</a>. </p> </note> </dd> </dl>",
77
"CreateTableBucket": "<p>Creates a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html\">Creating a table bucket</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <ul> <li> <p>You must have the <code>s3tables:CreateTableBucket</code> permission to use this operation. </p> </li> <li> <p>If you use this operation with the optional <code>encryptionConfiguration</code> parameter you must have the <code>s3tables:PutTableBucketEncryption</code> permission.</p> </li> </ul> </dd> </dl>",
88
"DeleteNamespace": "<p>Deletes a namespace. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-namespace-delete.html\">Delete a namespace</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:DeleteNamespace</code> permission to use this operation. </p> </dd> </dl>",
99
"DeleteTable": "<p>Deletes a table. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-delete.html\">Deleting an Amazon S3 table</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:DeleteTable</code> permission to use this operation. </p> </dd> </dl>",
@@ -25,7 +25,7 @@
2525
"ListNamespaces": "<p>Lists the namespaces within a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-namespace.html\">Table namespaces</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:ListNamespaces</code> permission to use this operation. </p> </dd> </dl>",
2626
"ListTableBuckets": "<p>Lists table buckets for your account. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets.html\">S3 Table buckets</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:ListTableBuckets</code> permission to use this operation. </p> </dd> </dl>",
2727
"ListTables": "<p>List tables in the given table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-tables.html\">S3 Tables</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:ListTables</code> permission to use this operation. </p> </dd> </dl>",
28-
"PutTableBucketEncryption": "<p>Sets the encryption configuration for a table bucket.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableBucketEncryption</code> permission to use this operation.</p> <note> <p>If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see <a href=\"AmazonS3/latest/userguide/s3-tables-kms-permissions.html\">Permissions requirements for S3 Tables SSE-KMS encryption</a> </p> </note> </dd> </dl>",
28+
"PutTableBucketEncryption": "<p>Sets the encryption configuration for a table bucket.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableBucketEncryption</code> permission to use this operation.</p> <note> <p>If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html\">Permissions requirements for S3 Tables SSE-KMS encryption</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> </note> </dd> </dl>",
2929
"PutTableBucketMaintenanceConfiguration": "<p>Creates a new maintenance configuration or replaces an existing maintenance configuration for a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html\">Amazon S3 table bucket maintenance</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableBucketMaintenanceConfiguration</code> permission to use this operation. </p> </dd> </dl>",
3030
"PutTableBucketPolicy": "<p>Creates a new maintenance configuration or replaces an existing table bucket policy for a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-bucket-policy.html#table-bucket-policy-add\">Adding a table bucket policy</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableBucketPolicy</code> permission to use this operation. </p> </dd> </dl>",
3131
"PutTableMaintenanceConfiguration": "<p>Creates a new maintenance configuration or replaces an existing maintenance configuration for a table. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-maintenance.html\">S3 Tables maintenance</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableMaintenanceConfiguration</code> permission to use this operation. </p> </dd> </dl>",
@@ -432,7 +432,7 @@
432432
"GetNamespaceRequest$namespace": "<p>The name of the namespace.</p>",
433433
"GetTableEncryptionRequest$namespace": "<p>The namespace associated with the table.</p>",
434434
"GetTableMaintenanceConfigurationRequest$namespace": "<p>The namespace associated with the table.</p>",
435-
"GetTableMaintenanceJobStatusRequest$namespace": "<p>The name of the namespace the table is associated with. <pre><code>&lt;/p&gt; </code></pre>",
435+
"GetTableMaintenanceJobStatusRequest$namespace": "<p>The name of the namespace the table is associated with. </p>",
436436
"GetTableMetadataLocationRequest$namespace": "<p>The namespace of the table.</p>",
437437
"GetTablePolicyRequest$namespace": "<p>The namespace associated with the table.</p>",
438438
"GetTableRequest$namespace": "<p>The name of the namespace the table is associated with.</p>",
@@ -576,6 +576,7 @@
576576
"CreateTableResponse$tableARN": "<p>The Amazon Resource Name (ARN) of the table.</p>",
577577
"GetTableMaintenanceConfigurationResponse$tableARN": "<p>The Amazon Resource Name (ARN) of the table.</p>",
578578
"GetTableMaintenanceJobStatusResponse$tableARN": "<p>The Amazon Resource Name (ARN) of the table.</p>",
579+
"GetTableRequest$tableArn": "<p>The Amazon Resource Name (ARN) of the table.</p>",
579580
"GetTableResponse$tableARN": "<p>The Amazon Resource Name (ARN) of the table.</p>",
580581
"TableSummary$tableARN": "<p>The Amazon Resource Name (ARN) of the table.</p>",
581582
"UpdateTableMetadataLocationResponse$tableARN": "<p>The Amazon Resource Name (ARN) of the table.</p>"

generator/ServiceModels/s3tables/s3tables-2018-05-10.normal.json

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
{"shape":"ConflictException"},
5050
{"shape":"BadRequestException"}
5151
],
52-
"documentation":"<p>Creates a new table associated with the given namespace in a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-create.html\">Creating an Amazon S3 table</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <ul> <li> <p>You must have the <code>s3tables:CreateTable</code> permission to use this operation. </p> </li> <li> <p>If you use this operation with the optional <code>metadata</code> request parameter you must have the <code>s3tables:PutTableData</code> permission. </p> </li> <li> <p>If you use this operation with the optional <code>encryptionConfiguration</code> request parameter you must have the <code>s3tables:PutTableEncryption</code> permission. </p> </li> </ul> <note> <p>Additionally, </p> </note> </dd> </dl>"
52+
"documentation":"<p>Creates a new table associated with the given namespace in a table bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-create.html\">Creating an Amazon S3 table</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <ul> <li> <p>You must have the <code>s3tables:CreateTable</code> permission to use this operation. </p> </li> <li> <p>If you use this operation with the optional <code>metadata</code> request parameter you must have the <code>s3tables:PutTableData</code> permission. </p> </li> <li> <p>If you use this operation with the optional <code>encryptionConfiguration</code> request parameter you must have the <code>s3tables:PutTableEncryption</code> permission. </p> </li> </ul> <note> <p>Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html\">Permissions requirements for S3 Tables SSE-KMS encryption</a>. </p> </note> </dd> </dl>"
5353
},
5454
"CreateTableBucket":{
5555
"name":"CreateTableBucket",
@@ -208,7 +208,7 @@
208208
"name":"GetTable",
209209
"http":{
210210
"method":"GET",
211-
"requestUri":"/tables/{tableBucketARN}/{namespace}/{name}",
211+
"requestUri":"/get-table",
212212
"responseCode":200
213213
},
214214
"input":{"shape":"GetTableRequest"},
@@ -471,7 +471,7 @@
471471
{"shape":"ConflictException"},
472472
{"shape":"BadRequestException"}
473473
],
474-
"documentation":"<p>Sets the encryption configuration for a table bucket.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableBucketEncryption</code> permission to use this operation.</p> <note> <p>If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see <a href=\"AmazonS3/latest/userguide/s3-tables-kms-permissions.html\">Permissions requirements for S3 Tables SSE-KMS encryption</a> </p> </note> </dd> </dl>",
474+
"documentation":"<p>Sets the encryption configuration for a table bucket.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableBucketEncryption</code> permission to use this operation.</p> <note> <p>If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html\">Permissions requirements for S3 Tables SSE-KMS encryption</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> </note> </dd> </dl>",
475475
"idempotent":true
476476
},
477477
"PutTableBucketMaintenanceConfiguration":{
@@ -1179,7 +1179,7 @@
11791179
},
11801180
"namespace":{
11811181
"shape":"NamespaceName",
1182-
"documentation":"<p>The name of the namespace the table is associated with. <pre><code>&lt;/p&gt; </code></pre>",
1182+
"documentation":"<p>The name of the namespace the table is associated with. </p>",
11831183
"location":"uri",
11841184
"locationName":"namespace"
11851185
},
@@ -1297,29 +1297,30 @@
12971297
},
12981298
"GetTableRequest":{
12991299
"type":"structure",
1300-
"required":[
1301-
"tableBucketARN",
1302-
"namespace",
1303-
"name"
1304-
],
13051300
"members":{
13061301
"tableBucketARN":{
13071302
"shape":"TableBucketARN",
13081303
"documentation":"<p>The Amazon Resource Name (ARN) of the table bucket associated with the table.</p>",
1309-
"location":"uri",
1304+
"location":"querystring",
13101305
"locationName":"tableBucketARN"
13111306
},
13121307
"namespace":{
13131308
"shape":"NamespaceName",
13141309
"documentation":"<p>The name of the namespace the table is associated with.</p>",
1315-
"location":"uri",
1310+
"location":"querystring",
13161311
"locationName":"namespace"
13171312
},
13181313
"name":{
13191314
"shape":"TableName",
13201315
"documentation":"<p>The name of the table.</p>",
1321-
"location":"uri",
1316+
"location":"querystring",
13221317
"locationName":"name"
1318+
},
1319+
"tableArn":{
1320+
"shape":"TableARN",
1321+
"documentation":"<p>The Amazon Resource Name (ARN) of the table.</p>",
1322+
"location":"querystring",
1323+
"locationName":"tableArn"
13231324
}
13241325
}
13251326
},

generator/ServiceModels/s3tables/s3tables-2018-05-10.smoke2.json

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
{
22
"version" : 2,
33
"testCases" : [ {
4-
"id" : "GetTable_AccessDeniedException",
5-
"operationName" : "GetTable",
4+
"id" : "ListNamespaces_AccessDeniedException",
5+
"operationName" : "ListNamespaces",
66
"input" : {
7-
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist",
8-
"namespace" : "doesnotexist",
9-
"name" : "doesnotexist"
7+
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
108
},
119
"expectation" : {
1210
"failure" : {
@@ -20,8 +18,8 @@
2018
"useAccountIdRouting" : true
2119
}
2220
}, {
23-
"id" : "ListTables_AccessDeniedException",
24-
"operationName" : "ListTables",
21+
"id" : "GetTableBucket_AccessDeniedException",
22+
"operationName" : "GetTableBucket",
2523
"input" : {
2624
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
2725
},
@@ -55,8 +53,8 @@
5553
"useAccountIdRouting" : true
5654
}
5755
}, {
58-
"id" : "GetTableBucket_AccessDeniedException",
59-
"operationName" : "GetTableBucket",
56+
"id" : "ListTables_AccessDeniedException",
57+
"operationName" : "ListTables",
6058
"input" : {
6159
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
6260
},
@@ -72,11 +70,17 @@
7270
"useAccountIdRouting" : true
7371
}
7472
}, {
75-
"id" : "ListTableBuckets_Success",
76-
"operationName" : "ListTableBuckets",
77-
"input" : { },
73+
"id" : "GetTable_AccessDeniedException",
74+
"operationName" : "GetTable",
75+
"input" : {
76+
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist",
77+
"namespace" : "doesnotexist",
78+
"name" : "doesnotexist"
79+
},
7880
"expectation" : {
79-
"success" : { }
81+
"failure" : {
82+
"errorId" : "AccessDeniedException"
83+
}
8084
},
8185
"config" : {
8286
"region" : "us-east-1",
@@ -85,10 +89,10 @@
8589
"useAccountIdRouting" : true
8690
}
8791
}, {
88-
"id" : "ListNamespaces_AccessDeniedException",
89-
"operationName" : "ListNamespaces",
92+
"id" : "GetTableArn_AccessDeniedException",
93+
"operationName" : "GetTable",
9094
"input" : {
91-
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
95+
"tableArn" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist/table/f577d6ca-c1dd-4686-9f41-62130a40e91b"
9296
},
9397
"expectation" : {
9498
"failure" : {
@@ -101,5 +105,18 @@
101105
"useDualstack" : false,
102106
"useAccountIdRouting" : true
103107
}
108+
}, {
109+
"id" : "ListTableBuckets_Success",
110+
"operationName" : "ListTableBuckets",
111+
"input" : { },
112+
"expectation" : {
113+
"success" : { }
114+
},
115+
"config" : {
116+
"region" : "us-east-1",
117+
"useFips" : false,
118+
"useDualstack" : false,
119+
"useAccountIdRouting" : true
120+
}
104121
} ]
105122
}

0 commit comments

Comments
 (0)