windmill-api 1.509.1__py3-none-any.whl → 1.510.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.
Files changed (64) hide show
  1. windmill_api/api/script/get_script_by_hash.py +15 -0
  2. windmill_api/models/completed_job.py +18 -0
  3. windmill_api/models/{get_job_updates_response_200_flow_status_additional_property.py → completed_job_workflow_as_code_status.py} +5 -5
  4. windmill_api/models/delete_completed_job_response_200.py +24 -0
  5. windmill_api/models/delete_completed_job_response_200_workflow_as_code_status.py +100 -0
  6. windmill_api/models/extended_jobs_jobs_item_type_0.py +22 -0
  7. windmill_api/models/extended_jobs_jobs_item_type_0_workflow_as_code_status.py +100 -0
  8. windmill_api/models/extended_jobs_jobs_item_type_1.py +22 -0
  9. windmill_api/models/extended_jobs_jobs_item_type_1_workflow_as_code_status.py +100 -0
  10. windmill_api/models/get_completed_job_response_200.py +22 -0
  11. windmill_api/models/get_completed_job_response_200_workflow_as_code_status.py +100 -0
  12. windmill_api/models/get_job_response_200_type_0.py +20 -0
  13. windmill_api/models/get_job_response_200_type_0_workflow_as_code_status.py +100 -0
  14. windmill_api/models/get_job_response_200_type_1.py +20 -0
  15. windmill_api/models/get_job_response_200_type_1_workflow_as_code_status.py +100 -0
  16. windmill_api/models/get_job_updates_response_200.py +22 -0
  17. windmill_api/models/get_job_updates_response_200_flow_status.py +107 -25
  18. windmill_api/models/get_job_updates_response_200_flow_status_failure_module.py +241 -0
  19. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_approvers_item.py +65 -0
  20. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_branch_chosen.py +72 -0
  21. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_branch_chosen_type.py +9 -0
  22. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_branchall.py +65 -0
  23. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_iterator.py +77 -0
  24. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_type.py +13 -0
  25. windmill_api/models/get_job_updates_response_200_flow_status_modules_item.py +233 -0
  26. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_approvers_item.py +65 -0
  27. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_branch_chosen.py +72 -0
  28. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_branch_chosen_type.py +9 -0
  29. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_branchall.py +65 -0
  30. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_iterator.py +77 -0
  31. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_type.py +13 -0
  32. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module.py +235 -0
  33. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_approvers_item.py +65 -0
  34. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_branch_chosen.py +72 -0
  35. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_branch_chosen_type.py +9 -0
  36. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_branchall.py +65 -0
  37. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_iterator.py +77 -0
  38. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_type.py +13 -0
  39. windmill_api/models/get_job_updates_response_200_flow_status_retry.py +68 -0
  40. windmill_api/models/get_job_updates_response_200_workflow_as_code_status.py +100 -0
  41. windmill_api/models/get_suspended_job_flow_response_200_job_type_0.py +24 -0
  42. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_workflow_as_code_status.py +100 -0
  43. windmill_api/models/get_suspended_job_flow_response_200_job_type_1.py +24 -0
  44. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_workflow_as_code_status.py +100 -0
  45. windmill_api/models/job_type_0_workflow_as_code_status.py +100 -0
  46. windmill_api/models/job_type_1_workflow_as_code_status.py +100 -0
  47. windmill_api/models/list_completed_jobs_response_200_item.py +24 -0
  48. windmill_api/models/list_completed_jobs_response_200_item_workflow_as_code_status.py +100 -0
  49. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0.py +24 -0
  50. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_workflow_as_code_status.py +100 -0
  51. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1.py +24 -0
  52. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_workflow_as_code_status.py +100 -0
  53. windmill_api/models/list_jobs_response_200_item_type_0.py +24 -0
  54. windmill_api/models/list_jobs_response_200_item_type_0_workflow_as_code_status.py +100 -0
  55. windmill_api/models/list_jobs_response_200_item_type_1.py +24 -0
  56. windmill_api/models/list_jobs_response_200_item_type_1_workflow_as_code_status.py +100 -0
  57. windmill_api/models/list_queue_response_200_item.py +22 -0
  58. windmill_api/models/list_queue_response_200_item_workflow_as_code_status.py +100 -0
  59. windmill_api/models/queued_job.py +18 -0
  60. windmill_api/models/queued_job_workflow_as_code_status.py +100 -0
  61. {windmill_api-1.509.1.dist-info → windmill_api-1.510.0.dist-info}/METADATA +1 -1
  62. {windmill_api-1.509.1.dist-info → windmill_api-1.510.0.dist-info}/RECORD +64 -24
  63. {windmill_api-1.509.1.dist-info → windmill_api-1.510.0.dist-info}/LICENSE +0 -0
  64. {windmill_api-1.509.1.dist-info → windmill_api-1.510.0.dist-info}/WHEEL +0 -0
