apache-airflow-providers-edge3 1.0.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 (39) hide show
  1. airflow/providers/edge3/LICENSE +201 -0
  2. airflow/providers/edge3/__init__.py +39 -0
  3. airflow/providers/edge3/cli/__init__.py +16 -0
  4. airflow/providers/edge3/cli/api_client.py +206 -0
  5. airflow/providers/edge3/cli/dataclasses.py +95 -0
  6. airflow/providers/edge3/cli/edge_command.py +689 -0
  7. airflow/providers/edge3/example_dags/__init__.py +16 -0
  8. airflow/providers/edge3/example_dags/integration_test.py +164 -0
  9. airflow/providers/edge3/example_dags/win_notepad.py +83 -0
  10. airflow/providers/edge3/example_dags/win_test.py +342 -0
  11. airflow/providers/edge3/executors/__init__.py +22 -0
  12. airflow/providers/edge3/executors/edge_executor.py +367 -0
  13. airflow/providers/edge3/get_provider_info.py +99 -0
  14. airflow/providers/edge3/models/__init__.py +16 -0
  15. airflow/providers/edge3/models/edge_job.py +94 -0
  16. airflow/providers/edge3/models/edge_logs.py +73 -0
  17. airflow/providers/edge3/models/edge_worker.py +230 -0
  18. airflow/providers/edge3/openapi/__init__.py +19 -0
  19. airflow/providers/edge3/openapi/edge_worker_api_v1.yaml +808 -0
  20. airflow/providers/edge3/plugins/__init__.py +16 -0
  21. airflow/providers/edge3/plugins/edge_executor_plugin.py +229 -0
  22. airflow/providers/edge3/plugins/templates/edge_worker_hosts.html +175 -0
  23. airflow/providers/edge3/plugins/templates/edge_worker_jobs.html +69 -0
  24. airflow/providers/edge3/version_compat.py +36 -0
  25. airflow/providers/edge3/worker_api/__init__.py +17 -0
  26. airflow/providers/edge3/worker_api/app.py +43 -0
  27. airflow/providers/edge3/worker_api/auth.py +135 -0
  28. airflow/providers/edge3/worker_api/datamodels.py +190 -0
  29. airflow/providers/edge3/worker_api/routes/__init__.py +16 -0
  30. airflow/providers/edge3/worker_api/routes/_v2_compat.py +135 -0
  31. airflow/providers/edge3/worker_api/routes/_v2_routes.py +237 -0
  32. airflow/providers/edge3/worker_api/routes/health.py +28 -0
  33. airflow/providers/edge3/worker_api/routes/jobs.py +162 -0
  34. airflow/providers/edge3/worker_api/routes/logs.py +133 -0
  35. airflow/providers/edge3/worker_api/routes/worker.py +224 -0
  36. apache_airflow_providers_edge3-1.0.0rc1.dist-info/METADATA +117 -0
  37. apache_airflow_providers_edge3-1.0.0rc1.dist-info/RECORD +39 -0
  38. apache_airflow_providers_edge3-1.0.0rc1.dist-info/WHEEL +4 -0
  39. apache_airflow_providers_edge3-1.0.0rc1.dist-info/entry_points.txt +6 -0
