Skip to content

Commit dd68f58

Browse files
You can now use the CreateTable API operation to create tables with schemas by adding an optional metadata argument.
1 parent 87e5d24 commit dd68f58

File tree

50 files changed

+2996
-350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2996
-350
lines changed

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

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,10 @@
513513
},
514514
"exception":true
515515
},
516+
"Boolean":{
517+
"type":"boolean",
518+
"box":true
519+
},
516520
"ConflictException":{
517521
"type":"structure",
518522
"members":{
@@ -590,7 +594,8 @@
590594
"locationName":"namespace"
591595
},
592596
"name":{"shape":"TableName"},
593-
"format":{"shape":"OpenTableFormat"}
597+
"format":{"shape":"OpenTableFormat"},
598+
"metadata":{"shape":"TableMetadata"}
594599
}
595600
},
596601
"CreateTableResponse":{
@@ -1017,6 +1022,20 @@
10171022
"targetFileSizeMB":{"shape":"PositiveInteger"}
10181023
}
10191024
},
1025+
"IcebergMetadata":{
1026+
"type":"structure",
1027+
"required":["schema"],
1028+
"members":{
1029+
"schema":{"shape":"IcebergSchema"}
1030+
}
1031+
},
1032+
"IcebergSchema":{
1033+
"type":"structure",
1034+
"required":["fields"],
1035+
"members":{
1036+
"fields":{"shape":"SchemaFieldList"}
1037+
}
1038+
},
10201039
"IcebergSnapshotManagementSettings":{
10211040
"type":"structure",
10221041
"members":{
@@ -1379,6 +1398,22 @@
13791398
"max":20480,
13801399
"min":1
13811400
},
1401+
"SchemaField":{
1402+
"type":"structure",
1403+
"required":[
1404+
"name",
1405+
"type"
1406+
],
1407+
"members":{
1408+
"name":{"shape":"String"},
1409+
"type":{"shape":"String"},
1410+
"required":{"shape":"Boolean"}
1411+
}
1412+
},
1413+
"SchemaFieldList":{
1414+
"type":"list",
1415+
"member":{"shape":"SchemaField"}
1416+
},
13821417
"String":{"type":"string"},
13831418
"SyntheticTimestamp_date_time":{
13841419
"type":"timestamp",
@@ -1491,6 +1526,13 @@
14911526
"icebergSnapshotManagement"
14921527
]
14931528
},
1529+
"TableMetadata":{
1530+
"type":"structure",
1531+
"members":{
1532+
"iceberg":{"shape":"IcebergMetadata"}
1533+
},
1534+
"union":true
1535+
},
14941536
"TableName":{
14951537
"type":"string",
14961538
"max":255,

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

Lines changed: 78 additions & 40 deletions
Large diffs are not rendered by default.

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

Lines changed: 107 additions & 40 deletions
Large diffs are not rendered by default.

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

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
{
22
"version" : 2,
33
"testCases" : [ {
4-
"id" : "ListNamespaces_AccessDeniedException",
5-
"operationName" : "ListNamespaces",
6-
"input" : {
7-
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
8-
},
4+
"id" : "ListTableBuckets_Success",
5+
"operationName" : "ListTableBuckets",
6+
"input" : { },
97
"expectation" : {
10-
"failure" : {
11-
"errorId" : "AccessDeniedException"
12-
}
8+
"success" : { }
139
},
1410
"config" : {
1511
"region" : "us-east-1",
@@ -36,7 +32,7 @@
3632
"useAccountIdRouting" : true
3733
}
3834
}, {
39-
"id" : "GetTable_AccessDeniedException",
35+
"id" : "ListTables_AccessDeniedException",
4036
"operationName" : "ListTables",
4137
"input" : {
4238
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
@@ -53,10 +49,12 @@
5349
"useAccountIdRouting" : true
5450
}
5551
}, {
56-
"id" : "GetTableBucket_AccessDeniedException",
57-
"operationName" : "GetTableBucket",
52+
"id" : "GetTable_AccessDeniedException",
53+
"operationName" : "GetTable",
5854
"input" : {
59-
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
55+
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist",
56+
"namespace" : "doesnotexist",
57+
"name" : "doesnotexist"
6058
},
6159
"expectation" : {
6260
"failure" : {
@@ -70,12 +68,10 @@
7068
"useAccountIdRouting" : true
7169
}
7270
}, {
73-
"id" : "GetTable_AccessDeniedException",
74-
"operationName" : "GetTable",
71+
"id" : "GetTableBucket_AccessDeniedException",
72+
"operationName" : "GetTableBucket",
7573
"input" : {
76-
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist",
77-
"namespace" : "doesnotexist",
78-
"name" : "doesnotexist"
74+
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
7975
},
8076
"expectation" : {
8177
"failure" : {
@@ -89,11 +85,15 @@
8985
"useAccountIdRouting" : true
9086
}
9187
}, {
92-
"id" : "ListTableBuckets_Success",
93-
"operationName" : "ListTableBuckets",
94-
"input" : { },
88+
"id" : "ListNamespaces_AccessDeniedException",
89+
"operationName" : "ListNamespaces",
90+
"input" : {
91+
"tableBucketARN" : "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist"
92+
},
9593
"expectation" : {
96-
"success" : { }
94+
"failure" : {
95+
"errorId" : "AccessDeniedException"
96+
}
9797
},
9898
"config" : {
9999
"region" : "us-east-1",

sdk/src/Services/S3Tables/Generated/Model/CreateNamespaceRequest.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,15 @@ namespace Amazon.S3Tables.Model
3232
/// <summary>
3333
/// Container for the parameters to the CreateNamespace operation.
3434
/// Creates a namespace. A namespace is a logical grouping of tables within your table
35-
/// 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.html">Table
36-
/// namespaces</a>.
35+
/// 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
36+
/// a namespace</a> in the <i>Amazon Simple Storage Service User Guide</i>.
37+
///
38+
/// <dl> <dt>Permissions</dt> <dd>
39+
/// <para>
40+
/// You must have the <c>s3tables:CreateNamespace</c> permission to use this operation.
41+
///
42+
/// </para>
43+
/// </dd> </dl>
3744
/// </summary>
3845
public partial class CreateNamespaceRequest : AmazonS3TablesRequest
3946
{

sdk/src/Services/S3Tables/Generated/Model/CreateTableBucketRequest.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ namespace Amazon.S3Tables.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the CreateTableBucket operation.
34-
/// Creates a table bucket.
34+
/// Creates a table bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html">Creating
35+
/// a table bucket</a> in the <i>Amazon Simple Storage Service User Guide</i>.
36+
///
37+
/// <dl> <dt>Permissions</dt> <dd>
38+
/// <para>
39+
/// You must have the <c>s3tables:CreateTableBucket</c> permission to use this operation.
40+
///
41+
/// </para>
42+
/// </dd> </dl>
3543
/// </summary>
3644
public partial class CreateTableBucketRequest : AmazonS3TablesRequest
3745
{

sdk/src/Services/S3Tables/Generated/Model/CreateTableRequest.cs

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,25 @@ namespace Amazon.S3Tables.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the CreateTable operation.
34-
/// Creates a new table associated with the given namespace in a table bucket.
34+
/// Creates a new table associated with the given namespace in a table bucket. For more
35+
/// information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-create.html">Creating
36+
/// an Amazon S3 table</a> in the <i>Amazon Simple Storage Service User Guide</i>.
37+
///
38+
/// <dl> <dt>Permissions</dt> <dd>
39+
/// <para>
40+
/// You must have the <c>s3tables:CreateTable</c> permission to use this operation.
41+
/// </para>
42+
/// <note>
43+
/// <para>
44+
/// Additionally, you must have the <c>s3tables:PutTableData</c> permission to use this
45+
/// operation with the optional <c>metadata</c> request parameter.
46+
/// </para>
47+
/// </note> </dd> </dl>
3548
/// </summary>
3649
public partial class CreateTableRequest : AmazonS3TablesRequest
3750
{
3851
private OpenTableFormat _format;
52+
private TableMetadata _metadata;
3953
private string _name;
4054
private string _awsNamespace;
4155
private string _tableBucketARN;
@@ -59,6 +73,24 @@ internal bool IsSetFormat()
5973
return this._format != null;
6074
}
6175

76+
/// <summary>
77+
/// Gets and sets the property Metadata.
78+
/// <para>
79+
/// The metadata for the table.
80+
/// </para>
81+
/// </summary>
82+
public TableMetadata Metadata
83+
{
84+
get { return this._metadata; }
85+
set { this._metadata = value; }
86+
}
87+
88+
// Check to see if Metadata property is set
89+
internal bool IsSetMetadata()
90+
{
91+
return this._metadata != null;
92+
}
93+
6294
/// <summary>
6395
/// Gets and sets the property Name.
6496
/// <para>

sdk/src/Services/S3Tables/Generated/Model/DeleteNamespaceRequest.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ namespace Amazon.S3Tables.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the DeleteNamespace operation.
34-
/// Deletes a namespace.
34+
/// Deletes a namespace. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-namespace-delete.html">Delete
35+
/// a namespace</a> in the <i>Amazon Simple Storage Service User Guide</i>.
36+
///
37+
/// <dl> <dt>Permissions</dt> <dd>
38+
/// <para>
39+
/// You must have the <c>s3tables:DeleteNamespace</c> permission to use this operation.
40+
///
41+
/// </para>
42+
/// </dd> </dl>
3543
/// </summary>
3644
public partial class DeleteNamespaceRequest : AmazonS3TablesRequest
3745
{

sdk/src/Services/S3Tables/Generated/Model/DeleteTableBucketPolicyRequest.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ namespace Amazon.S3Tables.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the DeleteTableBucketPolicy operation.
34-
/// Deletes a table bucket policy.
34+
/// Deletes a table bucket policy. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-bucket-policy.html#table-bucket-policy-delete">Deleting
35+
/// a table bucket policy</a> in the <i>Amazon Simple Storage Service User Guide</i>.
36+
///
37+
/// <dl> <dt>Permissions</dt> <dd>
38+
/// <para>
39+
/// You must have the <c>s3tables:DeleteTableBucketPolicy</c> permission to use this operation.
40+
///
41+
/// </para>
42+
/// </dd> </dl>
3543
/// </summary>
3644
public partial class DeleteTableBucketPolicyRequest : AmazonS3TablesRequest
3745
{
@@ -40,7 +48,7 @@ public partial class DeleteTableBucketPolicyRequest : AmazonS3TablesRequest
4048
/// <summary>
4149
/// Gets and sets the property TableBucketARN.
4250
/// <para>
43-
/// The Amazon Resource Number (ARN) of the table bucket.
51+
/// The Amazon Resource Name (ARN) of the table bucket.
4452
/// </para>
4553
/// </summary>
4654
[AWSProperty(Required=true)]

sdk/src/Services/S3Tables/Generated/Model/DeleteTableBucketRequest.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ namespace Amazon.S3Tables.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the DeleteTableBucket operation.
34-
/// Deletes a table bucket.
34+
/// Deletes a table bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-delete.html">Deleting
35+
/// a table bucket</a> in the <i>Amazon Simple Storage Service User Guide</i>.
36+
///
37+
/// <dl> <dt>Permissions</dt> <dd>
38+
/// <para>
39+
/// You must have the <c>s3tables:DeleteTableBucket</c> permission to use this operation.
40+
///
41+
/// </para>
42+
/// </dd> </dl>
3543
/// </summary>
3644
public partial class DeleteTableBucketRequest : AmazonS3TablesRequest
3745
{

0 commit comments

Comments
 (0)