aws-sdk-glue 1.193.0 → 1.194.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f1f3d5020787f13bb1ead562f0413e90bf87836593aed54852fdf29f6517d48
4
- data.tar.gz: c312129ee67608144b5af7319d2b5aca0106fa6a153df12fb2ddeffc3ad126cd
3
+ metadata.gz: c80f85a708425c975e698d3e52f8d0d15353c37572cf9d3b74dbb5330d039c29
4
+ data.tar.gz: c201de9b8e428cfab3737a0d5c3b27ec23021182a92c4f28c86c9a258609d77d
5
5
  SHA512:
6
- metadata.gz: e99154994555d33c549992e8e58831cb84e2e862997d778271cc6d46e97206ef15b4599d3402cfffdb2ab2093bb3c3c2c9a70af239a5545d354b8c82f3fa46c2
7
- data.tar.gz: d57f7a04b7a8f2a1f262042adb95f850fa86f4d00efd87595861499a9d49f01421516e8d5595dbc5d296edab6593aee23d56087b15ee102c3613002e487a082c
6
+ metadata.gz: 93b283426784ee424c9e758eb93d36897fbb6c01b2b8eec1460a3a2a0ff98b2e7145d5bc48696ca92a46095f5233cce73e125d9f3b192a5b8993944d3d090544
7
+ data.tar.gz: c048130e762d8b8fb1c73316ed845b5c58c4c6353d709e940893d01f7e49ee62d29e24f86c2ed67e261f527d0793811e35d2234843f4422a1ceaf20d93b10380
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.194.0 (2024-09-12)
5
+ ------------------
6
+
7
+ * Feature - AWS Glue is introducing two new optimizers for Apache Iceberg tables: snapshot retention and orphan file deletion. Customers can enable these optimizers and customize their configurations to perform daily maintenance tasks on their Iceberg tables based on their specific requirements.
8
+
4
9
  1.193.0 (2024-09-11)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.193.0
1
+ 1.194.0
@@ -2141,7 +2141,7 @@ module Aws::Glue
2141
2141
  # catalog_id: "CatalogIdString",
2142
2142
  # database_name: "databaseNameString",
2143
2143
  # table_name: "tableNameString",
2144
- # type: "compaction", # accepts compaction
2144
+ # type: "compaction", # accepts compaction, retention, orphan_file_deletion
2145
2145
  # },
2146
2146
  # ],
2147
2147
  # })
@@ -2152,9 +2152,14 @@ module Aws::Glue
2152
2152
  # resp.table_optimizers[0].catalog_id #=> String
2153
2153
  # resp.table_optimizers[0].database_name #=> String
2154
2154
  # resp.table_optimizers[0].table_name #=> String
2155
- # resp.table_optimizers[0].table_optimizer.type #=> String, one of "compaction"
2155
+ # resp.table_optimizers[0].table_optimizer.type #=> String, one of "compaction", "retention", "orphan_file_deletion"
2156
2156
  # resp.table_optimizers[0].table_optimizer.configuration.role_arn #=> String
2157
2157
  # resp.table_optimizers[0].table_optimizer.configuration.enabled #=> Boolean
2158
+ # resp.table_optimizers[0].table_optimizer.configuration.retention_configuration.iceberg_configuration.snapshot_retention_period_in_days #=> Integer
2159
+ # resp.table_optimizers[0].table_optimizer.configuration.retention_configuration.iceberg_configuration.number_of_snapshots_to_retain #=> Integer
2160
+ # resp.table_optimizers[0].table_optimizer.configuration.retention_configuration.iceberg_configuration.clean_expired_files #=> Boolean
2161
+ # resp.table_optimizers[0].table_optimizer.configuration.orphan_file_deletion_configuration.iceberg_configuration.orphan_file_retention_period_in_days #=> Integer
2162
+ # resp.table_optimizers[0].table_optimizer.configuration.orphan_file_deletion_configuration.iceberg_configuration.location #=> String
2158
2163
  # resp.table_optimizers[0].table_optimizer.last_run.event_type #=> String, one of "starting", "completed", "failed", "in_progress"
2159
2164
  # resp.table_optimizers[0].table_optimizer.last_run.start_timestamp #=> Time
2160
2165
  # resp.table_optimizers[0].table_optimizer.last_run.end_timestamp #=> Time
@@ -2163,13 +2168,25 @@ module Aws::Glue
2163
2168
  # resp.table_optimizers[0].table_optimizer.last_run.metrics.number_of_dpus #=> String
2164
2169
  # resp.table_optimizers[0].table_optimizer.last_run.metrics.job_duration_in_hour #=> String
2165
2170
  # resp.table_optimizers[0].table_optimizer.last_run.error #=> String
2171
+ # resp.table_optimizers[0].table_optimizer.last_run.compaction_metrics.iceberg_metrics.number_of_bytes_compacted #=> Integer
2172
+ # resp.table_optimizers[0].table_optimizer.last_run.compaction_metrics.iceberg_metrics.number_of_files_compacted #=> Integer
2173
+ # resp.table_optimizers[0].table_optimizer.last_run.compaction_metrics.iceberg_metrics.number_of_dpus #=> Integer
2174
+ # resp.table_optimizers[0].table_optimizer.last_run.compaction_metrics.iceberg_metrics.job_duration_in_hour #=> Float
2175
+ # resp.table_optimizers[0].table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_data_files_deleted #=> Integer
2176
+ # resp.table_optimizers[0].table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_manifest_files_deleted #=> Integer
2177
+ # resp.table_optimizers[0].table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_manifest_lists_deleted #=> Integer
2178
+ # resp.table_optimizers[0].table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_dpus #=> Integer
2179
+ # resp.table_optimizers[0].table_optimizer.last_run.retention_metrics.iceberg_metrics.job_duration_in_hour #=> Float
2180
+ # resp.table_optimizers[0].table_optimizer.last_run.orphan_file_deletion_metrics.iceberg_metrics.number_of_orphan_files_deleted #=> Integer
2181
+ # resp.table_optimizers[0].table_optimizer.last_run.orphan_file_deletion_metrics.iceberg_metrics.number_of_dpus #=> Integer
2182
+ # resp.table_optimizers[0].table_optimizer.last_run.orphan_file_deletion_metrics.iceberg_metrics.job_duration_in_hour #=> Float
2166
2183
  # resp.failures #=> Array
2167
2184
  # resp.failures[0].error.error_code #=> String
2168
2185
  # resp.failures[0].error.error_message #=> String
2169
2186
  # resp.failures[0].catalog_id #=> String
2170
2187
  # resp.failures[0].database_name #=> String
2171
2188
  # resp.failures[0].table_name #=> String
2172
- # resp.failures[0].type #=> String, one of "compaction"
2189
+ # resp.failures[0].type #=> String, one of "compaction", "retention", "orphan_file_deletion"
2173
2190
  #
2174
2191
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetTableOptimizer AWS API Documentation
2175
2192
  #
@@ -4812,10 +4829,23 @@ module Aws::Glue
4812
4829
  # catalog_id: "CatalogIdString", # required
4813
4830
  # database_name: "NameString", # required
4814
4831
  # table_name: "NameString", # required
4815
- # type: "compaction", # required, accepts compaction
4832
+ # type: "compaction", # required, accepts compaction, retention, orphan_file_deletion
4816
4833
  # table_optimizer_configuration: { # required
4817
4834
  # role_arn: "ArnString",
4818
4835
  # enabled: false,
4836
+ # retention_configuration: {
4837
+ # iceberg_configuration: {
4838
+ # snapshot_retention_period_in_days: 1,
4839
+ # number_of_snapshots_to_retain: 1,
4840
+ # clean_expired_files: false,
4841
+ # },
4842
+ # },
4843
+ # orphan_file_deletion_configuration: {
4844
+ # iceberg_configuration: {
4845
+ # orphan_file_retention_period_in_days: 1,
4846
+ # location: "MessageString",
4847
+ # },
4848
+ # },
4819
4849
  # },
4820
4850
  # })
4821
4851
  #
@@ -5826,7 +5856,7 @@ module Aws::Glue
5826
5856
  # catalog_id: "CatalogIdString", # required
5827
5857
  # database_name: "NameString", # required
5828
5858
  # table_name: "NameString", # required
