Skip to content

Commit a87fe0a

Browse files
Update API model
1 parent f6ca482 commit a87fe0a

File tree

3 files changed

+3674
-1
lines changed

3 files changed

+3674
-1
lines changed

tools/code-generation/smithy/api-descriptions/glue.json

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7077,6 +7077,20 @@
70777077
"smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$"
70787078
}
70797079
},
7080+
"com.amazonaws.glue#CompactionConfiguration": {
7081+
"type": "structure",
7082+
"members": {
7083+
"icebergConfiguration": {
7084+
"target": "com.amazonaws.glue#IcebergCompactionConfiguration",
7085+
"traits": {
7086+
"smithy.api#documentation": "<p>The configuration for an Iceberg compaction optimizer.</p>"
7087+
}
7088+
}
7089+
},
7090+
"traits": {
7091+
"smithy.api#documentation": "<p>The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve \n query performance and reduce storage costs.</p>"
7092+
}
7093+
},
70807094
"com.amazonaws.glue#CompactionMetrics": {
70817095
"type": "structure",
70827096
"members": {
@@ -7091,6 +7105,29 @@
70917105
"smithy.api#documentation": "<p>A structure that contains compaction metrics for the optimizer run.</p>"
70927106
}
70937107
},
7108+
"com.amazonaws.glue#CompactionStrategy": {
7109+
"type": "enum",
7110+
"members": {
7111+
"BINPACK": {
7112+
"target": "smithy.api#Unit",
7113+
"traits": {
7114+
"smithy.api#enumValue": "binpack"
7115+
}
7116+
},
7117+
"SORT": {
7118+
"target": "smithy.api#Unit",
7119+
"traits": {
7120+
"smithy.api#enumValue": "sort"
7121+
}
7122+
},
7123+
"ZORDER": {
7124+
"target": "smithy.api#Unit",
7125+
"traits": {
7126+
"smithy.api#enumValue": "z-order"
7127+
}
7128+
}
7129+
}
7130+
},
70947131
"com.amazonaws.glue#Comparator": {
70957132
"type": "enum",
70967133
"members": {
@@ -25833,6 +25870,20 @@
2583325870
"smithy.api#pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:iam::[0-9]{12}:role/.+$"
2583425871
}
2583525872
},
25873+
"com.amazonaws.glue#IcebergCompactionConfiguration": {
25874+
"type": "structure",
25875+
"members": {
25876+
"strategy": {
25877+
"target": "com.amazonaws.glue#CompactionStrategy",
25878+
"traits": {
25879+
"smithy.api#documentation": "<p>The strategy to use for compaction. Valid values are:</p>\n <ul>\n <li>\n <p>\n <code>binpack</code>: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. \n This is the recommended compaction strategy for most use cases.\n </p>\n </li>\n <li>\n <p>\n <code>sort</code>: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query \n performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, \n you must first define a sort order in your Iceberg table properties using the <code>sort_order</code> table property.</p>\n </li>\n <li>\n <p>\n <code>z-order</code>: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, \n allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions \n simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the \n <code>sort_order</code> table property.\n </p>\n </li>\n </ul>\n <p>If an input is not provided, the default value 'binpack' will be used.</p>"
25880+
}
25881+
}
25882+
},
25883+
"traits": {
25884+
"smithy.api#documentation": "<p>The configuration for an Iceberg compaction optimizer. This configuration defines parameters for optimizing the layout of data files in Iceberg tables.</p>"
25885+
}
25886+
},
2583625887
"com.amazonaws.glue#IcebergCompactionMetrics": {
2583725888
"type": "structure",
2583825889
"members": {
@@ -40815,6 +40866,12 @@
4081540866
"smithy.api#documentation": "<p>A <code>TableOptimizerVpcConfiguration</code> object representing the VPC configuration for a table optimizer.</p>\n <p>This configuration is necessary to perform optimization on tables that are in a customer VPC.</p>"
4081640867
}
4081740868
},
40869+
"compactionConfiguration": {
40870+
"target": "com.amazonaws.glue#CompactionConfiguration",
40871+
"traits": {
40872+
"smithy.api#documentation": "<p>The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to \n improve query performance and reduce storage costs.</p>"
40873+
}
40874+
},
4081840875
"retentionConfiguration": {
4081940876
"target": "com.amazonaws.glue#RetentionConfiguration",
4082040877
"traits": {
@@ -40903,6 +40960,12 @@
4090340960
"smithy.api#documentation": "<p>A <code>CompactionMetrics</code> object containing metrics for the optimizer run.</p>"
4090440961
}
4090540962
},
40963+
"compactionStrategy": {
40964+
"target": "com.amazonaws.glue#CompactionStrategy",
40965+
"traits": {
40966+
"smithy.api#documentation": "<p>The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the \n compaction process. Valid values are:</p>\n <ul>\n <li>\n <p>\n <code>binpack</code>: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. \n This is the recommended compaction strategy for most use cases.\n </p>\n </li>\n <li>\n <p>\n <code>sort</code>: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query \n performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, \n you must first define a sort order in your Iceberg table properties using the <code>sort_order</code> table property.</p>\n </li>\n <li>\n <p>\n <code>z-order</code>: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, \n allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions \n simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the \n <code>sort_order</code> table property.\n </p>\n </li>\n </ul>"
40967+
}
40968+
},
4090640969
"retentionMetrics": {
4090740970
"target": "com.amazonaws.glue#RetentionMetrics",
4090840971
"traits": {

tools/code-generation/smithy/api-descriptions/s3tables.json

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1376,7 +1376,7 @@
13761376
}
13771377
],
13781378
"traits": {
1379-
"smithy.api#documentation": "<p>Gets details about the maintenance configuration of 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:GetTableMaintenanceConfiguration</code> permission to use this operation. </p> </dd> </dl>",
1379+
"smithy.api#documentation": "<p>Gets details about the maintenance configuration of 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> <ul> <li> <p>You must have the <code>s3tables:GetTableMaintenanceConfiguration</code> permission to use this operation. </p> </li> <li> <p>You must have the <code>s3tables:GetTableData</code> permission to use set the compaction strategy to <code>sort</code> or <code>zorder</code>.</p> </li> </ul> </dd> </dl>",
13801380
"smithy.api#http": {
13811381
"uri": "/tables/{tableBucketARN}/{namespace}/{name}/maintenance",
13821382
"method": "GET"
@@ -1873,12 +1873,47 @@
18731873
"traits": {
18741874
"smithy.api#documentation": "<p>The target file size for the table in MB.</p>"
18751875
}
1876+
},
1877+
"strategy": {
1878+
"target": "com.amazonaws.s3tables#IcebergCompactionStrategy",
1879+
"traits": {
1880+
"smithy.api#documentation": "<p>The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations.</p>"
1881+
}
18761882
}
18771883
},
18781884
"traits": {
18791885
"smithy.api#documentation": "<p>Contains details about the compaction settings for an Iceberg table.</p>"
18801886
}
18811887
},
1888+
"com.amazonaws.s3tables#IcebergCompactionStrategy": {
1889+
"type": "enum",
1890+
"members": {
1891+
"AUTO": {
1892+
"target": "smithy.api#Unit",
1893+
"traits": {
1894+
"smithy.api#enumValue": "auto"
1895+
}
1896+
},
1897+
"BINPACK": {
1898+
"target": "smithy.api#Unit",
1899+
"traits": {
1900+
"smithy.api#enumValue": "binpack"
1901+
}
1902+
},
1903+
"SORT": {
1904+
"target": "smithy.api#Unit",
1905+
"traits": {
1906+
"smithy.api#enumValue": "sort"
1907+
}
1908+
},
1909+
"ZORDER": {
1910+
"target": "smithy.api#Unit",
1911+
"traits": {
1912+
"smithy.api#enumValue": "z-order"
1913+
}
1914+
}
1915+
}
1916+
},
18821917
"com.amazonaws.s3tables#IcebergMetadata": {
18831918
"type": "structure",
18841919
"members": {

0 commit comments

Comments
 (0)