@aws-sdk/client-glue 3.624.0 → 3.627.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.
Files changed (94) hide show
  1. package/README.md +48 -0
  2. package/dist-cjs/index.js +525 -36
  3. package/dist-es/Glue.js +12 -0
  4. package/dist-es/commands/BatchGetDataQualityResultCommand.js +2 -1
  5. package/dist-es/commands/BatchGetJobsCommand.js +1 -1
  6. package/dist-es/commands/BatchPutDataQualityStatisticAnnotationCommand.js +24 -0
  7. package/dist-es/commands/CreateJobCommand.js +1 -1
  8. package/dist-es/commands/GetDataQualityModelCommand.js +24 -0
  9. package/dist-es/commands/GetDataQualityModelResultCommand.js +24 -0
  10. package/dist-es/commands/GetDataQualityResultCommand.js +2 -1
  11. package/dist-es/commands/GetJobCommand.js +1 -1
  12. package/dist-es/commands/GetJobsCommand.js +1 -1
  13. package/dist-es/commands/ListDataQualityStatisticAnnotationsCommand.js +24 -0
  14. package/dist-es/commands/ListDataQualityStatisticsCommand.js +25 -0
  15. package/dist-es/commands/PutDataQualityProfileAnnotationCommand.js +24 -0
  16. package/dist-es/commands/UpdateJobCommand.js +1 -1
  17. package/dist-es/commands/index.js +6 -0
  18. package/dist-es/models/index.js +1 -0
  19. package/dist-es/models/models_0.js +35 -10
  20. package/dist-es/models/models_1.js +32 -13
  21. package/dist-es/models/models_2.js +33 -24
  22. package/dist-es/models/models_3.js +29 -0
  23. package/dist-es/protocols/Aws_json1_1.js +272 -0
  24. package/dist-types/Glue.d.ts +44 -0
  25. package/dist-types/GlueClient.d.ts +8 -2
  26. package/dist-types/commands/BatchGetDataQualityResultCommand.d.ts +3 -0
  27. package/dist-types/commands/BatchGetJobsCommand.d.ts +6 -5
  28. package/dist-types/commands/BatchPutDataQualityStatisticAnnotationCommand.d.ts +85 -0
  29. package/dist-types/commands/CreateBlueprintCommand.d.ts +1 -1
  30. package/dist-types/commands/CreateConnectionCommand.d.ts +1 -1
  31. package/dist-types/commands/CreateDataQualityRulesetCommand.d.ts +1 -0
  32. package/dist-types/commands/CreateJobCommand.d.ts +6 -5
  33. package/dist-types/commands/GetConnectionCommand.d.ts +1 -1
  34. package/dist-types/commands/GetConnectionsCommand.d.ts +2 -2
  35. package/dist-types/commands/GetDataQualityModelCommand.d.ts +76 -0
  36. package/dist-types/commands/GetDataQualityModelResultCommand.d.ts +83 -0
  37. package/dist-types/commands/GetDataQualityResultCommand.d.ts +3 -0
  38. package/dist-types/commands/GetDataQualityRuleRecommendationRunCommand.d.ts +1 -0
  39. package/dist-types/commands/GetDataQualityRulesetCommand.d.ts +1 -0
  40. package/dist-types/commands/GetJobCommand.d.ts +6 -5
  41. package/dist-types/commands/GetJobsCommand.d.ts +6 -5
  42. package/dist-types/commands/GetMLTransformsCommand.d.ts +1 -1
  43. package/dist-types/commands/GetPartitionCommand.d.ts +1 -1
  44. package/dist-types/commands/GetPartitionIndexesCommand.d.ts +1 -1
  45. package/dist-types/commands/GetTableCommand.d.ts +144 -1
  46. package/dist-types/commands/GetTableVersionCommand.d.ts +143 -1
  47. package/dist-types/commands/GetTableVersionsCommand.d.ts +143 -1
  48. package/dist-types/commands/GetTablesCommand.d.ts +144 -1
  49. package/dist-types/commands/GetUnfilteredTableMetadataCommand.d.ts +143 -1
  50. package/dist-types/commands/ListDataQualityStatisticAnnotationsCommand.d.ts +84 -0
  51. package/dist-types/commands/ListDataQualityStatisticsCommand.d.ts +103 -0
  52. package/dist-types/commands/PutDataQualityProfileAnnotationCommand.d.ts +68 -0
  53. package/dist-types/commands/SearchTablesCommand.d.ts +144 -1
  54. package/dist-types/commands/StartDataQualityRuleRecommendationRunCommand.d.ts +1 -0
  55. package/dist-types/commands/UpdateConnectionCommand.d.ts +1 -1
  56. package/dist-types/commands/UpdateJobCommand.d.ts +7 -5
  57. package/dist-types/commands/index.d.ts +6 -0
  58. package/dist-types/models/index.d.ts +1 -0
  59. package/dist-types/models/models_0.d.ts +151 -152
  60. package/dist-types/models/models_1.d.ts +339 -420
  61. package/dist-types/models/models_2.d.ts +3516 -4266
  62. package/dist-types/models/models_3.d.ts +1549 -0
  63. package/dist-types/protocols/Aws_json1_1.d.ts +54 -0
  64. package/dist-types/ts3.4/Glue.d.ts +116 -0
  65. package/dist-types/ts3.4/GlueClient.d.ts +36 -0
  66. package/dist-types/ts3.4/commands/BatchGetJobsCommand.d.ts +1 -1
  67. package/dist-types/ts3.4/commands/BatchPutDataQualityStatisticAnnotationCommand.d.ts +40 -0
  68. package/dist-types/ts3.4/commands/CreateBlueprintCommand.d.ts +1 -1
  69. package/dist-types/ts3.4/commands/CreateJobCommand.d.ts +1 -1
  70. package/dist-types/ts3.4/commands/GetDataQualityModelCommand.d.ts +40 -0
  71. package/dist-types/ts3.4/commands/GetDataQualityModelResultCommand.d.ts +40 -0
  72. package/dist-types/ts3.4/commands/GetJobCommand.d.ts +1 -1
  73. package/dist-types/ts3.4/commands/GetJobsCommand.d.ts +1 -1
  74. package/dist-types/ts3.4/commands/GetMLTransformsCommand.d.ts +1 -1
  75. package/dist-types/ts3.4/commands/GetPartitionCommand.d.ts +1 -1
  76. package/dist-types/ts3.4/commands/GetPartitionIndexesCommand.d.ts +1 -1
  77. package/dist-types/ts3.4/commands/GetTableCommand.d.ts +2 -1
  78. package/dist-types/ts3.4/commands/GetTableVersionCommand.d.ts +2 -4
  79. package/dist-types/ts3.4/commands/GetTableVersionsCommand.d.ts +2 -4
  80. package/dist-types/ts3.4/commands/GetTablesCommand.d.ts +2 -1
  81. package/dist-types/ts3.4/commands/GetUnfilteredTableMetadataCommand.d.ts +2 -4
  82. package/dist-types/ts3.4/commands/ListDataQualityStatisticAnnotationsCommand.d.ts +40 -0
  83. package/dist-types/ts3.4/commands/ListDataQualityStatisticsCommand.d.ts +40 -0
  84. package/dist-types/ts3.4/commands/PutDataQualityProfileAnnotationCommand.d.ts +40 -0
  85. package/dist-types/ts3.4/commands/SearchTablesCommand.d.ts +2 -1
  86. package/dist-types/ts3.4/commands/UpdateJobCommand.d.ts +2 -1
  87. package/dist-types/ts3.4/commands/index.d.ts +6 -0
  88. package/dist-types/ts3.4/models/index.d.ts +1 -0
  89. package/dist-types/ts3.4/models/models_0.d.ts +52 -45
  90. package/dist-types/ts3.4/models/models_1.d.ts +92 -92
  91. package/dist-types/ts3.4/models/models_2.d.ts +181 -334
  92. package/dist-types/ts3.4/models/models_3.d.ts +362 -0
  93. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +72 -0
  94. package/package.json +1 -1