@@ -13,6 +13,9 @@ if TYPE_CHECKING:
13
13
  from ..models.list_completed_jobs_response_200_item_args import ListCompletedJobsResponse200ItemArgs
14
14
  from ..models.list_completed_jobs_response_200_item_flow_status import ListCompletedJobsResponse200ItemFlowStatus
15
15
  from ..models.list_completed_jobs_response_200_item_raw_flow import ListCompletedJobsResponse200ItemRawFlow
16
+ from ..models.list_completed_jobs_response_200_item_workflow_as_code_status import (
17
+ ListCompletedJobsResponse200ItemWorkflowAsCodeStatus,
18
+ )
16
19
 
17
20
 
18
21
  T = TypeVar("T", bound="ListCompletedJobsResponse200Item")
@@ -50,6 +53,7 @@ class ListCompletedJobsResponse200Item:
50
53
  canceled_reason (Union[Unset, str]):
51
54
  schedule_path (Union[Unset, str]):
52
55
  flow_status (Union[Unset, ListCompletedJobsResponse200ItemFlowStatus]):
56
+ workflow_as_code_status (Union[Unset, ListCompletedJobsResponse200ItemWorkflowAsCodeStatus]):
53
57
  raw_flow (Union[Unset, ListCompletedJobsResponse200ItemRawFlow]):
54
58
  language (Union[Unset, ListCompletedJobsResponse200ItemLanguage]):
55
59
  mem_peak (Union[Unset, int]):
@@ -88,6 +92,7 @@ class ListCompletedJobsResponse200Item:
88
92
  canceled_reason: Union[Unset, str] = UNSET
89
93
  schedule_path: Union[Unset, str] = UNSET
90
94
  flow_status: Union[Unset, "ListCompletedJobsResponse200ItemFlowStatus"] = UNSET
95
+ workflow_as_code_status: Union[Unset, "ListCompletedJobsResponse200ItemWorkflowAsCodeStatus"] = UNSET
91
96
  raw_flow: Union[Unset, "ListCompletedJobsResponse200ItemRawFlow"] = UNSET
92
97
  language: Union[Unset, ListCompletedJobsResponse200ItemLanguage] = UNSET
93
98
  mem_peak: Union[Unset, int] = UNSET
@@ -136,6 +141,10 @@ class ListCompletedJobsResponse200Item:
136
141
  if not isinstance(self.flow_status, Unset):
137
142
  flow_status = self.flow_status.to_dict()
138
143
 
144
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
145
+ if not isinstance(self.workflow_as_code_status, Unset):
146
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
147
+
139
148
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
140
149
  if not isinstance(self.raw_flow, Unset):
141
150
  raw_flow = self.raw_flow.to_dict()
@@ -201,6 +210,8 @@ class ListCompletedJobsResponse200Item:
201
210
  field_dict["schedule_path"] = schedule_path
202
211
  if flow_status is not UNSET:
203
212
  field_dict["flow_status"] = flow_status
213
+ if workflow_as_code_status is not UNSET:
214
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
204
215
  if raw_flow is not UNSET:
205
216
  field_dict["raw_flow"] = raw_flow
206
217
  if language is not UNSET:
@@ -229,6 +240,9 @@ class ListCompletedJobsResponse200Item:
229
240
  ListCompletedJobsResponse200ItemFlowStatus,
