apache-airflow-providers-edge3 1.1.3rc1__py3-none-any.whl → 1.2.0rc1__py3-none-any.whl

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 (75) hide show
  1. airflow/providers/edge3/__init__.py +1 -1
  2. airflow/providers/edge3/cli/worker.py +6 -2
  3. airflow/providers/edge3/example_dags/integration_test.py +6 -2
  4. airflow/providers/edge3/example_dags/win_test.py +6 -1
  5. airflow/providers/edge3/openapi/v2-edge-generated.yaml +1138 -0
  6. airflow/providers/edge3/plugins/edge_executor_plugin.py +43 -3
  7. airflow/providers/edge3/plugins/www/.gitignore +27 -0
  8. airflow/providers/edge3/plugins/www/.prettierignore +6 -0
  9. airflow/providers/edge3/plugins/www/.prettierrc +13 -0
  10. airflow/providers/edge3/plugins/www/README.md +141 -0
  11. airflow/providers/edge3/plugins/www/dist/main.d.ts +1 -0
  12. airflow/providers/edge3/plugins/www/dist/main.umd.cjs +124 -0
  13. airflow/providers/edge3/plugins/www/eslint.config.js +54 -0
  14. airflow/providers/edge3/plugins/www/index.html +13 -0
  15. airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +33 -0
  16. airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +16 -0
  17. airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +4 -0
  18. airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +2 -0
  19. airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +16 -0
  20. airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +87 -0
  21. airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +16 -0
  22. airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +21 -0
  23. airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +21 -0
  24. airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +7 -0
  25. airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +126 -0
  26. airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +57 -0
  27. airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +347 -0
  28. airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +7 -0
  29. airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +700 -0
  30. airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +289 -0
  31. airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +655 -0
  32. airflow/providers/edge3/plugins/www/package.json +80 -0
  33. airflow/providers/edge3/plugins/www/pnpm-lock.yaml +6653 -0
  34. airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +66 -0
  35. airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +43 -0
  36. airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +58 -0
  37. airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +71 -0
  38. airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +57 -0
  39. airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +62 -0
  40. airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +32 -0
  41. airflow/providers/edge3/plugins/www/src/components/ui/index.ts +20 -0
  42. airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +24 -0
  43. airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +21 -0
  44. airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +32 -0
  45. airflow/providers/edge3/plugins/www/src/dev.tsx +29 -0
  46. airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +44 -0
  47. airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +63 -0
  48. airflow/providers/edge3/plugins/www/src/main.tsx +58 -0
  49. airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +88 -0
  50. airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +105 -0
  51. airflow/providers/edge3/plugins/www/src/res/README.md +24 -0
  52. airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +3 -0
  53. airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +3 -0
  54. airflow/providers/edge3/plugins/www/src/theme.ts +176 -0
  55. airflow/providers/edge3/plugins/www/src/utils/config.ts +23 -0
  56. airflow/providers/edge3/plugins/www/src/utils/index.ts +22 -0
  57. airflow/providers/edge3/plugins/www/src/utils/tokenHandler.ts +51 -0
  58. airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +43 -0
  59. airflow/providers/edge3/plugins/www/src/vite-env.d.ts +20 -0
  60. airflow/providers/edge3/plugins/www/testsSetup.ts +19 -0
  61. airflow/providers/edge3/plugins/www/tsconfig.app.json +31 -0
  62. airflow/providers/edge3/plugins/www/tsconfig.json +8 -0
  63. airflow/providers/edge3/plugins/www/tsconfig.lib.json +15 -0
  64. airflow/providers/edge3/plugins/www/tsconfig.node.json +29 -0
  65. airflow/providers/edge3/plugins/www/vite.config.ts +95 -0
  66. airflow/providers/edge3/version_compat.py +1 -0
  67. airflow/providers/edge3/worker_api/app.py +34 -8
  68. airflow/providers/edge3/worker_api/datamodels_ui.py +67 -0
  69. airflow/providers/edge3/worker_api/routes/health.py +1 -1
  70. airflow/providers/edge3/worker_api/routes/ui.py +102 -0
  71. {apache_airflow_providers_edge3-1.1.3rc1.dist-info → apache_airflow_providers_edge3-1.2.0rc1.dist-info}/METADATA +7 -8
  72. apache_airflow_providers_edge3-1.2.0rc1.dist-info/RECORD +103 -0
  73. apache_airflow_providers_edge3-1.1.3rc1.dist-info/RECORD +0 -41
  74. {apache_airflow_providers_edge3-1.1.3rc1.dist-info → apache_airflow_providers_edge3-1.2.0rc1.dist-info}/WHEEL +0 -0
  75. {apache_airflow_providers_edge3-1.1.3rc1.dist-info → apache_airflow_providers_edge3-1.2.0rc1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,1138 @@
1
+ openapi: 3.1.0
2
+ info:
3
+ title: Airflow Edge Worker API
4
+ description: 'This is Airflow Edge Worker API - this is a the access endpoint for
5
+ workers running on remote sites serving for Apache Airflow jobs. It also serves
6
+ for the Edge Worker UI and provides endpoints for React web app.
7
+
8
+ All endpoints under ``/edge_worker/v1`` are used by remote workers and need a
9
+ specific JWT token.
10
+
11
+ All endpoints under ``/edge_worker/ui`` are used by UI and can be accessed with
12
+ normal authentication. Please assume UI endpoints to change and not be stable.'
13
+ version: 0.1.0
14
+ paths:
15
+ /edge_worker/v1/jobs/fetch/{worker_name}:
16
+ post:
17
+ tags:
18
+ - Jobs
19
+ summary: Fetch
20
+ description: Fetch a job to execute on the edge worker.
21
+ operationId: fetch
22
+ parameters:
23
+ - name: worker_name
24
+ in: path
25
+ required: true
26
+ schema:
27
+ type: string
28
+ title: Worker Name
29
+ - name: authorization
30
+ in: header
31
+ required: true
32
+ schema:
33
+ type: string
34
+ description: JWT Authorization Token
35
+ title: Authorization
36
+ description: JWT Authorization Token
37
+ requestBody:
38
+ required: true
39
+ content:
40
+ application/json:
41
+ schema:
42
+ $ref: '#/components/schemas/WorkerQueuesBody'
43
+ title: Log data chunks
44
+ description: The queues and capacity from which the worker can fetch
45
+ jobs.
46
+ responses:
47
+ '200':
48
+ description: Successful Response
49
+ content:
50
+ application/json:
51
+ schema:
52
+ anyOf:
53
+ - $ref: '#/components/schemas/EdgeJobFetched'
54
+ - type: 'null'
55
+ title: Response Fetch
56
+ '400':
57
+ content:
58
+ application/json:
59
+ schema:
60
+ $ref: '#/components/schemas/HTTPExceptionResponse'
61
+ description: Bad Request
62
+ '403':
63
+ content:
64
+ application/json:
65
+ schema:
66
+ $ref: '#/components/schemas/HTTPExceptionResponse'
67
+ description: Forbidden
68
+ '422':
69
+ description: Validation Error
70
+ content:
71
+ application/json:
72
+ schema:
73
+ $ref: '#/components/schemas/HTTPValidationError'
74
+ /edge_worker/v1/jobs/state/{dag_id}/{task_id}/{run_id}/{try_number}/{map_index}/{state}:
75
+ patch:
76
+ tags:
77
+ - Jobs
78
+ summary: State
79
+ description: Update the state of a job running on the edge worker.
80
+ operationId: state
81
+ parameters:
82
+ - name: dag_id
83
+ in: path
84
+ required: true
85
+ schema:
86
+ type: string
87
+ title: Dag ID
88
+ description: Identifier of the DAG to which the task belongs.
89
+ description: Identifier of the DAG to which the task belongs.
90
+ - name: task_id
91
+ in: path
92
+ required: true
93
+ schema:
94
+ type: string
95
+ title: Task ID
96
+ description: Task name in the DAG.
97
+ description: Task name in the DAG.
98
+ - name: run_id
99
+ in: path
100
+ required: true
101
+ schema:
102
+ type: string
103
+ title: Run ID
104
+ description: Run ID of the DAG execution.
105
+ description: Run ID of the DAG execution.
106
+ - name: try_number
107
+ in: path
108
+ required: true
109
+ schema:
110
+ type: integer
111
+ title: Try Number
112
+ description: The number of attempt to execute this task.
113
+ description: The number of attempt to execute this task.
114
+ - name: map_index
115
+ in: path
116
+ required: true
117
+ schema:
118
+ type: integer
119
+ title: Map Index
120
+ description: For dynamically mapped tasks the mapping number, -1 if the
121
+ task is not mapped.
122
+ description: For dynamically mapped tasks the mapping number, -1 if the task
123
+ is not mapped.
124
+ - name: state
125
+ in: path
126
+ required: true
127
+ schema:
128
+ $ref: '#/components/schemas/TaskInstanceState'
129
+ title: Task State
130
+ description: State of the assigned task under execution.
131
+ description: State of the assigned task under execution.
132
+ - name: authorization
133
+ in: header
134
+ required: true
135
+ schema:
136
+ type: string
137
+ description: JWT Authorization Token
138
+ title: Authorization
139
+ description: JWT Authorization Token
140
+ responses:
141
+ '200':
142
+ description: Successful Response
143
+ content:
144
+ application/json:
145
+ schema:
146
+ type: 'null'
147
+ title: Response State
148
+ '400':
149
+ content:
150
+ application/json:
151
+ schema:
152
+ $ref: '#/components/schemas/HTTPExceptionResponse'
153
+ description: Bad Request
154
+ '403':
155
+ content:
156
+ application/json:
157
+ schema:
158
+ $ref: '#/components/schemas/HTTPExceptionResponse'
159
+ description: Forbidden
160
+ '422':
161
+ description: Validation Error
162
+ content:
163
+ application/json:
164
+ schema:
165
+ $ref: '#/components/schemas/HTTPValidationError'
166
+ /edge_worker/v1/logs/logfile_path/{dag_id}/{task_id}/{run_id}/{try_number}/{map_index}:
167
+ get:
168
+ tags:
169
+ - Logs
170
+ summary: Logfile Path
171
+ description: Elaborate the path and filename to expect from task execution.
172
+ operationId: logfile_path
173
+ parameters:
174
+ - name: dag_id
175
+ in: path
176
+ required: true
177
+ schema:
178
+ type: string
179
+ title: Dag ID
180
+ description: Identifier of the DAG to which the task belongs.
181
+ description: Identifier of the DAG to which the task belongs.
182
+ - name: task_id
183
+ in: path
184
+ required: true
185
+ schema:
186
+ type: string
187
+ title: Task ID
188
+ description: Task name in the DAG.
189
+ description: Task name in the DAG.
190
+ - name: run_id
191
+ in: path
192
+ required: true
193
+ schema:
194
+ type: string
195
+ title: Run ID
196
+ description: Run ID of the DAG execution.
197
+ description: Run ID of the DAG execution.
198
+ - name: try_number
199
+ in: path
200
+ required: true
201
+ schema:
202
+ type: integer
203
+ title: Try Number
204
+ description: The number of attempt to execute this task.
205
+ description: The number of attempt to execute this task.
206
+ - name: map_index
207
+ in: path
208
+ required: true
209
+ schema:
210
+ type: integer
211
+ title: Map Index
212
+ description: For dynamically mapped tasks the mapping number, -1 if the
213
+ task is not mapped.
214
+ description: For dynamically mapped tasks the mapping number, -1 if the task
215
+ is not mapped.
216
+ - name: authorization
217
+ in: header
218
+ required: true
219
+ schema:
220
+ type: string
221
+ description: JWT Authorization Token
222
+ title: Authorization
223
+ description: JWT Authorization Token
224
+ responses:
225
+ '200':
226
+ description: Successful Response
227
+ content:
228
+ application/json:
229
+ schema:
230
+ type: string
231
+ title: Response Logfile Path
232
+ '400':
233
+ content:
234
+ application/json:
235
+ schema:
236
+ $ref: '#/components/schemas/HTTPExceptionResponse'
237
+ description: Bad Request
238
+ '403':
239
+ content:
240
+ application/json:
241
+ schema:
242
+ $ref: '#/components/schemas/HTTPExceptionResponse'
243
+ description: Forbidden
244
+ '422':
245
+ description: Validation Error
246
+ content:
247
+ application/json:
248
+ schema:
249
+ $ref: '#/components/schemas/HTTPValidationError'
250
+ /edge_worker/v1/logs/push/{dag_id}/{task_id}/{run_id}/{try_number}/{map_index}:
251
+ post:
252
+ tags:
253
+ - Logs
254
+ summary: Push Logs
255
+ description: Push an incremental log chunk from Edge Worker to central site.
256
+ operationId: push_logs
257
+ parameters:
258
+ - name: dag_id
259
+ in: path
260
+ required: true
261
+ schema:
262
+ type: string
263
+ title: Dag ID
264
+ description: Identifier of the DAG to which the task belongs.
265
+ description: Identifier of the DAG to which the task belongs.
266
+ - name: task_id
267
+ in: path
268
+ required: true
269
+ schema:
270
+ type: string
271
+ title: Task ID
272
+ description: Task name in the DAG.
273
+ description: Task name in the DAG.
274
+ - name: run_id
275
+ in: path
276
+ required: true
277
+ schema:
278
+ type: string
279
+ title: Run ID
280
+ description: Run ID of the DAG execution.
281
+ description: Run ID of the DAG execution.
282
+ - name: try_number
283
+ in: path
284
+ required: true
285
+ schema:
286
+ type: integer
287
+ title: Try Number
288
+ description: The number of attempt to execute this task.
289
+ description: The number of attempt to execute this task.
290
+ - name: map_index
291
+ in: path
292
+ required: true
293
+ schema:
294
+ type: integer
295
+ title: Map Index
296
+ description: For dynamically mapped tasks the mapping number, -1 if the
297
+ task is not mapped.
298
+ description: For dynamically mapped tasks the mapping number, -1 if the task
299
+ is not mapped.
300
+ - name: authorization
301
+ in: header
302
+ required: true
303
+ schema:
304
+ type: string
305
+ description: JWT Authorization Token
306
+ title: Authorization
307
+ description: JWT Authorization Token
308
+ requestBody:
309
+ required: true
310
+ content:
311
+ application/json:
312
+ schema:
313
+ $ref: '#/components/schemas/PushLogsBody'
314
+ title: Log data chunks
315
+ description: The worker remote has no access to log sink and with this
316
+ can send log chunks to the central site.
317
+ responses:
318
+ '200':
319
+ description: Successful Response
320
+ content:
321
+ application/json:
322
+ schema:
323
+ type: 'null'
324
+ title: Response Push Logs
325
+ '400':
326
+ content:
327
+ application/json:
328
+ schema:
329
+ $ref: '#/components/schemas/HTTPExceptionResponse'
330
+ description: Bad Request
331
+ '403':
332
+ content:
333
+ application/json:
334
+ schema:
335
+ $ref: '#/components/schemas/HTTPExceptionResponse'
336
+ description: Forbidden
337
+ '422':
338
+ description: Validation Error
339
+ content:
340
+ application/json:
341
+ schema:
342
+ $ref: '#/components/schemas/HTTPValidationError'
343
+ /edge_worker/v1/worker/{worker_name}:
344
+ post:
345
+ tags:
346
+ - Worker
347
+ summary: Register
348
+ description: Register a new worker to the backend.
349
+ operationId: register
350
+ parameters:
351
+ - name: worker_name
352
+ in: path
353
+ required: true
354
+ schema:
355
+ type: string
356
+ title: Worker Name
357
+ description: Hostname or instance name of the worker
358
+ description: Hostname or instance name of the worker
359
+ - name: authorization
360
+ in: header
361
+ required: true
362
+ schema:
363
+ type: string
364
+ description: JWT Authorization Token
365
+ title: Authorization
366
+ description: JWT Authorization Token
367
+ requestBody:
368
+ required: true
369
+ content:
370
+ application/json:
371
+ schema:
372
+ $ref: '#/components/schemas/WorkerStateBody'
373
+ title: Worker State
374
+ description: State of the worker with details
375
+ examples:
376
+ - state: running
377
+ jobs_active: 3
378
+ queues:
379
+ - large_node
380
+ - wisconsin_site
381
+ sysinfo:
382
+ concurrency: 4
383
+ airflow_version: 2.10.0
384
+ edge_provider_version: 1.0.0
385
+ responses:
386
+ '200':
387
+ description: Successful Response
388
+ content:
389
+ application/json:
390
+ schema:
391
+ $ref: '#/components/schemas/WorkerRegistrationReturn'
392
+ '400':
393
+ content:
394
+ application/json:
395
+ schema:
396
+ $ref: '#/components/schemas/HTTPExceptionResponse'
397
+ description: Bad Request
398
+ '403':
399
+ content:
400
+ application/json:
401
+ schema:
402
+ $ref: '#/components/schemas/HTTPExceptionResponse'
403
+ description: Forbidden
404
+ '422':
405
+ description: Validation Error
406
+ content:
407
+ application/json:
408
+ schema:
409
+ $ref: '#/components/schemas/HTTPValidationError'
410
+ patch:
411
+ tags:
412
+ - Worker
413
+ summary: Set State
414
+ description: Set state of worker and returns the current assigned queues.
415
+ operationId: set_state
416
+ parameters:
417
+ - name: worker_name
418
+ in: path
419
+ required: true
420
+ schema:
421
+ type: string
422
+ title: Worker Name
423
+ description: Hostname or instance name of the worker
424
+ description: Hostname or instance name of the worker
425
+ - name: authorization
426
+ in: header
427
+ required: true
428
+ schema:
429
+ type: string
430
+ description: JWT Authorization Token
431
+ title: Authorization
432
+ description: JWT Authorization Token
433
+ requestBody:
434
+ required: true
435
+ content:
436
+ application/json:
437
+ schema:
438
+ $ref: '#/components/schemas/WorkerStateBody'
439
+ title: Worker State
440
+ description: State of the worker with details
441
+ examples:
442
+ - state: running
443
+ jobs_active: 3
444
+ queues:
445
+ - large_node
446
+ - wisconsin_site
447
+ sysinfo:
448
+ concurrency: 4
449
+ airflow_version: 2.10.0
450
+ edge_provider_version: 1.0.0
451
+ responses:
452
+ '200':
453
+ description: Successful Response
454
+ content:
455
+ application/json:
456
+ schema:
457
+ $ref: '#/components/schemas/WorkerSetStateReturn'
458
+ '400':
459
+ content:
460
+ application/json:
461
+ schema:
462
+ $ref: '#/components/schemas/HTTPExceptionResponse'
463
+ description: Bad Request
464
+ '403':
465
+ content:
466
+ application/json:
467
+ schema:
468
+ $ref: '#/components/schemas/HTTPExceptionResponse'
469
+ description: Forbidden
470
+ '422':
471
+ description: Validation Error
472
+ content:
473
+ application/json:
474
+ schema:
475
+ $ref: '#/components/schemas/HTTPValidationError'
476
+ /edge_worker/v1/worker/queues/{worker_name}:
477
+ patch:
478
+ tags:
479
+ - Worker
480
+ summary: Update Queues
481
+ operationId: update_queues
482
+ parameters:
483
+ - name: worker_name
484
+ in: path
485
+ required: true
486
+ schema:
487
+ type: string
488
+ title: Worker Name
489
+ description: Hostname or instance name of the worker
490
+ description: Hostname or instance name of the worker
491
+ - name: authorization
492
+ in: header
493
+ required: true
494
+ schema:
495
+ type: string
496
+ description: JWT Authorization Token
497
+ title: Authorization
498
+ description: JWT Authorization Token
499
+ requestBody:
500
+ required: true
501
+ content:
502
+ application/json:
503
+ schema:
504
+ $ref: '#/components/schemas/WorkerQueueUpdateBody'
505
+ title: Changes in worker queues
506
+ description: Changes to be applied to current queues of worker
507
+ examples:
508
+ - new_queues:
509
+ - new_queue
510
+ remove_queues:
511
+ - old_queue
512
+ responses:
513
+ '200':
514
+ description: Successful Response
515
+ content:
516
+ application/json:
517
+ schema:
518
+ type: 'null'
519
+ title: Response Update Queues
520
+ '400':
521
+ content:
522
+ application/json:
523
+ schema:
524
+ $ref: '#/components/schemas/HTTPExceptionResponse'
525
+ description: Bad Request
526
+ '403':
527
+ content:
528
+ application/json:
529
+ schema:
530
+ $ref: '#/components/schemas/HTTPExceptionResponse'
531
+ description: Forbidden
532
+ '422':
533
+ description: Validation Error
534
+ content:
535
+ application/json:
536
+ schema:
537
+ $ref: '#/components/schemas/HTTPValidationError'
538
+ /edge_worker/v1/health:
539
+ get:
540
+ tags:
541
+ - Monitor
542
+ summary: Health
543
+ description: Report API Health.
544
+ operationId: health
545
+ responses:
546
+ '200':
547
+ description: Successful Response
548
+ content:
549
+ application/json:
550
+ schema:
551
+ additionalProperties:
552
+ type: string
553
+ type: object
554
+ title: Response Health
555
+ /edge_worker/ui/worker:
556
+ get:
557
+ tags:
558
+ - UI
559
+ summary: Worker
560
+ description: Return Edge Workers.
561
+ operationId: worker
562
+ responses:
563
+ '200':
564
+ description: Successful Response
565
+ content:
566
+ application/json:
567
+ schema:
568
+ $ref: '#/components/schemas/WorkerCollectionResponse'
569
+ security:
570
+ - OAuth2PasswordBearer: []
571
+ - HTTPBearer: []
572
+ /edge_worker/ui/jobs:
573
+ get:
574
+ tags:
575
+ - UI
576
+ summary: Jobs
577
+ description: Return Edge Jobs.
578
+ operationId: jobs
579
+ responses:
580
+ '200':
581
+ description: Successful Response
582
+ content:
583
+ application/json:
584
+ schema:
585
+ $ref: '#/components/schemas/JobCollectionResponse'
586
+ security:
587
+ - OAuth2PasswordBearer: []
588
+ - HTTPBearer: []
589
+ components:
590
+ schemas:
591
+ BundleInfo:
592
+ properties:
593
+ name:
594
+ type: string
595
+ title: Name
596
+ version:
597
+ anyOf:
598
+ - type: string
599
+ - type: 'null'
600
+ title: Version
601
+ type: object
602
+ required:
603
+ - name
604
+ title: BundleInfo
605
+ description: Schema for telling task which bundle to run with.
606
+ EdgeJobFetched:
607
+ properties:
608
+ dag_id:
609
+ type: string
610
+ title: Dag ID
611
+ description: Identifier of the DAG to which the task belongs.
612
+ task_id:
613
+ type: string
614
+ title: Task ID
615
+ description: Task name in the DAG.
616
+ run_id:
617
+ type: string
618
+ title: Run ID
619
+ description: Run ID of the DAG execution.
620
+ map_index:
621
+ type: integer
622
+ title: Map Index
623
+ description: For dynamically mapped tasks the mapping number, -1 if the
624
+ task is not mapped.
625
+ try_number:
626
+ type: integer
627
+ title: Try Number
628
+ description: The number of attempt to execute this task.
629
+ command:
630
+ $ref: '#/components/schemas/ExecuteTask'
631
+ title: Command
632
+ description: Command line to use to execute the job in Airflow 2. Task definition
633
+ in Airflow 3
634
+ concurrency_slots:
635
+ type: integer
636
+ title: Concurrency Slots
637
+ description: Number of concurrency slots the job requires.
638
+ type: object
639
+ required:
640
+ - dag_id
641
+ - task_id
642
+ - run_id
643
+ - map_index
644
+ - try_number
645
+ - command
646
+ - concurrency_slots
647
+ title: EdgeJobFetched
648
+ description: Job that is to be executed on the edge worker.
649
+ EdgeWorkerState:
650
+ type: string
651
+ enum:
652
+ - starting
653
+ - running
654
+ - idle
655
+ - shutdown request
656
+ - terminating
657
+ - offline
658
+ - unknown
659
+ - maintenance request
660
+ - maintenance pending
661
+ - maintenance mode
662
+ - maintenance exit
663
+ - offline maintenance
664
+ title: EdgeWorkerState
665
+ description: Status of a Edge Worker instance.
666
+ ExecuteTask:
667
+ properties:
668
+ token:
669
+ type: string
670
+ title: Token
671
+ ti:
672
+ $ref: '#/components/schemas/TaskInstance'
673
+ dag_rel_path:
674
+ type: string
675
+ format: path
676
+ title: Dag Rel Path
677
+ bundle_info:
678
+ $ref: '#/components/schemas/BundleInfo'
679
+ log_path:
680
+ anyOf:
681
+ - type: string
682
+ - type: 'null'
683
+ title: Log Path
684
+ type:
685
+ type: string
686
+ const: ExecuteTask
687
+ title: Type
688
+ default: ExecuteTask
689
+ type: object
690
+ required:
691
+ - token
692
+ - ti
693
+ - dag_rel_path
694
+ - bundle_info
695
+ - log_path
696
+ title: ExecuteTask
697
+ description: Execute the given Task.
698
+ HTTPExceptionResponse:
699
+ properties:
700
+ detail:
701
+ anyOf:
702
+ - type: string
703
+ - additionalProperties: true
704
+ type: object
705
+ title: Detail
706
+ type: object
707
+ required:
708
+ - detail
709
+ title: HTTPExceptionResponse
710
+ description: HTTPException Model used for error response.
711
+ HTTPValidationError:
712
+ properties:
713
+ detail:
714
+ items:
715
+ $ref: '#/components/schemas/ValidationError'
716
+ type: array
717
+ title: Detail
718
+ type: object
719
+ title: HTTPValidationError
720
+ Job:
721
+ properties:
722
+ dag_id:
723
+ type: string
724
+ title: Dag ID
725
+ description: Identifier of the DAG to which the task belongs.
726
+ task_id:
727
+ type: string
728
+ title: Task ID
729
+ description: Task name in the DAG.
730
+ run_id:
731
+ type: string
732
+ title: Run ID
733
+ description: Run ID of the DAG execution.
734
+ map_index:
735
+ type: integer
736
+ title: Map Index
737
+ description: For dynamically mapped tasks the mapping number, -1 if the
738
+ task is not mapped.
739
+ try_number:
740
+ type: integer
741
+ title: Try Number
742
+ description: The number of attempt to execute this task.
743
+ state:
744
+ $ref: '#/components/schemas/TaskInstanceState'
745
+ description: State of the job from the view of the executor.
746
+ queue:
747
+ type: string
748
+ title: Queue
749
+ description: Queue for which the task is scheduled/running.
750
+ queued_dttm:
751
+ anyOf:
752
+ - type: string
753
+ format: date-time
754
+ - type: 'null'
755
+ title: Queued Dttm
756
+ description: When the job was queued.
757
+ edge_worker:
758
+ anyOf:
759
+ - type: string
760
+ - type: 'null'
761
+ title: Edge Worker
762
+ description: The worker processing the job during execution.
763
+ last_update:
764
+ anyOf:
765
+ - type: string
766
+ format: date-time
767
+ - type: 'null'
768
+ title: Last Update
769
+ description: Last heartbeat of the job.
770
+ type: object
771
+ required:
772
+ - dag_id
773
+ - task_id
774
+ - run_id
775
+ - map_index
776
+ - try_number
777
+ - state
778
+ - queue
779
+ title: Job
780
+ description: Details of the job sent to the scheduler.
781
+ JobCollectionResponse:
782
+ properties:
783
+ jobs:
784
+ items:
785
+ $ref: '#/components/schemas/Job'
786
+ type: array
787
+ title: Jobs
788
+ total_entries:
789
+ type: integer
790
+ title: Total Entries
791
+ type: object
792
+ required:
793
+ - jobs
794
+ - total_entries
795
+ title: JobCollectionResponse
796
+ description: Job Collection serializer.
797
+ PushLogsBody:
798
+ properties:
799
+ log_chunk_time:
800
+ type: string
801
+ format: date-time
802
+ title: Log Chunk Time
803
+ description: Time of the log chunk at point of sending.
804
+ log_chunk_data:
805
+ type: string
806
+ title: Log Chunk Data
807
+ description: Log chunk data as incremental log text.
808
+ type: object
809
+ required:
810
+ - log_chunk_time
811
+ - log_chunk_data
812
+ title: PushLogsBody
813
+ description: Incremental new log content from worker.
814
+ TaskInstance:
815
+ properties:
816
+ id:
817
+ type: string
818
+ format: uuid
819
+ title: Id
820
+ dag_version_id:
821
+ type: string
822
+ format: uuid
823
+ title: Dag Version Id
824
+ task_id:
825
+ type: string
826
+ title: Task Id
827
+ dag_id:
828
+ type: string
829
+ title: Dag Id
830
+ run_id:
831
+ type: string
832
+ title: Run Id
833
+ try_number:
834
+ type: integer
835
+ title: Try Number
836
+ map_index:
837
+ type: integer
838
+ title: Map Index
839
+ default: -1
840
+ pool_slots:
841
+ type: integer
842
+ title: Pool Slots
843
+ queue:
844
+ type: string
845
+ title: Queue
846
+ priority_weight:
847
+ type: integer
848
+ title: Priority Weight
849
+ parent_context_carrier:
850
+ anyOf:
851
+ - additionalProperties: true
852
+ type: object
853
+ - type: 'null'
854
+ title: Parent Context Carrier
855
+ context_carrier:
856
+ anyOf:
857
+ - additionalProperties: true
858
+ type: object
859
+ - type: 'null'
860
+ title: Context Carrier
861
+ type: object
862
+ required:
863
+ - id
864
+ - dag_version_id
865
+ - task_id
866
+ - dag_id
867
+ - run_id
868
+ - try_number
869
+ - pool_slots
870
+ - queue
871
+ - priority_weight
872
+ title: TaskInstance
873
+ description: Schema for TaskInstance with minimal required fields needed for
874
+ Executors and Task SDK.
875
+ TaskInstanceState:
876
+ type: string
877
+ enum:
878
+ - removed
879
+ - scheduled
880
+ - queued
881
+ - running
882
+ - success
883
+ - restarting
884
+ - failed
885
+ - up_for_retry
886
+ - up_for_reschedule
887
+ - upstream_failed
888
+ - skipped
889
+ - deferred
890
+ title: TaskInstanceState
891
+ description: 'All possible states that a Task Instance can be in.
892
+
893
+
894
+ Note that None is also allowed, so always use this in a type hint with Optional.'
895
+ ValidationError:
896
+ properties:
897
+ loc:
898
+ items:
899
+ anyOf:
900
+ - type: string
901
+ - type: integer
902
+ type: array
903
+ title: Location
904
+ msg:
905
+ type: string
906
+ title: Message
907
+ type:
908
+ type: string
909
+ title: Error Type
910
+ type: object
911
+ required:
912
+ - loc
913
+ - msg
914
+ - type
915
+ title: ValidationError
916
+ Worker:
917
+ properties:
918
+ queues:
919
+ anyOf:
920
+ - items:
921
+ type: string
922
+ type: array
923
+ - type: 'null'
924
+ title: Queues
925
+ description: List of queues the worker is pulling jobs from. If not provided,
926
+ worker pulls from all queues.
927
+ state:
928
+ $ref: '#/components/schemas/EdgeWorkerState'
929
+ description: State of the worker from the view of the worker.
930
+ jobs_active:
931
+ type: integer
932
+ title: Jobs Active
933
+ description: Number of active jobs the worker is running.
934
+ default: 0
935
+ sysinfo:
936
+ additionalProperties:
937
+ anyOf:
938
+ - type: string
939
+ - type: integer
940
+ type: object
941
+ title: Sysinfo
942
+ description: System information of the worker.
943
+ examples:
944
+ - airflow_version: 2.0.0
945
+ concurrency: 4
946
+ edge_provider_version: 1.0.0
947
+ free_concurrency: 3
948
+ maintenance_comments:
949
+ anyOf:
950
+ - type: string
951
+ - type: 'null'
952
+ title: Maintenance Comments
953
+ description: Comments about the maintenance state of the worker.
954
+ worker_name:
955
+ type: string
956
+ title: Worker Name
957
+ description: Name of the worker.
958
+ first_online:
959
+ anyOf:
960
+ - type: string
961
+ format: date-time
962
+ - type: 'null'
963
+ title: First Online
964
+ description: When the worker was first online.
965
+ last_heartbeat:
966
+ anyOf:
967
+ - type: string
968
+ format: date-time
969
+ - type: 'null'
970
+ title: Last Heartbeat
971
+ description: When the worker last sent a heartbeat.
972
+ type: object
973
+ required:
974
+ - state
975
+ - sysinfo
976
+ - worker_name
977
+ title: Worker
978
+ description: Details of the worker state sent to the scheduler.
979
+ WorkerCollectionResponse:
980
+ properties:
981
+ workers:
982
+ items:
983
+ $ref: '#/components/schemas/Worker'
984
+ type: array
985
+ title: Workers
986
+ total_entries:
987
+ type: integer
988
+ title: Total Entries
989
+ type: object
990
+ required:
991
+ - workers
992
+ - total_entries
993
+ title: WorkerCollectionResponse
994
+ description: Worker Collection serializer.
995
+ WorkerQueueUpdateBody:
996
+ properties:
997
+ new_queues:
998
+ anyOf:
999
+ - items:
1000
+ type: string
1001
+ type: array
1002
+ - type: 'null'
1003
+ title: New Queues
1004
+ description: Additional queues to be added to worker.
1005
+ remove_queues:
1006
+ anyOf:
1007
+ - items:
1008
+ type: string
1009
+ type: array
1010
+ - type: 'null'
1011
+ title: Remove Queues
1012
+ description: Queues to remove from worker.
1013
+ type: object
1014
+ required:
1015
+ - new_queues
1016
+ - remove_queues
1017
+ title: WorkerQueueUpdateBody
1018
+ description: Changed queues for the worker.
1019
+ WorkerQueuesBody:
1020
+ properties:
1021
+ queues:
1022
+ anyOf:
1023
+ - items:
1024
+ type: string
1025
+ type: array
1026
+ - type: 'null'
1027
+ title: Queues
1028
+ description: List of queues the worker is pulling jobs from. If not provided,
1029
+ worker pulls from all queues.
1030
+ free_concurrency:
1031
+ type: integer
1032
+ title: Free Concurrency
1033
+ description: Number of free concurrency slots on the worker.
1034
+ type: object
1035
+ required:
1036
+ - free_concurrency
1037
+ title: WorkerQueuesBody
1038
+ description: Queues that a worker supports to run jobs on.
1039
+ WorkerRegistrationReturn:
1040
+ properties:
1041
+ last_update:
1042
+ type: string
1043
+ format: date-time
1044
+ title: Last Update
1045
+ description: Time of the last update of the worker.
1046
+ type: object
1047
+ required:
1048
+ - last_update
1049
+ title: WorkerRegistrationReturn
1050
+ description: The return class for the worker registration.
1051
+ WorkerSetStateReturn:
1052
+ properties:
1053
+ state:
1054
+ $ref: '#/components/schemas/EdgeWorkerState'
1055
+ description: State of the worker from the view of the server.
1056
+ queues:
1057
+ anyOf:
1058
+ - items:
1059
+ type: string
1060
+ type: array
1061
+ - type: 'null'
1062
+ title: Queues
1063
+ description: List of queues the worker is pulling jobs from. If not provided,
1064
+ worker pulls from all queues.
1065
+ maintenance_comments:
1066
+ anyOf:
1067
+ - type: string
1068
+ - type: 'null'
1069
+ title: Maintenance Comments
1070
+ description: Comments about the maintenance state of the worker.
1071
+ type: object
1072
+ required:
1073
+ - state
1074
+ - queues
1075
+ title: WorkerSetStateReturn
1076
+ description: The return class for the worker set state.
1077
+ WorkerStateBody:
1078
+ properties:
1079
+ queues:
1080
+ anyOf:
1081
+ - items:
1082
+ type: string
1083
+ type: array
1084
+ - type: 'null'
1085
+ title: Queues
1086
+ description: List of queues the worker is pulling jobs from. If not provided,
1087
+ worker pulls from all queues.
1088
+ state:
1089
+ $ref: '#/components/schemas/EdgeWorkerState'
1090
+ description: State of the worker from the view of the worker.
1091
+ jobs_active:
1092
+ type: integer
1093
+ title: Jobs Active
1094
+ description: Number of active jobs the worker is running.
1095
+ default: 0
1096
+ sysinfo:
1097
+ additionalProperties:
1098
+ anyOf:
1099
+ - type: string
1100
+ - type: integer
1101
+ type: object
1102
+ title: Sysinfo
1103
+ description: System information of the worker.
1104
+ examples:
1105
+ - airflow_version: 2.0.0
1106
+ concurrency: 4
1107
+ edge_provider_version: 1.0.0
1108
+ free_concurrency: 3
1109
+ maintenance_comments:
1110
+ anyOf:
1111
+ - type: string
1112
+ - type: 'null'
1113
+ title: Maintenance Comments
1114
+ description: Comments about the maintenance state of the worker.
1115
+ type: object
1116
+ required:
1117
+ - state
1118
+ - sysinfo
1119
+ title: WorkerStateBody
1120
+ description: Details of the worker state sent to the scheduler.
1121
+ securitySchemes:
1122
+ OAuth2PasswordBearer:
1123
+ type: oauth2
1124
+ description: To authenticate Airflow API requests, clients must include a JWT
1125
+ (JSON Web Token) in the Authorization header of each request. This token is
1126
+ used to verify the identity of the client and ensure that they have the appropriate
1127
+ permissions to access the requested resources. You can use the endpoint ``POST
1128
+ /auth/token`` in order to generate a JWT token. Upon successful authentication,
1129
+ the server will issue a JWT token that contains the necessary information
1130
+ (such as user identity and scope) to authenticate subsequent requests. To
1131
+ learn more about Airflow public API authentication, please read https://airflow.apache.org/docs/apache-airflow/stable/security/api.html.
1132
+ flows:
1133
+ password:
1134
+ scopes: {}
1135
+ tokenUrl: /auth/token
1136
+ HTTPBearer:
1137
+ type: http
1138
+ scheme: bearer