5829
- # type: "compaction", # required, accepts compaction
5859
+ # type: "compaction", # required, accepts compaction, retention, orphan_file_deletion
5830
5860
  # })
5831
5861
  #
5832
5862
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTableOptimizer AWS API Documentation
@@ -11346,7 +11376,7 @@ module Aws::Glue
11346
11376
  # catalog_id: "CatalogIdString", # required
11347
11377
  # database_name: "NameString", # required
11348
11378
  # table_name: "NameString", # required
11349
- # type: "compaction", # required, accepts compaction
11379
+ # type: "compaction", # required, accepts compaction, retention, orphan_file_deletion
11350
11380
  # })
11351
11381
  #
11352
11382
  # @example Response structure
@@ -11354,9 +11384,14 @@ module Aws::Glue
11354
11384
  # resp.catalog_id #=> String
11355
11385
  # resp.database_name #=> String
11356
11386
  # resp.table_name #=> String
11357
- # resp.table_optimizer.type #=> String, one of "compaction"
11387
+ # resp.table_optimizer.type #=> String, one of "compaction", "retention", "orphan_file_deletion"
11358
11388
  # resp.table_optimizer.configuration.role_arn #=> String
11359
11389
  # resp.table_optimizer.configuration.enabled #=> Boolean
11390
+ # resp.table_optimizer.configuration.retention_configuration.iceberg_configuration.snapshot_retention_period_in_days #=> Integer
11391
+ # resp.table_optimizer.configuration.retention_configuration.iceberg_configuration.number_of_snapshots_to_retain #=> Integer
11392
+ # resp.table_optimizer.configuration.retention_configuration.iceberg_configuration.clean_expired_files #=> Boolean
11393
+ # resp.table_optimizer.configuration.orphan_file_deletion_configuration.iceberg_configuration.orphan_file_retention_period_in_days #=> Integer
11394
+ # resp.table_optimizer.configuration.orphan_file_deletion_configuration.iceberg_configuration.location #=> String
11360
11395
  # resp.table_optimizer.last_run.event_type #=> String, one of "starting", "completed", "failed", "in_progress"
11361
11396
  # resp.table_optimizer.last_run.start_timestamp #=> Time
11362
11397
  # resp.table_optimizer.last_run.end_timestamp #=> Time
@@ -11365,6 +11400,18 @@ module Aws::Glue
11365
11400
  # resp.table_optimizer.last_run.metrics.number_of_dpus #=> String
11366
11401
  # resp.table_optimizer.last_run.metrics.job_duration_in_hour #=> String
11367
11402
  # resp.table_optimizer.last_run.error #=> String
11403
+ # resp.table_optimizer.last_run.compaction_metrics.iceberg_metrics.number_of_bytes_compacted #=> Integer
11404
+ # resp.table_optimizer.last_run.compaction_metrics.iceberg_metrics.number_of_files_compacted #=> Integer
11405
+ # resp.table_optimizer.last_run.compaction_metrics.iceberg_metrics.number_of_dpus #=> Integer
11406
+ # resp.table_optimizer.last_run.compaction_metrics.iceberg_metrics.job_duration_in_hour #=> Float
11407
+ # resp.table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_data_files_deleted #=> Integer
11408
+ # resp.table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_manifest_files_deleted #=> Integer
11409
+ # resp.table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_manifest_lists_deleted #=> Integer
11410
+ # resp.table_optimizer.last_run.retention_metrics.iceberg_metrics.number_of_dpus #=> Integer
11411
+ # resp.table_optimizer.last_run.retention_metrics.iceberg_metrics.job_duration_in_hour #=> Float
11412
+ # resp.table_optimizer.last_run.orphan_file_deletion_metrics.iceberg_metrics.number_of_orphan_files_deleted #=> Integer
11413
+ # resp.table_optimizer.last_run.orphan_file_deletion_metrics.iceberg_metrics.number_of_dpus #=> Integer
11414
+ # resp.table_optimizer.last_run.orphan_file_deletion_metrics.iceberg_metrics.job_duration_in_hour #=> Float
11368
11415
  #
11369
11416
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableOptimizer AWS API Documentation
11370
11417
  #
@@ -14398,7 +14445,7 @@ module Aws::Glue
14398
14445
  # catalog_id: "CatalogIdString", # required
14399
14446
  # database_name: "NameString", # required
14400
14447
  # table_name: "NameString", # required
14401
- # type: "compaction", # required, accepts compaction
14448
+ # type: "compaction", # required, accepts compaction, retention, orphan_file_deletion
14402
14449
  # max_results: 1,
14403
14450
  # next_token: "ListTableOptimizerRunsToken",
14404
14451
  # })
@@ -14418,6 +14465,18 @@ module Aws::Glue
14418
14465
  # resp.table_optimizer_runs[0].metrics.number_of_dpus #=> String
14419
14466
  # resp.table_optimizer_runs[0].metrics.job_duration_in_hour #=> String
14420
14467
  # resp.table_optimizer_runs[0].error #=> String
14468
+ # resp.table_optimizer_runs[0].compaction_metrics.iceberg_metrics.number_of_bytes_compacted #=> Integer
14469
+ # resp.table_optimizer_runs[0].compaction_metrics.iceberg_metrics.number_of_files_compacted #=> Integer
14470
+ # resp.table_optimizer_runs[0].compaction_metrics.iceberg_metrics.number_of_dpus #=> Integer
14471
+ # resp.table_optimizer_runs[0].compaction_metrics.iceberg_metrics.job_duration_in_hour #=> Float
14472
+ # resp.table_optimizer_runs[0].retention_metrics.iceberg_metrics.number_of_data_files_deleted #=> Integer
14473
+ # resp.table_optimizer_runs[0].retention_metrics.iceberg_metrics.number_of_manifest_files_deleted #=> Integer
14474
+ # resp.table_optimizer_runs[0].retention_metrics.iceberg_metrics.number_of_manifest_lists_deleted #=> Integer
14475
+ # resp.table_optimizer_runs[0].retention_metrics.iceberg_metrics.number_of_dpus #=> Integer
14476
+ # resp.table_optimizer_runs[0].retention_metrics.iceberg_metrics.job_duration_in_hour #=> Float
14477
+ # resp.table_optimizer_runs[0].orphan_file_deletion_metrics.iceberg_metrics.number_of_orphan_files_deleted #=> Integer
14478
+ # resp.table_optimizer_runs[0].orphan_file_deletion_metrics.iceberg_metrics.number_of_dpus #=> Integer
14479
+ # resp.table_optimizer_runs[0].orphan_file_deletion_metrics.iceberg_metrics.job_duration_in_hour #=> Float
14421
14480
  #
14422
14481
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListTableOptimizerRuns AWS API Documentation
14423
14482
  #
@@ -17804,10 +17863,23 @@ module Aws::Glue
17804
17863
  # catalog_id: "CatalogIdString", # required
17805
17864
  # database_name: "NameString", # required
17806
17865
  # table_name: "NameString", # required
17807
- # type: "compaction", # required, accepts compaction
17866
+ # type: "compaction", # required, accepts compaction, retention, orphan_file_deletion
17808
17867
  # table_optimizer_configuration: { # required
17809
17868
  # role_arn: "ArnString",
17810
17869
  # enabled: false,
17870
+ # retention_configuration: {
17871
+ # iceberg_configuration: {
17872
+ # snapshot_retention_period_in_days: 1,
17873
+ # number_of_snapshots_to_retain: 1,
17874
+ # clean_expired_files: false,
17875
+ # },
17876
+ # },
17877
+ # orphan_file_deletion_configuration: {
17878
+ # iceberg_configuration: {
17879
+ # orphan_file_retention_period_in_days: 1,
17880
+ # location: "MessageString",
17881
+ # },
17882
+ # },
17811
17883
  # },
17812
17884
  # })
17813
17885
  #
@@ -18077,7 +18149,7 @@ module Aws::Glue
18077
18149
  tracer: tracer
18078
18150
  )
18079
18151
  context[:gem_name] = 'aws-sdk-glue'
18080
- context[:gem_version] = '1.193.0'
18152
+ context[:gem_version] = '1.194.0'
18081
18153
  Seahorse::Client::Request.new(handlers, context)
18082
18154
  end
18083
18155
 
@@ -204,6 +204,7 @@ module Aws::Glue
204
204
  ColumnValuesString = Shapes::StringShape.new(name: 'ColumnValuesString')