230
241
  )
231
242
  from ..models.list_completed_jobs_response_200_item_raw_flow import ListCompletedJobsResponse200ItemRawFlow
243
+ from ..models.list_completed_jobs_response_200_item_workflow_as_code_status import (
244
+ ListCompletedJobsResponse200ItemWorkflowAsCodeStatus,
245
+ )
232
246
 
233
247
  d = src_dict.copy()
234
248
  id = d.pop("id")
@@ -295,6 +309,15 @@ class ListCompletedJobsResponse200Item:
295
309
  else:
296
310
  flow_status = ListCompletedJobsResponse200ItemFlowStatus.from_dict(_flow_status)
297
311
 
312
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
313
+ workflow_as_code_status: Union[Unset, ListCompletedJobsResponse200ItemWorkflowAsCodeStatus]
314
+ if isinstance(_workflow_as_code_status, Unset):
315
+ workflow_as_code_status = UNSET
316
+ else:
317
+ workflow_as_code_status = ListCompletedJobsResponse200ItemWorkflowAsCodeStatus.from_dict(
318
+ _workflow_as_code_status
319
+ )
320
+
298
321
  _raw_flow = d.pop("raw_flow", UNSET)
299
322
  raw_flow: Union[Unset, ListCompletedJobsResponse200ItemRawFlow]
300
323
  if isinstance(_raw_flow, Unset):
@@ -351,6 +374,7 @@ class ListCompletedJobsResponse200Item:
351
374
  canceled_reason=canceled_reason,
352
375
  schedule_path=schedule_path,
353
376
  flow_status=flow_status,
377
+ workflow_as_code_status=workflow_as_code_status,
354
378
  raw_flow=raw_flow,
355
379
  language=language,
356
380
  mem_peak=mem_peak,
