@aws-cdk/aws-glue-alpha 2.176.0-alpha.0 → 2.177.0-alpha.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 (53) hide show
  1. package/.jsii +5851 -3571
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +525 -235
  4. package/README.md +422 -159
  5. package/awslint.json +5 -5
  6. package/lib/code.js +4 -4
  7. package/lib/connection.js +3 -3
  8. package/lib/constants.d.ts +261 -0
  9. package/lib/constants.js +281 -0
  10. package/lib/data-format.js +5 -5
  11. package/lib/data-quality-ruleset.js +2 -2
  12. package/lib/database.js +2 -2
  13. package/lib/external-table.js +1 -1
  14. package/lib/index.d.ts +13 -2
  15. package/lib/index.js +14 -3
  16. package/lib/jobs/job.d.ts +393 -0
  17. package/lib/jobs/job.js +299 -0
  18. package/lib/jobs/pyspark-etl-job.d.ts +81 -0
  19. package/lib/jobs/pyspark-etl-job.js +127 -0
  20. package/lib/jobs/pyspark-flex-etl-job.d.ts +83 -0
  21. package/lib/jobs/pyspark-flex-etl-job.js +134 -0
  22. package/lib/jobs/pyspark-streaming-job.d.ts +82 -0
  23. package/lib/jobs/pyspark-streaming-job.js +128 -0
  24. package/lib/jobs/python-shell-job.d.ts +55 -0
  25. package/lib/jobs/python-shell-job.js +96 -0
  26. package/lib/jobs/ray-job.d.ts +44 -0
  27. package/lib/jobs/ray-job.js +87 -0
  28. package/lib/jobs/scala-spark-etl-job.d.ts +78 -0
  29. package/lib/jobs/scala-spark-etl-job.js +131 -0
  30. package/lib/jobs/scala-spark-flex-etl-job.d.ts +109 -0
  31. package/lib/jobs/scala-spark-flex-etl-job.js +140 -0
  32. package/lib/jobs/scala-spark-streaming-job.d.ts +77 -0
  33. package/lib/jobs/scala-spark-streaming-job.js +128 -0
  34. package/lib/jobs/spark-ui-utils.d.ts +53 -0
  35. package/lib/jobs/spark-ui-utils.js +26 -0
  36. package/lib/s3-table.d.ts +4 -4
  37. package/lib/s3-table.js +2 -2
  38. package/lib/schema.d.ts +1 -1
  39. package/lib/schema.js +2 -2
  40. package/lib/security-configuration.js +2 -2
  41. package/lib/storage-parameter.js +1 -1
  42. package/lib/table-base.js +2 -2
  43. package/lib/table-deprecated.js +1 -1
  44. package/lib/triggers/trigger-options.d.ts +205 -0
  45. package/lib/triggers/trigger-options.js +39 -0
  46. package/lib/triggers/workflow.d.ts +203 -0
  47. package/lib/triggers/workflow.js +368 -0
  48. package/package.json +8 -8
  49. package/rosetta/default.ts-fixture +1 -1
  50. package/lib/job-executable.d.ts +0 -384
  51. package/lib/job-executable.js +0 -348
  52. package/lib/job.d.ts +0 -574
  53. package/lib/job.js +0 -531