205
205
  CommentString = Shapes::StringShape.new(name: 'CommentString')
206
206
  CommitIdString = Shapes::StringShape.new(name: 'CommitIdString')
207
+ CompactionMetrics = Shapes::StructureShape.new(name: 'CompactionMetrics')
207
208
  Comparator = Shapes::StringShape.new(name: 'Comparator')
208
209
  Compatibility = Shapes::StringShape.new(name: 'Compatibility')
209
210
  CompressionType = Shapes::StringShape.new(name: 'CompressionType')
@@ -689,7 +690,12 @@ module Aws::Glue
689
690
  HudiTargetCompressionType = Shapes::StringShape.new(name: 'HudiTargetCompressionType')
690
691
  HudiTargetList = Shapes::ListShape.new(name: 'HudiTargetList')
691
692
  IAMRoleArn = Shapes::StringShape.new(name: 'IAMRoleArn')
693
+ IcebergCompactionMetrics = Shapes::StructureShape.new(name: 'IcebergCompactionMetrics')
692
694
  IcebergInput = Shapes::StructureShape.new(name: 'IcebergInput')
695
+ IcebergOrphanFileDeletionConfiguration = Shapes::StructureShape.new(name: 'IcebergOrphanFileDeletionConfiguration')
696
+ IcebergOrphanFileDeletionMetrics = Shapes::StructureShape.new(name: 'IcebergOrphanFileDeletionMetrics')
697
+ IcebergRetentionConfiguration = Shapes::StructureShape.new(name: 'IcebergRetentionConfiguration')
698
+ IcebergRetentionMetrics = Shapes::StructureShape.new(name: 'IcebergRetentionMetrics')
693
699
  IcebergTarget = Shapes::StructureShape.new(name: 'IcebergTarget')
694
700
  IcebergTargetList = Shapes::ListShape.new(name: 'IcebergTargetList')
695
701
  IdString = Shapes::StringShape.new(name: 'IdString')
@@ -903,6 +909,8 @@ module Aws::Glue
903
909
  OrchestrationToken = Shapes::StringShape.new(name: 'OrchestrationToken')
904
910
  Order = Shapes::StructureShape.new(name: 'Order')
905
911
  OrderList = Shapes::ListShape.new(name: 'OrderList')
912
+ OrphanFileDeletionConfiguration = Shapes::StructureShape.new(name: 'OrphanFileDeletionConfiguration')
913
+ OrphanFileDeletionMetrics = Shapes::StructureShape.new(name: 'OrphanFileDeletionMetrics')
906
914
  OtherMetadataValueList = Shapes::ListShape.new(name: 'OtherMetadataValueList')
907
915
  OtherMetadataValueListItem = Shapes::StructureShape.new(name: 'OtherMetadataValueListItem')
908
916
  PIIDetection = Shapes::StructureShape.new(name: 'PIIDetection')
@@ -1006,6 +1014,8 @@ module Aws::Glue
1006
1014
  ResourceUriList = Shapes::ListShape.new(name: 'ResourceUriList')
1007
1015
  ResumeWorkflowRunRequest = Shapes::StructureShape.new(name: 'ResumeWorkflowRunRequest')
1008
1016
  ResumeWorkflowRunResponse = Shapes::StructureShape.new(name: 'ResumeWorkflowRunResponse')
1017
+ RetentionConfiguration = Shapes::StructureShape.new(name: 'RetentionConfiguration')
1018
+ RetentionMetrics = Shapes::StructureShape.new(name: 'RetentionMetrics')
1009
1019
  Role = Shapes::StringShape.new(name: 'Role')
1010
1020
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
1011
1021
  RoleString = Shapes::StringShape.new(name: 'RoleString')
@@ -1202,6 +1212,7 @@ module Aws::Glue
1202
1212
  TaskRunSortCriteria = Shapes::StructureShape.new(name: 'TaskRunSortCriteria')
1203
1213
  TaskStatusType = Shapes::StringShape.new(name: 'TaskStatusType')
1204
1214
  TaskType = Shapes::StringShape.new(name: 'TaskType')
1215
+ ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
1205
1216
  Timeout = Shapes::IntegerShape.new(name: 'Timeout')
1206
1217
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
1207
1218
  TimestampFilter = Shapes::StructureShape.new(name: 'TimestampFilter')
@@ -1339,6 +1350,9 @@ module Aws::Glue
1339
1350
  XMLClassifier = Shapes::StructureShape.new(name: 'XMLClassifier')
1340
1351
  databaseNameString = Shapes::StringShape.new(name: 'databaseNameString')
1341
1352
  double = Shapes::FloatShape.new(name: 'double')
1353
+ dpuCounts = Shapes::IntegerShape.new(name: 'dpuCounts')
1354
+ dpuDurationInHour = Shapes::FloatShape.new(name: 'dpuDurationInHour')
1355
+ metricCounts = Shapes::IntegerShape.new(name: 'metricCounts')
1342
1356
  tableNameString = Shapes::StringShape.new(name: 'tableNameString')
1343
1357
 
1344
1358
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
@@ -2026,6 +2040,9 @@ module Aws::Glue
2026
2040
 
2027
2041
  ColumnValueStringList.member = Shapes::ShapeRef.new(shape: ColumnValuesString)
2028
2042
 
2043
+ CompactionMetrics.add_member(:iceberg_metrics, Shapes::ShapeRef.new(shape: IcebergCompactionMetrics, location_name: "IcebergMetrics"))
2044
+ CompactionMetrics.struct_class = Types::CompactionMetrics
2045
+
2029
2046
  ConcurrentModificationException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
2030
2047
  ConcurrentModificationException.struct_class = Types::ConcurrentModificationException
2031
2048
 
@@ -4029,10 +4046,37 @@ module Aws::Glue
4029
4046
 
4030
4047
  HudiTargetList.member = Shapes::ShapeRef.new(shape: HudiTarget)
4031
4048
 
4049
+ IcebergCompactionMetrics.add_member(:number_of_bytes_compacted, Shapes::ShapeRef.new(shape: metricCounts, location_name: "NumberOfBytesCompacted"))
4050
+ IcebergCompactionMetrics.add_member(:number_of_files_compacted, Shapes::ShapeRef.new(shape: metricCounts, location_name: "NumberOfFilesCompacted"))
4051
+ IcebergCompactionMetrics.add_member(:number_of_dpus, Shapes::ShapeRef.new(shape: dpuCounts, location_name: "NumberOfDpus"))
4052
+ IcebergCompactionMetrics.add_member(:job_duration_in_hour, Shapes::ShapeRef.new(shape: dpuDurationInHour, location_name: "JobDurationInHour"))
4053
+ IcebergCompactionMetrics.struct_class = Types::IcebergCompactionMetrics
4054
+
4032
4055
  IcebergInput.add_member(:metadata_operation, Shapes::ShapeRef.new(shape: MetadataOperation, required: true, location_name: "MetadataOperation"))
4033
4056
  IcebergInput.add_member(:version, Shapes::ShapeRef.new(shape: VersionString, location_name: "Version"))
4034
4057
  IcebergInput.struct_class = Types::IcebergInput
4035
4058
 
