apache-airflow-providers-edge3 1.1.3__py3-none-any.whl → 1.2.0__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.
- airflow/providers/edge3/__init__.py +1 -1
- airflow/providers/edge3/cli/worker.py +6 -2
- airflow/providers/edge3/example_dags/integration_test.py +6 -2
- airflow/providers/edge3/example_dags/win_test.py +6 -1
- airflow/providers/edge3/openapi/v2-edge-generated.yaml +1138 -0
- airflow/providers/edge3/plugins/edge_executor_plugin.py +43 -3
- airflow/providers/edge3/plugins/www/.gitignore +27 -0
- airflow/providers/edge3/plugins/www/.prettierignore +6 -0
- airflow/providers/edge3/plugins/www/.prettierrc +13 -0
- airflow/providers/edge3/plugins/www/README.md +141 -0
- airflow/providers/edge3/plugins/www/dist/main.d.ts +1 -0
- airflow/providers/edge3/plugins/www/dist/main.umd.cjs +124 -0
- airflow/providers/edge3/plugins/www/eslint.config.js +54 -0
- airflow/providers/edge3/plugins/www/index.html +13 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +33 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +16 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +4 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +2 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +16 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +87 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +16 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +21 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +21 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +7 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +126 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +57 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +347 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +7 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +700 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +289 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +655 -0
- airflow/providers/edge3/plugins/www/package.json +80 -0
- airflow/providers/edge3/plugins/www/pnpm-lock.yaml +6653 -0
- airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +66 -0
- airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +43 -0
- airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +58 -0
- airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +71 -0
- airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +57 -0
- airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +62 -0
- airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +32 -0
- airflow/providers/edge3/plugins/www/src/components/ui/index.ts +20 -0
- airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +24 -0
- airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +21 -0
- airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +32 -0
- airflow/providers/edge3/plugins/www/src/dev.tsx +29 -0
- airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +44 -0
- airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +63 -0
- airflow/providers/edge3/plugins/www/src/main.tsx +58 -0
- airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +88 -0
- airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +105 -0
- airflow/providers/edge3/plugins/www/src/res/README.md +24 -0
- airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +3 -0
- airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +3 -0
- airflow/providers/edge3/plugins/www/src/theme.ts +176 -0
- airflow/providers/edge3/plugins/www/src/utils/config.ts +23 -0
- airflow/providers/edge3/plugins/www/src/utils/index.ts +22 -0
- airflow/providers/edge3/plugins/www/src/utils/tokenHandler.ts +51 -0
- airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +43 -0
- airflow/providers/edge3/plugins/www/src/vite-env.d.ts +20 -0
- airflow/providers/edge3/plugins/www/testsSetup.ts +19 -0
- airflow/providers/edge3/plugins/www/tsconfig.app.json +31 -0
- airflow/providers/edge3/plugins/www/tsconfig.json +8 -0
- airflow/providers/edge3/plugins/www/tsconfig.lib.json +15 -0
- airflow/providers/edge3/plugins/www/tsconfig.node.json +29 -0
- airflow/providers/edge3/plugins/www/vite.config.ts +95 -0
- airflow/providers/edge3/version_compat.py +1 -0
- airflow/providers/edge3/worker_api/app.py +34 -8
- airflow/providers/edge3/worker_api/datamodels_ui.py +67 -0
- airflow/providers/edge3/worker_api/routes/health.py +1 -1
- airflow/providers/edge3/worker_api/routes/ui.py +102 -0
- {apache_airflow_providers_edge3-1.1.3.dist-info → apache_airflow_providers_edge3-1.2.0.dist-info}/METADATA +7 -8
- apache_airflow_providers_edge3-1.2.0.dist-info/RECORD +103 -0
- apache_airflow_providers_edge3-1.1.3.dist-info/RECORD +0 -41
- {apache_airflow_providers_edge3-1.1.3.dist-info → apache_airflow_providers_edge3-1.2.0.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_edge3-1.1.3.dist-info → apache_airflow_providers_edge3-1.2.0.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
|