@@ -1,384 +0,0 @@
1
- import { Code } from './code';
2
- /**
3
- * AWS Glue version determines the versions of Apache Spark and Python that are available to the job.
4
- *
5
- * @see https://docs.aws.amazon.com/glue/latest/dg/add-job.html.
6
- *
7
- * If you need to use a GlueVersion that doesn't exist as a static member, you
8
- * can instantiate a `GlueVersion` object, e.g: `GlueVersion.of('1.5')`.
9
- */
10
- export declare class GlueVersion {
11
- /**
12
- * Glue version using Spark 2.2.1 and Python 2.7
13
- * @deprecated Reached end of support
14
- */
15
- static readonly V0_9: GlueVersion;
16
- /**
17
- * Glue version using Spark 2.4.3, Python 2.7 and Python 3.6
18
- * @deprecated Reached end of support
19
- */
20
- static readonly V1_0: GlueVersion;
21
- /**
22
- * Glue version using Spark 2.4.3 and Python 3.7
23
- * @deprecated Reached end of support
24
- */
25
- static readonly V2_0: GlueVersion;
26
- /**
27
- * Glue version using Spark 3.1.1 and Python 3.7
28
- */
29
- static readonly V3_0: GlueVersion;
30
- /**
31
- * Glue version using Spark 3.3.0 and Python 3.10
32
- */
33
- static readonly V4_0: GlueVersion;
34
- /**
35
- * Glue version using Spark 3.5.2 and Python 3.11
36
- */
37
- static readonly V5_0: GlueVersion;
38
- /**
39
- * Custom Glue version
40
- * @param version custom version
41
- */
42
- static of(version: string): GlueVersion;
43
- /**
44
- * The name of this GlueVersion, as expected by Job resource.
45
- */
46
- readonly name: string;
47
- private constructor();
48
- }
49
- /**
50
- * Runtime language of the Glue job
51
- */
52
- export declare enum JobLanguage {
53
- /**
54
- * Scala
55
- */
56
- SCALA = "scala",
57
- /**
58
- * Python
59
- */
60
- PYTHON = "python"
61
- }
62
- /**
63
- * Python version
64
- */
65
- export declare enum PythonVersion {
66
- /**
67
- * Python 2 (the exact version depends on GlueVersion and JobCommand used)
68
- */
69
- TWO = "2",
70
- /**
71
- * Python 3 (the exact version depends on GlueVersion and JobCommand used)
72
- */
73
- THREE = "3",
74
- /**
75
- * Python 3.9 (the exact version depends on GlueVersion and JobCommand used)
76
- */
77
- THREE_NINE = "3.9"
78
- }
79
- /**
80
- * AWS Glue runtime determines the runtime engine of the job.
81
- *
82
- */
83
- export declare class Runtime {
84
- /**
85
- * Runtime for a Glue for Ray 2.4.
86
- */
87
- static readonly RAY_TWO_FOUR: Runtime;
88
- /**
89
- * Custom runtime
90
- * @param runtime custom runtime
91
- */
92
- static of(runtime: string): Runtime;
93
- /**
94
- * The name of this Runtime.
95
- */
96
- readonly name: string;
97
- private constructor();
98
- }
99
- /**
100
- * The job type.
101
- *
102
- * If you need to use a JobType that doesn't exist as a static member, you
103
- * can instantiate a `JobType` object, e.g: `JobType.of('other name')`.
104
- */
105
- export declare class JobType {
106
- /**
107
- * Command for running a Glue Spark job.
108
- */
109
- static readonly ETL: JobType;
110
- /**
111
- * Command for running a Glue Spark streaming job.
112
- */
113
- static readonly STREAMING: JobType;
114
- /**
115
- * Command for running a Glue python shell job.
116
- */
117
- static readonly PYTHON_SHELL: JobType;
118
- /**
119
- * Command for running a Glue Ray job.
120
- */
121
- static readonly RAY: JobType;
122
- /**
123
- * Custom type name
124
- * @param name type name
125
- */
126
- static of(name: string): JobType;
127
- /**
128
- * The name of this JobType, as expected by Job resource.
129
- */
130
- readonly name: string;
131
- private constructor();
132
- }
133
- interface PythonExecutableProps {
134
- /**
135
- * The Python version to use.
136
- */
137
- readonly pythonVersion: PythonVersion;
138
- /**
139
- * Additional Python files that AWS Glue adds to the Python path before executing your script.
140
- * Only individual files are supported, directories are not supported.
141
- * Equivalent to a job parameter `--extra-py-files`.
142
- *
143
- * @default - no extra python files and argument is not set
144
- *
145
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
146
- */
147
- readonly extraPythonFiles?: Code[];
148
- }
149
- interface RayExecutableProps {
150
- /**
151
- * The Python version to use.
152
- */
153
- readonly pythonVersion: PythonVersion;
154
- /**
155
- * Additional Python modules that AWS Glue adds to the Python path before executing your script.
156
- * Equivalent to a job parameter `--s3-py-modules`.
157
- *
158
- * @default - no extra python files and argument is not set
159
- *
160
- * @see https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html
161
- */
162
- readonly s3PythonModules?: Code[];
163
- }
164
- interface SharedJobExecutableProps {
165
- /**
166
- * Runtime. It is required for Ray jobs.
167
- *
168
- */
169
- readonly runtime?: Runtime;
170
- /**
171
- * Glue version.
172
- *
173
- * @see https://docs.aws.amazon.com/glue/latest/dg/release-notes.html
174
- */
175
- readonly glueVersion: GlueVersion;
176
- /**
177
- * The script that executes a job.
178
- */
179
- readonly script: Code;
180
- /**
181
- * Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it.
182
- * Only individual files are supported, directories are not supported.
183
- * Equivalent to a job parameter `--extra-files`.
184
- *
185
- * @default [] - no extra files are copied to the working directory
186
- *
187
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
188
- */
189
- readonly extraFiles?: Code[];
190
- }
191
- interface SharedSparkJobExecutableProps extends SharedJobExecutableProps {
192
- /**
193
- * Additional Java .jar files that AWS Glue adds to the Java classpath before executing your script.
194
- * Only individual files are supported, directories are not supported.
195
- * Equivalent to a job parameter `--extra-jars`.
196
- *
197
- * @default [] - no extra jars are added to the classpath
198
- *
199
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
200
- */
201
- readonly extraJars?: Code[];
202
- /**
203
- * Setting this value to true prioritizes the customer's extra JAR files in the classpath.
204
- * Equivalent to a job parameter `--user-jars-first`.
205
- *
206
- * @default false - priority is not given to user-provided jars
207
- *
208
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
209
- */
210
- readonly extraJarsFirst?: boolean;
211
- }
212
- /**
213
- * Props for creating a Scala Spark (ETL or Streaming) job executable
214
- */
215
- export interface ScalaJobExecutableProps extends SharedSparkJobExecutableProps {
216
- /**
217
- * The fully qualified Scala class name that serves as the entry point for the job.
218
- * Equivalent to a job parameter `--class`.
219
- *
220
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
221
- */
222
- readonly className: string;
223
- }
224
- /**
225
- * Props for creating a Python Spark (ETL or Streaming) job executable
226
- */
227
- export interface PythonSparkJobExecutableProps extends SharedSparkJobExecutableProps, PythonExecutableProps {
228
- }
229
- /**
230
- * Props for creating a Python shell job executable
231
- */
232
- export interface PythonShellExecutableProps extends SharedJobExecutableProps, PythonExecutableProps {
233
- }
234
- /**
235
- * Props for creating a Python Ray job executable
236
- */
237
- export interface PythonRayExecutableProps extends SharedJobExecutableProps, RayExecutableProps {
238
- }
239
- /**
240
- * The executable properties related to the Glue job's GlueVersion, JobType and code
241
- */
242
- export declare class JobExecutable {
243
- /**
244
- * Create Scala executable props for Apache Spark ETL job.
245
- *
246
- * @param props Scala Apache Spark Job props
247
- */
248
- static scalaEtl(props: ScalaJobExecutableProps): JobExecutable;
249
- /**
250
- * Create Scala executable props for Apache Spark Streaming job.
251
- *
252
- * @param props Scala Apache Spark Job props
253
- */
254
- static scalaStreaming(props: ScalaJobExecutableProps): JobExecutable;
255
- /**
256
- * Create Python executable props for Apache Spark ETL job.
257
- *
258
- * @param props Python Apache Spark Job props
259
- */
260
- static pythonEtl(props: PythonSparkJobExecutableProps): JobExecutable;
261
- /**
262
- * Create Python executable props for Apache Spark Streaming job.
263
- *
264
- * @param props Python Apache Spark Job props
265
- */
266
- static pythonStreaming(props: PythonSparkJobExecutableProps): JobExecutable;
267
- /**
268
- * Create Python executable props for python shell jobs.
269
- *
270
- * @param props Python Shell Job props.
271
- */
272
- static pythonShell(props: PythonShellExecutableProps): JobExecutable;
273
- /**
274
- * Create Python executable props for Ray jobs.
275
- *
276
- * @param props Ray Job props.
277
- */
278
- static pythonRay(props: PythonRayExecutableProps): JobExecutable;
279
- /**
280
- * Create a custom JobExecutable.
281
- *
282
- * @param config custom job executable configuration.
283
- */
284
- static of(config: JobExecutableConfig): JobExecutable;
285
- private config;
286
- private constructor();
287
- /**
288
- * Called during Job initialization to get JobExecutableConfig.
289
- */
290
- bind(): JobExecutableConfig;
291
- }
292
- /**
293
- * Result of binding a `JobExecutable` into a `Job`.
294
- */
295
- export interface JobExecutableConfig {
296
- /**
297
- * Glue version.
298
- *
299
- * @see https://docs.aws.amazon.com/glue/latest/dg/release-notes.html
300
- */
301
- readonly glueVersion: GlueVersion;
302
- /**
303
- * The language of the job (Scala or Python).
304
- * Equivalent to a job parameter `--job-language`.
305
- *
306
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
307
- */
308
- readonly language: JobLanguage;
309
- /**
310
- * Specify the type of the job whether it's an Apache Spark ETL or streaming one or if it's a Python shell job.
311
- */
312
- readonly type: JobType;
313
- /**
314
- * The Python version to use.
315
- *
316
- * @default - no python version specified
317
- */
318
- readonly pythonVersion?: PythonVersion;
319
- /**
320
- * The Runtime to use.
321
- *
322
- * @default - no runtime specified
323
- */
324
- readonly runtime?: Runtime;
325
- /**
326
- * The script that is executed by a job.
327
- */
328
- readonly script: Code;
329
- /**
330
- * The Scala class that serves as the entry point for the job. This applies only if your the job language is Scala.
331
- * Equivalent to a job parameter `--class`.
332
- *
333
- * @default - no scala className specified
334
- *
335
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
336
- */
337
- readonly className?: string;
338
- /**
339
- * Additional Java .jar files that AWS Glue adds to the Java classpath before executing your script.
340
- * Equivalent to a job parameter `--extra-jars`.
341
- *
342
- * @default - no extra jars specified.
343
- *
344
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
345
- */
346
- readonly extraJars?: Code[];
347
- /**
348
- * Additional Python files that AWS Glue adds to the Python path before executing your script.
349
- * Equivalent to a job parameter `--extra-py-files`.
350
- *
351
- * @default - no extra python files specified.
352
- *
353
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
354
- */
355
- readonly extraPythonFiles?: Code[];
356
- /**
357
- * Additional Python modules that AWS Glue adds to the Python path before executing your script.
358
- * Equivalent to a job parameter `--s3-py-modules`.
359
- *
360
- * @default - no extra python files specified.
361
- *
362
- * @see https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html
363
- */
364
- readonly s3PythonModules?: Code[];
365
- /**
366
- * Additional files, such as configuration files that AWS Glue copies to the working directory of your script before executing it.
367
- * Equivalent to a job parameter `--extra-files`.
368
- *
369
- * @default - no extra files specified.
370
- *
371
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
372
- */
373
- readonly extraFiles?: Code[];
374
- /**
375
- * Setting this value to true prioritizes the customer's extra JAR files in the classpath.
376
- * Equivalent to a job parameter `--user-jars-first`.
377
- *
378
- * @default - extra jars are not prioritized.
379
- *
380
- * @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
381
- */
382
- readonly extraJarsFirst?: boolean;
383
- }
384
- export {};