4059
+ IcebergOrphanFileDeletionConfiguration.add_member(:orphan_file_retention_period_in_days, Shapes::ShapeRef.new(shape: NullableInteger, location_name: "orphanFileRetentionPeriodInDays"))
4060
+ IcebergOrphanFileDeletionConfiguration.add_member(:location, Shapes::ShapeRef.new(shape: MessageString, location_name: "location"))
4061
+ IcebergOrphanFileDeletionConfiguration.struct_class = Types::IcebergOrphanFileDeletionConfiguration
4062
+
4063
+ IcebergOrphanFileDeletionMetrics.add_member(:number_of_orphan_files_deleted, Shapes::ShapeRef.new(shape: metricCounts, location_name: "NumberOfOrphanFilesDeleted"))
4064
+ IcebergOrphanFileDeletionMetrics.add_member(:number_of_dpus, Shapes::ShapeRef.new(shape: dpuCounts, location_name: "NumberOfDpus"))
4065
+ IcebergOrphanFileDeletionMetrics.add_member(:job_duration_in_hour, Shapes::ShapeRef.new(shape: dpuDurationInHour, location_name: "JobDurationInHour"))
4066
+ IcebergOrphanFileDeletionMetrics.struct_class = Types::IcebergOrphanFileDeletionMetrics
4067
+
4068
+ IcebergRetentionConfiguration.add_member(:snapshot_retention_period_in_days, Shapes::ShapeRef.new(shape: NullableInteger, location_name: "snapshotRetentionPeriodInDays"))
4069
+ IcebergRetentionConfiguration.add_member(:number_of_snapshots_to_retain, Shapes::ShapeRef.new(shape: NullableInteger, location_name: "numberOfSnapshotsToRetain"))
4070
+ IcebergRetentionConfiguration.add_member(:clean_expired_files, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "cleanExpiredFiles"))
4071
+ IcebergRetentionConfiguration.struct_class = Types::IcebergRetentionConfiguration
4072
+
4073
+ IcebergRetentionMetrics.add_member(:number_of_data_files_deleted, Shapes::ShapeRef.new(shape: metricCounts, location_name: "NumberOfDataFilesDeleted"))
4074
+ IcebergRetentionMetrics.add_member(:number_of_manifest_files_deleted, Shapes::ShapeRef.new(shape: metricCounts, location_name: "NumberOfManifestFilesDeleted"))
4075
+ IcebergRetentionMetrics.add_member(:number_of_manifest_lists_deleted, Shapes::ShapeRef.new(shape: metricCounts, location_name: "NumberOfManifestListsDeleted"))
4076
+ IcebergRetentionMetrics.add_member(:number_of_dpus, Shapes::ShapeRef.new(shape: dpuCounts, location_name: "NumberOfDpus"))
4077
+ IcebergRetentionMetrics.add_member(:job_duration_in_hour, Shapes::ShapeRef.new(shape: dpuDurationInHour, location_name: "JobDurationInHour"))
4078
+ IcebergRetentionMetrics.struct_class = Types::IcebergRetentionMetrics
4079
+
4036
4080
  IcebergTarget.add_member(:paths, Shapes::ShapeRef.new(shape: PathList, location_name: "Paths"))
4037
4081
  IcebergTarget.add_member(:connection_name, Shapes::ShapeRef.new(shape: ConnectionName, location_name: "ConnectionName"))
4038
4082
  IcebergTarget.add_member(:exclusions, Shapes::ShapeRef.new(shape: PathList, location_name: "Exclusions"))
@@ -4764,6 +4808,12 @@ module Aws::Glue
4764
4808
 
4765
4809
  OrderList.member = Shapes::ShapeRef.new(shape: Order)
4766
4810
 
4811
+ OrphanFileDeletionConfiguration.add_member(:iceberg_configuration, Shapes::ShapeRef.new(shape: IcebergOrphanFileDeletionConfiguration, location_name: "icebergConfiguration"))
4812
+ OrphanFileDeletionConfiguration.struct_class = Types::OrphanFileDeletionConfiguration
4813
+
4814
+ OrphanFileDeletionMetrics.add_member(:iceberg_metrics, Shapes::ShapeRef.new(shape: IcebergOrphanFileDeletionMetrics, location_name: "IcebergMetrics"))
4815
+ OrphanFileDeletionMetrics.struct_class = Types::OrphanFileDeletionMetrics
4816
+
4767
4817
  OtherMetadataValueList.member = Shapes::ShapeRef.new(shape: OtherMetadataValueListItem)
4768
4818
 
4769
4819
  OtherMetadataValueListItem.add_member(:metadata_value, Shapes::ShapeRef.new(shape: MetadataValueString, location_name: "MetadataValue"))
@@ -5067,6 +5117,12 @@ module Aws::Glue
5067
5117
  ResumeWorkflowRunResponse.add_member(:node_ids, Shapes::ShapeRef.new(shape: NodeIdList, location_name: "NodeIds"))
5068
5118
  ResumeWorkflowRunResponse.struct_class = Types::ResumeWorkflowRunResponse
5069
5119
 
5120
+ RetentionConfiguration.add_member(:iceberg_configuration, Shapes::ShapeRef.new(shape: IcebergRetentionConfiguration, location_name: "icebergConfiguration"))
5121
+ RetentionConfiguration.struct_class = Types::RetentionConfiguration
5122
+
5123
+ RetentionMetrics.add_member(:iceberg_metrics, Shapes::ShapeRef.new(shape: IcebergRetentionMetrics, location_name: "IcebergMetrics"))
5124
+ RetentionMetrics.struct_class = Types::RetentionMetrics
5125
+
5070
5126
  RulesetNames.member = Shapes::ShapeRef.new(shape: NameString)
5071
5127
 
5072
5128
  RunIdentifier.add_member(:run_id, Shapes::ShapeRef.new(shape: HashString, location_name: "RunId"))
@@ -5800,13 +5856,18 @@ module Aws::Glue
5800
5856
 
5801
5857
  TableOptimizerConfiguration.add_member(:role_arn, Shapes::ShapeRef.new(shape: ArnString, location_name: "roleArn"))
5802
5858
  TableOptimizerConfiguration.add_member(:enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "enabled"))
5859
+ TableOptimizerConfiguration.add_member(:retention_configuration, Shapes::ShapeRef.new(shape: RetentionConfiguration, location_name: "retentionConfiguration"))
5860
+ TableOptimizerConfiguration.add_member(:orphan_file_deletion_configuration, Shapes::ShapeRef.new(shape: OrphanFileDeletionConfiguration, location_name: "orphanFileDeletionConfiguration"))
5803
5861
  TableOptimizerConfiguration.struct_class = Types::TableOptimizerConfiguration
5804
5862
 
5805
5863
  TableOptimizerRun.add_member(:event_type, Shapes::ShapeRef.new(shape: TableOptimizerEventType, location_name: "eventType"))
5806
5864
  TableOptimizerRun.add_member(:start_timestamp, Shapes::ShapeRef.new(shape: TableOptimizerRunTimestamp, location_name: "startTimestamp"))
5807
5865
  TableOptimizerRun.add_member(:end_timestamp, Shapes::ShapeRef.new(shape: TableOptimizerRunTimestamp, location_name: "endTimestamp"))
5808
- TableOptimizerRun.add_member(:metrics, Shapes::ShapeRef.new(shape: RunMetrics, location_name: "metrics"))
5866
+ TableOptimizerRun.add_member(:metrics, Shapes::ShapeRef.new(shape: RunMetrics, deprecated: true, location_name: "metrics", metadata: {"deprecatedMessage"=>"Metrics has been replaced by optimizer type specific metrics such as IcebergCompactionMetrics"}))
5809
5867
  TableOptimizerRun.add_member(:error, Shapes::ShapeRef.new(shape: MessageString, location_name: "error"))
5868
+ TableOptimizerRun.add_member(:compaction_metrics, Shapes::ShapeRef.new(shape: CompactionMetrics, location_name: "compactionMetrics"))
5869
+ TableOptimizerRun.add_member(:retention_metrics, Shapes::ShapeRef.new(shape: RetentionMetrics, location_name: "retentionMetrics"))
5870
+ TableOptimizerRun.add_member(:orphan_file_deletion_metrics, Shapes::ShapeRef.new(shape: OrphanFileDeletionMetrics, location_name: "orphanFileDeletionMetrics"))
5810
5871
  TableOptimizerRun.struct_class = Types::TableOptimizerRun
5811
5872
 
5812
5873
  TableOptimizerRuns.member = Shapes::ShapeRef.new(shape: TableOptimizerRun)
@@ -5874,6 +5935,9 @@ module Aws::Glue
5874
5935
  TaskRunSortCriteria.add_member(:sort_direction, Shapes::ShapeRef.new(shape: SortDirectionType, required: true, location_name: "SortDirection"))
5875
5936
  TaskRunSortCriteria.struct_class = Types::TaskRunSortCriteria
5876
5937
 
5938
+ ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
5939
+ ThrottlingException.struct_class = Types::ThrottlingException
5940
+
5877
5941
  TimestampFilter.add_member(:recorded_before, Shapes::ShapeRef.new(shape: Timestamp, location_name: "RecordedBefore"))
5878
5942
  TimestampFilter.add_member(:recorded_after, Shapes::ShapeRef.new(shape: Timestamp, location_name: "RecordedAfter"))