@@ -0,0 +1,100 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ListCompletedJobsResponse200ItemWorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class ListCompletedJobsResponse200ItemWorkflowAsCodeStatus:
15
+ """
16
+ Attributes:
17
+ scheduled_for (Union[Unset, datetime.datetime]):
18
+ started_at (Union[Unset, datetime.datetime]):
19
+ duration_ms (Union[Unset, float]):
20
+ name (Union[Unset, str]):
21
+ """
22
+
23
+ scheduled_for: Union[Unset, datetime.datetime] = UNSET
24
+ started_at: Union[Unset, datetime.datetime] = UNSET
25
+ duration_ms: Union[Unset, float] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ scheduled_for: Union[Unset, str] = UNSET
31
+ if not isinstance(self.scheduled_for, Unset):
32
+ scheduled_for = self.scheduled_for.isoformat()
33
+
34
+ started_at: Union[Unset, str] = UNSET
35
+ if not isinstance(self.started_at, Unset):
36
+ started_at = self.started_at.isoformat()
37
+
38
+ duration_ms = self.duration_ms
39
+ name = self.name
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update({})
44
+ if scheduled_for is not UNSET:
45
+ field_dict["scheduled_for"] = scheduled_for
46
+ if started_at is not UNSET:
47
+ field_dict["started_at"] = started_at
48
+ if duration_ms is not UNSET:
49
+ field_dict["duration_ms"] = duration_ms
50
+ if name is not UNSET:
51
+ field_dict["name"] = name
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ d = src_dict.copy()
58
+ _scheduled_for = d.pop("scheduled_for", UNSET)
59
+ scheduled_for: Union[Unset, datetime.datetime]
60
+ if isinstance(_scheduled_for, Unset):
61
+ scheduled_for = UNSET
62
+ else:
63
+ scheduled_for = isoparse(_scheduled_for)
64
+
65
+ _started_at = d.pop("started_at", UNSET)
66
+ started_at: Union[Unset, datetime.datetime]
67
+ if isinstance(_started_at, Unset):
68
+ started_at = UNSET
69
+ else:
70
+ started_at = isoparse(_started_at)
71
+
72
+ duration_ms = d.pop("duration_ms", UNSET)
73
+
74
+ name = d.pop("name", UNSET)
75
+
76
+ list_completed_jobs_response_200_item_workflow_as_code_status = cls(
77
+ scheduled_for=scheduled_for,
78
+ started_at=started_at,
79
+ duration_ms=duration_ms,
80
+ name=name,
81
+ )
82
+
83
+ list_completed_jobs_response_200_item_workflow_as_code_status.additional_properties = d
84
+ return list_completed_jobs_response_200_item_workflow_as_code_status
85
+
86
+ @property
87
+ def additional_keys(self) -> List[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.list_extended_jobs_response_200_jobs_item_type_0_raw_flow import (
25
25
  ListExtendedJobsResponse200JobsItemType0RawFlow,
26
26
  )
27
+ from ..models.list_extended_jobs_response_200_jobs_item_type_0_workflow_as_code_status import (
28
+ ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus,
29
+ )
27
30
 
28
31
 
29
32
  T = TypeVar("T", bound="ListExtendedJobsResponse200JobsItemType0")
@@ -61,6 +64,7 @@ class ListExtendedJobsResponse200JobsItemType0:
61
64
  canceled_reason (Union[Unset, str]):
62
65
  schedule_path (Union[Unset, str]):
63
66
  flow_status (Union[Unset, ListExtendedJobsResponse200JobsItemType0FlowStatus]):
67
+ workflow_as_code_status (Union[Unset, ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus]):
64
68
  raw_flow (Union[Unset, ListExtendedJobsResponse200JobsItemType0RawFlow]):
65
69
  language (Union[Unset, ListExtendedJobsResponse200JobsItemType0Language]):
66
70
  mem_peak (Union[Unset, int]):
@@ -100,6 +104,7 @@ class ListExtendedJobsResponse200JobsItemType0:
100
104
  canceled_reason: Union[Unset, str] = UNSET
101
105
  schedule_path: Union[Unset, str] = UNSET
102
106
  flow_status: Union[Unset, "ListExtendedJobsResponse200JobsItemType0FlowStatus"] = UNSET
107
+ workflow_as_code_status: Union[Unset, "ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus"] = UNSET
103
108
  raw_flow: Union[Unset, "ListExtendedJobsResponse200JobsItemType0RawFlow"] = UNSET
104
109
  language: Union[Unset, ListExtendedJobsResponse200JobsItemType0Language] = UNSET
105
110
  mem_peak: Union[Unset, int] = UNSET
@@ -149,6 +154,10 @@ class ListExtendedJobsResponse200JobsItemType0:
149
154
  if not isinstance(self.flow_status, Unset):
150
155
  flow_status = self.flow_status.to_dict()
151
156
 
157
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
158
+ if not isinstance(self.workflow_as_code_status, Unset):
159
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
160
+
152
161
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
153
162
  if not isinstance(self.raw_flow, Unset):
154
163
  raw_flow = self.raw_flow.to_dict()
@@ -217,6 +226,8 @@ class ListExtendedJobsResponse200JobsItemType0:
217
226
  field_dict["schedule_path"] = schedule_path
218
227
  if flow_status is not UNSET:
219
228
  field_dict["flow_status"] = flow_status
229
+ if workflow_as_code_status is not UNSET:
230
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
220
231
  if raw_flow is not UNSET:
221
232
  field_dict["raw_flow"] = raw_flow
222
233
  if language is not UNSET:
@@ -251,6 +262,9 @@ class ListExtendedJobsResponse200JobsItemType0:
251
262
  from ..models.list_extended_jobs_response_200_jobs_item_type_0_raw_flow import (
252
263
  ListExtendedJobsResponse200JobsItemType0RawFlow,
253
264
  )
265
+ from ..models.list_extended_jobs_response_200_jobs_item_type_0_workflow_as_code_status import (
266
+ ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus,
267
+ )
254
268
 
255
269
  d = src_dict.copy()
256
270
  id = d.pop("id")
@@ -317,6 +331,15 @@ class ListExtendedJobsResponse200JobsItemType0:
317
331
  else:
318
332
  flow_status = ListExtendedJobsResponse200JobsItemType0FlowStatus.from_dict(_flow_status)
319
333
 
334
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
335
+ workflow_as_code_status: Union[Unset, ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus]
336
+ if isinstance(_workflow_as_code_status, Unset):
337
+ workflow_as_code_status = UNSET
338
+ else:
339
+ workflow_as_code_status = ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus.from_dict(
340
+ _workflow_as_code_status
341
+ )
342
+
320
343
  _raw_flow = d.pop("raw_flow", UNSET)
321
344
  raw_flow: Union[Unset, ListExtendedJobsResponse200JobsItemType0RawFlow]
322
345
  if isinstance(_raw_flow, Unset):
@@ -380,6 +403,7 @@ class ListExtendedJobsResponse200JobsItemType0:
380
403
  canceled_reason=canceled_reason,
381
404
  schedule_path=schedule_path,
382
405
  flow_status=flow_status,
406
+ workflow_as_code_status=workflow_as_code_status,
383
407
  raw_flow=raw_flow,
384
408
  language=language,
385
409
  mem_peak=mem_peak,
@@ -0,0 +1,100 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class ListExtendedJobsResponse200JobsItemType0WorkflowAsCodeStatus:
15
+ """
16
+ Attributes:
17
+ scheduled_for (Union[Unset, datetime.datetime]):
18
+ started_at (Union[Unset, datetime.datetime]):
19
+ duration_ms (Union[Unset, float]):
20
+ name (Union[Unset, str]):
21
+ """
22
+
23
+ scheduled_for: Union[Unset, datetime.datetime] = UNSET
24
+ started_at: Union[Unset, datetime.datetime] = UNSET
25
+ duration_ms: Union[Unset, float] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ scheduled_for: Union[Unset, str] = UNSET
31
+ if not isinstance(self.scheduled_for, Unset):
32
+ scheduled_for = self.scheduled_for.isoformat()
33
+
34
+ started_at: Union[Unset, str] = UNSET
35
+ if not isinstance(self.started_at, Unset):
36
+ started_at = self.started_at.isoformat()
37
+
38
+ duration_ms = self.duration_ms
39
+ name = self.name
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update({})
44
+ if scheduled_for is not UNSET:
45
+ field_dict["scheduled_for"] = scheduled_for
46
+ if started_at is not UNSET:
47
+ field_dict["started_at"] = started_at
48
+ if duration_ms is not UNSET:
49
+ field_dict["duration_ms"] = duration_ms
50
+ if name is not UNSET:
51
+ field_dict["name"] = name
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ d = src_dict.copy()
58
+ _scheduled_for = d.pop("scheduled_for", UNSET)
59
+ scheduled_for: Union[Unset, datetime.datetime]
60
+ if isinstance(_scheduled_for, Unset):
61
+ scheduled_for = UNSET
62
+ else:
63
+ scheduled_for = isoparse(_scheduled_for)
64
+
65
+ _started_at = d.pop("started_at", UNSET)
66
+ started_at: Union[Unset, datetime.datetime]
67
+ if isinstance(_started_at, Unset):
68
+ started_at = UNSET
69
+ else:
70
+ started_at = isoparse(_started_at)
71
+
72
+ duration_ms = d.pop("duration_ms", UNSET)
73
+
74
+ name = d.pop("name", UNSET)
75
+
76
+ list_extended_jobs_response_200_jobs_item_type_0_workflow_as_code_status = cls(
77
+ scheduled_for=scheduled_for,
78
+ started_at=started_at,
79
+ duration_ms=duration_ms,
80
+ name=name,
81
+ )
82
+
83
+ list_extended_jobs_response_200_jobs_item_type_0_workflow_as_code_status.additional_properties = d
84
+ return list_extended_jobs_response_200_jobs_item_type_0_workflow_as_code_status
85
+
86
+ @property
87
+ def additional_keys(self) -> List[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.list_extended_jobs_response_200_jobs_item_type_1_raw_flow import (
25
25
  ListExtendedJobsResponse200JobsItemType1RawFlow,
26
26
  )
27
+ from ..models.list_extended_jobs_response_200_jobs_item_type_1_workflow_as_code_status import (
28
+ ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus,
29
+ )
27
30
 
28
31
 
29
32
  T = TypeVar("T", bound="ListExtendedJobsResponse200JobsItemType1")
@@ -59,6 +62,7 @@ class ListExtendedJobsResponse200JobsItemType1:
59
62
  last_ping (Union[Unset, datetime.datetime]):
60
63
  schedule_path (Union[Unset, str]):
61
64
  flow_status (Union[Unset, ListExtendedJobsResponse200JobsItemType1FlowStatus]):
65
+ workflow_as_code_status (Union[Unset, ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus]):
62
66
  raw_flow (Union[Unset, ListExtendedJobsResponse200JobsItemType1RawFlow]):
63
67
  language (Union[Unset, ListExtendedJobsResponse200JobsItemType1Language]):
64
68
  mem_peak (Union[Unset, int]):
@@ -96,6 +100,7 @@ class ListExtendedJobsResponse200JobsItemType1:
96
100
  last_ping: Union[Unset, datetime.datetime] = UNSET
97
101
  schedule_path: Union[Unset, str] = UNSET
98
102
  flow_status: Union[Unset, "ListExtendedJobsResponse200JobsItemType1FlowStatus"] = UNSET
103
+ workflow_as_code_status: Union[Unset, "ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus"] = UNSET
99
104
  raw_flow: Union[Unset, "ListExtendedJobsResponse200JobsItemType1RawFlow"] = UNSET
100
105
  language: Union[Unset, ListExtendedJobsResponse200JobsItemType1Language] = UNSET
101
106
  mem_peak: Union[Unset, int] = UNSET
@@ -153,6 +158,10 @@ class ListExtendedJobsResponse200JobsItemType1:
153
158
  if not isinstance(self.flow_status, Unset):
154
159
  flow_status = self.flow_status.to_dict()
155
160
 
161
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
162
+ if not isinstance(self.workflow_as_code_status, Unset):
163
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
164
+
156
165
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
157
166
  if not isinstance(self.raw_flow, Unset):
158
167
  raw_flow = self.raw_flow.to_dict()
@@ -219,6 +228,8 @@ class ListExtendedJobsResponse200JobsItemType1:
219
228
  field_dict["schedule_path"] = schedule_path
220
229
  if flow_status is not UNSET:
221
230
  field_dict["flow_status"] = flow_status
231
+ if workflow_as_code_status is not UNSET:
232
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
222
233
  if raw_flow is not UNSET:
223
234
  field_dict["raw_flow"] = raw_flow
224
235
  if language is not UNSET:
@@ -253,6 +264,9 @@ class ListExtendedJobsResponse200JobsItemType1:
253
264
  from ..models.list_extended_jobs_response_200_jobs_item_type_1_raw_flow import (
254
265
  ListExtendedJobsResponse200JobsItemType1RawFlow,
255
266
  )
267
+ from ..models.list_extended_jobs_response_200_jobs_item_type_1_workflow_as_code_status import (
268
+ ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus,
269
+ )
256
270
 
257
271
  d = src_dict.copy()
258
272
  id = d.pop("id")
@@ -335,6 +349,15 @@ class ListExtendedJobsResponse200JobsItemType1:
335
349
  else:
336
350
  flow_status = ListExtendedJobsResponse200JobsItemType1FlowStatus.from_dict(_flow_status)
337
351
 
352
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
353
+ workflow_as_code_status: Union[Unset, ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus]
354
+ if isinstance(_workflow_as_code_status, Unset):
355
+ workflow_as_code_status = UNSET
356
+ else:
357
+ workflow_as_code_status = ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus.from_dict(
358
+ _workflow_as_code_status
359
+ )
360
+
338
361
  _raw_flow = d.pop("raw_flow", UNSET)
339
362
  raw_flow: Union[Unset, ListExtendedJobsResponse200JobsItemType1RawFlow]
340
363
  if isinstance(_raw_flow, Unset):
@@ -396,6 +419,7 @@ class ListExtendedJobsResponse200JobsItemType1:
396
419
  last_ping=last_ping,
397
420
  schedule_path=schedule_path,
398
421
  flow_status=flow_status,
422
+ workflow_as_code_status=workflow_as_code_status,
399
423
  raw_flow=raw_flow,
400
424
  language=language,
401
425
  mem_peak=mem_peak,
@@ -0,0 +1,100 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class ListExtendedJobsResponse200JobsItemType1WorkflowAsCodeStatus:
15
+ """
16
+ Attributes:
17
+ scheduled_for (Union[Unset, datetime.datetime]):
18
+ started_at (Union[Unset, datetime.datetime]):
19
+ duration_ms (Union[Unset, float]):
20
+ name (Union[Unset, str]):
21
+ """
22
+
23
+ scheduled_for: Union[Unset, datetime.datetime] = UNSET
24
+ started_at: Union[Unset, datetime.datetime] = UNSET
25
+ duration_ms: Union[Unset, float] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ scheduled_for: Union[Unset, str] = UNSET
31
+ if not isinstance(self.scheduled_for, Unset):
32
+ scheduled_for = self.scheduled_for.isoformat()
33
+
34
+ started_at: Union[Unset, str] = UNSET
35
+ if not isinstance(self.started_at, Unset):
36
+ started_at = self.started_at.isoformat()
37
+
38
+ duration_ms = self.duration_ms
39
+ name = self.name
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update({})
44
+ if scheduled_for is not UNSET:
45
+ field_dict["scheduled_for"] = scheduled_for
46
+ if started_at is not UNSET:
47
+ field_dict["started_at"] = started_at
48
+ if duration_ms is not UNSET:
49
+ field_dict["duration_ms"] = duration_ms
50
+ if name is not UNSET:
51
+ field_dict["name"] = name
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ d = src_dict.copy()
58
+ _scheduled_for = d.pop("scheduled_for", UNSET)
59
+ scheduled_for: Union[Unset, datetime.datetime]
60
+ if isinstance(_scheduled_for, Unset):
61
+ scheduled_for = UNSET
62
+ else:
63
+ scheduled_for = isoparse(_scheduled_for)
64
+
65
+ _started_at = d.pop("started_at", UNSET)
66
+ started_at: Union[Unset, datetime.datetime]
67
+ if isinstance(_started_at, Unset):
68
+ started_at = UNSET
69
+ else:
70
+ started_at = isoparse(_started_at)
71
+
72
+ duration_ms = d.pop("duration_ms", UNSET)
73
+
74
+ name = d.pop("name", UNSET)
75
+
76
+ list_extended_jobs_response_200_jobs_item_type_1_workflow_as_code_status = cls(
77
+ scheduled_for=scheduled_for,
78
+ started_at=started_at,
79
+ duration_ms=duration_ms,
80
+ name=name,
81
+ )
82
+
83
+ list_extended_jobs_response_200_jobs_item_type_1_workflow_as_code_status.additional_properties = d
84
+ return list_extended_jobs_response_200_jobs_item_type_1_workflow_as_code_status
85
+
86
+ @property
87
+ def additional_keys(self) -> List[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -14,6 +14,9 @@ if TYPE_CHECKING:
14
14
  from ..models.list_jobs_response_200_item_type_0_args import ListJobsResponse200ItemType0Args
15
15
  from ..models.list_jobs_response_200_item_type_0_flow_status import ListJobsResponse200ItemType0FlowStatus
16
16
  from ..models.list_jobs_response_200_item_type_0_raw_flow import ListJobsResponse200ItemType0RawFlow
17
+ from ..models.list_jobs_response_200_item_type_0_workflow_as_code_status import (
18
+ ListJobsResponse200ItemType0WorkflowAsCodeStatus,
19
+ )
17
20
 
18
21
 
19
22
  T = TypeVar("T", bound="ListJobsResponse200ItemType0")
@@ -51,6 +54,7 @@ class ListJobsResponse200ItemType0:
51
54
  canceled_reason (Union[Unset, str]):
52
55
  schedule_path (Union[Unset, str]):
53
56
  flow_status (Union[Unset, ListJobsResponse200ItemType0FlowStatus]):
57
+ workflow_as_code_status (Union[Unset, ListJobsResponse200ItemType0WorkflowAsCodeStatus]):
54
58
  raw_flow (Union[Unset, ListJobsResponse200ItemType0RawFlow]):
55
59
  language (Union[Unset, ListJobsResponse200ItemType0Language]):
56
60
  mem_peak (Union[Unset, int]):
@@ -90,6 +94,7 @@ class ListJobsResponse200ItemType0:
90
94
  canceled_reason: Union[Unset, str] = UNSET
91
95
  schedule_path: Union[Unset, str] = UNSET
92
96
  flow_status: Union[Unset, "ListJobsResponse200ItemType0FlowStatus"] = UNSET
97
+ workflow_as_code_status: Union[Unset, "ListJobsResponse200ItemType0WorkflowAsCodeStatus"] = UNSET
93
98
  raw_flow: Union[Unset, "ListJobsResponse200ItemType0RawFlow"] = UNSET
94
99
  language: Union[Unset, ListJobsResponse200ItemType0Language] = UNSET
95
100
  mem_peak: Union[Unset, int] = UNSET
@@ -139,6 +144,10 @@ class ListJobsResponse200ItemType0:
139
144
  if not isinstance(self.flow_status, Unset):
140
145
  flow_status = self.flow_status.to_dict()
141
146
 
147
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
148
+ if not isinstance(self.workflow_as_code_status, Unset):
149
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
150
+
142
151
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
143
152
  if not isinstance(self.raw_flow, Unset):
144
153
  raw_flow = self.raw_flow.to_dict()
@@ -207,6 +216,8 @@ class ListJobsResponse200ItemType0:
207
216
  field_dict["schedule_path"] = schedule_path
208
217
  if flow_status is not UNSET:
209
218
  field_dict["flow_status"] = flow_status
219
+ if workflow_as_code_status is not UNSET:
220
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
210
221
  if raw_flow is not UNSET:
211
222
  field_dict["raw_flow"] = raw_flow
212
223
  if language is not UNSET:
@@ -235,6 +246,9 @@ class ListJobsResponse200ItemType0:
235
246
  from ..models.list_jobs_response_200_item_type_0_args import ListJobsResponse200ItemType0Args
236
247
  from ..models.list_jobs_response_200_item_type_0_flow_status import ListJobsResponse200ItemType0FlowStatus
237
248
  from ..models.list_jobs_response_200_item_type_0_raw_flow import ListJobsResponse200ItemType0RawFlow
249
+ from ..models.list_jobs_response_200_item_type_0_workflow_as_code_status import (
250
+ ListJobsResponse200ItemType0WorkflowAsCodeStatus,
251
+ )
238
252
 
239
253
  d = src_dict.copy()
240
254
  id = d.pop("id")
@@ -301,6 +315,15 @@ class ListJobsResponse200ItemType0:
301
315
  else:
302
316
  flow_status = ListJobsResponse200ItemType0FlowStatus.from_dict(_flow_status)
303
317
 
318
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
319
+ workflow_as_code_status: Union[Unset, ListJobsResponse200ItemType0WorkflowAsCodeStatus]
320
+ if isinstance(_workflow_as_code_status, Unset):
321
+ workflow_as_code_status = UNSET
322
+ else:
323
+ workflow_as_code_status = ListJobsResponse200ItemType0WorkflowAsCodeStatus.from_dict(
324
+ _workflow_as_code_status
325
+ )
326
+
304
327
  _raw_flow = d.pop("raw_flow", UNSET)
305
328
  raw_flow: Union[Unset, ListJobsResponse200ItemType0RawFlow]
306
329
  if isinstance(_raw_flow, Unset):
@@ -364,6 +387,7 @@ class ListJobsResponse200ItemType0:
364
387
  canceled_reason=canceled_reason,
365
388
  schedule_path=schedule_path,
366
389
  flow_status=flow_status,
390
+ workflow_as_code_status=workflow_as_code_status,
367
391
  raw_flow=raw_flow,
368
392
  language=language,
369
393
  mem_peak=mem_peak,