aws-sdk-s3tables 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3tables/client.rb +579 -1
- data/lib/aws-sdk-s3tables/client_api.rb +329 -0
- data/lib/aws-sdk-s3tables/types.rb +1182 -0
- data/lib/aws-sdk-s3tables.rb +2 -2
- data/sig/client.rbs +142 -26
- data/sig/params.rbs +52 -0
- data/sig/types.rbs +236 -0
- metadata +4 -3
|
@@ -37,6 +37,19 @@ module Aws::S3Tables
|
|
|
37
37
|
include Aws::Structure
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
+
# @!attribute [rw] table_arn
|
|
41
|
+
# The Amazon Resource Name (ARN) of the migrated table to complete the
|
|
42
|
+
# migration of.
|
|
43
|
+
# @return [String]
|
|
44
|
+
#
|
|
45
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/CompleteTableMigrationRequest AWS API Documentation
|
|
46
|
+
#
|
|
47
|
+
class CompleteTableMigrationRequest < Struct.new(
|
|
48
|
+
:table_arn)
|
|
49
|
+
SENSITIVE = []
|
|
50
|
+
include Aws::Structure
|
|
51
|
+
end
|
|
52
|
+
|
|
40
53
|
# The request failed because there is a conflict with a previous write.
|
|
41
54
|
# You can retry the request.
|
|
42
55
|
#
|
|
@@ -240,6 +253,62 @@ module Aws::S3Tables
|
|
|
240
253
|
include Aws::Structure
|
|
241
254
|
end
|
|
242
255
|
|
|
256
|
+
# The maintenance settings and migration policies for the destination
|
|
257
|
+
# table.
|
|
258
|
+
#
|
|
259
|
+
# @!attribute [rw] maintenance_settings
|
|
260
|
+
# The maintenance settings for the destination table. The migration
|
|
261
|
+
# applies them when it creates the table: snapshot management starts
|
|
262
|
+
# then, and compaction starts after you complete the migration. If you
|
|
263
|
+
# don't specify a setting, the migration uses its default: a target
|
|
264
|
+
# file size of 512 MB, the binpack compaction strategy, at least 3
|
|
265
|
+
# snapshots, and a maximum snapshot age of 120 hours. Unreferenced
|
|
266
|
+
# file removal follows the table bucket's configuration after you
|
|
267
|
+
# complete the migration.
|
|
268
|
+
# @return [Types::MaintenanceSettings]
|
|
269
|
+
#
|
|
270
|
+
# @!attribute [rw] migration_policies
|
|
271
|
+
# The policies for source data that doesn't fit the destination
|
|
272
|
+
# schema.
|
|
273
|
+
# @return [Types::MigrationPolicies]
|
|
274
|
+
#
|
|
275
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DataMigrationOverview AWS API Documentation
|
|
276
|
+
#
|
|
277
|
+
class DataMigrationOverview < Struct.new(
|
|
278
|
+
:maintenance_settings,
|
|
279
|
+
:migration_policies)
|
|
280
|
+
SENSITIVE = []
|
|
281
|
+
include Aws::Structure
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
# The maintenance settings and migration policies for the destination
|
|
285
|
+
# table.
|
|
286
|
+
#
|
|
287
|
+
# @!attribute [rw] maintenance_settings
|
|
288
|
+
# The maintenance settings for the destination table. The migration
|
|
289
|
+
# applies them when it creates the table: snapshot management starts
|
|
290
|
+
# then, and compaction starts after you complete the migration. If you
|
|
291
|
+
# don't specify a setting, the migration uses its default: a target
|
|
292
|
+
# file size of 512 MB, the binpack compaction strategy, at least 3
|
|
293
|
+
# snapshots, and a maximum snapshot age of 120 hours. Unreferenced
|
|
294
|
+
# file removal follows the table bucket's configuration after you
|
|
295
|
+
# complete the migration.
|
|
296
|
+
# @return [Types::MaintenanceSettings]
|
|
297
|
+
#
|
|
298
|
+
# @!attribute [rw] migration_policies
|
|
299
|
+
# The policies for source data that doesn't fit the destination
|
|
300
|
+
# schema.
|
|
301
|
+
# @return [Types::MigrationPolicies]
|
|
302
|
+
#
|
|
303
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DataMigrationSettings AWS API Documentation
|
|
304
|
+
#
|
|
305
|
+
class DataMigrationSettings < Struct.new(
|
|
306
|
+
:maintenance_settings,
|
|
307
|
+
:migration_policies)
|
|
308
|
+
SENSITIVE = []
|
|
309
|
+
include Aws::Structure
|
|
310
|
+
end
|
|
311
|
+
|
|
243
312
|
# @!attribute [rw] table_bucket_arn
|
|
244
313
|
# The Amazon Resource Name (ARN) of the table bucket associated with
|
|
245
314
|
# the namespace.
|
|
@@ -395,6 +464,101 @@ module Aws::S3Tables
|
|
|
395
464
|
include Aws::Structure
|
|
396
465
|
end
|
|
397
466
|
|
|
467
|
+
# The table that a migration creates in a table bucket and migrates the
|
|
468
|
+
# source into.
|
|
469
|
+
#
|
|
470
|
+
# @!attribute [rw] table_bucket_arn
|
|
471
|
+
# The Amazon Resource Name (ARN) of the table bucket to create the
|
|
472
|
+
# table in.
|
|
473
|
+
# @return [String]
|
|
474
|
+
#
|
|
475
|
+
# @!attribute [rw] namespace
|
|
476
|
+
# The namespace to create the table in.
|
|
477
|
+
# @return [String]
|
|
478
|
+
#
|
|
479
|
+
# @!attribute [rw] name
|
|
480
|
+
# The name of the table to create.
|
|
481
|
+
# @return [String]
|
|
482
|
+
#
|
|
483
|
+
# @!attribute [rw] encryption_configuration
|
|
484
|
+
# The encryption configuration for the table. If you don't specify
|
|
485
|
+
# one, the table uses the default encryption configuration of its
|
|
486
|
+
# table bucket. If you specify an encryption configuration, the
|
|
487
|
+
# migration role must have the `s3tables:PutTableEncryption`
|
|
488
|
+
# permission. If you choose SSE-KMS, the migration role must have the
|
|
489
|
+
# `kms:DescribeKey`, `kms:GenerateDataKey` and `kms:Decrypt`
|
|
490
|
+
# permissions on the KMS key, and the S3 Tables maintenance principal
|
|
491
|
+
# must have access to it. For more information, see [Permissions
|
|
492
|
+
# requirements for S3 Tables SSE-KMS encryption][1].
|
|
493
|
+
#
|
|
494
|
+
#
|
|
495
|
+
#
|
|
496
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html
|
|
497
|
+
# @return [Types::EncryptionConfiguration]
|
|
498
|
+
#
|
|
499
|
+
# @!attribute [rw] storage_class_configuration
|
|
500
|
+
# The storage class configuration for the table. If you don't specify
|
|
501
|
+
# one, the table inherits the storage class configuration of its table
|
|
502
|
+
# bucket. If you specify a storage class configuration, the migration
|
|
503
|
+
# role must have the `s3tables:PutTableStorageClass` permission.
|
|
504
|
+
# @return [Types::StorageClassConfiguration]
|
|
505
|
+
#
|
|
506
|
+
# @!attribute [rw] tags
|
|
507
|
+
# The tags to add to the table. A tag is a key-value pair that you
|
|
508
|
+
# apply to your resources. For more information, see [Tagging for cost
|
|
509
|
+
# allocation or attribute-based access control (ABAC)][1]. If you
|
|
510
|
+
# specify tags, the migration role must have the
|
|
511
|
+
# `s3tables:TagResource` permission.
|
|
512
|
+
#
|
|
513
|
+
#
|
|
514
|
+
#
|
|
515
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html
|
|
516
|
+
# @return [Hash<String,String>]
|
|
517
|
+
#
|
|
518
|
+
# @!attribute [rw] properties
|
|
519
|
+
# The properties of the destination table, such as its Iceberg format
|
|
520
|
+
# version and the format of its data files.
|
|
521
|
+
# @return [Types::MigrationTableProperties]
|
|
522
|
+
#
|
|
523
|
+
# @!attribute [rw] schema
|
|
524
|
+
# The schema of the table to create. If you don't specify a schema,
|
|
525
|
+
# the migration infers it from the source table, with every column
|
|
526
|
+
# optional. A schema that you specify must include every partition
|
|
527
|
+
# column of the source table. It can leave out other columns only if
|
|
528
|
+
# `unmatchedSourceFieldsPolicy` is `drop`. A struct column must have
|
|
529
|
+
# the same fields as the source column. Column default values aren't
|
|
530
|
+
# supported. If you mark a column as required, every source object
|
|
531
|
+
# must have a value for it: an object with a null value in a required
|
|
532
|
+
# column fails to migrate. The destination table is partitioned in the
|
|
533
|
+
# same way as the source table. To specify fields in
|
|
534
|
+
# `icebergSortOrder`, you must specify a schema.
|
|
535
|
+
# @return [Types::IcebergSchemaV2]
|
|
536
|
+
#
|
|
537
|
+
# @!attribute [rw] iceberg_sort_order
|
|
538
|
+
# The sort order of the rows within each data file that the migration
|
|
539
|
+
# writes. A sort order can have up to five fields, each naming a
|
|
540
|
+
# column of the schema that you specify by its field ID, so to use a
|
|
541
|
+
# sort order you must specify a schema. `StartTableMigration` rejects
|
|
542
|
+
# a field that names no column of the schema, or whose transform
|
|
543
|
+
# doesn't fit the column's type.
|
|
544
|
+
# @return [Types::IcebergSortOrder]
|
|
545
|
+
#
|
|
546
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DestinationTable AWS API Documentation
|
|
547
|
+
#
|
|
548
|
+
class DestinationTable < Struct.new(
|
|
549
|
+
:table_bucket_arn,
|
|
550
|
+
:namespace,
|
|
551
|
+
:name,
|
|
552
|
+
:encryption_configuration,
|
|
553
|
+
:storage_class_configuration,
|
|
554
|
+
:tags,
|
|
555
|
+
:properties,
|
|
556
|
+
:schema,
|
|
557
|
+
:iceberg_sort_order)
|
|
558
|
+
SENSITIVE = []
|
|
559
|
+
include Aws::Structure
|
|
560
|
+
end
|
|
561
|
+
|
|
398
562
|
# Configuration specifying how data should be encrypted. This structure
|
|
399
563
|
# defines the encryption algorithm and optional KMS key to be used for
|
|
400
564
|
# server-side encryption.
|
|
@@ -864,6 +1028,177 @@ module Aws::S3Tables
|
|
|
864
1028
|
include Aws::Structure
|
|
865
1029
|
end
|
|
866
1030
|
|
|
1031
|
+
# @!attribute [rw] migration_id
|
|
1032
|
+
# The ID of the migration to get. Specify either `migrationId` or
|
|
1033
|
+
# `tableARN`, not both.
|
|
1034
|
+
# @return [String]
|
|
1035
|
+
#
|
|
1036
|
+
# @!attribute [rw] table_arn
|
|
1037
|
+
# The Amazon Resource Name (ARN) of the destination table. Gets the
|
|
1038
|
+
# table's most recent migration. Specify either `tableARN` or
|
|
1039
|
+
# `migrationId`, not both.
|
|
1040
|
+
# @return [String]
|
|
1041
|
+
#
|
|
1042
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableMigrationRequest AWS API Documentation
|
|
1043
|
+
#
|
|
1044
|
+
class GetTableMigrationRequest < Struct.new(
|
|
1045
|
+
:migration_id,
|
|
1046
|
+
:table_arn)
|
|
1047
|
+
SENSITIVE = []
|
|
1048
|
+
include Aws::Structure
|
|
1049
|
+
end
|
|
1050
|
+
|
|
1051
|
+
# @!attribute [rw] migration_id
|
|
1052
|
+
# The ID of the migration.
|
|
1053
|
+
# @return [String]
|
|
1054
|
+
#
|
|
1055
|
+
# @!attribute [rw] table_bucket_arn
|
|
1056
|
+
# The Amazon Resource Name (ARN) of the table bucket that contains the
|
|
1057
|
+
# destination table.
|
|
1058
|
+
# @return [String]
|
|
1059
|
+
#
|
|
1060
|
+
# @!attribute [rw] namespace
|
|
1061
|
+
# The namespace of the destination table.
|
|
1062
|
+
# @return [String]
|
|
1063
|
+
#
|
|
1064
|
+
# @!attribute [rw] table_arn
|
|
1065
|
+
# The Amazon Resource Name (ARN) of the destination table, once the
|
|
1066
|
+
# migration creates it.
|
|
1067
|
+
# @return [String]
|
|
1068
|
+
#
|
|
1069
|
+
# @!attribute [rw] name
|
|
1070
|
+
# The name of the destination table.
|
|
1071
|
+
# @return [String]
|
|
1072
|
+
#
|
|
1073
|
+
# @!attribute [rw] type
|
|
1074
|
+
# The type of the migration. Valid values:
|
|
1075
|
+
#
|
|
1076
|
+
# * `start` - A migration that `StartTableMigration` started.
|
|
1077
|
+
#
|
|
1078
|
+
# * `sync` - A migration that `SyncTableMigration` started.
|
|
1079
|
+
# @return [String]
|
|
1080
|
+
#
|
|
1081
|
+
# @!attribute [rw] state
|
|
1082
|
+
# The state of the migration. Valid values:
|
|
1083
|
+
#
|
|
1084
|
+
# * `new` - S3 Tables accepted the request.
|
|
1085
|
+
#
|
|
1086
|
+
# * `planning` - The migration is checking the source table, its
|
|
1087
|
+
# objects and the destination for compatibility, and writing the
|
|
1088
|
+
# compatibility reports.
|
|
1089
|
+
#
|
|
1090
|
+
# * `pendingReview` - Planning finished, and the migration waits for
|
|
1091
|
+
# you to continue or cancel it with `UpdateTableMigration`.
|
|
1092
|
+
#
|
|
1093
|
+
# * `queued` - The migration is waiting to start migrating data.
|
|
1094
|
+
#
|
|
1095
|
+
# * `migrating` - The migration is running the plan from the
|
|
1096
|
+
# `planning` state: it copies data and commits it to the destination
|
|
1097
|
+
# table. A migration reaches this state only if `hasValidPlan` is
|
|
1098
|
+
# `true`.
|
|
1099
|
+
#
|
|
1100
|
+
# * `succeeded` - Every planned object migrated.
|
|
1101
|
+
#
|
|
1102
|
+
# * `failed` - The migration failed. Check `failureReason` for the
|
|
1103
|
+
# cause.
|
|
1104
|
+
#
|
|
1105
|
+
# * `cancelling` - You cancelled the migration, and it is finishing
|
|
1106
|
+
# the work in progress.
|
|
1107
|
+
#
|
|
1108
|
+
# * `cancelled` - The migration is cancelled.
|
|
1109
|
+
#
|
|
1110
|
+
# A migration ends in the `succeeded`, `failed` or `cancelled` state.
|
|
1111
|
+
# You can cancel it until it ends.
|
|
1112
|
+
# @return [String]
|
|
1113
|
+
#
|
|
1114
|
+
# @!attribute [rw] role_arn
|
|
1115
|
+
# The Amazon Resource Name (ARN) of the IAM role that the migration
|
|
1116
|
+
# uses.
|
|
1117
|
+
# @return [String]
|
|
1118
|
+
#
|
|
1119
|
+
# @!attribute [rw] review_migration_plan
|
|
1120
|
+
# A Boolean value that specifies whether the migration waits in the
|
|
1121
|
+
# `pendingReview` state, so that you can review the compatibility
|
|
1122
|
+
# reports before it migrates any data.
|
|
1123
|
+
# @return [Boolean]
|
|
1124
|
+
#
|
|
1125
|
+
# @!attribute [rw] has_valid_plan
|
|
1126
|
+
# A Boolean value that specifies whether planning produced a plan that
|
|
1127
|
+
# the migration can run. If planning hasn't finished, this value
|
|
1128
|
+
# isn't returned.
|
|
1129
|
+
# @return [Boolean]
|
|
1130
|
+
#
|
|
1131
|
+
# @!attribute [rw] created_at
|
|
1132
|
+
# The date and time that the migration was created.
|
|
1133
|
+
# @return [Time]
|
|
1134
|
+
#
|
|
1135
|
+
# @!attribute [rw] state_updated_at
|
|
1136
|
+
# The date and time that the migration's state last changed.
|
|
1137
|
+
# @return [Time]
|
|
1138
|
+
#
|
|
1139
|
+
# @!attribute [rw] failure_reason
|
|
1140
|
+
# The reason that the migration failed. The code names the cause, such
|
|
1141
|
+
# as a migration role that S3 Tables can't assume or an Amazon Web
|
|
1142
|
+
# Services Glue table that doesn't exist, or the report that lists
|
|
1143
|
+
# the findings. This value is returned only when the migration is in
|
|
1144
|
+
# the `failed` state.
|
|
1145
|
+
# @return [Types::MigrationFailureReason]
|
|
1146
|
+
#
|
|
1147
|
+
# @!attribute [rw] planning_stats
|
|
1148
|
+
# Statistics about the source and the partitions in the migration.
|
|
1149
|
+
# This value is returned after planning finishes.
|
|
1150
|
+
# @return [Types::PlanningStats]
|
|
1151
|
+
#
|
|
1152
|
+
# @!attribute [rw] migration_stats
|
|
1153
|
+
# The number of objects that migrated, failed or are pending. These
|
|
1154
|
+
# counts are set when planning finishes and updated when the migration
|
|
1155
|
+
# ends.
|
|
1156
|
+
# @return [Types::MigrationStats]
|
|
1157
|
+
#
|
|
1158
|
+
# @!attribute [rw] source_type
|
|
1159
|
+
# The type of the migration's source.
|
|
1160
|
+
# @return [String]
|
|
1161
|
+
#
|
|
1162
|
+
# @!attribute [rw] source
|
|
1163
|
+
# The source table of the migration.
|
|
1164
|
+
# @return [Types::SourceConfiguration]
|
|
1165
|
+
#
|
|
1166
|
+
# @!attribute [rw] data_migration
|
|
1167
|
+
# The maintenance settings and migration policies for the destination
|
|
1168
|
+
# table.
|
|
1169
|
+
# @return [Types::DataMigrationOverview]
|
|
1170
|
+
#
|
|
1171
|
+
# @!attribute [rw] migration_output
|
|
1172
|
+
# The bucket and prefixes for the migration's reports, and the
|
|
1173
|
+
# location of each report once it is written.
|
|
1174
|
+
# @return [Types::MigrationOutputOverview]
|
|
1175
|
+
#
|
|
1176
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableMigrationResponse AWS API Documentation
|
|
1177
|
+
#
|
|
1178
|
+
class GetTableMigrationResponse < Struct.new(
|
|
1179
|
+
:migration_id,
|
|
1180
|
+
:table_bucket_arn,
|
|
1181
|
+
:namespace,
|
|
1182
|
+
:table_arn,
|
|
1183
|
+
:name,
|
|
1184
|
+
:type,
|
|
1185
|
+
:state,
|
|
1186
|
+
:role_arn,
|
|
1187
|
+
:review_migration_plan,
|
|
1188
|
+
:has_valid_plan,
|
|
1189
|
+
:created_at,
|
|
1190
|
+
:state_updated_at,
|
|
1191
|
+
:failure_reason,
|
|
1192
|
+
:planning_stats,
|
|
1193
|
+
:migration_stats,
|
|
1194
|
+
:source_type,
|
|
1195
|
+
:source,
|
|
1196
|
+
:data_migration,
|
|
1197
|
+
:migration_output)
|
|
1198
|
+
SENSITIVE = []
|
|
1199
|
+
include Aws::Structure
|
|
1200
|
+
end
|
|
1201
|
+
|
|
867
1202
|
# @!attribute [rw] table_bucket_arn
|
|
868
1203
|
# The Amazon Resource Name (ARN) of the table bucket that contains the
|
|
869
1204
|
# table.
|
|
@@ -1184,6 +1519,38 @@ module Aws::S3Tables
|
|
|
1184
1519
|
include Aws::Structure
|
|
1185
1520
|
end
|
|
1186
1521
|
|
|
1522
|
+
# An Amazon Web Services Glue Data Catalog table to migrate. The table
|
|
1523
|
+
# must be an external Apache Hive table whose data is stored as Parquet
|
|
1524
|
+
# in a general purpose bucket in the same account and Region as the
|
|
1525
|
+
# table bucket. Views, transactional (ACID) tables, tables in an open
|
|
1526
|
+
# table format such as Apache Iceberg, and tables registered with Amazon
|
|
1527
|
+
# Web Services Lake Formation can't be migrated. If the table can't be
|
|
1528
|
+
# migrated, the migration fails, and the table compatibility report
|
|
1529
|
+
# lists the reason.
|
|
1530
|
+
#
|
|
1531
|
+
# @!attribute [rw] catalog_id
|
|
1532
|
+
# The ID of the Data Catalog that contains the table. It must be your
|
|
1533
|
+
# account ID.
|
|
1534
|
+
# @return [String]
|
|
1535
|
+
#
|
|
1536
|
+
# @!attribute [rw] database_name
|
|
1537
|
+
# The name of the database that contains the table.
|
|
1538
|
+
# @return [String]
|
|
1539
|
+
#
|
|
1540
|
+
# @!attribute [rw] table_name
|
|
1541
|
+
# The name of the table.
|
|
1542
|
+
# @return [String]
|
|
1543
|
+
#
|
|
1544
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GlueTableSource AWS API Documentation
|
|
1545
|
+
#
|
|
1546
|
+
class GlueTableSource < Struct.new(
|
|
1547
|
+
:catalog_id,
|
|
1548
|
+
:database_name,
|
|
1549
|
+
:table_name)
|
|
1550
|
+
SENSITIVE = []
|
|
1551
|
+
include Aws::Structure
|
|
1552
|
+
end
|
|
1553
|
+
|
|
1187
1554
|
# Contains details about the compaction settings for an Iceberg table.
|
|
1188
1555
|
#
|
|
1189
1556
|
# @!attribute [rw] target_file_size_mb
|
|
@@ -1603,6 +1970,81 @@ module Aws::S3Tables
|
|
|
1603
1970
|
include Aws::Structure
|
|
1604
1971
|
end
|
|
1605
1972
|
|
|
1973
|
+
# @!attribute [rw] table_bucket_arn
|
|
1974
|
+
# The Amazon Resource Name (ARN) of the table bucket to list
|
|
1975
|
+
# migrations for.
|
|
1976
|
+
# @return [String]
|
|
1977
|
+
#
|
|
1978
|
+
# @!attribute [rw] namespace
|
|
1979
|
+
# The namespace to list migrations for. Requires `tableBucketARN`.
|
|
1980
|
+
# @return [String]
|
|
1981
|
+
#
|
|
1982
|
+
# @!attribute [rw] name
|
|
1983
|
+
# The name of the table to list migrations for. Requires
|
|
1984
|
+
# `tableBucketARN` and `namespace`.
|
|
1985
|
+
# @return [String]
|
|
1986
|
+
#
|
|
1987
|
+
# @!attribute [rw] table_arn
|
|
1988
|
+
# The Amazon Resource Name (ARN) of the table to list migrations for.
|
|
1989
|
+
# The list includes the migrations into this table. To also list
|
|
1990
|
+
# migrations into an earlier table of the same name, specify
|
|
1991
|
+
# `tableBucketARN`, `namespace` and `name` instead. Specify either
|
|
1992
|
+
# `tableARN` or `tableBucketARN`, not both.
|
|
1993
|
+
# @return [String]
|
|
1994
|
+
#
|
|
1995
|
+
# @!attribute [rw] state
|
|
1996
|
+
# The state to filter the list by. For the valid values, see the
|
|
1997
|
+
# `state` member of `GetTableMigration`.
|
|
1998
|
+
# @return [String]
|
|
1999
|
+
#
|
|
2000
|
+
# @!attribute [rw] has_valid_plan
|
|
2001
|
+
# The `hasValidPlan` value to filter the list by. Migrations that are
|
|
2002
|
+
# still planning aren't listed, whichever value you specify.
|
|
2003
|
+
# @return [Boolean]
|
|
2004
|
+
#
|
|
2005
|
+
# @!attribute [rw] max_results
|
|
2006
|
+
# The maximum number of migrations to return, from 1 to 1,000. If you
|
|
2007
|
+
# don't specify a value, the default is 100.
|
|
2008
|
+
# @return [Integer]
|
|
2009
|
+
#
|
|
2010
|
+
# @!attribute [rw] next_token
|
|
2011
|
+
# The `nextToken` from a previous response, to get the next page of
|
|
2012
|
+
# results.
|
|
2013
|
+
# @return [String]
|
|
2014
|
+
#
|
|
2015
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ListTableMigrationsRequest AWS API Documentation
|
|
2016
|
+
#
|
|
2017
|
+
class ListTableMigrationsRequest < Struct.new(
|
|
2018
|
+
:table_bucket_arn,
|
|
2019
|
+
:namespace,
|
|
2020
|
+
:name,
|
|
2021
|
+
:table_arn,
|
|
2022
|
+
:state,
|
|
2023
|
+
:has_valid_plan,
|
|
2024
|
+
:max_results,
|
|
2025
|
+
:next_token)
|
|
2026
|
+
SENSITIVE = []
|
|
2027
|
+
include Aws::Structure
|
|
2028
|
+
end
|
|
2029
|
+
|
|
2030
|
+
# @!attribute [rw] migrations
|
|
2031
|
+
# The migrations, newest first.
|
|
2032
|
+
# @return [Array<Types::MigrationSummary>]
|
|
2033
|
+
#
|
|
2034
|
+
# @!attribute [rw] next_token
|
|
2035
|
+
# A token to pass as `nextToken` to get the next page of results. If
|
|
2036
|
+
# there are no more results, this value isn't returned.
|
|
2037
|
+
# @return [String]
|
|
2038
|
+
#
|
|
2039
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ListTableMigrationsResponse AWS API Documentation
|
|
2040
|
+
#
|
|
2041
|
+
class ListTableMigrationsResponse < Struct.new(
|
|
2042
|
+
:migrations,
|
|
2043
|
+
:next_token)
|
|
2044
|
+
SENSITIVE = []
|
|
2045
|
+
include Aws::Structure
|
|
2046
|
+
end
|
|
2047
|
+
|
|
1606
2048
|
# @!attribute [rw] table_bucket_arn
|
|
1607
2049
|
# The Amazon resource Name (ARN) of the table bucket.
|
|
1608
2050
|
# @return [String]
|
|
@@ -1693,6 +2135,32 @@ module Aws::S3Tables
|
|
|
1693
2135
|
include Aws::Structure
|
|
1694
2136
|
end
|
|
1695
2137
|
|
|
2138
|
+
# The maintenance settings for the destination table. The migration
|
|
2139
|
+
# applies them when it creates the table: snapshot management starts
|
|
2140
|
+
# then, and compaction starts after you complete the migration. If you
|
|
2141
|
+
# don't specify a setting, the migration uses its default: a target
|
|
2142
|
+
# file size of 512 MB, the binpack compaction strategy, at least 3
|
|
2143
|
+
# snapshots, and a maximum snapshot age of 120 hours. Unreferenced file
|
|
2144
|
+
# removal follows the table bucket's configuration after you complete
|
|
2145
|
+
# the migration.
|
|
2146
|
+
#
|
|
2147
|
+
# @!attribute [rw] iceberg_compaction
|
|
2148
|
+
# The compaction settings.
|
|
2149
|
+
# @return [Types::MigrationCompactionSettings]
|
|
2150
|
+
#
|
|
2151
|
+
# @!attribute [rw] iceberg_snapshot_management
|
|
2152
|
+
# The snapshot management settings.
|
|
2153
|
+
# @return [Types::MigrationSnapshotManagementSettings]
|
|
2154
|
+
#
|
|
2155
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MaintenanceSettings AWS API Documentation
|
|
2156
|
+
#
|
|
2157
|
+
class MaintenanceSettings < Struct.new(
|
|
2158
|
+
:iceberg_compaction,
|
|
2159
|
+
:iceberg_snapshot_management)
|
|
2160
|
+
SENSITIVE = []
|
|
2161
|
+
include Aws::Structure
|
|
2162
|
+
end
|
|
2163
|
+
|
|
1696
2164
|
# Contains information about tables that are managed by S3 Tables,
|
|
1697
2165
|
# including replication information for replica tables.
|
|
1698
2166
|
#
|
|
@@ -1724,6 +2192,418 @@ module Aws::S3Tables
|
|
|
1724
2192
|
include Aws::Structure
|
|
1725
2193
|
end
|
|
1726
2194
|
|
|
2195
|
+
# The compaction settings that a migration applies to the destination
|
|
2196
|
+
# table.
|
|
2197
|
+
#
|
|
2198
|
+
# @!attribute [rw] target_file_size_mb
|
|
2199
|
+
# The target size, from 64 to 512 MB, of the data files that the
|
|
2200
|
+
# migration writes, and of the files that compaction writes after you
|
|
2201
|
+
# complete the migration. The default is 512.
|
|
2202
|
+
# @return [Integer]
|
|
2203
|
+
#
|
|
2204
|
+
# @!attribute [rw] strategy
|
|
2205
|
+
# The compaction strategy. The only valid value is `binpack`, which is
|
|
2206
|
+
# the default.
|
|
2207
|
+
# @return [String]
|
|
2208
|
+
#
|
|
2209
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationCompactionSettings AWS API Documentation
|
|
2210
|
+
#
|
|
2211
|
+
class MigrationCompactionSettings < Struct.new(
|
|
2212
|
+
:target_file_size_mb,
|
|
2213
|
+
:strategy)
|
|
2214
|
+
SENSITIVE = []
|
|
2215
|
+
include Aws::Structure
|
|
2216
|
+
end
|
|
2217
|
+
|
|
2218
|
+
# The reason that a migration failed: a code and, when there is one, the
|
|
2219
|
+
# resource or reason it applies to. This value is returned only when the
|
|
2220
|
+
# migration is in the `failed` state.
|
|
2221
|
+
#
|
|
2222
|
+
# @!attribute [rw] code
|
|
2223
|
+
# The failure code. It names the cause or the report that lists the
|
|
2224
|
+
# findings. Valid values:
|
|
2225
|
+
#
|
|
2226
|
+
# * `rolePermissions` - S3 Tables couldn't assume the migration role,
|
|
2227
|
+
# or the role doesn't have a permission that the migration needs.
|
|
2228
|
+
# `detail` is the role ARN.
|
|
2229
|
+
#
|
|
2230
|
+
# * `sourcePermissions` - The migration role couldn't read the Amazon
|
|
2231
|
+
# Web Services Glue table or the source objects. `detail` names the
|
|
2232
|
+
# table (`database.table`) or the source bucket.
|
|
2233
|
+
#
|
|
2234
|
+
# * `destinationPermissions` - The migration role couldn't write to
|
|
2235
|
+
# the table bucket or the report bucket. `detail` names the bucket.
|
|
2236
|
+
#
|
|
2237
|
+
# * `resourceNotFound` - A resource that you specified doesn't exist,
|
|
2238
|
+
# such as the Amazon Web Services Glue table or the source bucket.
|
|
2239
|
+
# `detail` names it.
|
|
2240
|
+
#
|
|
2241
|
+
# * `sourceNotSupported` - The source table can't be migrated, for
|
|
2242
|
+
# example because it is empty, has too many objects, or has columns
|
|
2243
|
+
# or partitions that can't be migrated. The table compatibility
|
|
2244
|
+
# report lists the findings.
|
|
2245
|
+
#
|
|
2246
|
+
# * `tableCompatibilityReport` - The migration couldn't create the
|
|
2247
|
+
# destination table, for example because a table with that name
|
|
2248
|
+
# already exists or the KMS key can't be used. For a sync, the
|
|
2249
|
+
# destination table changed after the previous migration. The table
|
|
2250
|
+
# compatibility report lists the finding.
|
|
2251
|
+
#
|
|
2252
|
+
# * `objectCompatibilityReport` - Some source objects can't be
|
|
2253
|
+
# migrated, for example because they are archived, or because they
|
|
2254
|
+
# were overwritten after an earlier migration migrated them. The
|
|
2255
|
+
# object compatibility report lists them.
|
|
2256
|
+
#
|
|
2257
|
+
# * `objectMigrationReport` - Some source objects failed to migrate.
|
|
2258
|
+
# The object migration report lists them and the cause for each.
|
|
2259
|
+
#
|
|
2260
|
+
# * `reportBucketNotSupported` - The report bucket can't receive the
|
|
2261
|
+
# migration's reports, for example because it is in a different
|
|
2262
|
+
# Region than the table bucket.
|
|
2263
|
+
#
|
|
2264
|
+
# * `internalError` - S3 Tables encountered an internal error. Retry
|
|
2265
|
+
# the migration, and contact Amazon Web Services Support if the
|
|
2266
|
+
# error persists.
|
|
2267
|
+
# @return [String]
|
|
2268
|
+
#
|
|
2269
|
+
# @!attribute [rw] detail
|
|
2270
|
+
# The resource that the failure applies to, such as the role ARN, the
|
|
2271
|
+
# Amazon Web Services Glue table (`database.table`) or a bucket. For
|
|
2272
|
+
# `sourceNotSupported`, the reason that the source isn't supported,
|
|
2273
|
+
# such as `EMPTY_TABLE`. This value isn't returned for the report
|
|
2274
|
+
# codes or for `internalError`.
|
|
2275
|
+
# @return [String]
|
|
2276
|
+
#
|
|
2277
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationFailureReason AWS API Documentation
|
|
2278
|
+
#
|
|
2279
|
+
class MigrationFailureReason < Struct.new(
|
|
2280
|
+
:code,
|
|
2281
|
+
:detail)
|
|
2282
|
+
SENSITIVE = []
|
|
2283
|
+
include Aws::Structure
|
|
2284
|
+
end
|
|
2285
|
+
|
|
2286
|
+
# The bucket and prefixes that a migration writes its reports to. Every
|
|
2287
|
+
# report goes to one bucket, each under its own prefix.
|
|
2288
|
+
#
|
|
2289
|
+
# @!attribute [rw] bucket
|
|
2290
|
+
# The general purpose bucket that the migration writes every report
|
|
2291
|
+
# to.
|
|
2292
|
+
# @return [String]
|
|
2293
|
+
#
|
|
2294
|
+
# @!attribute [rw] prefixes
|
|
2295
|
+
# The key prefix for each report.
|
|
2296
|
+
# @return [Types::MigrationReportPrefixes]
|
|
2297
|
+
#
|
|
2298
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationOutputConfiguration AWS API Documentation
|
|
2299
|
+
#
|
|
2300
|
+
class MigrationOutputConfiguration < Struct.new(
|
|
2301
|
+
:bucket,
|
|
2302
|
+
:prefixes)
|
|
2303
|
+
SENSITIVE = []
|
|
2304
|
+
include Aws::Structure
|
|
2305
|
+
end
|
|
2306
|
+
|
|
2307
|
+
# Where a migration writes its reports, and the location of each report
|
|
2308
|
+
# once it is written.
|
|
2309
|
+
#
|
|
2310
|
+
# @!attribute [rw] bucket
|
|
2311
|
+
# The general purpose bucket that the migration writes every report
|
|
2312
|
+
# to.
|
|
2313
|
+
# @return [String]
|
|
2314
|
+
#
|
|
2315
|
+
# @!attribute [rw] table_compatibility_report
|
|
2316
|
+
# The table compatibility report: the sample object that the schema is
|
|
2317
|
+
# inferred from, the table-level findings, and one row for each
|
|
2318
|
+
# destination column with its type change and how the migration
|
|
2319
|
+
# policies apply to it. The migration writes it when planning
|
|
2320
|
+
# finishes, before any data migrates. If planning fails, the report
|
|
2321
|
+
# might not be written.
|
|
2322
|
+
# @return [Types::ReportOverview]
|
|
2323
|
+
#
|
|
2324
|
+
# @!attribute [rw] object_compatibility_report
|
|
2325
|
+
# The object compatibility report: one row for each source object
|
|
2326
|
+
# under the source table's location, with whether the migration
|
|
2327
|
+
# includes the object and its most severe finding. The migration
|
|
2328
|
+
# writes it when planning finishes. If planning fails, the report
|
|
2329
|
+
# might not be written.
|
|
2330
|
+
# @return [Types::ReportOverview]
|
|
2331
|
+
#
|
|
2332
|
+
# @!attribute [rw] object_migration_report
|
|
2333
|
+
# The object migration report: one row for each source object that the
|
|
2334
|
+
# migration tried to migrate, with whether it migrated, how it was
|
|
2335
|
+
# transformed, and why it failed. The migration writes it once, when
|
|
2336
|
+
# the migration ends. It isn't written if planning fails or if a sync
|
|
2337
|
+
# has nothing to migrate.
|
|
2338
|
+
# @return [Types::ReportOverview]
|
|
2339
|
+
#
|
|
2340
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationOutputOverview AWS API Documentation
|
|
2341
|
+
#
|
|
2342
|
+
class MigrationOutputOverview < Struct.new(
|
|
2343
|
+
:bucket,
|
|
2344
|
+
:table_compatibility_report,
|
|
2345
|
+
:object_compatibility_report,
|
|
2346
|
+
:object_migration_report)
|
|
2347
|
+
SENSITIVE = []
|
|
2348
|
+
include Aws::Structure
|
|
2349
|
+
end
|
|
2350
|
+
|
|
2351
|
+
# The policies for source data that doesn't fit the destination schema.
|
|
2352
|
+
#
|
|
2353
|
+
# @!attribute [rw] unmatched_source_fields_policy
|
|
2354
|
+
# The migration policy for a source field that has no matching column
|
|
2355
|
+
# in the destination schema. Valid values:
|
|
2356
|
+
#
|
|
2357
|
+
# * `fail` - Fails the migration. This is the default.
|
|
2358
|
+
#
|
|
2359
|
+
# * `drop` - Leaves source columns that the destination schema
|
|
2360
|
+
# doesn't have out of the destination table, and doesn't migrate
|
|
2361
|
+
# source objects outside the Amazon Web Services Glue table's
|
|
2362
|
+
# partition locations.
|
|
2363
|
+
#
|
|
2364
|
+
# A destination schema that leaves out a partition column or a field
|
|
2365
|
+
# of a struct column fails the migration under either value.
|
|
2366
|
+
# @return [String]
|
|
2367
|
+
#
|
|
2368
|
+
# @!attribute [rw] incompatible_values_policy
|
|
2369
|
+
# The migration policy for a source value that the destination
|
|
2370
|
+
# column's type can't hold. Valid values:
|
|
2371
|
+
#
|
|
2372
|
+
# * `fail` - Fails the migration. This is the default.
|
|
2373
|
+
#
|
|
2374
|
+
# * `setNull` - Writes null for a value that the destination column's
|
|
2375
|
+
# type can't hold. If a column's type in a source object is
|
|
2376
|
+
# incompatible with the destination column's type, the column is
|
|
2377
|
+
# null for that whole object.
|
|
2378
|
+
#
|
|
2379
|
+
# A required column, or a type that migration doesn't support, fails
|
|
2380
|
+
# the migration under either value.
|
|
2381
|
+
# @return [String]
|
|
2382
|
+
#
|
|
2383
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationPolicies AWS API Documentation
|
|
2384
|
+
#
|
|
2385
|
+
class MigrationPolicies < Struct.new(
|
|
2386
|
+
:unmatched_source_fields_policy,
|
|
2387
|
+
:incompatible_values_policy)
|
|
2388
|
+
SENSITIVE = []
|
|
2389
|
+
include Aws::Structure
|
|
2390
|
+
end
|
|
2391
|
+
|
|
2392
|
+
# The key prefix for each report. If you don't specify a prefix for a
|
|
2393
|
+
# report, its keys start at the root of the bucket.
|
|
2394
|
+
#
|
|
2395
|
+
# @!attribute [rw] table_compatibility_report
|
|
2396
|
+
# The key prefix for the table compatibility report, up to 512 bytes.
|
|
2397
|
+
# If not specified, the report's keys start at the root of the
|
|
2398
|
+
# bucket.
|
|
2399
|
+
# @return [String]
|
|
2400
|
+
#
|
|
2401
|
+
# @!attribute [rw] object_compatibility_report
|
|
2402
|
+
# The key prefix for the object compatibility report, up to 512 bytes.
|
|
2403
|
+
# If not specified, the report's keys start at the root of the
|
|
2404
|
+
# bucket.
|
|
2405
|
+
# @return [String]
|
|
2406
|
+
#
|
|
2407
|
+
# @!attribute [rw] object_migration_report
|
|
2408
|
+
# The key prefix for the object migration report, up to 512 bytes. If
|
|
2409
|
+
# not specified, the report's keys start at the root of the bucket.
|
|
2410
|
+
# @return [String]
|
|
2411
|
+
#
|
|
2412
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationReportPrefixes AWS API Documentation
|
|
2413
|
+
#
|
|
2414
|
+
class MigrationReportPrefixes < Struct.new(
|
|
2415
|
+
:table_compatibility_report,
|
|
2416
|
+
:object_compatibility_report,
|
|
2417
|
+
:object_migration_report)
|
|
2418
|
+
SENSITIVE = []
|
|
2419
|
+
include Aws::Structure
|
|
2420
|
+
end
|
|
2421
|
+
|
|
2422
|
+
# The snapshot management settings that a migration applies to the
|
|
2423
|
+
# destination table.
|
|
2424
|
+
#
|
|
2425
|
+
# @!attribute [rw] min_snapshots_to_keep
|
|
2426
|
+
# The minimum number of snapshots to keep. The value must be 3 or
|
|
2427
|
+
# more. The default is 3.
|
|
2428
|
+
# @return [Integer]
|
|
2429
|
+
#
|
|
2430
|
+
# @!attribute [rw] max_snapshot_age_hours
|
|
2431
|
+
# The maximum age, in hours, of a snapshot before it can be expired.
|
|
2432
|
+
# The default is 120.
|
|
2433
|
+
# @return [Integer]
|
|
2434
|
+
#
|
|
2435
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationSnapshotManagementSettings AWS API Documentation
|
|
2436
|
+
#
|
|
2437
|
+
class MigrationSnapshotManagementSettings < Struct.new(
|
|
2438
|
+
:min_snapshots_to_keep,
|
|
2439
|
+
:max_snapshot_age_hours)
|
|
2440
|
+
SENSITIVE = []
|
|
2441
|
+
include Aws::Structure
|
|
2442
|
+
end
|
|
2443
|
+
|
|
2444
|
+
# The number of source objects that migrated, failed or are pending. For
|
|
2445
|
+
# a sync, the counts cover every object of the table after the sync,
|
|
2446
|
+
# including objects that earlier migrations migrated. The counts are set
|
|
2447
|
+
# when planning finishes and updated when the migration ends.
|
|
2448
|
+
#
|
|
2449
|
+
# @!attribute [rw] objects_migrated
|
|
2450
|
+
# The number of source objects whose data the migration wrote to the
|
|
2451
|
+
# destination table. Migrated data can be queried after the migration
|
|
2452
|
+
# commits it. If the migration fails or is cancelled, some migrated
|
|
2453
|
+
# objects might not be committed.
|
|
2454
|
+
# @return [Integer]
|
|
2455
|
+
#
|
|
2456
|
+
# @!attribute [rw] objects_failed_migration
|
|
2457
|
+
# The number of source objects that didn't migrate, because they
|
|
2458
|
+
# failed or because another object, such as an object in the same
|
|
2459
|
+
# partition, failed. The object migration report lists the cause for
|
|
2460
|
+
# each object.
|
|
2461
|
+
# @return [Integer]
|
|
2462
|
+
#
|
|
2463
|
+
# @!attribute [rw] objects_pending_migration
|
|
2464
|
+
# The number of source objects that haven't migrated or failed yet.
|
|
2465
|
+
# When a migration fails or is cancelled, these are the objects that
|
|
2466
|
+
# it didn't migrate.
|
|
2467
|
+
# @return [Integer]
|
|
2468
|
+
#
|
|
2469
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationStats AWS API Documentation
|
|
2470
|
+
#
|
|
2471
|
+
class MigrationStats < Struct.new(
|
|
2472
|
+
:objects_migrated,
|
|
2473
|
+
:objects_failed_migration,
|
|
2474
|
+
:objects_pending_migration)
|
|
2475
|
+
SENSITIVE = []
|
|
2476
|
+
include Aws::Structure
|
|
2477
|
+
end
|
|
2478
|
+
|
|
2479
|
+
# A summary of a migration.
|
|
2480
|
+
#
|
|
2481
|
+
# @!attribute [rw] migration_id
|
|
2482
|
+
# The ID of the migration.
|
|
2483
|
+
# @return [String]
|
|
2484
|
+
#
|
|
2485
|
+
# @!attribute [rw] table_bucket_arn
|
|
2486
|
+
# The Amazon Resource Name (ARN) of the table bucket that contains the
|
|
2487
|
+
# destination table.
|
|
2488
|
+
# @return [String]
|
|
2489
|
+
#
|
|
2490
|
+
# @!attribute [rw] namespace
|
|
2491
|
+
# The namespace of the destination table.
|
|
2492
|
+
# @return [String]
|
|
2493
|
+
#
|
|
2494
|
+
# @!attribute [rw] table_arn
|
|
2495
|
+
# The Amazon Resource Name (ARN) of the destination table, once the
|
|
2496
|
+
# migration creates it.
|
|
2497
|
+
# @return [String]
|
|
2498
|
+
#
|
|
2499
|
+
# @!attribute [rw] name
|
|
2500
|
+
# The name of the destination table.
|
|
2501
|
+
# @return [String]
|
|
2502
|
+
#
|
|
2503
|
+
# @!attribute [rw] type
|
|
2504
|
+
# The type of the migration. Valid values:
|
|
2505
|
+
#
|
|
2506
|
+
# * `start` - A migration that `StartTableMigration` started.
|
|
2507
|
+
#
|
|
2508
|
+
# * `sync` - A migration that `SyncTableMigration` started.
|
|
2509
|
+
# @return [String]
|
|
2510
|
+
#
|
|
2511
|
+
# @!attribute [rw] state
|
|
2512
|
+
# The state of the migration. Valid values:
|
|
2513
|
+
#
|
|
2514
|
+
# * `new` - S3 Tables accepted the request.
|
|
2515
|
+
#
|
|
2516
|
+
# * `planning` - The migration is checking the source table, its
|
|
2517
|
+
# objects and the destination for compatibility, and writing the
|
|
2518
|
+
# compatibility reports.
|
|
2519
|
+
#
|
|
2520
|
+
# * `pendingReview` - Planning finished, and the migration waits for
|
|
2521
|
+
# you to continue or cancel it with `UpdateTableMigration`.
|
|
2522
|
+
#
|
|
2523
|
+
# * `queued` - The migration is waiting to start migrating data.
|
|
2524
|
+
#
|
|
2525
|
+
# * `migrating` - The migration is running the plan from the
|
|
2526
|
+
# `planning` state: it copies data and commits it to the destination
|
|
2527
|
+
# table. A migration reaches this state only if `hasValidPlan` is
|
|
2528
|
+
# `true`.
|
|
2529
|
+
#
|
|
2530
|
+
# * `succeeded` - Every planned object migrated.
|
|
2531
|
+
#
|
|
2532
|
+
# * `failed` - The migration failed. Check `failureReason` for the
|
|
2533
|
+
# cause.
|
|
2534
|
+
#
|
|
2535
|
+
# * `cancelling` - You cancelled the migration, and it is finishing
|
|
2536
|
+
# the work in progress.
|
|
2537
|
+
#
|
|
2538
|
+
# * `cancelled` - The migration is cancelled.
|
|
2539
|
+
# @return [String]
|
|
2540
|
+
#
|
|
2541
|
+
# @!attribute [rw] has_valid_plan
|
|
2542
|
+
# A Boolean value that specifies whether planning produced a plan that
|
|
2543
|
+
# the migration can run. If planning hasn't finished, this value
|
|
2544
|
+
# isn't returned.
|
|
2545
|
+
# @return [Boolean]
|
|
2546
|
+
#
|
|
2547
|
+
# @!attribute [rw] created_at
|
|
2548
|
+
# The date and time that the migration was created.
|
|
2549
|
+
# @return [Time]
|
|
2550
|
+
#
|
|
2551
|
+
# @!attribute [rw] state_updated_at
|
|
2552
|
+
# The date and time that the migration's state last changed.
|
|
2553
|
+
# @return [Time]
|
|
2554
|
+
#
|
|
2555
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationSummary AWS API Documentation
|
|
2556
|
+
#
|
|
2557
|
+
class MigrationSummary < Struct.new(
|
|
2558
|
+
:migration_id,
|
|
2559
|
+
:table_bucket_arn,
|
|
2560
|
+
:namespace,
|
|
2561
|
+
:table_arn,
|
|
2562
|
+
:name,
|
|
2563
|
+
:type,
|
|
2564
|
+
:state,
|
|
2565
|
+
:has_valid_plan,
|
|
2566
|
+
:created_at,
|
|
2567
|
+
:state_updated_at)
|
|
2568
|
+
SENSITIVE = []
|
|
2569
|
+
include Aws::Structure
|
|
2570
|
+
end
|
|
2571
|
+
|
|
2572
|
+
# The properties of the data files that a migration writes. The
|
|
2573
|
+
# migration also sets the compression codec and dictionary encoding as
|
|
2574
|
+
# the destination table's write properties, so they remain the table's
|
|
2575
|
+
# defaults after you complete the migration.
|
|
2576
|
+
#
|
|
2577
|
+
# @!attribute [rw] write_format
|
|
2578
|
+
# The file format of the data files. The only supported format is
|
|
2579
|
+
# `parquet`, the default.
|
|
2580
|
+
# @return [String]
|
|
2581
|
+
#
|
|
2582
|
+
# @!attribute [rw] iceberg_format_version
|
|
2583
|
+
# The Iceberg format version of the destination table. Valid values
|
|
2584
|
+
# are `2` and `3`. The default is `2`.
|
|
2585
|
+
# @return [Integer]
|
|
2586
|
+
#
|
|
2587
|
+
# @!attribute [rw] compression_codec
|
|
2588
|
+
# The compression codec of the data files. The default is `zstd`.
|
|
2589
|
+
# @return [String]
|
|
2590
|
+
#
|
|
2591
|
+
# @!attribute [rw] dictionary_encoding
|
|
2592
|
+
# Specifies whether the data files use dictionary encoding. The
|
|
2593
|
+
# default is `true`.
|
|
2594
|
+
# @return [Boolean]
|
|
2595
|
+
#
|
|
2596
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MigrationTableProperties AWS API Documentation
|
|
2597
|
+
#
|
|
2598
|
+
class MigrationTableProperties < Struct.new(
|
|
2599
|
+
:write_format,
|
|
2600
|
+
:iceberg_format_version,
|
|
2601
|
+
:compression_codec,
|
|
2602
|
+
:dictionary_encoding)
|
|
2603
|
+
SENSITIVE = []
|
|
2604
|
+
include Aws::Structure
|
|
2605
|
+
end
|
|
2606
|
+
|
|
1727
2607
|
# Contains details about a namespace.
|
|
1728
2608
|
#
|
|
1729
2609
|
# @!attribute [rw] namespace
|
|
@@ -1778,6 +2658,38 @@ module Aws::S3Tables
|
|
|
1778
2658
|
include Aws::Structure
|
|
1779
2659
|
end
|
|
1780
2660
|
|
|
2661
|
+
# Statistics about the source and the partitions in a migration.
|
|
2662
|
+
#
|
|
2663
|
+
# @!attribute [rw] objects_scanned
|
|
2664
|
+
# The number of source objects that the migration found under the
|
|
2665
|
+
# source table's location, whether or not it migrates them. The
|
|
2666
|
+
# object compatibility report has one row for each.
|
|
2667
|
+
# @return [Integer]
|
|
2668
|
+
#
|
|
2669
|
+
# @!attribute [rw] objects_planned
|
|
2670
|
+
# The number of source objects in the migration. For a start, these
|
|
2671
|
+
# are the data files in the Amazon Web Services Glue table's
|
|
2672
|
+
# partitions, or under the table's location if the table isn't
|
|
2673
|
+
# partitioned. For a sync, these are all the data files of the table
|
|
2674
|
+
# after the sync, including files that earlier migrations migrated.
|
|
2675
|
+
# @return [Integer]
|
|
2676
|
+
#
|
|
2677
|
+
# @!attribute [rw] partition_count
|
|
2678
|
+
# The number of partitions in the destination table after this
|
|
2679
|
+
# migration, or 0 if the source table isn't partitioned. This value
|
|
2680
|
+
# is returned when planning produces a valid plan.
|
|
2681
|
+
# @return [Integer]
|
|
2682
|
+
#
|
|
2683
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PlanningStats AWS API Documentation
|
|
2684
|
+
#
|
|
2685
|
+
class PlanningStats < Struct.new(
|
|
2686
|
+
:objects_scanned,
|
|
2687
|
+
:objects_planned,
|
|
2688
|
+
:partition_count)
|
|
2689
|
+
SENSITIVE = []
|
|
2690
|
+
include Aws::Structure
|
|
2691
|
+
end
|
|
2692
|
+
|
|
1781
2693
|
# @!attribute [rw] table_bucket_arn
|
|
1782
2694
|
# The Amazon Resource Name (ARN) of the table bucket.
|
|
1783
2695
|
# @return [String]
|
|
@@ -2137,6 +3049,49 @@ module Aws::S3Tables
|
|
|
2137
3049
|
include Aws::Structure
|
|
2138
3050
|
end
|
|
2139
3051
|
|
|
3052
|
+
# A report of a migration: the prefix it is written under and, once it
|
|
3053
|
+
# is written, its key, its checksum and, for the compatibility reports,
|
|
3054
|
+
# the number of blocking findings in each category.
|
|
3055
|
+
#
|
|
3056
|
+
# @!attribute [rw] prefix
|
|
3057
|
+
# The key prefix that the report is written under.
|
|
3058
|
+
# @return [String]
|
|
3059
|
+
#
|
|
3060
|
+
# @!attribute [rw] key
|
|
3061
|
+
# The key of the report object in the bucket. For the object
|
|
3062
|
+
# compatibility and object migration reports, this is the report's
|
|
3063
|
+
# manifest; for the table compatibility report, it is the report
|
|
3064
|
+
# itself. This value is returned after the migration writes the
|
|
3065
|
+
# report. A migration doesn't always write every report. For example,
|
|
3066
|
+
# a migration that fails during planning doesn't write the object
|
|
3067
|
+
# migration report.
|
|
3068
|
+
# @return [String]
|
|
3069
|
+
#
|
|
3070
|
+
# @!attribute [rw] checksum_crc64nvme
|
|
3071
|
+
# The Base64-encoded CRC64NVME checksum of the object that `key`
|
|
3072
|
+
# names. For a report that has a manifest, the manifest lists the
|
|
3073
|
+
# checksum of each report file. This value is returned after the
|
|
3074
|
+
# migration writes the report.
|
|
3075
|
+
# @return [String]
|
|
3076
|
+
#
|
|
3077
|
+
# @!attribute [rw] invalid_findings
|
|
3078
|
+
# For the compatibility reports, the number of blocking findings in
|
|
3079
|
+
# each category. The object compatibility report counts each blocked
|
|
3080
|
+
# object once, under its most severe finding. Categories with no
|
|
3081
|
+
# blocking findings are left out.
|
|
3082
|
+
# @return [Hash<String,Integer>]
|
|
3083
|
+
#
|
|
3084
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ReportOverview AWS API Documentation
|
|
3085
|
+
#
|
|
3086
|
+
class ReportOverview < Struct.new(
|
|
3087
|
+
:prefix,
|
|
3088
|
+
:key,
|
|
3089
|
+
:checksum_crc64nvme,
|
|
3090
|
+
:invalid_findings)
|
|
3091
|
+
SENSITIVE = []
|
|
3092
|
+
include Aws::Structure
|
|
3093
|
+
end
|
|
3094
|
+
|
|
2140
3095
|
# Contains details about a schema field.
|
|
2141
3096
|
#
|
|
2142
3097
|
# @!attribute [rw] id
|
|
@@ -2227,6 +3182,114 @@ module Aws::S3Tables
|
|
|
2227
3182
|
include Aws::Structure
|
|
2228
3183
|
end
|
|
2229
3184
|
|
|
3185
|
+
# The source to migrate from. Set exactly one member, and set
|
|
3186
|
+
# `sourceType` to match it.
|
|
3187
|
+
#
|
|
3188
|
+
# @note SourceConfiguration is a union - when making an API calls you must set exactly one of the members.
|
|
3189
|
+
#
|
|
3190
|
+
# @note SourceConfiguration is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of SourceConfiguration corresponding to the set member.
|
|
3191
|
+
#
|
|
3192
|
+
# @!attribute [rw] glue_table
|
|
3193
|
+
# An Amazon Web Services Glue Data Catalog table to migrate. The table
|
|
3194
|
+
# must be an external Apache Hive table whose data is stored as
|
|
3195
|
+
# Parquet in a general purpose bucket in the same account and Region
|
|
3196
|
+
# as the table bucket. Views, transactional (ACID) tables, tables in
|
|
3197
|
+
# an open table format such as Apache Iceberg, and tables registered
|
|
3198
|
+
# with Amazon Web Services Lake Formation can't be migrated. If the
|
|
3199
|
+
# table can't be migrated, the migration fails, and the table
|
|
3200
|
+
# compatibility report lists the reason.
|
|
3201
|
+
# @return [Types::GlueTableSource]
|
|
3202
|
+
#
|
|
3203
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/SourceConfiguration AWS API Documentation
|
|
3204
|
+
#
|
|
3205
|
+
class SourceConfiguration < Struct.new(
|
|
3206
|
+
:glue_table,
|
|
3207
|
+
:unknown)
|
|
3208
|
+
SENSITIVE = []
|
|
3209
|
+
include Aws::Structure
|
|
3210
|
+
include Aws::Structure::Union
|
|
3211
|
+
|
|
3212
|
+
class GlueTable < SourceConfiguration; end
|
|
3213
|
+
class Unknown < SourceConfiguration; end
|
|
3214
|
+
end
|
|
3215
|
+
|
|
3216
|
+
# @!attribute [rw] role_arn
|
|
3217
|
+
# The Amazon Resource Name (ARN) of the IAM role that the migration
|
|
3218
|
+
# uses to read the source table and its data and to write the
|
|
3219
|
+
# destination table and the reports. The role must be in your account,
|
|
3220
|
+
# and its trust policy must allow `migration.s3tables.amazonaws.com`
|
|
3221
|
+
# to assume it. You can limit the trust policy to the destination
|
|
3222
|
+
# table bucket with the `aws:SourceArn` and `aws:SourceAccount`
|
|
3223
|
+
# condition keys.
|
|
3224
|
+
# @return [String]
|
|
3225
|
+
#
|
|
3226
|
+
# @!attribute [rw] destination_table
|
|
3227
|
+
# The table to create and migrate the source into.
|
|
3228
|
+
# @return [Types::DestinationTable]
|
|
3229
|
+
#
|
|
3230
|
+
# @!attribute [rw] source_type
|
|
3231
|
+
# The type of the source. It must match the member that you set in
|
|
3232
|
+
# `source`.
|
|
3233
|
+
# @return [String]
|
|
3234
|
+
#
|
|
3235
|
+
# @!attribute [rw] source
|
|
3236
|
+
# The source table to migrate.
|
|
3237
|
+
# @return [Types::SourceConfiguration]
|
|
3238
|
+
#
|
|
3239
|
+
# @!attribute [rw] data_migration
|
|
3240
|
+
# The maintenance settings and migration policies for the destination
|
|
3241
|
+
# table.
|
|
3242
|
+
# @return [Types::DataMigrationSettings]
|
|
3243
|
+
#
|
|
3244
|
+
# @!attribute [rw] review_migration_plan
|
|
3245
|
+
# Specifies whether the migration waits in the `pendingReview` state,
|
|
3246
|
+
# so that you can review the compatibility reports before it migrates
|
|
3247
|
+
# any data. If `true`, the migration continues when you call
|
|
3248
|
+
# `UpdateTableMigration` with `requestedState` set to `queued`. If you
|
|
3249
|
+
# don't continue or cancel the migration within 30 days, the
|
|
3250
|
+
# migration fails. The default is `false`.
|
|
3251
|
+
# @return [Boolean]
|
|
3252
|
+
#
|
|
3253
|
+
# @!attribute [rw] migration_output
|
|
3254
|
+
# The bucket and prefixes that the migration writes its reports to.
|
|
3255
|
+
# The bucket must be a general purpose bucket in your account and in
|
|
3256
|
+
# the same Region as the table bucket, and the migration role must be
|
|
3257
|
+
# able to write objects to it. Otherwise, the migration fails when it
|
|
3258
|
+
# writes its first report.
|
|
3259
|
+
# @return [Types::MigrationOutputConfiguration]
|
|
3260
|
+
#
|
|
3261
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/StartTableMigrationRequest AWS API Documentation
|
|
3262
|
+
#
|
|
3263
|
+
class StartTableMigrationRequest < Struct.new(
|
|
3264
|
+
:role_arn,
|
|
3265
|
+
:destination_table,
|
|
3266
|
+
:source_type,
|
|
3267
|
+
:source,
|
|
3268
|
+
:data_migration,
|
|
3269
|
+
:review_migration_plan,
|
|
3270
|
+
:migration_output)
|
|
3271
|
+
SENSITIVE = []
|
|
3272
|
+
include Aws::Structure
|
|
3273
|
+
end
|
|
3274
|
+
|
|
3275
|
+
# @!attribute [rw] migration_id
|
|
3276
|
+
# The ID of the migration.
|
|
3277
|
+
# @return [String]
|
|
3278
|
+
#
|
|
3279
|
+
# @!attribute [rw] state
|
|
3280
|
+
# The state of the migration when the request is accepted, such as
|
|
3281
|
+
# `planning`.
|
|
3282
|
+
# @return [String]
|
|
3283
|
+
#
|
|
3284
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/StartTableMigrationResponse AWS API Documentation
|
|
3285
|
+
#
|
|
3286
|
+
class StartTableMigrationResponse < Struct.new(
|
|
3287
|
+
:migration_id,
|
|
3288
|
+
:state)
|
|
3289
|
+
SENSITIVE = []
|
|
3290
|
+
include Aws::Structure
|
|
3291
|
+
end
|
|
3292
|
+
|
|
2230
3293
|
# The configuration details for the storage class of tables or table
|
|
2231
3294
|
# buckets. This allows you to optimize storage costs by selecting the
|
|
2232
3295
|
# appropriate storage class based on your access patterns and
|
|
@@ -2246,6 +3309,67 @@ module Aws::S3Tables
|
|
|
2246
3309
|
include Aws::Structure
|
|
2247
3310
|
end
|
|
2248
3311
|
|
|
3312
|
+
# @!attribute [rw] role_arn
|
|
3313
|
+
# The Amazon Resource Name (ARN) of the IAM role that the sync uses to
|
|
3314
|
+
# read the source table and its data and to write the destination
|
|
3315
|
+
# table and the reports. The role must be in your account, and its
|
|
3316
|
+
# trust policy must allow `migration.s3tables.amazonaws.com` to assume
|
|
3317
|
+
# it. You can limit the trust policy to the destination table bucket
|
|
3318
|
+
# with the `aws:SourceArn` and `aws:SourceAccount` condition keys.
|
|
3319
|
+
# @return [String]
|
|
3320
|
+
#
|
|
3321
|
+
# @!attribute [rw] table_arn
|
|
3322
|
+
# The Amazon Resource Name (ARN) of the destination table to sync. The
|
|
3323
|
+
# table must have a migration, and you must not have called
|
|
3324
|
+
# `CompleteTableMigration` for it.
|
|
3325
|
+
# @return [String]
|
|
3326
|
+
#
|
|
3327
|
+
# @!attribute [rw] review_migration_plan
|
|
3328
|
+
# Specifies whether the sync waits in the `pendingReview` state, so
|
|
3329
|
+
# that you can review the compatibility reports before it migrates any
|
|
3330
|
+
# data. If `true`, the migration continues when you call
|
|
3331
|
+
# `UpdateTableMigration` with `requestedState` set to `queued`. If you
|
|
3332
|
+
# don't continue or cancel the migration within 30 days, the
|
|
3333
|
+
# migration fails. The default is `false`.
|
|
3334
|
+
# @return [Boolean]
|
|
3335
|
+
#
|
|
3336
|
+
# @!attribute [rw] migration_output
|
|
3337
|
+
# The bucket and prefixes that the sync writes its reports to. The
|
|
3338
|
+
# bucket must be a general purpose bucket in your account and in the
|
|
3339
|
+
# same Region as the table bucket, and the migration role must be able
|
|
3340
|
+
# to write objects to it. Otherwise, the migration fails when it
|
|
3341
|
+
# writes its first report.
|
|
3342
|
+
# @return [Types::MigrationOutputConfiguration]
|
|
3343
|
+
#
|
|
3344
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/SyncTableMigrationRequest AWS API Documentation
|
|
3345
|
+
#
|
|
3346
|
+
class SyncTableMigrationRequest < Struct.new(
|
|
3347
|
+
:role_arn,
|
|
3348
|
+
:table_arn,
|
|
3349
|
+
:review_migration_plan,
|
|
3350
|
+
:migration_output)
|
|
3351
|
+
SENSITIVE = []
|
|
3352
|
+
include Aws::Structure
|
|
3353
|
+
end
|
|
3354
|
+
|
|
3355
|
+
# @!attribute [rw] migration_id
|
|
3356
|
+
# The migration ID of the sync.
|
|
3357
|
+
# @return [String]
|
|
3358
|
+
#
|
|
3359
|
+
# @!attribute [rw] state
|
|
3360
|
+
# The state of the migration when the request is accepted, such as
|
|
3361
|
+
# `planning`.
|
|
3362
|
+
# @return [String]
|
|
3363
|
+
#
|
|
3364
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/SyncTableMigrationResponse AWS API Documentation
|
|
3365
|
+
#
|
|
3366
|
+
class SyncTableMigrationResponse < Struct.new(
|
|
3367
|
+
:migration_id,
|
|
3368
|
+
:state)
|
|
3369
|
+
SENSITIVE = []
|
|
3370
|
+
include Aws::Structure
|
|
3371
|
+
end
|
|
3372
|
+
|
|
2249
3373
|
# Details about the values that define the maintenance configuration for
|
|
2250
3374
|
# a table bucket.
|
|
2251
3375
|
#
|
|
@@ -2770,6 +3894,64 @@ module Aws::S3Tables
|
|
|
2770
3894
|
include Aws::Structure
|
|
2771
3895
|
end
|
|
2772
3896
|
|
|
3897
|
+
# @!attribute [rw] table_arn
|
|
3898
|
+
# The Amazon Resource Name (ARN) of the destination table. Updates the
|
|
3899
|
+
# table's most recent migration. Until the migration creates the
|
|
3900
|
+
# destination table, specify `migrationId`. Specify either `tableARN`
|
|
3901
|
+
# or `migrationId`, not both.
|
|
3902
|
+
# @return [String]
|
|
3903
|
+
#
|
|
3904
|
+
# @!attribute [rw] migration_id
|
|
3905
|
+
# The ID of the migration to update. Specify either `migrationId` or
|
|
3906
|
+
# `tableARN`, not both.
|
|
3907
|
+
# @return [String]
|
|
3908
|
+
#
|
|
3909
|
+
# @!attribute [rw] requested_state
|
|
3910
|
+
# The state to move the migration to: `queued` to continue a migration
|
|
3911
|
+
# in the `pendingReview` state, or `cancelled` to cancel a migration
|
|
3912
|
+
# in the `new`, `planning`, `pendingReview`, `queued` or `migrating`
|
|
3913
|
+
# state.
|
|
3914
|
+
# @return [String]
|
|
3915
|
+
#
|
|
3916
|
+
# @!attribute [rw] update_description
|
|
3917
|
+
# A description of the update, up to 1,024 characters, with no control
|
|
3918
|
+
# characters. `GetTableMigration` doesn't return it.
|
|
3919
|
+
# @return [String]
|
|
3920
|
+
#
|
|
3921
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/UpdateTableMigrationRequest AWS API Documentation
|
|
3922
|
+
#
|
|
3923
|
+
class UpdateTableMigrationRequest < Struct.new(
|
|
3924
|
+
:table_arn,
|
|
3925
|
+
:migration_id,
|
|
3926
|
+
:requested_state,
|
|
3927
|
+
:update_description)
|
|
3928
|
+
SENSITIVE = []
|
|
3929
|
+
include Aws::Structure
|
|
3930
|
+
end
|
|
3931
|
+
|
|
3932
|
+
# @!attribute [rw] migration_id
|
|
3933
|
+
# The ID of the migration.
|
|
3934
|
+
# @return [String]
|
|
3935
|
+
#
|
|
3936
|
+
# @!attribute [rw] state
|
|
3937
|
+
# The state of the migration after the update, such as `queued`,
|
|
3938
|
+
# `migrating` or `cancelling`.
|
|
3939
|
+
# @return [String]
|
|
3940
|
+
#
|
|
3941
|
+
# @!attribute [rw] table_arn
|
|
3942
|
+
# The Amazon Resource Name (ARN) of the destination table.
|
|
3943
|
+
# @return [String]
|
|
3944
|
+
#
|
|
3945
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/UpdateTableMigrationResponse AWS API Documentation
|
|
3946
|
+
#
|
|
3947
|
+
class UpdateTableMigrationResponse < Struct.new(
|
|
3948
|
+
:migration_id,
|
|
3949
|
+
:state,
|
|
3950
|
+
:table_arn)
|
|
3951
|
+
SENSITIVE = []
|
|
3952
|
+
include Aws::Structure
|
|
3953
|
+
end
|
|
3954
|
+
|
|
2773
3955
|
end
|
|
2774
3956
|
end
|
|
2775
3957
|
|