5879
5943
  TimestampFilter.struct_class = Types::TimestampFilter
@@ -6537,7 +6601,11 @@ module Aws::Glue
6537
6601
  o.http_request_uri = "/"
6538
6602
  o.input = Shapes::ShapeRef.new(shape: BatchGetTableOptimizerRequest)
6539
6603
  o.output = Shapes::ShapeRef.new(shape: BatchGetTableOptimizerResponse)
6604
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
6605
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
6606
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
6540
6607
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
6608
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6541
6609
  end)
6542
6610
 
6543
6611
  api.add_operation(:batch_get_triggers, Seahorse::Model::Operation.new.tap do |o|
@@ -6921,10 +6989,12 @@ module Aws::Glue
6921
6989
  o.input = Shapes::ShapeRef.new(shape: CreateTableOptimizerRequest)
6922
6990
  o.output = Shapes::ShapeRef.new(shape: CreateTableOptimizerResponse)
6923
6991
  o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
6992
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
6924
6993
  o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
6925
6994
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
6926
6995
  o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
6927
6996
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
6997
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6928
6998
  end)
6929
6999
 
6930
7000
  api.add_operation(:create_trigger, Seahorse::Model::Operation.new.tap do |o|
@@ -7253,6 +7323,7 @@ module Aws::Glue
7253
7323
  o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
7254
7324
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
7255
7325
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
7326
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7256
7327
  end)
7257
7328
 
7258
7329
  api.add_operation(:delete_table_version, Seahorse::Model::Operation.new.tap do |o|
@@ -8067,6 +8138,7 @@ module Aws::Glue
8067
8138
  o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
8068
8139
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
8069
8140
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
8141
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8070
8142
  end)
8071
8143
 
