windmill-api 1.509.2__py3-none-any.whl → 1.510.1__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.

Potentially problematic release.


This version of windmill-api might be problematic. Click here for more details.

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.2.dist-info → windmill_api-1.510.1.dist-info}/METADATA +1 -1
  62. {windmill_api-1.509.2.dist-info → windmill_api-1.510.1.dist-info}/RECORD +64 -24
  63. {windmill_api-1.509.2.dist-info → windmill_api-1.510.1.dist-info}/LICENSE +0 -0
  64. {windmill_api-1.509.2.dist-info → windmill_api-1.510.1.dist-info}/WHEEL +0 -0
@@ -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="GetJobUpdatesResponse200WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class GetJobUpdatesResponse200WorkflowAsCodeStatus:
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
+ get_job_updates_response_200_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
+ get_job_updates_response_200_workflow_as_code_status.additional_properties = d
84
+ return get_job_updates_response_200_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
@@ -22,6 +22,9 @@ if TYPE_CHECKING:
22
22
  from ..models.get_suspended_job_flow_response_200_job_type_0_raw_flow import (
23
23
  GetSuspendedJobFlowResponse200JobType0RawFlow,
24
24
  )
25
+ from ..models.get_suspended_job_flow_response_200_job_type_0_workflow_as_code_status import (
26
+ GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus,
27
+ )
25
28
 
26
29
 
27
30
  T = TypeVar("T", bound="GetSuspendedJobFlowResponse200JobType0")
@@ -59,6 +62,7 @@ class GetSuspendedJobFlowResponse200JobType0:
59
62
  canceled_reason (Union[Unset, str]):
60
63
  schedule_path (Union[Unset, str]):
61
64
  flow_status (Union[Unset, GetSuspendedJobFlowResponse200JobType0FlowStatus]):
65
+ workflow_as_code_status (Union[Unset, GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus]):
62
66
  raw_flow (Union[Unset, GetSuspendedJobFlowResponse200JobType0RawFlow]):
63
67
  language (Union[Unset, GetSuspendedJobFlowResponse200JobType0Language]):
64
68
  mem_peak (Union[Unset, int]):
@@ -98,6 +102,7 @@ class GetSuspendedJobFlowResponse200JobType0:
98
102
  canceled_reason: Union[Unset, str] = UNSET
99
103
  schedule_path: Union[Unset, str] = UNSET
100
104
  flow_status: Union[Unset, "GetSuspendedJobFlowResponse200JobType0FlowStatus"] = UNSET
105
+ workflow_as_code_status: Union[Unset, "GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus"] = UNSET
101
106
  raw_flow: Union[Unset, "GetSuspendedJobFlowResponse200JobType0RawFlow"] = UNSET
102
107
  language: Union[Unset, GetSuspendedJobFlowResponse200JobType0Language] = UNSET
103
108
  mem_peak: Union[Unset, int] = UNSET
@@ -147,6 +152,10 @@ class GetSuspendedJobFlowResponse200JobType0:
147
152
  if not isinstance(self.flow_status, Unset):
148
153
  flow_status = self.flow_status.to_dict()
149
154
 
155
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
156
+ if not isinstance(self.workflow_as_code_status, Unset):
157
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
158
+
150
159
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
151
160
  if not isinstance(self.raw_flow, Unset):
152
161
  raw_flow = self.raw_flow.to_dict()
@@ -215,6 +224,8 @@ class GetSuspendedJobFlowResponse200JobType0:
215
224
  field_dict["schedule_path"] = schedule_path
216
225
  if flow_status is not UNSET:
217
226
  field_dict["flow_status"] = flow_status
227
+ if workflow_as_code_status is not UNSET:
228
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
218
229
  if raw_flow is not UNSET:
219
230
  field_dict["raw_flow"] = raw_flow
220
231
  if language is not UNSET:
@@ -249,6 +260,9 @@ class GetSuspendedJobFlowResponse200JobType0:
249
260
  from ..models.get_suspended_job_flow_response_200_job_type_0_raw_flow import (
250
261
  GetSuspendedJobFlowResponse200JobType0RawFlow,
251
262
  )
263
+ from ..models.get_suspended_job_flow_response_200_job_type_0_workflow_as_code_status import (
264
+ GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus,
265
+ )
252
266
 
253
267
  d = src_dict.copy()
254
268
  id = d.pop("id")
@@ -315,6 +329,15 @@ class GetSuspendedJobFlowResponse200JobType0:
315
329
  else:
316
330
  flow_status = GetSuspendedJobFlowResponse200JobType0FlowStatus.from_dict(_flow_status)
317
331
 
332
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
333
+ workflow_as_code_status: Union[Unset, GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus]
334
+ if isinstance(_workflow_as_code_status, Unset):
335
+ workflow_as_code_status = UNSET
336
+ else:
337
+ workflow_as_code_status = GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus.from_dict(
338
+ _workflow_as_code_status
339
+ )
340
+
318
341
  _raw_flow = d.pop("raw_flow", UNSET)
319
342
  raw_flow: Union[Unset, GetSuspendedJobFlowResponse200JobType0RawFlow]
320
343
  if isinstance(_raw_flow, Unset):
@@ -378,6 +401,7 @@ class GetSuspendedJobFlowResponse200JobType0:
378
401
  canceled_reason=canceled_reason,