@@ -0,0 +1,1549 @@
1
+ import { Aggregate, AmazonRedshiftSource, AmazonRedshiftTarget, AthenaConnectorSource, BasicCatalogTarget, CatalogDeltaSource, CatalogHudiSource, CatalogKafkaSource, CatalogKinesisSource, CatalogSource, Column, ConnectionsList, ConnectorDataSource, ConnectorDataTarget, CustomCode, DirectJDBCSource, DirectKafkaSource, DirectKinesisSource, DropDuplicates, DropFields, DropNullFields, DynamicTransform, DynamoDBCatalogSource, ErrorDetail, EvaluateDataQuality, EvaluateDataQualityMultiFrame, ExecutionClass, ExecutionProperty, FillMissingValues, Filter, GovernedCatalogSource, GovernedCatalogTarget, JDBCConnectorSource, JDBCConnectorTarget, JobCommand, JobMode, Join, Merge, MicrosoftSQLServerCatalogSource, MicrosoftSQLServerCatalogTarget, MySQLCatalogSource, MySQLCatalogTarget, NotificationProperty, OracleSQLCatalogSource, OracleSQLCatalogTarget, PIIDetection, PostgreSQLCatalogSource, PostgreSQLCatalogTarget, Recipe, RedshiftSource, RedshiftTarget, RelationalCatalogSource, RenameField, S3CatalogDeltaSource, S3CatalogHudiSource, S3CatalogSource, S3CatalogTarget, S3CsvSource, S3DeltaCatalogTarget, S3DeltaDirectTarget, S3DeltaSource, S3DirectTarget, S3GlueParquetTarget, S3HudiCatalogTarget, S3HudiDirectTarget, S3HudiSource, S3JsonSource, S3ParquetSource, SelectFields, SelectFromCollection, SnowflakeSource, SnowflakeTarget, SourceControlDetails, SparkConnectorSource, SparkConnectorTarget, SparkSQL, Spigot, SplitFields, StorageDescriptor, Union, WorkerType } from "./models_0";
2
+ import { Permission, TableIdentifier } from "./models_1";
3
+ import { ColumnRowFilter, FederatedTable, ResourceAction, ResourceState, ViewDefinition, ViewValidation } from "./models_2";
4
+ /**
5
+ * <p>Specifies the mapping of data property keys.</p>
6
+ * @public
7
+ */
8
+ export interface Mapping {
9
+ /**
10
+ * <p>After the apply mapping, what the name of the column should be. Can be the same as <code>FromPath</code>.</p>
11
+ * @public
12
+ */
13
+ ToKey?: string;
14
+ /**
15
+ * <p>The table or column to be modified.</p>
16
+ * @public
17
+ */
18
+ FromPath?: string[];
19
+ /**
20
+ * <p>The type of the data to be modified.</p>
21
+ * @public
22
+ */
23
+ FromType?: string;
24
+ /**
25
+ * <p>The data type that the data is to be modified to.</p>
26
+ * @public
27
+ */
28
+ ToType?: string;
29
+ /**
30
+ * <p>If true, then the column is removed.</p>
31
+ * @public
32
+ */
33
+ Dropped?: boolean;
34
+ /**
35
+ * <p>Only applicable to nested data structures. If you want to change the parent structure, but also one of its children, you can fill out this data strucutre. It is also <code>Mapping</code>, but its <code>FromPath</code> will be the parent's <code>FromPath</code> plus the <code>FromPath</code> from this structure.</p>
36
+ * <p>For the children part, suppose you have the structure:</p>
37
+ * <p>
38
+ * <code>\{
39
+ * "FromPath": "OuterStructure",
40
+ * "ToKey": "OuterStructure",
41
+ * "ToType": "Struct",
42
+ * "Dropped": false,
43
+ * "Chidlren": [\{
44
+ * "FromPath": "inner",
45
+ * "ToKey": "inner",
46
+ * "ToType": "Double",
47
+ * "Dropped": false,
48
+ * \}]
49
+ * \}</code>
50
+ * </p>
51
+ * <p>You can specify a <code>Mapping</code> that looks like:</p>
52
+ * <p>
53
+ * <code>\{
54
+ * "FromPath": "OuterStructure",
55
+ * "ToKey": "OuterStructure",
56
+ * "ToType": "Struct",
57
+ * "Dropped": false,
58
+ * "Chidlren": [\{
59
+ * "FromPath": "inner",
60
+ * "ToKey": "inner",
61
+ * "ToType": "Double",
62
+ * "Dropped": false,
63
+ * \}]
64
+ * \}</code>
65
+ * </p>
66
+ * @public
67
+ */
68
+ Children?: Mapping[];
69
+ }
70
+ /**
71
+ * <p>Specifies a transform that maps data property keys in the data source to data property keys in the data target. You can rename keys, modify the data types for keys, and choose which keys to drop from the dataset.</p>
72
+ * @public
73
+ */
74
+ export interface ApplyMapping {
75
+ /**
76
+ * <p>The name of the transform node.</p>
77
+ * @public
78
+ */
79
+ Name: string | undefined;
80
+ /**
81
+ * <p>The data inputs identified by their node names.</p>
82
+ * @public
83
+ */
84
+ Inputs: string[] | undefined;
85
+ /**
86
+ * <p>Specifies the mapping of data property keys in the data source to data property keys in the data target.</p>
87
+ * @public
88
+ */
89
+ Mapping: Mapping[] | undefined;
90
+ }
91
+ /**
92
+ * <p>A structure containing information about an asynchronous change to a table.</p>
93
+ * @public
94
+ */
95
+ export interface StatusDetails {
96
+ /**
97
+ * <p>A <code>Table</code> object representing the requested changes.</p>
98
+ * @public
99
+ */
100
+ RequestedChange?: Table;
101
+ /**
102
+ * <p>A list of <code>ViewValidation</code> objects that contain information for an analytical engine to validate a view.</p>
103
+ * @public
104
+ */
105
+ ViewValidations?: ViewValidation[];
106
+ }
107
+ /**
108
+ * <p>Represents a collection of related data organized in columns and rows.</p>
109
+ * @public
110
+ */
111
+ export interface Table {
112
+ /**
113
+ * <p>The table name. For Hive compatibility, this must be entirely
114
+ * lowercase.</p>
115
+ * @public
116
+ */
117
+ Name: string | undefined;
118
+ /**
119
+ * <p>The name of the database where the table metadata resides.
120
+ * For Hive compatibility, this must be all lowercase.</p>
121
+ * @public
122
+ */
123
+ DatabaseName?: string;
124
+ /**
125
+ * <p>A description of the table.</p>
126
+ * @public
127
+ */
128
+ Description?: string;
129
+ /**
130
+ * <p>The owner of the table.</p>
131
+ * @public
132
+ */
133
+ Owner?: string;
134
+ /**
135
+ * <p>The time when the table definition was created in the Data Catalog.</p>
136
+ * @public
137
+ */
138
+ CreateTime?: Date;
139
+ /**
140
+ * <p>The last time that the table was updated.</p>
141
+ * @public
142
+ */
143
+ UpdateTime?: Date;
144
+ /**
145
+ * <p>The last time that the table was accessed. This is usually taken from HDFS, and might not
146
+ * be reliable.</p>
147
+ * @public
148
+ */
149
+ LastAccessTime?: Date;
150
+ /**
151
+ * <p>The last time that column statistics were computed for this table.</p>
152
+ * @public
153
+ */
154
+ LastAnalyzedTime?: Date;
155
+ /**
156
+ * <p>The retention time for this table.</p>
157
+ * @public
158
+ */
159
+ Retention?: number;
160
+ /**
161
+ * <p>A storage descriptor containing information about the physical storage
162
+ * of this table.</p>
163
+ * @public
164
+ */
165
+ StorageDescriptor?: StorageDescriptor;
166
+ /**
167
+ * <p>A list of columns by which the table is partitioned. Only primitive
168
+ * types are supported as partition keys.</p>
169
+ * <p>When you create a table used by Amazon Athena, and you do not specify any
170
+ * <code>partitionKeys</code>, you must at least set the value of <code>partitionKeys</code> to
171
+ * an empty list. For example:</p>
172
+ * <p>
173
+ * <code>"PartitionKeys": []</code>
174
+ * </p>
175
+ * @public
176
+ */
177
+ PartitionKeys?: Column[];
178
+ /**
179
+ * <p>Included for Apache Hive compatibility. Not used in the normal course of Glue operations.
180
+ * If the table is a <code>VIRTUAL_VIEW</code>, certain Athena configuration encoded in base64.</p>
181
+ * @public
182
+ */
183
+ ViewOriginalText?: string;
184
+ /**
185
+ * <p>Included for Apache Hive compatibility. Not used in the normal course of Glue operations.</p>
186
+ * @public
187
+ */
188
+ ViewExpandedText?: string;
189
+ /**
190
+ * <p>The type of this table.
191
+ * Glue will create tables with the <code>EXTERNAL_TABLE</code> type.
192
+ * Other services, such as Athena, may create tables with additional table types.
193
+ * </p>
194
+ * <p>Glue related table types:</p>
195
+ * <dl>
196
+ * <dt>EXTERNAL_TABLE</dt>
197
+ * <dd>
198
+ * <p>Hive compatible attribute - indicates a non-Hive managed table.</p>
199
+ * </dd>
200
+ * <dt>GOVERNED</dt>
201
+ * <dd>
202
+ * <p>Used by Lake Formation.
203
+ * The Glue Data Catalog understands <code>GOVERNED</code>.</p>
204
+ * </dd>
205
+ * </dl>
206
+ * @public
207
+ */
208
+ TableType?: string;
209
+ /**
210
+ * <p>These key-value pairs define properties associated with the table.</p>
211
+ * @public
212
+ */
213
+ Parameters?: Record<string, string>;
214
+ /**
215
+ * <p>The person or entity who created the table.</p>
216
+ * @public
217
+ */
218
+ CreatedBy?: string;
219
+ /**
220
+ * <p>Indicates whether the table has been registered with Lake Formation.</p>
221
+ * @public
222
+ */
223
+ IsRegisteredWithLakeFormation?: boolean;
224
+ /**
225
+ * <p>A <code>TableIdentifier</code> structure that describes a target table for resource linking.</p>
226
+ * @public
227
+ */
228
+ TargetTable?: TableIdentifier;
229
+ /**
230
+ * <p>The ID of the Data Catalog in which the table resides.</p>
231
+ * @public
232
+ */
233
+ CatalogId?: string;
234
+ /**
235
+ * <p>The ID of the table version.</p>
236
+ * @public
237
+ */
238
+ VersionId?: string;
239
+ /**
240
+ * <p>A <code>FederatedTable</code> structure that references an entity outside the Glue Data Catalog.</p>
241
+ * @public
242
+ */
243
+ FederatedTable?: FederatedTable;
244
+ /**
245
+ * <p>A structure that contains all the information that defines the view, including the dialect or dialects for the view, and the query.</p>
246
+ * @public
247
+ */
248
+ ViewDefinition?: ViewDefinition;
249
+ /**
250
+ * <p>Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines.</p>
251
+ * @public
252
+ */
253
+ IsMultiDialectView?: boolean;
254
+ /**
255
+ * <p>A structure containing information about the state of an asynchronous change to a table.</p>
256
+ * @public
257
+ */
258
+ Status?: TableStatus;
259
+ }
260
+ /**
261
+ * <p>A structure containing information about the state of an asynchronous change to a table.</p>
262
+ * @public
263
+ */
264
+ export interface TableStatus {
265
+ /**
266
+ * <p>The ARN of the user who requested the asynchronous change.</p>
267
+ * @public
268
+ */
269
+ RequestedBy?: string;
270
+ /**
271
+ * <p>The ARN of the user to last manually alter the asynchronous change (requesting cancellation, etc).</p>
272
+ * @public
273
+ */
274
+ UpdatedBy?: string;
275
+ /**
276
+ * <p>An ISO 8601 formatted date string indicating the time that the change was initiated.</p>
277
+ * @public
278
+ */
279
+ RequestTime?: Date;
280
+ /**
281
+ * <p>An ISO 8601 formatted date string indicating the time that the state was last updated.</p>
282
+ * @public
283
+ */
284
+ UpdateTime?: Date;
285
+ /**
286
+ * <p>Indicates which action was called on the table, currently only <code>CREATE</code> or <code>UPDATE</code>.</p>
287
+ * @public
288
+ */
289
+ Action?: ResourceAction;
290
+ /**
291
+ * <p>A generic status for the change in progress, such as QUEUED, IN_PROGRESS, SUCCESS, or FAILED.</p>
292
+ * @public
293
+ */
294
+ State?: ResourceState;
295
+ /**
296
+ * <p>An error that will only appear when the state is "FAILED". This is a parent level exception message, there may be different <code>Error</code>s for each dialect.</p>
297
+ * @public
298
+ */
299
+ Error?: ErrorDetail;
300
+ /**
301
+ * <p>A <code>StatusDetails</code> object with information about the requested change.</p>
302
+ * @public
303
+ */
304
+ Details?: StatusDetails;
305
+ }
306
+ /**
307
+ * <p>
308
+ * <code>CodeGenConfigurationNode</code> enumerates all valid Node types. One and only one of its member variables can be populated.</p>
309
+ * @public
310
+ */
311
+ export interface CodeGenConfigurationNode {
312
+ /**
313
+ * <p>Specifies a connector to an Amazon Athena data source.</p>
314
+ * @public
315
+ */
316
+ AthenaConnectorSource?: AthenaConnectorSource;
317
+ /**
318
+ * <p>Specifies a connector to a JDBC data source.</p>
319
+ * @public
320
+ */
321
+ JDBCConnectorSource?: JDBCConnectorSource;
322
+ /**
323
+ * <p>Specifies a connector to an Apache Spark data source.</p>
324
+ * @public
325
+ */
326
+ SparkConnectorSource?: SparkConnectorSource;
327
+ /**
328
+ * <p>Specifies a data store in the Glue Data Catalog.</p>
329
+ * @public
330
+ */
331
+ CatalogSource?: CatalogSource;
332
+ /**
333
+ * <p>Specifies an Amazon Redshift data store.</p>
334
+ * @public
335
+ */
336
+ RedshiftSource?: RedshiftSource;
337
+ /**
338
+ * <p>Specifies an Amazon S3 data store in the Glue Data Catalog.</p>
339
+ * @public
340
+ */
341
+ S3CatalogSource?: S3CatalogSource;
342
+ /**
343
+ * <p>Specifies a command-separated value (CSV) data store stored in Amazon S3.</p>
344
+ * @public
345
+ */
346
+ S3CsvSource?: S3CsvSource;
347
+ /**
348
+ * <p>Specifies a JSON data store stored in Amazon S3.</p>
349
+ * @public
350
+ */
351
+ S3JsonSource?: S3JsonSource;
352
+ /**
353
+ * <p>Specifies an Apache Parquet data store stored in Amazon S3.</p>
354
+ * @public
355
+ */
356
+ S3ParquetSource?: S3ParquetSource;
357
+ /**
358
+ * <p>Specifies a relational catalog data store in the Glue Data Catalog.</p>
359
+ * @public
360
+ */
361
+ RelationalCatalogSource?: RelationalCatalogSource;
362
+ /**
363
+ * <p>Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.</p>
364
+ * @public
365
+ */
366
+ DynamoDBCatalogSource?: DynamoDBCatalogSource;
367
+ /**
368
+ * <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
369
+ * @public
370
+ */
371
+ JDBCConnectorTarget?: JDBCConnectorTarget;
372
+ /**
373
+ * <p>Specifies a target that uses an Apache Spark connector.</p>
374
+ * @public
375
+ */
376
+ SparkConnectorTarget?: SparkConnectorTarget;
377
+ /**
378
+ * <p>Specifies a target that uses a Glue Data Catalog table.</p>
379
+ * @public
380
+ */
381
+ CatalogTarget?: BasicCatalogTarget;
382
+ /**
383
+ * <p>Specifies a target that uses Amazon Redshift.</p>
384
+ * @public
385
+ */
386
+ RedshiftTarget?: RedshiftTarget;
387
+ /**
388
+ * <p>Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.</p>
389
+ * @public
390
+ */
391
+ S3CatalogTarget?: S3CatalogTarget;
392
+ /**
393
+ * <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
394
+ * @public
395
+ */
396
+ S3GlueParquetTarget?: S3GlueParquetTarget;
397
+ /**
398
+ * <p>Specifies a data target that writes to Amazon S3.</p>
399
+ * @public
400
+ */
401
+ S3DirectTarget?: S3DirectTarget;
402
+ /**
403
+ * <p>Specifies a transform that maps data property keys in the data source to data property keys in the data target. You can rename keys, modify the data types for keys, and choose which keys to drop from the dataset.</p>
404
+ * @public
405
+ */
406
+ ApplyMapping?: ApplyMapping;
407
+ /**
408
+ * <p>Specifies a transform that chooses the data property keys that you want to keep.</p>
409
+ * @public
410
+ */
411
+ SelectFields?: SelectFields;
412
+ /**
413
+ * <p>Specifies a transform that chooses the data property keys that you want to drop.</p>
414
+ * @public
415
+ */
416
+ DropFields?: DropFields;
417
+ /**
418
+ * <p>Specifies a transform that renames a single data property key.</p>
419
+ * @public
420
+ */
421
+ RenameField?: RenameField;
422
+ /**
423
+ * <p>Specifies a transform that writes samples of the data to an Amazon S3 bucket.</p>
424
+ * @public
425
+ */
426
+ Spigot?: Spigot;
427
+ /**
428
+ * <p>Specifies a transform that joins two datasets into one dataset using a comparison phrase on the specified data property keys. You can use inner, outer, left, right, left semi, and left anti joins.</p>
429
+ * @public
430
+ */
431
+ Join?: Join;
432
+ /**
433
+ * <p>Specifies a transform that splits data property keys into two <code>DynamicFrames</code>. The output is a collection of <code>DynamicFrames</code>: one with selected data property keys, and one with the remaining data property keys.</p>
434
+ * @public
435
+ */
436
+ SplitFields?: SplitFields;
437
+ /**
438
+ * <p>Specifies a transform that chooses one <code>DynamicFrame</code> from a collection of <code>DynamicFrames</code>. The output is the selected <code>DynamicFrame</code>
439
+ * </p>
440
+ * @public
441
+ */
442
+ SelectFromCollection?: SelectFromCollection;
443
+ /**
444
+ * <p>Specifies a transform that locates records in the dataset that have missing values and adds a new field with a value determined by imputation. The input data set is used to train the machine learning model that determines what the missing value should be.</p>
445
+ * @public
446
+ */
447
+ FillMissingValues?: FillMissingValues;
448
+ /**
449
+ * <p>Specifies a transform that splits a dataset into two, based on a filter condition.</p>
450
+ * @public
451
+ */
452
+ Filter?: Filter;
453
+ /**
454
+ * <p>Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.</p>
455
+ * @public
456
+ */
457
+ CustomCode?: CustomCode;
458
+ /**
459
+ * <p>Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single <code>DynamicFrame</code>.</p>
460
+ * @public
461
+ */
462
+ SparkSQL?: SparkSQL;
463
+ /**
464
+ * <p>Specifies a direct Amazon Kinesis data source.</p>
465
+ * @public
466
+ */
467
+ DirectKinesisSource?: DirectKinesisSource;
468
+ /**
469
+ * <p>Specifies an Apache Kafka data store.</p>
470
+ * @public
471
+ */
472
+ DirectKafkaSource?: DirectKafkaSource;
473
+ /**
474
+ * <p>Specifies a Kinesis data source in the Glue Data Catalog.</p>
475
+ * @public
476
+ */
477
+ CatalogKinesisSource?: CatalogKinesisSource;
478
+ /**
479
+ * <p>Specifies an Apache Kafka data store in the Data Catalog.</p>
480
+ * @public
481
+ */
482
+ CatalogKafkaSource?: CatalogKafkaSource;
483
+ /**
484
+ * <p>Specifies a transform that removes columns from the dataset if all values in the column are 'null'. By default, Glue Studio will recognize null objects, but some values such as empty strings, strings that are "null", -1 integers or other placeholders such as zeros, are not automatically recognized as nulls.</p>
485
+ * @public
486
+ */
487
+ DropNullFields?: DropNullFields;
488
+ /**
489
+ * <p>Specifies a transform that merges a <code>DynamicFrame</code> with a staging <code>DynamicFrame</code> based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated. </p>
490
+ * @public
491
+ */
492
+ Merge?: Merge;
493
+ /**
494
+ * <p>Specifies a transform that combines the rows from two or more datasets into a single result.</p>
495
+ * @public
496
+ */
497
+ Union?: Union;
498
+ /**
499
+ * <p>Specifies a transform that identifies, removes or masks PII data.</p>
500
+ * @public
501
+ */
502
+ PIIDetection?: PIIDetection;
503
+ /**
504
+ * <p>Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.</p>
505
+ * @public
506
+ */
507
+ Aggregate?: Aggregate;
508
+ /**
509
+ * <p>Specifies a transform that removes rows of repeating data from a data set.</p>
510
+ * @public
511
+ */
512
+ DropDuplicates?: DropDuplicates;
513
+ /**
514
+ * <p>Specifies a data target that writes to a goverened catalog.</p>
515
+ * @public
516
+ */
517
+ GovernedCatalogTarget?: GovernedCatalogTarget;
518
+ /**
519
+ * <p>Specifies a data source in a goverened Data Catalog.</p>
520
+ * @public
521
+ */
522
+ GovernedCatalogSource?: GovernedCatalogSource;
523
+ /**
524
+ * <p>Specifies a Microsoft SQL server data source in the Glue Data Catalog.</p>
525
+ * @public
526
+ */
527
+ MicrosoftSQLServerCatalogSource?: MicrosoftSQLServerCatalogSource;
528
+ /**
529
+ * <p>Specifies a MySQL data source in the Glue Data Catalog.</p>
530
+ * @public
531
+ */
532
+ MySQLCatalogSource?: MySQLCatalogSource;
533
+ /**
534
+ * <p>Specifies an Oracle data source in the Glue Data Catalog.</p>
535
+ * @public
536
+ */
537
+ OracleSQLCatalogSource?: OracleSQLCatalogSource;
538
+ /**
539
+ * <p>Specifies a PostgresSQL data source in the Glue Data Catalog.</p>
540
+ * @public
541
+ */
542
+ PostgreSQLCatalogSource?: PostgreSQLCatalogSource;
543
+ /**
544
+ * <p>Specifies a target that uses Microsoft SQL.</p>
545
+ * @public
546
+ */
547
+ MicrosoftSQLServerCatalogTarget?: MicrosoftSQLServerCatalogTarget;
548
+ /**
549
+ * <p>Specifies a target that uses MySQL.</p>
550
+ * @public
551
+ */
552
+ MySQLCatalogTarget?: MySQLCatalogTarget;
553
+ /**
554
+ * <p>Specifies a target that uses Oracle SQL.</p>
555
+ * @public
556
+ */
557
+ OracleSQLCatalogTarget?: OracleSQLCatalogTarget;
558
+ /**
559
+ * <p>Specifies a target that uses Postgres SQL.</p>
560
+ * @public
561
+ */
562
+ PostgreSQLCatalogTarget?: PostgreSQLCatalogTarget;
563
+ /**
564
+ * <p>Specifies a custom visual transform created by a user.</p>
565
+ * @public
566
+ */
567
+ DynamicTransform?: DynamicTransform;
568
+ /**
569
+ * <p>Specifies your data quality evaluation criteria.</p>
570
+ * @public
571
+ */
572
+ EvaluateDataQuality?: EvaluateDataQuality;
573
+ /**
574
+ * <p>Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
575
+ * @public
576
+ */
577
+ S3CatalogHudiSource?: S3CatalogHudiSource;
578
+ /**
579
+ * <p>Specifies a Hudi data source that is registered in the Glue Data Catalog.</p>
580
+ * @public
581
+ */
582
+ CatalogHudiSource?: CatalogHudiSource;
583
+ /**
584
+ * <p>Specifies a Hudi data source stored in Amazon S3.</p>
585
+ * @public
586
+ */
587
+ S3HudiSource?: S3HudiSource;
588
+ /**
589
+ * <p>Specifies a target that writes to a Hudi data source in the Glue Data Catalog.</p>
590
+ * @public
591
+ */
592
+ S3HudiCatalogTarget?: S3HudiCatalogTarget;
593
+ /**
594
+ * <p>Specifies a target that writes to a Hudi data source in Amazon S3.</p>
595
+ * @public
596
+ */
597
+ S3HudiDirectTarget?: S3HudiDirectTarget;
598
+ /**
599
+ * <p>Specifies the direct JDBC source connection.</p>
600
+ * @public
601
+ */
602
+ DirectJDBCSource?: DirectJDBCSource;
603
+ /**
604
+ * <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
605
+ * @public
606
+ */
607
+ S3CatalogDeltaSource?: S3CatalogDeltaSource;
608
+ /**
609
+ * <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog.</p>
610
+ * @public
611
+ */
612
+ CatalogDeltaSource?: CatalogDeltaSource;
613
+ /**
614
+ * <p>Specifies a Delta Lake data source stored in Amazon S3.</p>
615
+ * @public
616
+ */
617
+ S3DeltaSource?: S3DeltaSource;
618
+ /**
619
+ * <p>Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.</p>
620
+ * @public
621
+ */
622
+ S3DeltaCatalogTarget?: S3DeltaCatalogTarget;
623
+ /**
624
+ * <p>Specifies a target that writes to a Delta Lake data source in Amazon S3.</p>
625
+ * @public
626
+ */
627
+ S3DeltaDirectTarget?: S3DeltaDirectTarget;
628
+ /**
629
+ * <p>Specifies a target that writes to a data source in Amazon Redshift.</p>
630
+ * @public
631
+ */
632
+ AmazonRedshiftSource?: AmazonRedshiftSource;
633
+ /**
634
+ * <p>Specifies a target that writes to a data target in Amazon Redshift.</p>
635
+ * @public
636
+ */
637
+ AmazonRedshiftTarget?: AmazonRedshiftTarget;
638
+ /**
639
+ * <p>Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.</p>
640
+ * @public
641
+ */
642
+ EvaluateDataQualityMultiFrame?: EvaluateDataQualityMultiFrame;
643
+ /**
644
+ * <p>Specifies a Glue DataBrew recipe node.</p>
645
+ * @public
646
+ */
647
+ Recipe?: Recipe;
648
+ /**
649
+ * <p>Specifies a Snowflake data source.</p>
650
+ * @public
651
+ */
652
+ SnowflakeSource?: SnowflakeSource;
653
+ /**
654
+ * <p>Specifies a target that writes to a Snowflake data source.</p>
655
+ * @public
656
+ */
657
+ SnowflakeTarget?: SnowflakeTarget;
658
+ /**
659
+ * <p>Specifies a source generated with standard connection options.</p>
660
+ * @public
661
+ */
662
+ ConnectorDataSource?: ConnectorDataSource;
663
+ /**
664
+ * <p>Specifies a target generated with standard connection options.</p>
665
+ * @public
666
+ */
667
+ ConnectorDataTarget?: ConnectorDataTarget;
668
+ }
669
+ /**
670
+ * @public
671
+ */
672
+ export interface GetTableResponse {
673
+ /**
674
+ * <p>The <code>Table</code> object that defines the specified table.</p>
675
+ * @public
676
+ */
677
+ Table?: Table;
678
+ }
679
+ /**
680
+ * @public
681
+ */
682
+ export interface GetUnfilteredTableMetadataResponse {
683
+ /**
684
+ * <p>A Table object containing the table metadata.</p>
685
+ * @public
686
+ */
687
+ Table?: Table;
688
+ /**
689
+ * <p>A list of column names that the user has been granted access to.</p>
690
+ * @public
691
+ */
692
+ AuthorizedColumns?: string[];
693
+ /**
694
+ * <p>A Boolean value that indicates whether the partition location is registered
695
+ * with Lake Formation.</p>
696
+ * @public
697
+ */
698
+ IsRegisteredWithLakeFormation?: boolean;
699
+ /**
700
+ * <p>A list of column row filters.</p>
701
+ * @public
702
+ */
703
+ CellFilters?: ColumnRowFilter[];
704
+ /**
705
+ * <p>A cryptographically generated query identifier generated by Glue or Lake Formation.</p>
706
+ * @public
707
+ */
708
+ QueryAuthorizationId?: string;
709
+ /**
710
+ * <p>Specifies whether the view supports the SQL dialects of one or more different query engines and can therefore be read by those engines.</p>
711
+ * @public
712
+ */
713
+ IsMultiDialectView?: boolean;
714
+ /**
715
+ * <p>The resource ARN of the parent resource extracted from the request.</p>
716
+ * @public
717
+ */
718
+ ResourceArn?: string;
719
+ /**
720
+ * <p>A flag that instructs the engine not to push user-provided operations into the logical plan of the view during query planning. However, if set this flag does not guarantee that the engine will comply. Refer to the engine's documentation to understand the guarantees provided, if any.</p>
721
+ * @public
722
+ */
723
+ IsProtected?: boolean;
724
+ /**
725
+ * <p>The Lake Formation data permissions of the caller on the table. Used to authorize the call when no view context is found.</p>
726
+ * @public
727
+ */
728
+ Permissions?: Permission[];
729
+ /**
730
+ * <p>The filter that applies to the table. For example when applying the filter in SQL, it would go in the <code>WHERE</code> clause and can be evaluated by using an <code>AND</code> operator with any other predicates applied by the user querying the table.</p>
731
+ * @public
732
+ */
733
+ RowFilter?: string;
734
+ }
735
+ /**
736
+ * <p>Specifies a version of a table.</p>
737
+ * @public
738
+ */
739
+ export interface TableVersion {
740
+ /**
741
+ * <p>The table in question.</p>
742
+ * @public
743
+ */
744
+ Table?: Table;
745
+ /**
746
+ * <p>The ID value that identifies this table version. A <code>VersionId</code> is a string representation of an integer. Each version is incremented by 1.</p>
747
+ * @public
748
+ */
749
+ VersionId?: string;
750
+ }
751
+ /**
752
+ * @public
753
+ */
754
+ export interface GetTablesResponse {
755
+ /**
756
+ * <p>A list of the requested <code>Table</code> objects.</p>
757
+ * @public
758
+ */
759
+ TableList?: Table[];
760
+ /**
761
+ * <p>A continuation token, present if the current list segment is not the last.</p>
762
+ * @public
763
+ */
764
+ NextToken?: string;
765
+ }
766
+ /**
767
+ * @public
768
+ */
769
+ export interface GetTableVersionResponse {
770
+ /**
771
+ * <p>The requested table version.</p>
772
+ * @public
773
+ */
774
+ TableVersion?: TableVersion;
775
+ }
776
+ /**
777
+ * @public
778
+ */
779
+ export interface SearchTablesResponse {
780
+ /**
781
+ * <p>A continuation token, present if the current list segment is not the last.</p>
782
+ * @public
783
+ */
784
+ NextToken?: string;
785
+ /**
786
+ * <p>A list of the requested <code>Table</code> objects. The <code>SearchTables</code> response returns only the tables that you have access to.</p>
787
+ * @public
788
+ */
789
+ TableList?: Table[];
790
+ }
791
+ /**
792
+ * @public
793
+ */
794
+ export interface CreateJobRequest {
795
+ /**
796
+ * <p>The name you assign to this job definition. It must be unique in your account.</p>
797
+ * @public
798
+ */
799
+ Name: string | undefined;
800
+ /**
801
+ * <p>A mode that describes how a job was created. Valid values are:</p>
802
+ * <ul>
803
+ * <li>
804
+ * <p>
805
+ * <code>SCRIPT</code> - The job was created using the Glue Studio script editor.</p>
806
+ * </li>
807
+ * <li>
808
+ * <p>
809
+ * <code>VISUAL</code> - The job was created using the Glue Studio visual editor.</p>
810
+ * </li>
811
+ * <li>
812
+ * <p>
813
+ * <code>NOTEBOOK</code> - The job was created using an interactive sessions notebook.</p>
814
+ * </li>
815
+ * </ul>
816
+ * <p>When the <code>JobMode</code> field is missing or null, <code>SCRIPT</code> is assigned as the default value.</p>
817
+ * @public
818
+ */
819
+ JobMode?: JobMode;
820
+ /**
821
+ * <p>Description of the job being defined.</p>
822
+ * @public
823
+ */
824
+ Description?: string;
825
+ /**
826
+ * <p>This field is reserved for future use.</p>
827
+ * @public
828
+ */
829
+ LogUri?: string;
830
+ /**
831
+ * <p>The name or Amazon Resource Name (ARN) of the IAM role associated with this job.</p>
832
+ * @public
833
+ */
834
+ Role: string | undefined;
835
+ /**
836
+ * <p>An <code>ExecutionProperty</code> specifying the maximum number of concurrent runs allowed
837
+ * for this job.</p>
838
+ * @public
839
+ */
840
+ ExecutionProperty?: ExecutionProperty;
841
+ /**
842
+ * <p>The <code>JobCommand</code> that runs this job.</p>
843
+ * @public
844
+ */
845
+ Command: JobCommand | undefined;
846
+ /**
847
+ * <p>The default arguments for every run of this job, specified as name-value pairs.</p>
848
+ * <p>You can specify arguments here that your own job-execution script
849
+ * consumes, as well as arguments that Glue itself consumes.</p>
850
+ * <p>Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets
851
+ * from a Glue Connection, Secrets Manager or other secret management
852
+ * mechanism if you intend to keep them within the Job. </p>
853
+ * <p>For information about how to specify and consume your own Job arguments, see the <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html">Calling Glue APIs in Python</a> topic in the developer guide.</p>
854
+ * <p>For information about the arguments you can provide to this field when configuring Spark jobs,
855
+ * see the <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html">Special Parameters Used by Glue</a> topic in the developer guide.</p>
856
+ * <p>For information about the arguments you can provide to this field when configuring Ray
857
+ * jobs, see <a href="https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html">Using
858
+ * job parameters in Ray jobs</a> in the developer guide.</p>
859
+ * @public
860
+ */
861
+ DefaultArguments?: Record<string, string>;
862
+ /**
863
+ * <p>Arguments for this job that are not overridden when providing job arguments
864
+ * in a job run, specified as name-value pairs.</p>
865
+ * @public
866
+ */
867
+ NonOverridableArguments?: Record<string, string>;
868
+ /**
869
+ * <p>The connections used for this job.</p>
870
+ * @public
871
+ */
872
+ Connections?: ConnectionsList;
873
+ /**
874
+ * <p>The maximum number of times to retry this job if it fails.</p>
875
+ * @public
876
+ */
877
+ MaxRetries?: number;
878
+ /**
879
+ * @deprecated
880
+ *
881
+ * <p>This parameter is deprecated. Use <code>MaxCapacity</code> instead.</p>
882
+ * <p>The number of Glue data processing units (DPUs) to allocate to this Job. You can
883
+ * allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing
884
+ * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information,
885
+ * see the <a href="https://aws.amazon.com/glue/pricing/">Glue pricing
886
+ * page</a>.</p>
887
+ * @public
888
+ */
889
+ AllocatedCapacity?: number;
890
+ /**
891
+ * <p>The job timeout in minutes. This is the maximum time that a job run
892
+ * can consume resources before it is terminated and enters <code>TIMEOUT</code>
893
+ * status. The default is 2,880 minutes (48 hours) for batch jobs.</p>
894
+ * <p>Streaming jobs must have timeout values less than 7 days or 10080 minutes. When the value is left blank, the job will be restarted after 7 days based if you have not setup a maintenance window. If you have setup maintenance window, it will be restarted during the maintenance window after 7 days.</p>
895
+ * @public
896
+ */
897
+ Timeout?: number;
898
+ /**
899
+ * <p>For Glue version 1.0 or earlier jobs, using the standard worker type, the number of
900
+ * Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is
901
+ * a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB
902
+ * of memory. For more information, see the <a href="https://aws.amazon.com/glue/pricing/">
903
+ * Glue pricing page</a>.</p>
904
+ * <p>For Glue version 2.0+ jobs, you cannot specify a <code>Maximum capacity</code>.
905
+ * Instead, you should specify a <code>Worker type</code> and the <code>Number of workers</code>.</p>
906
+ * <p>Do not set <code>MaxCapacity</code> if using <code>WorkerType</code> and <code>NumberOfWorkers</code>.</p>
907
+ * <p>The value that can be allocated for <code>MaxCapacity</code> depends on whether you are
908
+ * running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL
909
+ * job:</p>
910
+ * <ul>
911
+ * <li>
912
+ * <p>When you specify a Python shell job (<code>JobCommand.Name</code>="pythonshell"), you can
913
+ * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.</p>
914
+ * </li>
915
+ * <li>
916
+ * <p>When you specify an Apache Spark ETL job (<code>JobCommand.Name</code>="glueetl") or Apache
917
+ * Spark streaming ETL job (<code>JobCommand.Name</code>="gluestreaming"), you can allocate from 2 to 100 DPUs.
918
+ * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.</p>
919
+ * </li>
920
+ * </ul>
921
+ * @public
922
+ */
923
+ MaxCapacity?: number;
924
+ /**
925
+ * <p>The name of the <code>SecurityConfiguration</code> structure to be used with this
926
+ * job.</p>
927
+ * @public
928
+ */
929
+ SecurityConfiguration?: string;
930
+ /**
931
+ * <p>The tags to use with this job. You may use tags to limit access to the job. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
932
+ * @public
933
+ */
934
+ Tags?: Record<string, string>;
935
+ /**
936
+ * <p>Specifies configuration properties of a job notification.</p>
937
+ * @public
938
+ */
939
+ NotificationProperty?: NotificationProperty;
940
+ /**
941
+ * <p>In Spark jobs, <code>GlueVersion</code> determines the versions of Apache Spark and Python
942
+ * that Glue available in a job. The Python version indicates the version
943
+ * supported for jobs of type Spark. </p>
944
+ * <p>Ray jobs should set <code>GlueVersion</code> to <code>4.0</code> or greater. However,
945
+ * the versions of Ray, Python and additional libraries available in your Ray job are determined
946
+ * by the <code>Runtime</code> parameter of the Job command.</p>
947
+ * <p>For more information about the available Glue versions and corresponding
948
+ * Spark and Python versions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Glue version</a> in the developer
949
+ * guide.</p>
950
+ * <p>Jobs that are created without specifying a Glue version default to Glue 0.9.</p>
951
+ * @public
952
+ */
953
+ GlueVersion?: string;
954
+ /**
955
+ * <p>The number of workers of a defined <code>workerType</code> that are allocated when a job runs.</p>
956
+ * @public
957
+ */
958
+ NumberOfWorkers?: number;
959
+ /**
960
+ * <p>The type of predefined worker that is allocated when a job runs. Accepts a value of
961
+ * G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs.</p>
962
+ * <ul>
963
+ * <li>
964
+ * <p>For the <code>G.1X</code> worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p>
965
+ * </li>
966
+ * <li>
967
+ * <p>For the <code>G.2X</code> worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 128GB disk (approximately 77GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p>
968
+ * </li>
969
+ * <li>
970
+ * <p>For the <code>G.4X</code> worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).</p>
971
+ * </li>
972
+ * <li>
973
+ * <p>For the <code>G.8X</code> worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk (approximately 487GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions as supported for the <code>G.4X</code> worker type.</p>
974
+ * </li>
975
+ * <li>
976
+ * <p>For the <code>G.025X</code> worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for Glue version 3.0 streaming jobs.</p>
977
+ * </li>
978
+ * <li>
979
+ * <p>For the <code>Z.2X</code> worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to 8 Ray workers based on the autoscaler.</p>
980
+ * </li>
981
+ * </ul>
982
+ * @public
983
+ */
984
+ WorkerType?: WorkerType;
985
+ /**
986
+ * <p>The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.</p>
987
+ * @public
988
+ */
989
+ CodeGenConfigurationNodes?: Record<string, CodeGenConfigurationNode>;
990
+ /**
991
+ * <p>Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.</p>
992
+ * <p>The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. </p>
993
+ * <p>Only jobs with Glue version 3.0 and above and command type <code>glueetl</code> will be allowed to set <code>ExecutionClass</code> to <code>FLEX</code>. The flexible execution class is available for Spark jobs.</p>
994
+ * @public
995
+ */
996
+ ExecutionClass?: ExecutionClass;
997
+ /**
998
+ * <p>The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.</p>
999
+ * @public
1000
+ */
1001
+ SourceControlDetails?: SourceControlDetails;
1002
+ /**
1003
+ * <p>This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.</p>
1004
+ * <p>Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.</p>
1005
+ * @public
1006
+ */
1007
+ MaintenanceWindow?: string;
1008
+ }
1009
+ /**
1010
+ * @public
1011
+ */
1012
+ export interface GetTableVersionsResponse {
1013
+ /**
1014
+ * <p>A list of strings identifying available versions of the
1015
+ * specified table.</p>
1016
+ * @public
1017
+ */
1018
+ TableVersions?: TableVersion[];
1019
+ /**
1020
+ * <p>A continuation token, if the list of available versions does
1021
+ * not include the last one.</p>
1022
+ * @public
1023
+ */
1024
+ NextToken?: string;
1025
+ }
1026
+ /**
1027
+ * <p>Specifies a job definition.</p>
1028
+ * @public
1029
+ */
1030
+ export interface Job {
1031
+ /**
1032
+ * <p>The name you assign to this job definition.</p>
1033
+ * @public
1034
+ */
1035
+ Name?: string;
1036
+ /**
1037
+ * <p>A mode that describes how a job was created. Valid values are:</p>
1038
+ * <ul>
1039
+ * <li>
1040
+ * <p>
1041
+ * <code>SCRIPT</code> - The job was created using the Glue Studio script editor.</p>
1042
+ * </li>
1043
+ * <li>
1044
+ * <p>
1045
+ * <code>VISUAL</code> - The job was created using the Glue Studio visual editor.</p>
1046
+ * </li>
1047
+ * <li>
1048
+ * <p>
1049
+ * <code>NOTEBOOK</code> - The job was created using an interactive sessions notebook.</p>
1050
+ * </li>
1051
+ * </ul>
1052
+ * <p>When the <code>JobMode</code> field is missing or null, <code>SCRIPT</code> is assigned as the default value.</p>
1053
+ * @public
1054
+ */
1055
+ JobMode?: JobMode;
1056
+ /**
1057
+ * <p>A description of the job.</p>
1058
+ * @public
1059
+ */
1060
+ Description?: string;
1061
+ /**
1062
+ * <p>This field is reserved for future use.</p>
1063
+ * @public
1064
+ */
1065
+ LogUri?: string;
1066
+ /**
1067
+ * <p>The name or Amazon Resource Name (ARN) of the IAM role associated with this job.</p>
1068
+ * @public
1069
+ */
1070
+ Role?: string;
1071
+ /**
1072
+ * <p>The time and date that this job definition was created.</p>
1073
+ * @public
1074
+ */
1075
+ CreatedOn?: Date;
1076
+ /**
1077
+ * <p>The last point in time when this job definition was modified.</p>
1078
+ * @public
1079
+ */
1080
+ LastModifiedOn?: Date;
1081
+ /**
1082
+ * <p>An <code>ExecutionProperty</code> specifying the maximum number of concurrent runs allowed
1083
+ * for this job.</p>
1084
+ * @public
1085
+ */
1086
+ ExecutionProperty?: ExecutionProperty;
1087
+ /**
1088
+ * <p>The <code>JobCommand</code> that runs this job.</p>
1089
+ * @public
1090
+ */
1091
+ Command?: JobCommand;
1092
+ /**
1093
+ * <p>The default arguments for every run of this job, specified as name-value pairs.</p>
1094
+ * <p>You can specify arguments here that your own job-execution script
1095
+ * consumes, as well as arguments that Glue itself consumes.</p>
1096
+ * <p>Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets
1097
+ * from a Glue Connection, Secrets Manager or other secret management
1098
+ * mechanism if you intend to keep them within the Job. </p>
1099
+ * <p>For information about how to specify and consume your own Job arguments, see the <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html">Calling Glue APIs in Python</a> topic in the developer guide.</p>
1100
+ * <p>For information about the arguments you can provide to this field when configuring Spark jobs,
1101
+ * see the <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html">Special Parameters Used by Glue</a> topic in the developer guide.</p>
1102
+ * <p>For information about the arguments you can provide to this field when configuring Ray
1103
+ * jobs, see <a href="https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html">Using
1104
+ * job parameters in Ray jobs</a> in the developer guide.</p>
1105
+ * @public
1106
+ */
1107
+ DefaultArguments?: Record<string, string>;
1108
+ /**
1109
+ * <p>Arguments for this job that are not overridden when providing job arguments
1110
+ * in a job run, specified as name-value pairs.</p>
1111
+ * @public
1112
+ */
1113
+ NonOverridableArguments?: Record<string, string>;
1114
+ /**
1115
+ * <p>The connections used for this job.</p>
1116
+ * @public
1117
+ */
1118
+ Connections?: ConnectionsList;
1119
+ /**
1120
+ * <p>The maximum number of times to retry this job after a JobRun fails.</p>
1121
+ * @public
1122
+ */
1123
+ MaxRetries?: number;
1124
+ /**
1125
+ * @deprecated
1126
+ *
1127
+ * <p>This field is deprecated. Use <code>MaxCapacity</code> instead.</p>
1128
+ * <p>The number of Glue data processing units (DPUs) allocated to runs of this job. You can
1129
+ * allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing
1130
+ * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information,
1131
+ * see the <a href="https://aws.amazon.com/glue/pricing/">Glue pricing
1132
+ * page</a>.</p>
1133
+ * <p></p>
1134
+ * @public
1135
+ */
1136
+ AllocatedCapacity?: number;
1137
+ /**
1138
+ * <p>The job timeout in minutes. This is the maximum time that a job run
1139
+ * can consume resources before it is terminated and enters <code>TIMEOUT</code>
1140
+ * status. The default is 2,880 minutes (48 hours) for batch jobs.</p>
1141
+ * <p>Streaming jobs must have timeout values less than 7 days or 10080 minutes. When the value is left blank, the job will be restarted after 7 days based if you have not setup a maintenance window. If you have setup maintenance window, it will be restarted during the maintenance window after 7 days.</p>
1142
+ * @public
1143
+ */
1144
+ Timeout?: number;
1145
+ /**
1146
+ * <p>For Glue version 1.0 or earlier jobs, using the standard worker type, the number of
1147
+ * Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is
1148
+ * a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB
1149
+ * of memory. For more information, see the <a href="https://aws.amazon.com/glue/pricing/">
1150
+ * Glue pricing page</a>.</p>
1151
+ * <p>For Glue version 2.0 or later jobs, you cannot specify a <code>Maximum capacity</code>.
1152
+ * Instead, you should specify a <code>Worker type</code> and the <code>Number of workers</code>.</p>
1153
+ * <p>Do not set <code>MaxCapacity</code> if using <code>WorkerType</code> and <code>NumberOfWorkers</code>.</p>
1154
+ * <p>The value that can be allocated for <code>MaxCapacity</code> depends on whether you are
1155
+ * running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL
1156
+ * job:</p>
1157
+ * <ul>
1158
+ * <li>
1159
+ * <p>When you specify a Python shell job (<code>JobCommand.Name</code>="pythonshell"), you can
1160
+ * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.</p>
1161
+ * </li>
1162
+ * <li>
1163
+ * <p>When you specify an Apache Spark ETL job (<code>JobCommand.Name</code>="glueetl") or Apache
1164
+ * Spark streaming ETL job (<code>JobCommand.Name</code>="gluestreaming"), you can allocate from 2 to 100 DPUs.
1165
+ * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.</p>
1166
+ * </li>
1167
+ * </ul>
1168
+ * @public
1169
+ */
1170
+ MaxCapacity?: number;
1171
+ /**
1172
+ * <p>The type of predefined worker that is allocated when a job runs. Accepts a value of
1173
+ * G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs.</p>
1174
+ * <ul>
1175
+ * <li>
1176
+ * <p>For the <code>G.1X</code> worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p>
1177
+ * </li>
1178
+ * <li>
1179
+ * <p>For the <code>G.2X</code> worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 128GB disk (approximately 77GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p>
1180
+ * </li>
1181
+ * <li>
1182
+ * <p>For the <code>G.4X</code> worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).</p>
1183
+ * </li>
1184
+ * <li>
1185
+ * <p>For the <code>G.8X</code> worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk (approximately 487GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions as supported for the <code>G.4X</code> worker type.</p>
1186
+ * </li>
1187
+ * <li>
1188
+ * <p>For the <code>G.025X</code> worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for Glue version 3.0 streaming jobs.</p>
1189
+ * </li>
1190
+ * <li>
1191
+ * <p>For the <code>Z.2X</code> worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to 8 Ray workers based on the autoscaler.</p>
1192
+ * </li>
1193
+ * </ul>
1194
+ * @public
1195
+ */
1196
+ WorkerType?: WorkerType;
1197
+ /**
1198
+ * <p>The number of workers of a defined <code>workerType</code> that are allocated when a job runs.</p>
1199
+ * @public
1200
+ */
1201
+ NumberOfWorkers?: number;
1202
+ /**
1203
+ * <p>The name of the <code>SecurityConfiguration</code> structure to be used with this
1204
+ * job.</p>
1205
+ * @public
1206
+ */
1207
+ SecurityConfiguration?: string;
1208
+ /**
1209
+ * <p>Specifies configuration properties of a job notification.</p>
1210
+ * @public
1211
+ */
1212
+ NotificationProperty?: NotificationProperty;
1213
+ /**
1214
+ * <p>In Spark jobs, <code>GlueVersion</code> determines the versions of Apache Spark and Python
1215
+ * that Glue available in a job. The Python version indicates the version
1216
+ * supported for jobs of type Spark. </p>
1217
+ * <p>Ray jobs should set <code>GlueVersion</code> to <code>4.0</code> or greater. However,
1218
+ * the versions of Ray, Python and additional libraries available in your Ray job are determined
1219
+ * by the <code>Runtime</code> parameter of the Job command.</p>
1220
+ * <p>For more information about the available Glue versions and corresponding
1221
+ * Spark and Python versions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Glue version</a> in the developer
1222
+ * guide.</p>
1223
+ * <p>Jobs that are created without specifying a Glue version default to Glue 0.9.</p>
1224
+ * @public
1225
+ */
1226
+ GlueVersion?: string;
1227
+ /**
1228
+ * <p>The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.</p>
1229
+ * @public
1230
+ */
1231
+ CodeGenConfigurationNodes?: Record<string, CodeGenConfigurationNode>;
1232
+ /**
1233
+ * <p>Indicates whether the job is run with a standard or flexible execution class. The standard execution class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.</p>
1234
+ * <p>The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. </p>
1235
+ * <p>Only jobs with Glue version 3.0 and above and command type <code>glueetl</code> will be allowed to set <code>ExecutionClass</code> to <code>FLEX</code>. The flexible execution class is available for Spark jobs.</p>
1236
+ * @public
1237
+ */
1238
+ ExecutionClass?: ExecutionClass;
1239
+ /**
1240
+ * <p>The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.</p>
1241
+ * @public
1242
+ */
1243
+ SourceControlDetails?: SourceControlDetails;
1244
+ /**
1245
+ * <p>This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.</p>
1246
+ * <p>Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.</p>
1247
+ * @public
1248
+ */
1249
+ MaintenanceWindow?: string;
1250
+ /**
1251
+ * <p>The name of an Glue usage profile associated with the job.</p>
1252
+ * @public
1253
+ */
1254
+ ProfileName?: string;
1255
+ }
1256
+ /**
1257
+ * <p>Specifies information used to update an existing job definition. The previous job
1258
+ * definition is completely overwritten by this information.</p>
1259
+ * @public
1260
+ */
1261
+ export interface JobUpdate {
1262
+ /**
1263
+ * <p>A mode that describes how a job was created. Valid values are:</p>
1264
+ * <ul>
1265
+ * <li>
1266
+ * <p>
1267
+ * <code>SCRIPT</code> - The job was created using the Glue Studio script editor.</p>
1268
+ * </li>
1269
+ * <li>
1270
+ * <p>
1271
+ * <code>VISUAL</code> - The job was created using the Glue Studio visual editor.</p>
1272
+ * </li>
1273
+ * <li>
1274
+ * <p>
1275
+ * <code>NOTEBOOK</code> - The job was created using an interactive sessions notebook.</p>
1276
+ * </li>
1277
+ * </ul>
1278
+ * <p>When the <code>JobMode</code> field is missing or null, <code>SCRIPT</code> is assigned as the default value.</p>
1279
+ * @public
1280
+ */
1281
+ JobMode?: JobMode;
1282
+ /**
1283
+ * <p>Description of the job being defined.</p>
1284
+ * @public
1285
+ */
1286
+ Description?: string;
1287
+ /**
1288
+ * <p>This field is reserved for future use.</p>
1289
+ * @public
1290
+ */
1291
+ LogUri?: string;
1292
+ /**
1293
+ * <p>The name or Amazon Resource Name (ARN) of the IAM role associated with this job
1294
+ * (required).</p>
1295
+ * @public
1296
+ */
1297
+ Role?: string;
1298
+ /**
1299
+ * <p>An <code>ExecutionProperty</code> specifying the maximum number of concurrent runs allowed
1300
+ * for this job.</p>
1301
+ * @public
1302
+ */
1303
+ ExecutionProperty?: ExecutionProperty;
1304
+ /**
1305
+ * <p>The <code>JobCommand</code> that runs this job (required).</p>
1306
+ * @public
1307
+ */
1308
+ Command?: JobCommand;
1309
+ /**
1310
+ * <p>The default arguments for every run of this job, specified as name-value pairs.</p>
1311
+ * <p>You can specify arguments here that your own job-execution script
1312
+ * consumes, as well as arguments that Glue itself consumes.</p>
1313
+ * <p>Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets
1314
+ * from a Glue Connection, Secrets Manager or other secret management
1315
+ * mechanism if you intend to keep them within the Job. </p>
1316
+ * <p>For information about how to specify and consume your own Job arguments, see the <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html">Calling Glue APIs in Python</a> topic in the developer guide.</p>
1317
+ * <p>For information about the arguments you can provide to this field when configuring Spark jobs,
1318
+ * see the <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html">Special Parameters Used by Glue</a> topic in the developer guide.</p>
1319
+ * <p>For information about the arguments you can provide to this field when configuring Ray
1320
+ * jobs, see <a href="https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html">Using
1321
+ * job parameters in Ray jobs</a> in the developer guide.</p>
1322
+ * @public
1323
+ */
1324
+ DefaultArguments?: Record<string, string>;
1325
+ /**
1326
+ * <p>Arguments for this job that are not overridden when providing job arguments
1327
+ * in a job run, specified as name-value pairs.</p>
1328
+ * @public
1329
+ */
1330
+ NonOverridableArguments?: Record<string, string>;
1331
+ /**
1332
+ * <p>The connections used for this job.</p>
1333
+ * @public
1334
+ */
1335
+ Connections?: ConnectionsList;
1336
+ /**
1337
+ * <p>The maximum number of times to retry this job if it fails.</p>
1338
+ * @public
1339
+ */
1340
+ MaxRetries?: number;
1341
+ /**
1342
+ * @deprecated
1343
+ *
1344
+ * <p>This field is deprecated. Use <code>MaxCapacity</code> instead.</p>
1345
+ * <p>The number of Glue data processing units (DPUs) to allocate to this job. You can
1346
+ * allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing
1347
+ * power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information,
1348
+ * see the <a href="https://aws.amazon.com/glue/pricing/">Glue pricing
1349
+ * page</a>.</p>
1350
+ * @public
1351
+ */
1352
+ AllocatedCapacity?: number;
1353
+ /**
1354
+ * <p>The job timeout in minutes. This is the maximum time that a job run
1355
+ * can consume resources before it is terminated and enters <code>TIMEOUT</code>
1356
+ * status. The default is 2,880 minutes (48 hours) for batch jobs.</p>
1357
+ * <p>Streaming jobs must have timeout values less than 7 days or 10080 minutes. When the value is left blank, the job will be restarted after 7 days based if you have not setup a maintenance window. If you have setup maintenance window, it will be restarted during the maintenance window after 7 days.</p>
1358
+ * @public
1359
+ */
1360
+ Timeout?: number;
1361
+ /**
1362
+ * <p>For Glue version 1.0 or earlier jobs, using the standard worker type, the number of
1363
+ * Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is
1364
+ * a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB
1365
+ * of memory. For more information, see the <a href="https://aws.amazon.com/glue/pricing/">
1366
+ * Glue pricing page</a>.</p>
1367
+ * <p>For Glue version 2.0+ jobs, you cannot specify a <code>Maximum capacity</code>.
1368
+ * Instead, you should specify a <code>Worker type</code> and the <code>Number of workers</code>.</p>
1369
+ * <p>Do not set <code>MaxCapacity</code> if using <code>WorkerType</code> and <code>NumberOfWorkers</code>.</p>
1370
+ * <p>The value that can be allocated for <code>MaxCapacity</code> depends on whether you are
1371
+ * running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL
1372
+ * job:</p>
1373
+ * <ul>
1374
+ * <li>
1375
+ * <p>When you specify a Python shell job (<code>JobCommand.Name</code>="pythonshell"), you can
1376
+ * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.</p>
1377
+ * </li>
1378
+ * <li>
1379
+ * <p>When you specify an Apache Spark ETL job (<code>JobCommand.Name</code>="glueetl") or Apache
1380
+ * Spark streaming ETL job (<code>JobCommand.Name</code>="gluestreaming"), you can allocate from 2 to 100 DPUs.
1381
+ * The default is 10 DPUs. This job type cannot have a fractional DPU allocation.</p>
1382
+ * </li>
1383
+ * </ul>
1384
+ * @public
1385
+ */
1386
+ MaxCapacity?: number;
1387
+ /**
1388
+ * <p>The type of predefined worker that is allocated when a job runs. Accepts a value of
1389
+ * G.1X, G.2X, G.4X, G.8X or G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs.</p>
1390
+ * <ul>
1391
+ * <li>
1392
+ * <p>For the <code>G.1X</code> worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p>
1393
+ * </li>
1394
+ * <li>
1395
+ * <p>For the <code>G.2X</code> worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 128GB disk (approximately 77GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p>
1396
+ * </li>
1397
+ * <li>
1398
+ * <p>For the <code>G.4X</code> worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).</p>
1399
+ * </li>
1400
+ * <li>
1401
+ * <p>For the <code>G.8X</code> worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk (approximately 487GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions as supported for the <code>G.4X</code> worker type.</p>
1402
+ * </li>
1403
+ * <li>
1404
+ * <p>For the <code>G.025X</code> worker type, each worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for Glue version 3.0 streaming jobs.</p>
1405
+ * </li>
1406
+ * <li>
1407
+ * <p>For the <code>Z.2X</code> worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to 8 Ray workers based on the autoscaler.</p>
1408
+ * </li>
1409
+ * </ul>
1410
+ * @public
1411
+ */
1412
+ WorkerType?: WorkerType;
1413
+ /**
1414
+ * <p>The number of workers of a defined <code>workerType</code> that are allocated when a job runs.</p>
1415
+ * @public
1416
+ */
1417
+ NumberOfWorkers?: number;
1418
+ /**
1419
+ * <p>The name of the <code>SecurityConfiguration</code> structure to be used with this
1420
+ * job.</p>
1421
+ * @public
1422
+ */
1423
+ SecurityConfiguration?: string;
1424
+ /**
1425
+ * <p>Specifies the configuration properties of a job notification.</p>
1426
+ * @public
1427
+ */
1428
+ NotificationProperty?: NotificationProperty;
1429
+ /**
1430
+ * <p>In Spark jobs, <code>GlueVersion</code> determines the versions of Apache Spark and Python
1431
+ * that Glue available in a job. The Python version indicates the version
1432
+ * supported for jobs of type Spark. </p>
1433
+ * <p>Ray jobs should set <code>GlueVersion</code> to <code>4.0</code> or greater. However,
1434
+ * the versions of Ray, Python and additional libraries available in your Ray job are determined
1435
+ * by the <code>Runtime</code> parameter of the Job command.</p>
1436
+ * <p>For more information about the available Glue versions and corresponding
1437
+ * Spark and Python versions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Glue version</a> in the developer
1438
+ * guide.</p>
1439
+ * <p>Jobs that are created without specifying a Glue version default to Glue 0.9.</p>
1440
+ * @public
1441
+ */
1442
+ GlueVersion?: string;
1443
+ /**
1444
+ * <p>The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.</p>
1445
+ * @public
1446
+ */
1447
+ CodeGenConfigurationNodes?: Record<string, CodeGenConfigurationNode>;
1448
+ /**
1449
+ * <p>Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.</p>
1450
+ * <p>The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary. </p>
1451
+ * <p>Only jobs with Glue version 3.0 and above and command type <code>glueetl</code> will be allowed to set <code>ExecutionClass</code> to <code>FLEX</code>. The flexible execution class is available for Spark jobs.</p>
1452
+ * @public
1453
+ */
1454
+ ExecutionClass?: ExecutionClass;
1455
+ /**
1456
+ * <p>The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.</p>
1457
+ * @public
1458
+ */
1459
+ SourceControlDetails?: SourceControlDetails;
1460
+ /**
1461
+ * <p>This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.</p>
1462
+ * <p>Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.</p>
1463
+ * @public
1464
+ */
1465
+ MaintenanceWindow?: string;
1466
+ }
1467
+ /**
1468
+ * @public
1469
+ */
1470
+ export interface GetJobResponse {
1471
+ /**
1472
+ * <p>The requested job definition.</p>
1473
+ * @public
1474
+ */
1475
+ Job?: Job;
1476
+ }
1477
+ /**
1478
+ * @public
1479
+ */
1480
+ export interface UpdateJobRequest {
1481
+ /**
1482
+ * <p>The name of the job definition to update.</p>
1483
+ * @public
1484
+ */
1485
+ JobName: string | undefined;
1486
+ /**
1487
+ * <p>Specifies the values with which to update the job definition. Unspecified configuration is removed or reset to default values.</p>
1488
+ * @public
1489
+ */
1490
+ JobUpdate: JobUpdate | undefined;
1491
+ }
1492
+ /**
1493
+ * @public
1494
+ */
1495
+ export interface BatchGetJobsResponse {
1496
+ /**
1497
+ * <p>A list of job definitions.</p>
1498
+ * @public
1499
+ */
1500
+ Jobs?: Job[];
1501
+ /**
1502
+ * <p>A list of names of jobs not found.</p>
1503
+ * @public
1504
+ */
1505
+ JobsNotFound?: string[];
1506
+ }
1507
+ /**
1508
+ * @public
1509
+ */
1510
+ export interface GetJobsResponse {
1511
+ /**
1512
+ * <p>A list of job definitions.</p>
1513
+ * @public
1514
+ */
1515
+ Jobs?: Job[];
1516
+ /**
1517
+ * <p>A continuation token, if not all job definitions have yet been returned.</p>
1518
+ * @public
1519
+ */
1520
+ NextToken?: string;
1521
+ }
1522
+ /**
1523
+ * @internal
1524
+ */
1525
+ export declare const CreateJobRequestFilterSensitiveLog: (obj: CreateJobRequest) => any;
1526
+ /**
1527
+ * @internal
1528
+ */
1529
+ export declare const JobFilterSensitiveLog: (obj: Job) => any;
1530
+ /**
1531
+ * @internal
1532
+ */
1533
+ export declare const JobUpdateFilterSensitiveLog: (obj: JobUpdate) => any;
1534
+ /**
1535
+ * @internal
1536
+ */
1537
+ export declare const GetJobResponseFilterSensitiveLog: (obj: GetJobResponse) => any;
1538
+ /**
1539
+ * @internal
1540
+ */
1541
+ export declare const UpdateJobRequestFilterSensitiveLog: (obj: UpdateJobRequest) => any;
1542
+ /**
1543
+ * @internal
1544
+ */
1545
+ export declare const BatchGetJobsResponseFilterSensitiveLog: (obj: BatchGetJobsResponse) => any;
1546
+ /**
1547
+ * @internal
1548
+ */
1549
+ export declare const GetJobsResponseFilterSensitiveLog: (obj: GetJobsResponse) => any;