8072
8144
  api.add_operation(:get_table_version, Seahorse::Model::Operation.new.tap do |o|
@@ -8640,7 +8712,9 @@ module Aws::Glue
8640
8712
  o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
8641
8713
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
8642
8714
  o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
8715
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8643
8716
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
8717
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8644
8718
  o[:pager] = Aws::Pager.new(
8645
8719
  limit_key: "max_results",
8646
8720
  tokens: {
@@ -9384,7 +9458,10 @@ module Aws::Glue
9384
9458
  o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
9385
9459
  o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
9386
9460
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
9461
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
9387
9462
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
9463
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
9464
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
9388
9465
  end)
9389
9466
 
9390
9467
  api.add_operation(:update_trigger, Seahorse::Model::Operation.new.tap do |o|
@@ -61,6 +61,7 @@ module Aws::Glue
61
61
  # * {SchedulerNotRunningException}
62
62
  # * {SchedulerRunningException}
63
63
  # * {SchedulerTransitioningException}
64
+ # * {ThrottlingException}
64
65
  # * {ValidationException}
65
66
  # * {VersionMismatchException}
66
67
  #
@@ -600,6 +601,21 @@ module Aws::Glue
600
601
  end
601
602
  end
602
603
 
604
+ class ThrottlingException < ServiceError
605
+
606
+ # @param [Seahorse::Client::RequestContext] context
607
+ # @param [String] message
608
+ # @param [Aws::Glue::Types::ThrottlingException] data
609
+ def initialize(context, message, data = Aws::EmptyStructure.new)
610
+ super(context, message, data)
611
+ end
612
+
613
+ # @return [String]
614
+ def message
615
+ @message || @data[:message]
616
+ end
617
+ end
618
+
603
619
  class ValidationException < ServiceError
604
620
 
605
621
  # @param [Seahorse::Client::RequestContext] context
@@ -1383,7 +1383,7 @@ module Aws::Glue
1383
1383
  #
1384
1384
  # @!attribute [rw] table_optimizer
1385
1385
  # A `TableOptimizer` object that contains details on the configuration
1386
- # and last run of a table optimzer.
1386
+ # and last run of a table optimizer.
1387
1387
  # @return [Types::TableOptimizer]
1388
1388
  #
1389
1389
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchTableOptimizer AWS API Documentation
@@ -3000,6 +3000,21 @@ module Aws::Glue
3000
3000
  include Aws::Structure
3001
3001
  end
3002
3002
 
3003
+ # A structure that contains compaction metrics for the optimizer run.
3004
+ #
3005
+ # @!attribute [rw] iceberg_metrics
3006
+ # A structure containing the Iceberg compaction metrics for the
3007
+ # optimizer run.
3008
+ # @return [Types::IcebergCompactionMetrics]
3009
+ #
3010
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CompactionMetrics AWS API Documentation
3011
+ #
3012
+ class CompactionMetrics < Struct.new(
3013
+ :iceberg_metrics)
3014
+ SENSITIVE = []
3015
+ include Aws::Structure
3016
+ end
3017
+
3003
3018
  # Two processes are trying to modify a resource simultaneously.
3004
3019
  #
3005
3020
  # @!attribute [rw] message
@@ -13361,6 +13376,35 @@ module Aws::Glue
13361
13376
  include Aws::Structure
13362
13377
  end
13363
13378
 
13379
+ # Compaction metrics for Iceberg for the optimizer run.
13380
+ #
13381
+ # @!attribute [rw] number_of_bytes_compacted
13382
+ # The number of bytes removed by the compaction job run.
13383
+ # @return [Integer]
13384
+ #
13385
+ # @!attribute [rw] number_of_files_compacted
13386
+ # The number of files removed by the compaction job run.
13387
+ # @return [Integer]
13388
+ #
13389
+ # @!attribute [rw] number_of_dpus
13390
+ # The number of DPU hours consumed by the job.
13391
+ # @return [Integer]
13392
+ #
13393
+ # @!attribute [rw] job_duration_in_hour
13394
+ # The duration of the job in hours.
13395
+ # @return [Float]
13396
+ #
13397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/IcebergCompactionMetrics AWS API Documentation
13398
+ #
13399
+ class IcebergCompactionMetrics < Struct.new(
13400
+ :number_of_bytes_compacted,
13401
+ :number_of_files_compacted,
13402
+ :number_of_dpus,
13403
+ :job_duration_in_hour)
13404
+ SENSITIVE = []
13405
+ include Aws::Structure
13406
+ end
13407
+
13364
13408
  # A structure that defines an Apache Iceberg metadata table to create in
13365
13409
  # the catalog.
13366
13410
  #
@@ -13381,6 +13425,118 @@ module Aws::Glue
13381
13425
  include Aws::Structure
13382
13426
  end
13383
13427
 
13428
+ # The configuration for an Iceberg orphan file deletion optimizer.
13429
+ #
13430
+ # @!attribute [rw] orphan_file_retention_period_in_days
13431
+ # The number of days that orphan files should be retained before file
13432
+ # deletion. If an input is not provided, the default value 3 will be
13433
+ # used.
13434
+ # @return [Integer]
13435
+ #
13436
+ # @!attribute [rw] location
13437
+ # Specifies a directory in which to look for files (defaults to the
13438
+ # table's location). You may choose a sub-directory rather than the
13439
+ # top-level table location.
13440
+ # @return [String]
13441
+ #
13442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/IcebergOrphanFileDeletionConfiguration AWS API Documentation
13443
+ #
13444
+ class IcebergOrphanFileDeletionConfiguration < Struct.new(
13445
+ :orphan_file_retention_period_in_days,
13446
+ :location)
13447
+ SENSITIVE = []
13448
+ include Aws::Structure
13449
+ end
13450
+
13451
+ # Orphan file deletion metrics for Iceberg for the optimizer run.
13452
+ #
13453
+ # @!attribute [rw] number_of_orphan_files_deleted
13454
+ # The number of orphan files deleted by the orphan file deletion job
13455
+ # run.
13456
+ # @return [Integer]
13457
+ #
13458
+ # @!attribute [rw] number_of_dpus
13459
+ # The number of DPU hours consumed by the job.
13460
+ # @return [Integer]
13461
+ #
13462
+ # @!attribute [rw] job_duration_in_hour
13463
+ # The duration of the job in hours.
13464
+ # @return [Float]
13465
+ #
13466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/IcebergOrphanFileDeletionMetrics AWS API Documentation
13467
+ #
13468
+ class IcebergOrphanFileDeletionMetrics < Struct.new(
13469
+ :number_of_orphan_files_deleted,
13470
+ :number_of_dpus,
13471
+ :job_duration_in_hour)
13472
+ SENSITIVE = []
13473
+ include Aws::Structure
13474
+ end
13475
+
13476
+ # The configuration for an Iceberg snapshot retention optimizer.
13477
+ #
13478
+ # @!attribute [rw] snapshot_retention_period_in_days
13479
+ # The number of days to retain the Iceberg snapshots. If an input is
13480
+ # not provided, the corresponding Iceberg table configuration field
13481
+ # will be used or if not present, the default value 5 will be used.
13482
+ # @return [Integer]
13483
+ #
13484
+ # @!attribute [rw] number_of_snapshots_to_retain
13485
+ # The number of Iceberg snapshots to retain within the retention
13486
+ # period. If an input is not provided, the corresponding Iceberg table
13487
+ # configuration field will be used or if not present, the default
13488
+ # value 1 will be used.
13489
+ # @return [Integer]
13490
+ #
13491
+ # @!attribute [rw] clean_expired_files
13492
+ # If set to false, snapshots are only deleted from table metadata, and
13493
+ # the underlying data and metadata files are not deleted.
13494
+ # @return [Boolean]
13495
+ #
13496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/IcebergRetentionConfiguration AWS API Documentation
13497
+ #
13498
+ class IcebergRetentionConfiguration < Struct.new(
13499
+ :snapshot_retention_period_in_days,
13500
+ :number_of_snapshots_to_retain,
13501
+ :clean_expired_files)
13502
+ SENSITIVE = []
13503
+ include Aws::Structure
13504
+ end
13505
+
13506
+ # Snapshot retention metrics for Iceberg for the optimizer run.
13507
+ #
13508
+ # @!attribute [rw] number_of_data_files_deleted
13509
+ # The number of data files deleted by the retention job run.
13510
+ # @return [Integer]
13511
+ #
13512
+ # @!attribute [rw] number_of_manifest_files_deleted
13513
+ # The number of manifest files deleted by the retention job run.
13514
+ # @return [Integer]
13515
+ #
13516
+ # @!attribute [rw] number_of_manifest_lists_deleted
13517
+ # The number of manifest lists deleted by the retention job run.
13518
+ # @return [Integer]
13519
+ #
13520
+ # @!attribute [rw] number_of_dpus
13521
+ # The number of DPU hours consumed by the job.
13522
+ # @return [Integer]
13523
+ #
13524
+ # @!attribute [rw] job_duration_in_hour
13525
+ # The duration of the job in hours.
13526
+ # @return [Float]
13527
+ #
13528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/IcebergRetentionMetrics AWS API Documentation
13529
+ #
13530
+ class IcebergRetentionMetrics < Struct.new(
13531
+ :number_of_data_files_deleted,
13532
+ :number_of_manifest_files_deleted,
13533
+ :number_of_manifest_lists_deleted,
13534
+ :number_of_dpus,
13535
+ :job_duration_in_hour)
13536
+ SENSITIVE = []
13537
+ include Aws::Structure
13538
+ end
13539
+
13384
13540
  # Specifies an Apache Iceberg data source where Iceberg tables are
13385
13541
  # stored in Amazon S3.
13386
13542
  #
@@ -17414,6 +17570,36 @@ module Aws::Glue
17414
17570
  include Aws::Structure
17415
17571
  end
17416
17572
 
17573
+ # The configuration for an orphan file deletion optimizer.
17574
+ #
17575
+ # @!attribute [rw] iceberg_configuration
17576
+ # The configuration for an Iceberg orphan file deletion optimizer.
17577
+ # @return [Types::IcebergOrphanFileDeletionConfiguration]
17578
+ #
17579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/OrphanFileDeletionConfiguration AWS API Documentation
17580
+ #
17581
+ class OrphanFileDeletionConfiguration < Struct.new(
17582
+ :iceberg_configuration)
17583
+ SENSITIVE = []
17584
+ include Aws::Structure
17585
+ end
17586
+
17587
+ # A structure that contains orphan file deletion metrics for the
17588
+ # optimizer run.
17589
+ #
17590
+ # @!attribute [rw] iceberg_metrics
17591
+ # A structure containing the Iceberg orphan file deletion metrics for
17592
+ # the optimizer run.
17593
+ # @return [Types::IcebergOrphanFileDeletionMetrics]
17594
+ #
17595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/OrphanFileDeletionMetrics AWS API Documentation
17596
+ #
17597
+ class OrphanFileDeletionMetrics < Struct.new(
17598
+ :iceberg_metrics)
17599
+ SENSITIVE = []
17600
+ include Aws::Structure
17601
+ end
17602
+
17417
17603
  # A structure containing other metadata for a schema version belonging
17418
17604
  # to the same metadata key.
17419
17605
  #
@@ -18745,6 +18931,35 @@ module Aws::Glue
18745
18931
  include Aws::Structure
18746
18932
  end
18747
18933
 
18934
+ # The configuration for a snapshot retention optimizer.
18935
+ #
18936
+ # @!attribute [rw] iceberg_configuration
18937
+ # The configuration for an Iceberg snapshot retention optimizer.
18938
+ # @return [Types::IcebergRetentionConfiguration]
18939
+ #
18940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/RetentionConfiguration AWS API Documentation
18941
+ #
18942
+ class RetentionConfiguration < Struct.new(
18943
+ :iceberg_configuration)
18944
+ SENSITIVE = []
18945
+ include Aws::Structure
18946
+ end
18947
+
18948
+ # A structure that contains retention metrics for the optimizer run.
18949
+ #
18950
+ # @!attribute [rw] iceberg_metrics
18951
+ # A structure containing the Iceberg retention metrics for the
18952
+ # optimizer run.
18953
+ # @return [Types::IcebergRetentionMetrics]
18954
+ #
18955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/RetentionMetrics AWS API Documentation
18956
+ #
18957
+ class RetentionMetrics < Struct.new(
18958
+ :iceberg_metrics)
18959
+ SENSITIVE = []
18960
+ include Aws::Structure
18961
+ end
18962
+
18748
18963
  # A run identifier.
18749
18964
  #
18750
18965
  # @!attribute [rw] run_id
@@ -18766,6 +18981,9 @@ module Aws::Glue
18766
18981
 
18767
18982
  # Metrics for the optimizer run.
18768
18983
  #
18984
+ # This structure is deprecated. See the individual metric members for
18985
+ # compaction, retention, and orphan file deletion.
18986
+ #
18769
18987
  # @!attribute [rw] number_of_bytes_compacted
18770
18988
  # The number of bytes removed by the compaction job run.
18771
18989
  # @return [String]
@@ -22405,8 +22623,15 @@ module Aws::Glue
22405
22623
  # Contains details about an optimizer associated with a table.
22406
22624
  #
22407
22625
  # @!attribute [rw] type
22408
- # The type of table optimizer. Currently, the only valid value is
22409
- # `compaction`.
22626
+ # The type of table optimizer. The valid values are:
22627
+ #
22628
+ # * `compaction`: for managing compaction with a table optimizer.
22629
+ #
22630
+ # * `retention`: for managing the retention of snapshot with a table
22631
+ # optimizer.
22632
+ #
22633
+ # * `orphan_file_deletion`: for managing the deletion of orphan files
22634
+ # with a table optimizer.
22410
22635
  # @return [String]
22411
22636
  #
22412
22637
  # @!attribute [rw] configuration
@@ -22442,11 +22667,21 @@ module Aws::Glue
22442
22667
  # Whether table optimization is enabled.
22443
22668
  # @return [Boolean]
22444
22669
  #
22670
+ # @!attribute [rw] retention_configuration
22671
+ # The configuration for a snapshot retention optimizer.
22672
+ # @return [Types::RetentionConfiguration]
22673
+ #
22674
+ # @!attribute [rw] orphan_file_deletion_configuration
22675
+ # The configuration for an orphan file deletion optimizer.
22676
+ # @return [Types::OrphanFileDeletionConfiguration]
22677
+ #
22445
22678
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableOptimizerConfiguration AWS API Documentation
22446
22679
  #
22447
22680
  class TableOptimizerConfiguration < Struct.new(
22448
22681
  :role_arn,
22449
- :enabled)
22682
+ :enabled,
22683
+ :retention_configuration,
22684
+ :orphan_file_deletion_configuration)
22450
22685
  SENSITIVE = []
22451
22686
  include Aws::Structure
22452
22687
  end
@@ -22468,12 +22703,30 @@ module Aws::Glue
22468
22703
  #
22469
22704
  # @!attribute [rw] metrics
22470
22705
  # A `RunMetrics` object containing metrics for the optimizer run.
22706
+ #
22707
+ # This member is deprecated. See the individual metric members for
22708
+ # compaction, retention, and orphan file deletion.
22471
22709
  # @return [Types::RunMetrics]
22472
22710
  #
22473
22711
  # @!attribute [rw] error
22474
22712
  # An error that occured during the optimizer run.
22475
22713
  # @return [String]
22476
22714
  #
22715
+ # @!attribute [rw] compaction_metrics
22716
+ # A `CompactionMetrics` object containing metrics for the optimizer
22717
+ # run.
22718
+ # @return [Types::CompactionMetrics]
22719
+ #
22720
+ # @!attribute [rw] retention_metrics
22721
+ # A `RetentionMetrics` object containing metrics for the optimizer
22722
+ # run.
22723
+ # @return [Types::RetentionMetrics]
22724
+ #
22725
+ # @!attribute [rw] orphan_file_deletion_metrics
22726
+ # An `OrphanFileDeletionMetrics` object containing metrics for the
22727
+ # optimizer run.
22728
+ # @return [Types::OrphanFileDeletionMetrics]
22729
+ #
22477
22730
  # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableOptimizerRun AWS API Documentation
22478
22731
  #
22479
22732
  class TableOptimizerRun < Struct.new(
@@ -22481,7 +22734,10 @@ module Aws::Glue
22481
22734
  :start_timestamp,
22482
22735
  :end_timestamp,
22483
22736
  :metrics,
22484
- :error)
22737
+ :error,
22738
+ :compaction_metrics,
22739
+ :retention_metrics,
22740
+ :orphan_file_deletion_metrics)
22485
22741
  SENSITIVE = []
22486
22742
  include Aws::Structure
22487
22743
  end
@@ -22765,6 +23021,20 @@ module Aws::Glue
22765
23021
  include Aws::Structure
22766
23022
  end
22767
23023
 
23024
+ # The throttling threshhold was exceeded.
23025
+ #
23026
+ # @!attribute [rw] message
23027
+ # A message describing the problem.
23028
+ # @return [String]
23029
+ #
23030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ThrottlingException AWS API Documentation
23031
+ #
23032
+ class ThrottlingException < Struct.new(
23033
+ :message)
23034
+ SENSITIVE = []
23035
+ include Aws::Structure
23036
+ end
23037
+
22768
23038
  # A timestamp filter.
22769
23039
  #
22770
23040
  # @!attribute [rw] recorded_before
data/lib/aws-sdk-glue.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-glue/customizations'
52
52
  # @!group service
53
53
  module Aws::Glue
54
54
 
55
- GEM_VERSION = '1.193.0'
55
+ GEM_VERSION = '1.194.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -292,7 +292,7 @@ module Aws
292
292
  catalog_id: ::String?,
293
293
  database_name: ::String?,
294
294
  table_name: ::String?,
295
- type: ("compaction")?
295
+ type: ("compaction" | "retention" | "orphan_file_deletion")?
296
296
  },