@@ -0,0 +1,808 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ ---
19
+ openapi: 3.0.2
20
+ info:
21
+ title: Airflow Edge Worker API
22
+ version: 1.0.0
23
+ description: |
24
+ This is Airflow Edge Worker API - which is a the access endpoint for workers
25
+ running on remote sites serving for Apache Airflow jobs. It also proxies internal API
26
+ to edge endpoints.
27
+
28
+ It is not intended to be used by any external code.
29
+
30
+ You can find more information in AIP-69
31
+ https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=301795932
32
+
33
+
34
+ servers:
35
+ - url: /edge_worker/v1
36
+ description: Airflow Edge Worker API
37
+ paths:
38
+ /worker/{worker_name}:
39
+ patch:
40
+ description: Set state of worker and returns the current assigned queues.
41
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes._v2_routes
42
+ operationId: set_state_v2
43
+ parameters:
44
+ - description: Hostname or instance name of the worker
45
+ in: path
46
+ name: worker_name
47
+ required: true
48
+ schema:
49
+ description: Hostname or instance name of the worker
50
+ title: Worker Name
51
+ type: string
52
+ - description: JWT Authorization Token
53
+ in: header
54
+ name: authorization
55
+ required: true
56
+ schema:
57
+ description: JWT Authorization Token
58
+ title: Authorization
59
+ type: string
60
+ requestBody:
61
+ content:
62
+ application/json:
63
+ schema:
64
+ $ref: '#/components/schemas/WorkerStateBody'
65
+ description: State of the worker with details
66
+ examples:
67
+ - jobs_active: 3
68
+ queues:
69
+ - large_node
70
+ - wisconsin_site
71
+ state: running
72
+ sysinfo:
73
+ airflow_version: 2.10.0
74
+ concurrency: 4
75
+ edge_provider_version: 1.0.0
76
+ title: Worker State
77
+ required: true
78
+ responses:
79
+ '200':
80
+ content:
81
+ application/json:
82
+ schema:
83
+ $ref: '#/components/schemas/WorkerSetStateReturn'
84
+ description: Successful Response
85
+ '400':
86
+ content:
87
+ application/json:
88
+ schema:
89
+ $ref: '#/components/schemas/HTTPExceptionResponse'
90
+ description: Bad Request
91
+ '403':
92
+ content:
93
+ application/json:
94
+ schema:
95
+ $ref: '#/components/schemas/HTTPExceptionResponse'
96
+ description: Forbidden
97
+ '422':
98
+ content:
99
+ application/json:
100
+ schema:
101
+ $ref: '#/components/schemas/HTTPValidationError'
102
+ description: Validation Error
103
+ summary: Set State
104
+ tags:
105
+ - Worker
106
+ post:
107
+ description: Register a new worker to the backend.
108
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes._v2_routes
109
+ operationId: register_v2
110
+ parameters:
111
+ - description: Hostname or instance name of the worker
112
+ in: path
113
+ name: worker_name
114
+ required: true
115
+ schema:
116
+ description: Hostname or instance name of the worker
117
+ title: Worker Name
118
+ type: string
119
+ - description: JWT Authorization Token
120
+ in: header
121
+ name: authorization
122
+ required: true
123
+ schema:
124
+ description: JWT Authorization Token
125
+ title: Authorization
126
+ type: string
127
+ requestBody:
128
+ content:
129
+ application/json:
130
+ schema:
131
+ $ref: '#/components/schemas/WorkerStateBody'
132
+ description: State of the worker with details
133
+ examples:
134
+ - jobs_active: 3
135
+ queues:
136
+ - large_node
137
+ - wisconsin_site
138
+ state: running
139
+ sysinfo:
140
+ airflow_version: 2.10.0
141
+ concurrency: 4
142
+ edge_provider_version: 1.0.0
143
+ title: Worker State
144
+ required: true
145
+ responses:
146
+ '200':
147
+ content:
148
+ application/json:
149
+ schema:
150
+ $ref: "#/components/schemas/WorkerRegistrationReturn"
151
+ description: Registration response with the last update time of the worker.
152
+ examples:
153
+ - last_update: "2025-04-04T13:59:58.773870"
154
+ title: Worker Registration
155
+ description: Successful Response
156
+ '400':
157
+ content:
158
+ application/json:
159
+ schema:
160
+ $ref: '#/components/schemas/HTTPExceptionResponse'
161
+ description: Bad Request
162
+ '403':
163
+ content:
164
+ application/json:
165
+ schema:
166
+ $ref: '#/components/schemas/HTTPExceptionResponse'
167
+ description: Forbidden
168
+ '422':
169
+ content:
170
+ application/json:
171
+ schema:
172
+ $ref: '#/components/schemas/HTTPValidationError'
173
+ description: Validation Error
174
+ summary: Register
175
+ tags:
176
+ - Worker
177
+ /jobs/fetch/{worker_name}:
178
+ post:
179
+ description: Fetch a job to execute on the edge worker.
180
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes._v2_routes
181
+ operationId: job_fetch_v2
182
+ parameters:
183
+ - in: path
184
+ name: worker_name
185
+ required: true
186
+ schema:
187
+ title: Worker Name
188
+ type: string
189
+ - description: JWT Authorization Token
190
+ in: header
191
+ name: authorization
192
+ required: true
193
+ schema:
194
+ description: JWT Authorization Token
195
+ title: Authorization
196
+ type: string
197
+ requestBody:
198
+ content:
199
+ application/json:
200
+ schema:
201
+ $ref: '#/components/schemas/WorkerQueuesBody'
202
+ description: The worker remote has no access to log sink and with this
203
+ can send log chunks to the central site.
204
+ title: Log data chunks
205
+ required: true
206
+ responses:
207
+ '200':
208
+ content:
209
+ application/json:
210
+ schema:
211
+ anyOf:
212
+ - $ref: '#/components/schemas/EdgeJobFetched'
213
+ - type: object
214
+ nullable: true
215
+ title: Response Fetch
216
+ description: Successful Response
217
+ '400':
218
+ content:
219
+ application/json:
220
+ schema:
221
+ $ref: '#/components/schemas/HTTPExceptionResponse'
222
+ description: Bad Request
223
+ '403':
224
+ content:
225
+ application/json:
226
+ schema:
227
+ $ref: '#/components/schemas/HTTPExceptionResponse'
228
+ description: Forbidden
229
+ '422':
230
+ content:
231
+ application/json:
232
+ schema:
233
+ $ref: '#/components/schemas/HTTPValidationError'
234
+ description: Validation Error
235
+ summary: Fetch
236
+ tags:
237
+ - Jobs
238
+ /jobs/state/{dag_id}/{task_id}/{run_id}/{try_number}/{map_index}/{state}:
239
+ patch:
240
+ description: Update the state of a job running on the edge worker.
241
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes._v2_routes
242
+ operationId: job_state_v2
243
+ parameters:
244
+ - description: Identifier of the DAG to which the task belongs.
245
+ in: path
246
+ name: dag_id
247
+ required: true
248
+ schema:
249
+ description: Identifier of the DAG to which the task belongs.
250
+ title: Dag ID
251
+ type: string
252
+ - description: Task name in the DAG.
253
+ in: path
254
+ name: task_id
255
+ required: true
256
+ schema:
257
+ description: Task name in the DAG.
258
+ title: Task ID
259
+ type: string
260
+ - description: Run ID of the DAG execution.
261
+ in: path
262
+ name: run_id
263
+ required: true
264
+ schema:
265
+ description: Run ID of the DAG execution.
266
+ title: Run ID
267
+ type: string
268
+ - description: The number of attempt to execute this task.
269
+ in: path
270
+ name: try_number
271
+ required: true
272
+ schema:
273
+ description: The number of attempt to execute this task.
274
+ title: Try Number
275
+ type: integer
276
+ - description: For dynamically mapped tasks the mapping number, -1 if the task
277
+ is not mapped.
278
+ in: path
279
+ name: map_index
280
+ required: true
281
+ schema:
282
+ description: For dynamically mapped tasks the mapping number, -1 if the
283
+ task is not mapped.
284
+ title: Map Index
285
+ type: string # This should be integer, but Connexion/Flask do not support negative integers in path parameters
286
+ - description: State of the assigned task under execution.
287
+ in: path
288
+ name: state
289
+ required: true
290
+ schema:
291
+ $ref: '#/components/schemas/TaskInstanceState'
292
+ description: State of the assigned task under execution.
293
+ title: Task State
294
+ - description: JWT Authorization Token
295
+ in: header
296
+ name: authorization
297
+ required: true
298
+ schema:
299
+ description: JWT Authorization Token
300
+ title: Authorization
301
+ type: string
302
+ responses:
303
+ '200':
304
+ content:
305
+ application/json:
306
+ schema:
307
+ title: Response State
308
+ type: object
309
+ nullable: true
310
+ description: Successful Response
311
+ '400':
312
+ content:
313
+ application/json:
314
+ schema:
315
+ $ref: '#/components/schemas/HTTPExceptionResponse'
316
+ description: Bad Request
317
+ '403':
318
+ content:
319
+ application/json:
320
+ schema:
321
+ $ref: '#/components/schemas/HTTPExceptionResponse'
322
+ description: Forbidden
323
+ '422':
324
+ content:
325
+ application/json:
326
+ schema:
327
+ $ref: '#/components/schemas/HTTPValidationError'
328
+ description: Validation Error
329
+ summary: State
330
+ tags:
331
+ - Jobs
332
+ /logs/logfile_path/{dag_id}/{task_id}/{run_id}/{try_number}/{map_index}:
333
+ get:
334
+ description: Elaborate the path and filename to expect from task execution.
335
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes._v2_routes
336
+ operationId: logfile_path_v2
337
+ parameters:
338
+ - description: Identifier of the DAG to which the task belongs.
339
+ in: path
340
+ name: dag_id
341
+ required: true
342
+ schema:
343
+ description: Identifier of the DAG to which the task belongs.
344
+ title: Dag ID
345
+ type: string
346
+ - description: Task name in the DAG.
347
+ in: path
348
+ name: task_id
349
+ required: true
350
+ schema:
351
+ description: Task name in the DAG.
352
+ title: Task ID
353
+ type: string
354
+ - description: Run ID of the DAG execution.
355
+ in: path
356
+ name: run_id
357
+ required: true
358
+ schema:
359
+ description: Run ID of the DAG execution.
360
+ title: Run ID
361
+ type: string
362
+ - description: The number of attempt to execute this task.
363
+ in: path
364
+ name: try_number
365
+ required: true
366
+ schema:
367
+ description: The number of attempt to execute this task.
368
+ title: Try Number
369
+ type: integer
370
+ - description: For dynamically mapped tasks the mapping number, -1 if the task
371
+ is not mapped.
372
+ in: path
373
+ name: map_index
374
+ required: true
375
+ schema:
376
+ description: For dynamically mapped tasks the mapping number, -1 if the
377
+ task is not mapped.
378
+ title: Map Index
379
+ type: string # This should be integer, but Connexion/Flask do not support negative integers in path parameters
380
+ - description: JWT Authorization Token
381
+ in: header
382
+ name: authorization
383
+ required: true
384
+ schema:
385
+ description: JWT Authorization Token
386
+ title: Authorization
387
+ type: string
388
+ responses:
389
+ '200':
390
+ content:
391
+ application/json:
392
+ schema:
393
+ title: Response Logfile Path
394
+ type: string
395
+ description: Successful Response
396
+ '400':
397
+ content:
398
+ application/json:
399
+ schema:
400
+ $ref: '#/components/schemas/HTTPExceptionResponse'
401
+ description: Bad Request
402
+ '403':
403
+ content:
404
+ application/json:
405
+ schema:
406
+ $ref: '#/components/schemas/HTTPExceptionResponse'
407
+ description: Forbidden
408
+ '422':
409
+ content:
410
+ application/json:
411
+ schema:
412
+ $ref: '#/components/schemas/HTTPValidationError'
413
+ description: Validation Error
414
+ summary: Logfile Path
415
+ tags:
416
+ - Logs
417
+ /logs/push/{dag_id}/{task_id}/{run_id}/{try_number}/{map_index}:
418
+ post:
419
+ description: Push an incremental log chunk from Edge Worker to central site.
420
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes._v2_routes
421
+ operationId: push_logs_v2
422
+ parameters:
423
+ - description: Identifier of the DAG to which the task belongs.
424
+ in: path
425
+ name: dag_id
426
+ required: true
427
+ schema:
428
+ description: Identifier of the DAG to which the task belongs.
429
+ title: Dag ID
430
+ type: string
431
+ - description: Task name in the DAG.
432
+ in: path
433
+ name: task_id
434
+ required: true
435
+ schema:
436
+ description: Task name in the DAG.
437
+ title: Task ID
438
+ type: string
439
+ - description: Run ID of the DAG execution.
440
+ in: path
441
+ name: run_id
442
+ required: true
443
+ schema:
444
+ description: Run ID of the DAG execution.
445
+ title: Run ID
446
+ type: string
447
+ - description: The number of attempt to execute this task.
448
+ in: path
449
+ name: try_number
450
+ required: true
451
+ schema:
452
+ description: The number of attempt to execute this task.
453
+ title: Try Number
454
+ type: integer
455
+ - description: For dynamically mapped tasks the mapping number, -1 if the task
456
+ is not mapped.
457
+ in: path
458
+ name: map_index
459
+ required: true
460
+ schema:
461
+ description: For dynamically mapped tasks the mapping number, -1 if the
462
+ task is not mapped.
463
+ title: Map Index
464
+ type: string # This should be integer, but Connexion/Flask do not support negative integers in path parameters
465
+ - description: JWT Authorization Token
466
+ in: header
467
+ name: authorization
468
+ required: true
469
+ schema:
470
+ description: JWT Authorization Token
471
+ title: Authorization
472
+ type: string
473
+ requestBody:
474
+ content:
475
+ application/json:
476
+ schema:
477
+ $ref: '#/components/schemas/PushLogsBody'
478
+ description: The worker remote has no access to log sink and with this
479
+ can send log chunks to the central site.
480
+ title: Log data chunks
481
+ required: true
482
+ responses:
483
+ '200':
484
+ content:
485
+ application/json:
486
+ schema:
487
+ title: Response Push Logs
488
+ type: object
489
+ nullable: true
490
+ description: Successful Response
491
+ '400':
492
+ content:
493
+ application/json:
494
+ schema:
495
+ $ref: '#/components/schemas/HTTPExceptionResponse'
496
+ description: Bad Request
497
+ '403':
498
+ content:
499
+ application/json:
500
+ schema:
501
+ $ref: '#/components/schemas/HTTPExceptionResponse'
502
+ description: Forbidden
503
+ '422':
504
+ content:
505
+ application/json:
506
+ schema:
507
+ $ref: '#/components/schemas/HTTPValidationError'
508
+ description: Validation Error
509
+ summary: Push Logs
510
+ tags:
511
+ - Logs
512
+ /rpcapi:
513
+ post:
514
+ deprecated: false
515
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes._v2_routes
516
+ operationId: rpcapi_v2
517
+ tags:
518
+ - JSONRPC
519
+ parameters: []
520
+ responses:
521
+ '200':
522
+ description: Successful response
523
+ requestBody:
524
+ x-body-name: body
525
+ required: true
526
+ content:
527
+ application/json:
528
+ schema:
529
+ type: object
530
+ required:
531
+ - method
532
+ - jsonrpc
533
+ - params
534
+ properties:
535
+ jsonrpc:
536
+ type: string
537
+ default: '2.0'
538
+ description: JSON-RPC Version (2.0)
539
+ method:
540
+ type: string
541
+ description: Method name
542
+ params:
543
+ title: Parameters
544
+ type: object
545
+ /health:
546
+ get:
547
+ operationId: health
548
+ deprecated: false
549
+ x-openapi-router-controller: airflow.providers.edge3.worker_api.routes.health
550
+ tags:
551
+ - JSONRPC
552
+ parameters: []
553
+ responses:
554
+ '200':
555
+ description: Successful response
556
+ x-headers: []
557
+ x-explorer-enabled: true
558
+ x-proxy-enabled: true
559
+ components:
560
+ schemas:
561
+ JsonRpcRequired:
562
+ type: object
563
+ required:
564
+ - method
565
+ - jsonrpc
566
+ properties:
567
+ method:
568
+ type: string
569
+ description: Method name
570
+ jsonrpc:
571
+ type: string
572
+ default: '2.0'
573
+ description: JSON-RPC Version (2.0)
574
+ discriminator:
575
+ propertyName: method_name
576
+ EdgeWorkerState:
577
+ description: Status of a Edge Worker instance.
578
+ enum:
579
+ - starting
580
+ - running
581
+ - idle
582
+ - terminating
583
+ - offline
584
+ - unknown
585
+ - maintenance mode
586
+ - maintenance request
587
+ - maintenance pending
588
+ - maintenance exit
589
+ - offline maintenance
590
+ title: EdgeWorkerState
591
+ type: string
592
+ WorkerStateBody:
593
+ description: Details of the worker state sent to the scheduler.
594
+ type: object
595
+ required:
596
+ - state
597
+ - queues
598
+ - sysinfo
599
+ properties:
600
+ jobs_active:
601
+ default: 0
602
+ description: Number of active jobs the worker is running.
603
+ title: Jobs Active
604
+ type: integer
605
+ queues:
606
+ anyOf:
607
+ - items:
608
+ type: string
609
+ type: array
610
+ - type: object
611
+ nullable: true
612
+ description: List of queues the worker is pulling jobs from. If not provided,
613
+ worker pulls from all queues.
614
+ title: Queues
615
+ state:
616
+ $ref: '#/components/schemas/EdgeWorkerState'
617
+ description: State of the worker from the view of the worker.
618
+ sysinfo:
619
+ description: System information of the worker.
620
+ title: Sysinfo
621
+ type: object
622
+ maintenance_comments:
623
+ description: Comments about the maintenance state of the worker.
624
+ title: Maintenance Comments
625
+ anyOf:
626
+ - type: string
627
+ - type: object
628
+ nullable: true
629
+ title: WorkerStateBody
630
+ WorkerQueuesBody:
631
+ description: Queues that a worker supports to run jobs on.
632
+ properties:
633
+ queues:
634
+ anyOf:
635
+ - items:
636
+ type: string
637
+ type: array
638
+ - type: object
639
+ nullable: true
640
+ description: List of queues the worker is pulling jobs from. If not provided,
641
+ worker pulls from all queues.
642
+ title: Queues
643
+ free_concurrency:
644
+ description: Number of free slots for running tasks.
645
+ title: Free Concurrency
646
+ type: integer
647
+ required:
648
+ - queues
649
+ - free_concurrency
650
+ title: WorkerQueuesBody
651
+ type: object
652
+ WorkerRegistrationReturn:
653
+ description: The response of the worker registration.
654
+ properties:
655
+ last_update:
656
+ description: Time of the last update of the worker.
657
+ format: date-time
658
+ title: Last Update
659
+ type: string
660
+ title: WorkerRegistrationReturn
661
+ WorkerSetStateReturn:
662
+ description: The state written in the database
663
+ properties:
664
+ queues:
665
+ anyOf:
666
+ - items:
667
+ type: string
668
+ type: array
669
+ - type: object
670
+ nullable: true
671
+ description: List of queues the worker is pulling jobs from. If not provided,
672
+ worker pulls from all queues.
673
+ title: Queues
674
+ state:
675
+ $ref: '#/components/schemas/EdgeWorkerState'
676
+ description: State of the worker from the view of the worker.
677
+ maintenance_comments:
678
+ description: Comments about the maintenance state of the worker.
679
+ title: Maintenance Comments
680
+ anyOf:
681
+ - type: string
682
+ - type: object
683
+ nullable: true
684
+ title: WorkerSetStateReturn
685
+ EdgeJobFetched:
686
+ description: Job that is to be executed on the edge worker.
687
+ properties:
688
+ command:
689
+ description: Command line to use to execute the job.
690
+ items:
691
+ type: string
692
+ title: Command
693
+ type: array
694
+ concurrency_slots:
695
+ description: Number of slots to use for the task.
696
+ title: Concurrency Slots
697
+ type: integer
698
+ dag_id:
699
+ description: Identifier of the DAG to which the task belongs.
700
+ title: Dag ID
701
+ type: string
702
+ map_index:
703
+ description: For dynamically mapped tasks the mapping number, -1 if the
704
+ task is not mapped.
705
+ title: Map Index
706
+ type: integer
707
+ run_id:
708
+ description: Run ID of the DAG execution.
709
+ title: Run ID
710
+ type: string
711
+ task_id:
712
+ description: Task name in the DAG.
713
+ title: Task ID
714
+ type: string
715
+ try_number:
716
+ description: The number of attempt to execute this task.
717
+ title: Try Number
718
+ type: integer
719
+ required:
720
+ - dag_id
721
+ - task_id
722
+ - run_id
723
+ - map_index
724
+ - try_number
725
+ - command
726
+ title: EdgeJobFetched
727
+ type: object
728
+ TaskInstanceState:
729
+ description: 'All possible states that a Task Instance can be in.
730
+
731
+
732
+ Note that None is also allowed, so always use this in a type hint with Optional.'
733
+ enum:
734
+ - removed
735
+ - scheduled
736
+ - queued
737
+ - running
738
+ - success
739
+ - restarting
740
+ - failed
741
+ - up_for_retry
742
+ - up_for_reschedule
743
+ - upstream_failed
744
+ - skipped
745
+ - deferred
746
+ title: TaskInstanceState
747
+ type: string
748
+ PushLogsBody:
749
+ description: Incremental new log content from worker.
750
+ properties:
751
+ log_chunk_data:
752
+ description: Log chunk data as incremental log text.
753
+ title: Log Chunk Data
754
+ type: string
755
+ log_chunk_time:
756
+ description: Time of the log chunk at point of sending.
757
+ format: date-time
758
+ title: Log Chunk Time
759
+ type: string
760
+ required:
761
+ - log_chunk_time
762
+ - log_chunk_data
763
+ title: PushLogsBody
764
+ type: object
765
+ HTTPExceptionResponse:
766
+ description: HTTPException Model used for error response.
767
+ properties:
768
+ detail:
769
+ anyOf:
770
+ - type: string
771
+ - type: object
772
+ title: Detail
773
+ required:
774
+ - detail
775
+ title: HTTPExceptionResponse
776
+ type: object
777
+ HTTPValidationError:
778
+ properties:
779
+ detail:
780
+ items:
781
+ $ref: '#/components/schemas/ValidationError'
782
+ title: Detail
783
+ type: array
784
+ title: HTTPValidationError
785
+ type: object
786
+ ValidationError:
787
+ properties:
788
+ loc:
789
+ items:
790
+ anyOf:
791
+ - type: string
792
+ - type: integer
793
+ title: Location
794
+ type: array
795
+ msg:
796
+ title: Message
797
+ type: string
798
+ type:
799
+ title: Error Type
800
+ type: string
801
+ required:
802
+ - loc
803
+ - msg
804
+ - type
805
+ title: ValidationError
806
+ type: object
807
+
808
+ tags: []