379
402
  schedule_path=schedule_path,
380
403
  flow_status=flow_status,
404
+ workflow_as_code_status=workflow_as_code_status,
381
405
  raw_flow=raw_flow,
382
406
  language=language,
383
407
  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="GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class GetSuspendedJobFlowResponse200JobType0WorkflowAsCodeStatus:
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
+ get_suspended_job_flow_response_200_job_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
+ get_suspended_job_flow_response_200_job_type_0_workflow_as_code_status.additional_properties = d
84
+ return get_suspended_job_flow_response_200_job_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
@@ -22,6 +22,9 @@ if TYPE_CHECKING:
22
22
  from ..models.get_suspended_job_flow_response_200_job_type_1_raw_flow import (
23
23
  GetSuspendedJobFlowResponse200JobType1RawFlow,
24
24
  )
25
+ from ..models.get_suspended_job_flow_response_200_job_type_1_workflow_as_code_status import (
26
+ GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus,
27
+ )
25
28
 
26
29
 
27
30
  T = TypeVar("T", bound="GetSuspendedJobFlowResponse200JobType1")
@@ -57,6 +60,7 @@ class GetSuspendedJobFlowResponse200JobType1:
57
60
  last_ping (Union[Unset, datetime.datetime]):
58
61
  schedule_path (Union[Unset, str]):
59
62
  flow_status (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatus]):
63
+ workflow_as_code_status (Union[Unset, GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus]):
60
64
  raw_flow (Union[Unset, GetSuspendedJobFlowResponse200JobType1RawFlow]):
61
65
  language (Union[Unset, GetSuspendedJobFlowResponse200JobType1Language]):
62
66
  mem_peak (Union[Unset, int]):
@@ -94,6 +98,7 @@ class GetSuspendedJobFlowResponse200JobType1:
94
98
  last_ping: Union[Unset, datetime.datetime] = UNSET
95
99
  schedule_path: Union[Unset, str] = UNSET
96
100
  flow_status: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatus"] = UNSET
101
+ workflow_as_code_status: Union[Unset, "GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus"] = UNSET
97
102
  raw_flow: Union[Unset, "GetSuspendedJobFlowResponse200JobType1RawFlow"] = UNSET
98
103
  language: Union[Unset, GetSuspendedJobFlowResponse200JobType1Language] = UNSET
99
104
  mem_peak: Union[Unset, int] = UNSET
@@ -151,6 +156,10 @@ class GetSuspendedJobFlowResponse200JobType1:
151
156
  if not isinstance(self.flow_status, Unset):
152
157
  flow_status = self.flow_status.to_dict()
153
158
 
159
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
160
+ if not isinstance(self.workflow_as_code_status, Unset):
161
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
162
+
154
163
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
155
164
  if not isinstance(self.raw_flow, Unset):
156
165
  raw_flow = self.raw_flow.to_dict()
@@ -217,6 +226,8 @@ class GetSuspendedJobFlowResponse200JobType1:
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 GetSuspendedJobFlowResponse200JobType1:
251
262
  from ..models.get_suspended_job_flow_response_200_job_type_1_raw_flow import (
252
263
  GetSuspendedJobFlowResponse200JobType1RawFlow,
253
264
  )
265
+ from ..models.get_suspended_job_flow_response_200_job_type_1_workflow_as_code_status import (
266
+ GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus,
267
+ )
254
268
 
255
269
  d = src_dict.copy()
256
270
  id = d.pop("id")
@@ -333,6 +347,15 @@ class GetSuspendedJobFlowResponse200JobType1:
333
347
  else:
334
348
  flow_status = GetSuspendedJobFlowResponse200JobType1FlowStatus.from_dict(_flow_status)
335
349
 
350
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
351
+ workflow_as_code_status: Union[Unset, GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus]
352
+ if isinstance(_workflow_as_code_status, Unset):
353
+ workflow_as_code_status = UNSET
354
+ else:
355
+ workflow_as_code_status = GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus.from_dict(
356
+ _workflow_as_code_status
357
+ )
358
+
336
359
  _raw_flow = d.pop("raw_flow", UNSET)
337
360
  raw_flow: Union[Unset, GetSuspendedJobFlowResponse200JobType1RawFlow]
338
361
  if isinstance(_raw_flow, Unset):
@@ -394,6 +417,7 @@ class GetSuspendedJobFlowResponse200JobType1:
394
417
  last_ping=last_ping,
395
418
  schedule_path=schedule_path,
396
419
  flow_status=flow_status,
420
+ workflow_as_code_status=workflow_as_code_status,
397
421
  raw_flow=raw_flow,
398
422
  language=language,
399
423
  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="GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class GetSuspendedJobFlowResponse200JobType1WorkflowAsCodeStatus:
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
+ get_suspended_job_flow_response_200_job_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
+ get_suspended_job_flow_response_200_job_type_1_workflow_as_code_status.additional_properties = d
84
+ return get_suspended_job_flow_response_200_job_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
@@ -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="JobType0WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class JobType0WorkflowAsCodeStatus:
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
+ job_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
+ job_type_0_workflow_as_code_status.additional_properties = d
84
+ return job_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
@@ -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="JobType1WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class JobType1WorkflowAsCodeStatus:
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
+ job_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
+ job_type_1_workflow_as_code_status.additional_properties = d
84
+ return job_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