297
297
  ]
298
298
  ) -> _BatchGetTableOptimizerResponseSuccess
@@ -2390,10 +2390,23 @@ module Aws
2390
2390
  catalog_id: ::String,
2391
2391
  database_name: ::String,
2392
2392
  table_name: ::String,
2393
- type: ("compaction"),
2393
+ type: ("compaction" | "retention" | "orphan_file_deletion"),
2394
2394
  table_optimizer_configuration: {
2395
2395
  role_arn: ::String?,
2396
- enabled: bool?
2396
+ enabled: bool?,
2397
+ retention_configuration: {
2398
+ iceberg_configuration: {
2399
+ snapshot_retention_period_in_days: ::Integer?,
2400
+ number_of_snapshots_to_retain: ::Integer?,
2401
+ clean_expired_files: bool?
2402
+ }?
2403
+ }?,
2404
+ orphan_file_deletion_configuration: {
2405
+ iceberg_configuration: {
2406
+ orphan_file_retention_period_in_days: ::Integer?,
2407
+ location: ::String?
2408
+ }?
2409
+ }?
2397
2410
  }
2398
2411
  ) -> _CreateTableOptimizerResponseSuccess
2399
2412
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateTableOptimizerResponseSuccess
@@ -2745,7 +2758,7 @@ module Aws
2745
2758
  catalog_id: ::String,
2746
2759
  database_name: ::String,
2747
2760
  table_name: ::String,
2748
- type: ("compaction")
2761
+ type: ("compaction" | "retention" | "orphan_file_deletion")
2749
2762
  ) -> _DeleteTableOptimizerResponseSuccess
2750
2763
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteTableOptimizerResponseSuccess
2751
2764
 
@@ -3697,7 +3710,7 @@ module Aws
3697
3710
  catalog_id: ::String,
3698
3711
  database_name: ::String,
3699
3712
  table_name: ::String,
3700
- type: ("compaction")
3713
+ type: ("compaction" | "retention" | "orphan_file_deletion")
3701
3714
  ) -> _GetTableOptimizerResponseSuccess
3702
3715
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetTableOptimizerResponseSuccess
3703
3716
 
@@ -4339,7 +4352,7 @@ module Aws
4339
4352
  catalog_id: ::String,
4340
4353
  database_name: ::String,
4341
4354
  table_name: ::String,
4342
- type: ("compaction"),
4355
+ type: ("compaction" | "retention" | "orphan_file_deletion"),
4343
4356
  ?max_results: ::Integer,
4344
4357
  ?next_token: ::String
4345
4358
  ) -> _ListTableOptimizerRunsResponseSuccess
@@ -6806,10 +6819,23 @@ module Aws
6806
6819
  catalog_id: ::String,
6807
6820
  database_name: ::String,
6808
6821
  table_name: ::String,
6809
- type: ("compaction"),
6822
+ type: ("compaction" | "retention" | "orphan_file_deletion"),
6810
6823
  table_optimizer_configuration: {
6811
6824
  role_arn: ::String?,
6812
- enabled: bool?
6825
+ enabled: bool?,
6826
+ retention_configuration: {
6827
+ iceberg_configuration: {
6828
+ snapshot_retention_period_in_days: ::Integer?,
6829
+ number_of_snapshots_to_retain: ::Integer?,
6830
+ clean_expired_files: bool?
6831
+ }?
6832
+ }?,
6833
+ orphan_file_deletion_configuration: {
6834
+ iceberg_configuration: {
6835
+ orphan_file_retention_period_in_days: ::Integer?,
6836
+ location: ::String?
6837
+ }?
6838
+ }?
6813
6839
  }
6814
6840
  ) -> _UpdateTableOptimizerResponseSuccess
6815
6841
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateTableOptimizerResponseSuccess
data/sig/errors.rbs CHANGED
@@ -117,6 +117,9 @@ module Aws
117
117
  class SchedulerTransitioningException < ::Aws::Errors::ServiceError
118
118
  def message: () -> ::String
119
119
  end
120
+ class ThrottlingException < ::Aws::Errors::ServiceError
121
+ def message: () -> ::String
122
+ end
120
123
  class ValidationException < ::Aws::Errors::ServiceError
121
124
  def message: () -> ::String
122
125
  end
data/sig/types.rbs CHANGED
@@ -308,7 +308,7 @@ module Aws::Glue
308
308
  attr_accessor catalog_id: ::String
309
309
  attr_accessor database_name: ::String
310
310
  attr_accessor table_name: ::String
311
- attr_accessor type: ("compaction")
311
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
312
312
  SENSITIVE: []
313
313
  end
314
314
 
@@ -317,7 +317,7 @@ module Aws::Glue
317
317
  attr_accessor catalog_id: ::String
318
318
  attr_accessor database_name: ::String
319
319
  attr_accessor table_name: ::String
320
- attr_accessor type: ("compaction")
320
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
321
321
  SENSITIVE: []
322
322
  end
323
323
 
@@ -798,6 +798,11 @@ module Aws::Glue
798
798
  SENSITIVE: []
799
799
  end
800
800
 
801
+ class CompactionMetrics
802
+ attr_accessor iceberg_metrics: Types::IcebergCompactionMetrics
803
+ SENSITIVE: []
804
+ end
805
+
801
806
  class ConcurrentModificationException
802
807
  attr_accessor message: ::String
803
808
  SENSITIVE: []
@@ -1347,7 +1352,7 @@ module Aws::Glue
1347
1352
  attr_accessor catalog_id: ::String
1348
1353
  attr_accessor database_name: ::String
1349
1354
  attr_accessor table_name: ::String
1350
- attr_accessor type: ("compaction")
1355
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
1351
1356
  attr_accessor table_optimizer_configuration: Types::TableOptimizerConfiguration
1352
1357
  SENSITIVE: []
1353
1358
  end
@@ -1895,7 +1900,7 @@ module Aws::Glue
1895
1900
  attr_accessor catalog_id: ::String
1896
1901
  attr_accessor database_name: ::String
1897
1902
  attr_accessor table_name: ::String
1898
- attr_accessor type: ("compaction")
1903
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
1899
1904
  SENSITIVE: []
1900
1905
  end
1901
1906
 
@@ -3012,7 +3017,7 @@ module Aws::Glue
3012
3017
  attr_accessor catalog_id: ::String
3013
3018
  attr_accessor database_name: ::String
3014
3019
  attr_accessor table_name: ::String
3015
- attr_accessor type: ("compaction")
3020
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
3016
3021
  SENSITIVE: []
3017
3022
  end
3018
3023
 
@@ -3348,12 +3353,49 @@ module Aws::Glue
3348
3353
  SENSITIVE: []
3349
3354
  end
3350
3355
 
3356
+ class IcebergCompactionMetrics
3357
+ attr_accessor number_of_bytes_compacted: ::Integer
3358
+ attr_accessor number_of_files_compacted: ::Integer
3359
+ attr_accessor number_of_dpus: ::Integer
3360
+ attr_accessor job_duration_in_hour: ::Float
3361
+ SENSITIVE: []
3362
+ end
3363
+
3351
3364
  class IcebergInput
3352
3365
  attr_accessor metadata_operation: ("CREATE")
3353
3366
  attr_accessor version: ::String
3354
3367
  SENSITIVE: []
3355
3368
  end
3356
3369
 
3370
+ class IcebergOrphanFileDeletionConfiguration
3371
+ attr_accessor orphan_file_retention_period_in_days: ::Integer
3372
+ attr_accessor location: ::String
3373
+ SENSITIVE: []
3374
+ end
3375
+
3376
+ class IcebergOrphanFileDeletionMetrics
3377
+ attr_accessor number_of_orphan_files_deleted: ::Integer
3378
+ attr_accessor number_of_dpus: ::Integer
3379
+ attr_accessor job_duration_in_hour: ::Float
3380
+ SENSITIVE: []
3381
+ end
3382
+
3383
+ class IcebergRetentionConfiguration
3384
+ attr_accessor snapshot_retention_period_in_days: ::Integer
3385
+ attr_accessor number_of_snapshots_to_retain: ::Integer
3386
+ attr_accessor clean_expired_files: bool
3387
+ SENSITIVE: []
3388
+ end
3389
+
3390
+ class IcebergRetentionMetrics
3391
+ attr_accessor number_of_data_files_deleted: ::Integer
3392
+ attr_accessor number_of_manifest_files_deleted: ::Integer
3393
+ attr_accessor number_of_manifest_lists_deleted: ::Integer
3394
+ attr_accessor number_of_dpus: ::Integer
3395
+ attr_accessor job_duration_in_hour: ::Float
3396
+ SENSITIVE: []
3397
+ end
3398
+
3357
3399
  class IcebergTarget
3358
3400
  attr_accessor paths: ::Array[::String]
3359
3401
  attr_accessor connection_name: ::String
@@ -3948,7 +3990,7 @@ module Aws::Glue
3948
3990
  attr_accessor catalog_id: ::String
3949
3991
  attr_accessor database_name: ::String
3950
3992
  attr_accessor table_name: ::String
3951
- attr_accessor type: ("compaction")
3993
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
3952
3994
  attr_accessor max_results: ::Integer
3953
3995
  attr_accessor next_token: ::String
3954
3996
  SENSITIVE: []
@@ -4235,6 +4277,16 @@ module Aws::Glue
4235
4277
  SENSITIVE: []
4236
4278
  end
4237
4279
 
4280
+ class OrphanFileDeletionConfiguration
4281
+ attr_accessor iceberg_configuration: Types::IcebergOrphanFileDeletionConfiguration
4282
+ SENSITIVE: []
4283
+ end
4284
+
4285
+ class OrphanFileDeletionMetrics
4286
+ attr_accessor iceberg_metrics: Types::IcebergOrphanFileDeletionMetrics
4287
+ SENSITIVE: []
4288
+ end
4289
+
4238
4290
  class OtherMetadataValueListItem
4239
4291
  attr_accessor metadata_value: ::String
4240
4292
  attr_accessor created_time: ::String
@@ -4601,6 +4653,16 @@ module Aws::Glue
4601
4653
  SENSITIVE: []
4602
4654
  end
4603
4655
 
4656
+ class RetentionConfiguration
4657
+ attr_accessor iceberg_configuration: Types::IcebergRetentionConfiguration
4658
+ SENSITIVE: []
4659
+ end
4660
+
4661
+ class RetentionMetrics
4662
+ attr_accessor iceberg_metrics: Types::IcebergRetentionMetrics
4663
+ SENSITIVE: []
4664
+ end
4665
+
4604
4666
  class RunIdentifier
4605
4667
  attr_accessor run_id: ::String
4606
4668
  attr_accessor job_run_id: ::String
@@ -5499,7 +5561,7 @@ module Aws::Glue
5499
5561
  end
5500
5562
 
5501
5563
  class TableOptimizer
5502
- attr_accessor type: ("compaction")
5564
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
5503
5565
  attr_accessor configuration: Types::TableOptimizerConfiguration
5504
5566
  attr_accessor last_run: Types::TableOptimizerRun
5505
5567
  SENSITIVE: []
@@ -5508,6 +5570,8 @@ module Aws::Glue
5508
5570
  class TableOptimizerConfiguration
5509
5571
  attr_accessor role_arn: ::String
5510
5572
  attr_accessor enabled: bool
5573
+ attr_accessor retention_configuration: Types::RetentionConfiguration
5574
+ attr_accessor orphan_file_deletion_configuration: Types::OrphanFileDeletionConfiguration
5511
5575
  SENSITIVE: []
5512
5576
  end
5513
5577
 
@@ -5517,6 +5581,9 @@ module Aws::Glue
5517
5581
  attr_accessor end_timestamp: ::Time
5518
5582
  attr_accessor metrics: Types::RunMetrics
5519
5583
  attr_accessor error: ::String
5584
+ attr_accessor compaction_metrics: Types::CompactionMetrics
5585
+ attr_accessor retention_metrics: Types::RetentionMetrics
5586
+ attr_accessor orphan_file_deletion_metrics: Types::OrphanFileDeletionMetrics
5520
5587
  SENSITIVE: []
5521
5588
  end
5522
5589
 
@@ -5591,6 +5658,11 @@ module Aws::Glue
5591
5658
  SENSITIVE: []
5592
5659
  end
5593
5660
 
5661
+ class ThrottlingException
5662
+ attr_accessor message: ::String
5663
+ SENSITIVE: []
5664
+ end
5665
+
5594
5666
  class TimestampFilter
5595
5667
  attr_accessor recorded_before: ::Time
5596
5668
  attr_accessor recorded_after: ::Time
@@ -5964,7 +6036,7 @@ module Aws::Glue
5964
6036
  attr_accessor catalog_id: ::String
5965
6037
  attr_accessor database_name: ::String
5966
6038
  attr_accessor table_name: ::String
5967
- attr_accessor type: ("compaction")
6039
+ attr_accessor type: ("compaction" | "retention" | "orphan_file_deletion")
5968
6040
  attr_accessor table_optimizer_configuration: Types::TableOptimizerConfiguration
5969
6041
  SENSITIVE: []
5970
6042
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-glue
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.193.0
4
+ version: 1.194.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-11 00:00:00.000000000 Z
11
+ date: 2024-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core