windmill-api 1.544.2__py3-none-any.whl → 1.545.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.

Potentially problematic release.


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

Files changed (128) hide show
  1. windmill_api/api/job/cancel_selection.py +20 -1
  2. windmill_api/api/{teams/sync_teams.py → job/get_started_at_by_ids.py} +64 -20
  3. windmill_api/api/workspace/list_available_teams_channels.py +40 -5
  4. windmill_api/api/workspace/list_available_teams_ids.py +21 -1
  5. windmill_api/models/completed_job_flow_status_failure_module.py +22 -0
  6. windmill_api/models/completed_job_flow_status_failure_module_flow_jobs_duration.py +71 -0
  7. windmill_api/models/completed_job_flow_status_modules_item.py +22 -0
  8. windmill_api/models/completed_job_flow_status_modules_item_flow_jobs_duration.py +71 -0
  9. windmill_api/models/completed_job_flow_status_preprocessor_module.py +22 -0
  10. windmill_api/models/completed_job_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  11. windmill_api/models/delete_completed_job_response_200_flow_status_failure_module.py +24 -0
  12. windmill_api/models/delete_completed_job_response_200_flow_status_failure_module_flow_jobs_duration.py +71 -0
  13. windmill_api/models/delete_completed_job_response_200_flow_status_modules_item.py +24 -0
  14. windmill_api/models/delete_completed_job_response_200_flow_status_modules_item_flow_jobs_duration.py +71 -0
  15. windmill_api/models/delete_completed_job_response_200_flow_status_preprocessor_module.py +26 -0
  16. windmill_api/models/delete_completed_job_response_200_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  17. windmill_api/models/extended_jobs_jobs_item_type_0_flow_status_failure_module.py +24 -0
  18. windmill_api/models/extended_jobs_jobs_item_type_0_flow_status_failure_module_flow_jobs_duration.py +71 -0
  19. windmill_api/models/extended_jobs_jobs_item_type_0_flow_status_modules_item.py +24 -0
  20. windmill_api/models/extended_jobs_jobs_item_type_0_flow_status_modules_item_flow_jobs_duration.py +71 -0
  21. windmill_api/models/extended_jobs_jobs_item_type_0_flow_status_preprocessor_module.py +24 -0
  22. windmill_api/models/extended_jobs_jobs_item_type_0_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  23. windmill_api/models/extended_jobs_jobs_item_type_1_flow_status_failure_module.py +24 -0
  24. windmill_api/models/extended_jobs_jobs_item_type_1_flow_status_failure_module_flow_jobs_duration.py +71 -0
  25. windmill_api/models/extended_jobs_jobs_item_type_1_flow_status_modules_item.py +24 -0
  26. windmill_api/models/extended_jobs_jobs_item_type_1_flow_status_modules_item_flow_jobs_duration.py +71 -0
  27. windmill_api/models/extended_jobs_jobs_item_type_1_flow_status_preprocessor_module.py +24 -0
  28. windmill_api/models/extended_jobs_jobs_item_type_1_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  29. windmill_api/models/flow_status_failure_module.py +18 -0
  30. windmill_api/models/flow_status_failure_module_flow_jobs_duration.py +71 -0
  31. windmill_api/models/flow_status_module.py +18 -0
  32. windmill_api/models/flow_status_module_flow_jobs_duration.py +71 -0
  33. windmill_api/models/flow_status_modules_item.py +18 -0
  34. windmill_api/models/flow_status_modules_item_flow_jobs_duration.py +71 -0
  35. windmill_api/models/flow_status_preprocessor_module.py +20 -0
  36. windmill_api/models/flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  37. windmill_api/models/get_completed_job_response_200_flow_status_failure_module.py +24 -0
  38. windmill_api/models/get_completed_job_response_200_flow_status_failure_module_flow_jobs_duration.py +71 -0
  39. windmill_api/models/get_completed_job_response_200_flow_status_modules_item.py +24 -0
  40. windmill_api/models/get_completed_job_response_200_flow_status_modules_item_flow_jobs_duration.py +71 -0
  41. windmill_api/models/get_completed_job_response_200_flow_status_preprocessor_module.py +24 -0
  42. windmill_api/models/get_completed_job_response_200_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  43. windmill_api/models/get_job_response_200_type_0_flow_status_failure_module.py +24 -0
  44. windmill_api/models/get_job_response_200_type_0_flow_status_failure_module_flow_jobs_duration.py +71 -0
  45. windmill_api/models/get_job_response_200_type_0_flow_status_modules_item.py +24 -0
  46. windmill_api/models/get_job_response_200_type_0_flow_status_modules_item_flow_jobs_duration.py +71 -0
  47. windmill_api/models/get_job_response_200_type_0_flow_status_preprocessor_module.py +24 -0
  48. windmill_api/models/get_job_response_200_type_0_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  49. windmill_api/models/get_job_response_200_type_1_flow_status_failure_module.py +24 -0
  50. windmill_api/models/get_job_response_200_type_1_flow_status_failure_module_flow_jobs_duration.py +71 -0
  51. windmill_api/models/get_job_response_200_type_1_flow_status_modules_item.py +24 -0
  52. windmill_api/models/get_job_response_200_type_1_flow_status_modules_item_flow_jobs_duration.py +71 -0
  53. windmill_api/models/get_job_response_200_type_1_flow_status_preprocessor_module.py +24 -0
  54. windmill_api/models/get_job_response_200_type_1_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  55. windmill_api/models/get_job_updates_response_200_flow_status_failure_module.py +24 -0
  56. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_flow_jobs_duration.py +71 -0
  57. windmill_api/models/get_job_updates_response_200_flow_status_modules_item.py +24 -0
  58. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_flow_jobs_duration.py +71 -0
  59. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module.py +24 -0
  60. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  61. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_flow_status_failure_module.py +29 -0
  62. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_flow_status_failure_module_flow_jobs_duration.py +73 -0
  63. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_flow_status_modules_item.py +26 -0
  64. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_flow_status_modules_item_flow_jobs_duration.py +73 -0
  65. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_flow_status_preprocessor_module.py +31 -0
  66. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_flow_status_preprocessor_module_flow_jobs_duration.py +73 -0
  67. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module.py +29 -0
  68. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_flow_jobs_duration.py +73 -0
  69. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item.py +26 -0
  70. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_flow_jobs_duration.py +73 -0
  71. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module.py +31 -0
  72. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_flow_jobs_duration.py +73 -0
  73. windmill_api/models/job_type_0_flow_status_failure_module_flow_jobs_duration.py +71 -0
  74. windmill_api/models/job_type_0_flow_status_modules_item_flow_jobs_duration.py +71 -0
  75. windmill_api/models/job_type_0_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  76. windmill_api/models/job_type_1_flow_status_failure_module_flow_jobs_duration.py +71 -0
  77. windmill_api/models/job_type_1_flow_status_modules_item_flow_jobs_duration.py +71 -0
  78. windmill_api/models/job_type_1_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  79. windmill_api/models/list_available_teams_channels_response_200_item.py +0 -16
  80. windmill_api/models/list_completed_jobs_response_200_item_flow_status_failure_module.py +24 -0
  81. windmill_api/models/list_completed_jobs_response_200_item_flow_status_failure_module_flow_jobs_duration.py +71 -0
  82. windmill_api/models/list_completed_jobs_response_200_item_flow_status_modules_item.py +24 -0
  83. windmill_api/models/list_completed_jobs_response_200_item_flow_status_modules_item_flow_jobs_duration.py +71 -0
  84. windmill_api/models/list_completed_jobs_response_200_item_flow_status_preprocessor_module.py +26 -0
  85. windmill_api/models/list_completed_jobs_response_200_item_flow_status_preprocessor_module_flow_jobs_duration.py +73 -0
  86. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_flow_status_failure_module.py +31 -0
  87. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_flow_status_failure_module_flow_jobs_duration.py +73 -0
  88. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_flow_status_modules_item.py +29 -0
  89. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_flow_status_modules_item_flow_jobs_duration.py +73 -0
  90. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_flow_status_preprocessor_module.py +31 -0
  91. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_flow_status_preprocessor_module_flow_jobs_duration.py +73 -0
  92. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_flow_status_failure_module.py +31 -0
  93. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_flow_status_failure_module_flow_jobs_duration.py +73 -0
  94. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_flow_status_modules_item.py +29 -0
  95. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_flow_status_modules_item_flow_jobs_duration.py +73 -0
  96. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_flow_status_preprocessor_module.py +31 -0
  97. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_flow_status_preprocessor_module_flow_jobs_duration.py +73 -0
  98. windmill_api/models/list_jobs_response_200_item_type_0_flow_status_failure_module.py +24 -0
  99. windmill_api/models/list_jobs_response_200_item_type_0_flow_status_failure_module_flow_jobs_duration.py +71 -0
  100. windmill_api/models/list_jobs_response_200_item_type_0_flow_status_modules_item.py +24 -0
  101. windmill_api/models/list_jobs_response_200_item_type_0_flow_status_modules_item_flow_jobs_duration.py +71 -0
  102. windmill_api/models/list_jobs_response_200_item_type_0_flow_status_preprocessor_module.py +24 -0
  103. windmill_api/models/list_jobs_response_200_item_type_0_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  104. windmill_api/models/list_jobs_response_200_item_type_1_flow_status_failure_module.py +24 -0
  105. windmill_api/models/list_jobs_response_200_item_type_1_flow_status_failure_module_flow_jobs_duration.py +71 -0
  106. windmill_api/models/list_jobs_response_200_item_type_1_flow_status_modules_item.py +24 -0
  107. windmill_api/models/list_jobs_response_200_item_type_1_flow_status_modules_item_flow_jobs_duration.py +71 -0
  108. windmill_api/models/list_jobs_response_200_item_type_1_flow_status_preprocessor_module.py +24 -0
  109. windmill_api/models/list_jobs_response_200_item_type_1_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  110. windmill_api/models/list_queue_response_200_item_flow_status_failure_module.py +24 -0
  111. windmill_api/models/list_queue_response_200_item_flow_status_failure_module_flow_jobs_duration.py +71 -0
  112. windmill_api/models/list_queue_response_200_item_flow_status_modules_item.py +24 -0
  113. windmill_api/models/list_queue_response_200_item_flow_status_modules_item_flow_jobs_duration.py +71 -0
  114. windmill_api/models/list_queue_response_200_item_flow_status_preprocessor_module.py +24 -0
  115. windmill_api/models/list_queue_response_200_item_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  116. windmill_api/models/queued_job_flow_status_failure_module.py +22 -0
  117. windmill_api/models/queued_job_flow_status_failure_module_flow_jobs_duration.py +71 -0
  118. windmill_api/models/queued_job_flow_status_modules_item.py +22 -0
  119. windmill_api/models/queued_job_flow_status_modules_item_flow_jobs_duration.py +71 -0
  120. windmill_api/models/queued_job_flow_status_preprocessor_module.py +22 -0
  121. windmill_api/models/queued_job_flow_status_preprocessor_module_flow_jobs_duration.py +71 -0
  122. {windmill_api-1.544.2.dist-info → windmill_api-1.545.0.dist-info}/METADATA +1 -1
  123. {windmill_api-1.544.2.dist-info → windmill_api-1.545.0.dist-info}/RECORD +125 -67
  124. windmill_api/models/sync_teams_response_200_item.py +0 -87
  125. windmill_api/models/sync_teams_response_200_item_channels_item.py +0 -80
  126. windmill_api/models/upload_file_part.py +0 -65
  127. {windmill_api-1.544.2.dist-info → windmill_api-1.545.0.dist-info}/LICENSE +0 -0
  128. {windmill_api-1.544.2.dist-info → windmill_api-1.545.0.dist-info}/WHEEL +0 -0
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_branchall import (
25
25
  GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleBranchall,
26
26
  )
27
+ from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_flow_jobs_duration import (
28
+ GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration,
29
+ )
27
30
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_iterator import (
28
31
  GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleIterator,
29
32
  )
@@ -44,6 +47,8 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModule:
44
47
  iterator (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleIterator]):
45
48
  flow_jobs (Union[Unset, List[str]]):
46
49
  flow_jobs_success (Union[Unset, List[bool]]):
50
+ flow_jobs_duration (Union[Unset,
51
+ GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration]):
47
52
  branch_chosen (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleBranchChosen]):
48
53
  branchall (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleBranchall]):
49
54
  approvers (Union[Unset, List['GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleApproversItem']]):
@@ -64,6 +69,9 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModule:
64
69
  iterator: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleIterator"] = UNSET
65
70
  flow_jobs: Union[Unset, List[str]] = UNSET
66
71
  flow_jobs_success: Union[Unset, List[bool]] = UNSET
72
+ flow_jobs_duration: Union[
73
+ Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration"
74
+ ] = UNSET
67
75
  branch_chosen: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleBranchChosen"] = UNSET
68
76
  branchall: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleBranchall"] = UNSET
69
77
  approvers: Union[Unset, List["GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleApproversItem"]] = UNSET
@@ -105,6 +113,10 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModule:
105
113
  if not isinstance(self.flow_jobs_success, Unset):
106
114
  flow_jobs_success = self.flow_jobs_success
107
115
 
116
+ flow_jobs_duration: Union[Unset, Dict[str, Any]] = UNSET
117
+ if not isinstance(self.flow_jobs_duration, Unset):
118
+ flow_jobs_duration = self.flow_jobs_duration.to_dict()
119
+
108
120
  branch_chosen: Union[Unset, Dict[str, Any]] = UNSET
109
121
  if not isinstance(self.branch_chosen, Unset):
110
122
  branch_chosen = self.branch_chosen.to_dict()
@@ -170,6 +182,8 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModule:
170
182
  field_dict["flow_jobs"] = flow_jobs
171
183
  if flow_jobs_success is not UNSET:
172
184
  field_dict["flow_jobs_success"] = flow_jobs_success
185
+ if flow_jobs_duration is not UNSET:
186
+ field_dict["flow_jobs_duration"] = flow_jobs_duration
173
187
  if branch_chosen is not UNSET:
174
188
  field_dict["branch_chosen"] = branch_chosen
175
189
  if branchall is not UNSET:
@@ -206,6 +220,9 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModule:
206
220
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_branchall import (
207
221
  GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleBranchall,
208
222
  )
223
+ from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_flow_jobs_duration import (
224
+ GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration,
225
+ )
209
226
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_iterator import (
210
227
  GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleIterator,
211
228
  )
@@ -232,6 +249,17 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModule:
232
249
 
233
250
  flow_jobs_success = cast(List[bool], d.pop("flow_jobs_success", UNSET))
234
251
 
252
+ _flow_jobs_duration = d.pop("flow_jobs_duration", UNSET)
253
+ flow_jobs_duration: Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration]
254
+ if isinstance(_flow_jobs_duration, Unset):
255
+ flow_jobs_duration = UNSET
256
+ else:
257
+ flow_jobs_duration = (
258
+ GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration.from_dict(
259
+ _flow_jobs_duration
260
+ )
261
+ )
262
+
235
263
  _branch_chosen = d.pop("branch_chosen", UNSET)
236
264
  branch_chosen: Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleBranchChosen]
237
265
  if isinstance(_branch_chosen, Unset):
@@ -308,6 +336,7 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModule:
308
336
  iterator=iterator,
309
337
  flow_jobs=flow_jobs,
310
338
  flow_jobs_success=flow_jobs_success,
339
+ flow_jobs_duration=flow_jobs_duration,
311
340
  branch_chosen=branch_chosen,
312
341
  branchall=branchall,
313
342
  approvers=approvers,
@@ -0,0 +1,73 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class GetSuspendedJobFlowResponse200JobType1FlowStatusFailureModuleFlowJobsDuration:
13
+ """
14
+ Attributes:
15
+ started_at (Union[Unset, List[str]]):
16
+ duration_ms (Union[Unset, List[int]]):
17
+ """
18
+
19
+ started_at: Union[Unset, List[str]] = UNSET
20
+ duration_ms: Union[Unset, List[int]] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ started_at: Union[Unset, List[str]] = UNSET
25
+ if not isinstance(self.started_at, Unset):
26
+ started_at = self.started_at
27
+
28
+ duration_ms: Union[Unset, List[int]] = UNSET
29
+ if not isinstance(self.duration_ms, Unset):
30
+ duration_ms = self.duration_ms
31
+
32
+ field_dict: Dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update({})
35
+ if started_at is not UNSET:
36
+ field_dict["started_at"] = started_at
37
+ if duration_ms is not UNSET:
38
+ field_dict["duration_ms"] = duration_ms
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ started_at = cast(List[str], d.pop("started_at", UNSET))
46
+
47
+ duration_ms = cast(List[int], d.pop("duration_ms", UNSET))
48
+
49
+ get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_flow_jobs_duration.additional_properties = (
55
+ d
56
+ )
57
+ return get_suspended_job_flow_response_200_job_type_1_flow_status_failure_module_flow_jobs_duration
58
+
59
+ @property
60
+ def additional_keys(self) -> List[str]:
61
+ return list(self.additional_properties.keys())
62
+
63
+ def __getitem__(self, key: str) -> Any:
64
+ return self.additional_properties[key]
65
+
66
+ def __setitem__(self, key: str, value: Any) -> None:
67
+ self.additional_properties[key] = value
68
+
69
+ def __delitem__(self, key: str) -> None:
70
+ del self.additional_properties[key]
71
+
72
+ def __contains__(self, key: str) -> bool:
73
+ return key in self.additional_properties
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_branchall import (
25
25
  GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemBranchall,
26
26
  )
27
+ from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_flow_jobs_duration import (
28
+ GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration,
29
+ )
27
30
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_iterator import (
28
31
  GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemIterator,
29
32
  )
@@ -44,6 +47,7 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItem:
44
47
  iterator (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemIterator]):
45
48
  flow_jobs (Union[Unset, List[str]]):
46
49
  flow_jobs_success (Union[Unset, List[bool]]):
50
+ flow_jobs_duration (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration]):
47
51
  branch_chosen (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemBranchChosen]):
48
52
  branchall (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemBranchall]):
49
53
  approvers (Union[Unset, List['GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemApproversItem']]):
@@ -63,6 +67,9 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItem:
63
67
  iterator: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemIterator"] = UNSET
64
68
  flow_jobs: Union[Unset, List[str]] = UNSET
65
69
  flow_jobs_success: Union[Unset, List[bool]] = UNSET
70
+ flow_jobs_duration: Union[
71
+ Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration"
72
+ ] = UNSET
66
73
  branch_chosen: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemBranchChosen"] = UNSET
67
74
  branchall: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemBranchall"] = UNSET
68
75
  approvers: Union[Unset, List["GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemApproversItem"]] = UNSET
@@ -103,6 +110,10 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItem:
103
110
  if not isinstance(self.flow_jobs_success, Unset):
104
111
  flow_jobs_success = self.flow_jobs_success
105
112
 
113
+ flow_jobs_duration: Union[Unset, Dict[str, Any]] = UNSET
114
+ if not isinstance(self.flow_jobs_duration, Unset):
115
+ flow_jobs_duration = self.flow_jobs_duration.to_dict()
116
+
106
117
  branch_chosen: Union[Unset, Dict[str, Any]] = UNSET
107
118
  if not isinstance(self.branch_chosen, Unset):
108
119
  branch_chosen = self.branch_chosen.to_dict()
@@ -166,6 +177,8 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItem:
166
177
  field_dict["flow_jobs"] = flow_jobs
167
178
  if flow_jobs_success is not UNSET:
168
179
  field_dict["flow_jobs_success"] = flow_jobs_success
180
+ if flow_jobs_duration is not UNSET:
181
+ field_dict["flow_jobs_duration"] = flow_jobs_duration
169
182
  if branch_chosen is not UNSET:
170
183
  field_dict["branch_chosen"] = branch_chosen
171
184
  if branchall is not UNSET:
@@ -200,6 +213,9 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItem:
200
213
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_branchall import (
201
214
  GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemBranchall,
202
215
  )
216
+ from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_flow_jobs_duration import (
217
+ GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration,
218
+ )
203
219
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_iterator import (
204
220
  GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemIterator,
205
221
  )
@@ -226,6 +242,15 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItem:
226
242
 
227
243
  flow_jobs_success = cast(List[bool], d.pop("flow_jobs_success", UNSET))
228
244
 
245
+ _flow_jobs_duration = d.pop("flow_jobs_duration", UNSET)
246
+ flow_jobs_duration: Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration]
247
+ if isinstance(_flow_jobs_duration, Unset):
248
+ flow_jobs_duration = UNSET
249
+ else:
250
+ flow_jobs_duration = GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration.from_dict(
251
+ _flow_jobs_duration
252
+ )
253
+
229
254
  _branch_chosen = d.pop("branch_chosen", UNSET)
230
255
  branch_chosen: Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemBranchChosen]
231
256
  if isinstance(_branch_chosen, Unset):
@@ -298,6 +323,7 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItem:
298
323
  iterator=iterator,
299
324
  flow_jobs=flow_jobs,
300
325
  flow_jobs_success=flow_jobs_success,
326
+ flow_jobs_duration=flow_jobs_duration,
301
327
  branch_chosen=branch_chosen,
302
328
  branchall=branchall,
303
329
  approvers=approvers,
@@ -0,0 +1,73 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class GetSuspendedJobFlowResponse200JobType1FlowStatusModulesItemFlowJobsDuration:
13
+ """
14
+ Attributes:
15
+ started_at (Union[Unset, List[str]]):
16
+ duration_ms (Union[Unset, List[int]]):
17
+ """
18
+
19
+ started_at: Union[Unset, List[str]] = UNSET
20
+ duration_ms: Union[Unset, List[int]] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ started_at: Union[Unset, List[str]] = UNSET
25
+ if not isinstance(self.started_at, Unset):
26
+ started_at = self.started_at
27
+
28
+ duration_ms: Union[Unset, List[int]] = UNSET
29
+ if not isinstance(self.duration_ms, Unset):
30
+ duration_ms = self.duration_ms
31
+
32
+ field_dict: Dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update({})
35
+ if started_at is not UNSET:
36
+ field_dict["started_at"] = started_at
37
+ if duration_ms is not UNSET:
38
+ field_dict["duration_ms"] = duration_ms
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ started_at = cast(List[str], d.pop("started_at", UNSET))
46
+
47
+ duration_ms = cast(List[int], d.pop("duration_ms", UNSET))
48
+
49
+ get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_flow_jobs_duration.additional_properties = (
55
+ d
56
+ )
57
+ return get_suspended_job_flow_response_200_job_type_1_flow_status_modules_item_flow_jobs_duration
58
+
59
+ @property
60
+ def additional_keys(self) -> List[str]:
61
+ return list(self.additional_properties.keys())
62
+
63
+ def __getitem__(self, key: str) -> Any:
64
+ return self.additional_properties[key]
65
+
66
+ def __setitem__(self, key: str, value: Any) -> None:
67
+ self.additional_properties[key] = value
68
+
69
+ def __delitem__(self, key: str) -> None:
70
+ del self.additional_properties[key]
71
+
72
+ def __contains__(self, key: str) -> bool:
73
+ return key in self.additional_properties
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_branchall import (
25
25
  GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleBranchall,
26
26
  )
27
+ from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_flow_jobs_duration import (
28
+ GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration,
29
+ )
27
30
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_iterator import (
28
31
  GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleIterator,
29
32
  )
@@ -44,6 +47,8 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModule:
44
47
  iterator (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleIterator]):
45
48
  flow_jobs (Union[Unset, List[str]]):
46
49
  flow_jobs_success (Union[Unset, List[bool]]):
50
+ flow_jobs_duration (Union[Unset,
51
+ GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration]):
47
52
  branch_chosen (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleBranchChosen]):
48
53
  branchall (Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleBranchall]):
49
54
  approvers (Union[Unset,
@@ -64,6 +69,9 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModule:
64
69
  iterator: Union[Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleIterator"] = UNSET
65
70
  flow_jobs: Union[Unset, List[str]] = UNSET
66
71
  flow_jobs_success: Union[Unset, List[bool]] = UNSET
72
+ flow_jobs_duration: Union[
73
+ Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration"
74
+ ] = UNSET
67
75
  branch_chosen: Union[
68
76
  Unset, "GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleBranchChosen"
69
77
  ] = UNSET
@@ -108,6 +116,10 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModule:
108
116
  if not isinstance(self.flow_jobs_success, Unset):
109
117
  flow_jobs_success = self.flow_jobs_success
110
118
 
119
+ flow_jobs_duration: Union[Unset, Dict[str, Any]] = UNSET
120
+ if not isinstance(self.flow_jobs_duration, Unset):
121
+ flow_jobs_duration = self.flow_jobs_duration.to_dict()
122
+
111
123
  branch_chosen: Union[Unset, Dict[str, Any]] = UNSET
112
124
  if not isinstance(self.branch_chosen, Unset):
113
125
  branch_chosen = self.branch_chosen.to_dict()
@@ -171,6 +183,8 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModule:
171
183
  field_dict["flow_jobs"] = flow_jobs
172
184
  if flow_jobs_success is not UNSET:
173
185
  field_dict["flow_jobs_success"] = flow_jobs_success
186
+ if flow_jobs_duration is not UNSET:
187
+ field_dict["flow_jobs_duration"] = flow_jobs_duration
174
188
  if branch_chosen is not UNSET:
175
189
  field_dict["branch_chosen"] = branch_chosen
176
190
  if branchall is not UNSET:
@@ -205,6 +219,9 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModule:
205
219
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_branchall import (
206
220
  GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleBranchall,
207
221
  )
222
+ from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_flow_jobs_duration import (
223
+ GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration,
224
+ )
208
225
  from ..models.get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_iterator import (
209
226
  GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleIterator,
210
227
  )
@@ -231,6 +248,19 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModule:
231
248
 
232
249
  flow_jobs_success = cast(List[bool], d.pop("flow_jobs_success", UNSET))
233
250
 
251
+ _flow_jobs_duration = d.pop("flow_jobs_duration", UNSET)
252
+ flow_jobs_duration: Union[
253
+ Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration
254
+ ]
255
+ if isinstance(_flow_jobs_duration, Unset):
256
+ flow_jobs_duration = UNSET
257
+ else:
258
+ flow_jobs_duration = (
259
+ GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration.from_dict(
260
+ _flow_jobs_duration
261
+ )
262
+ )
263
+
234
264
  _branch_chosen = d.pop("branch_chosen", UNSET)
235
265
  branch_chosen: Union[Unset, GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleBranchChosen]
236
266
  if isinstance(_branch_chosen, Unset):
@@ -307,6 +337,7 @@ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModule:
307
337
  iterator=iterator,
308
338
  flow_jobs=flow_jobs,
309
339
  flow_jobs_success=flow_jobs_success,
340
+ flow_jobs_duration=flow_jobs_duration,
310
341
  branch_chosen=branch_chosen,
311
342
  branchall=branchall,
312
343
  approvers=approvers,
@@ -0,0 +1,73 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class GetSuspendedJobFlowResponse200JobType1FlowStatusPreprocessorModuleFlowJobsDuration:
13
+ """
14
+ Attributes:
15
+ started_at (Union[Unset, List[str]]):
16
+ duration_ms (Union[Unset, List[int]]):
17
+ """
18
+
19
+ started_at: Union[Unset, List[str]] = UNSET
20
+ duration_ms: Union[Unset, List[int]] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ started_at: Union[Unset, List[str]] = UNSET
25
+ if not isinstance(self.started_at, Unset):
26
+ started_at = self.started_at
27
+
28
+ duration_ms: Union[Unset, List[int]] = UNSET
29
+ if not isinstance(self.duration_ms, Unset):
30
+ duration_ms = self.duration_ms
31
+
32
+ field_dict: Dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update({})
35
+ if started_at is not UNSET:
36
+ field_dict["started_at"] = started_at
37
+ if duration_ms is not UNSET:
38
+ field_dict["duration_ms"] = duration_ms
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ started_at = cast(List[str], d.pop("started_at", UNSET))
46
+
47
+ duration_ms = cast(List[int], d.pop("duration_ms", UNSET))
48
+
49
+ get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_flow_jobs_duration.additional_properties = (
55
+ d
56
+ )
57
+ return get_suspended_job_flow_response_200_job_type_1_flow_status_preprocessor_module_flow_jobs_duration
58
+
59
+ @property
60
+ def additional_keys(self) -> List[str]:
61
+ return list(self.additional_properties.keys())
62
+
63
+ def __getitem__(self, key: str) -> Any:
64
+ return self.additional_properties[key]
65
+
66
+ def __setitem__(self, key: str, value: Any) -> None:
67
+ self.additional_properties[key] = value
68
+
69
+ def __delitem__(self, key: str) -> None:
70
+ del self.additional_properties[key]
71
+
72
+ def __contains__(self, key: str) -> bool:
73
+ return key in self.additional_properties
@@ -0,0 +1,71 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="JobType0FlowStatusFailureModuleFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class JobType0FlowStatusFailureModuleFlowJobsDuration:
13
+ """
14
+ Attributes:
15
+ started_at (Union[Unset, List[str]]):
16
+ duration_ms (Union[Unset, List[int]]):
17
+ """
18
+
19
+ started_at: Union[Unset, List[str]] = UNSET
20
+ duration_ms: Union[Unset, List[int]] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ started_at: Union[Unset, List[str]] = UNSET
25
+ if not isinstance(self.started_at, Unset):
26
+ started_at = self.started_at
27
+
28
+ duration_ms: Union[Unset, List[int]] = UNSET
29
+ if not isinstance(self.duration_ms, Unset):
30
+ duration_ms = self.duration_ms
31
+
32
+ field_dict: Dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update({})
35
+ if started_at is not UNSET:
36
+ field_dict["started_at"] = started_at
37
+ if duration_ms is not UNSET:
38
+ field_dict["duration_ms"] = duration_ms
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ started_at = cast(List[str], d.pop("started_at", UNSET))
46
+
47
+ duration_ms = cast(List[int], d.pop("duration_ms", UNSET))
48
+
49
+ job_type_0_flow_status_failure_module_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ job_type_0_flow_status_failure_module_flow_jobs_duration.additional_properties = d
55
+ return job_type_0_flow_status_failure_module_flow_jobs_duration
56
+
57
+ @property
58
+ def additional_keys(self) -> List[str]:
59
+ return list(self.additional_properties.keys())
60
+
61
+ def __getitem__(self, key: str) -> Any:
62
+ return self.additional_properties[key]
63
+
64
+ def __setitem__(self, key: str, value: Any) -> None:
65
+ self.additional_properties[key] = value
66
+
67
+ def __delitem__(self, key: str) -> None:
68
+ del self.additional_properties[key]
69
+
70
+ def __contains__(self, key: str) -> bool:
71
+ return key in self.additional_properties
@@ -0,0 +1,71 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="JobType0FlowStatusModulesItemFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class JobType0FlowStatusModulesItemFlowJobsDuration:
13
+ """
14
+ Attributes:
15
+ started_at (Union[Unset, List[str]]):
16
+ duration_ms (Union[Unset, List[int]]):
17
+ """
18
+
19
+ started_at: Union[Unset, List[str]] = UNSET
20
+ duration_ms: Union[Unset, List[int]] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ started_at: Union[Unset, List[str]] = UNSET
25
+ if not isinstance(self.started_at, Unset):
26
+ started_at = self.started_at
27
+
28
+ duration_ms: Union[Unset, List[int]] = UNSET
29
+ if not isinstance(self.duration_ms, Unset):
30
+ duration_ms = self.duration_ms
31
+
32
+ field_dict: Dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update({})
35
+ if started_at is not UNSET:
36
+ field_dict["started_at"] = started_at
37
+ if duration_ms is not UNSET:
38
+ field_dict["duration_ms"] = duration_ms
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ started_at = cast(List[str], d.pop("started_at", UNSET))
46
+
47
+ duration_ms = cast(List[int], d.pop("duration_ms", UNSET))
48
+
49
+ job_type_0_flow_status_modules_item_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ job_type_0_flow_status_modules_item_flow_jobs_duration.additional_properties = d
55
+ return job_type_0_flow_status_modules_item_flow_jobs_duration
56
+
57
+ @property
58
+ def additional_keys(self) -> List[str]:
59
+ return list(self.additional_properties.keys())
60
+
61
+ def __getitem__(self, key: str) -> Any:
62
+ return self.additional_properties[key]
63
+
64
+ def __setitem__(self, key: str, value: Any) -> None:
65
+ self.additional_properties[key] = value
66
+
67
+ def __delitem__(self, key: str) -> None:
68
+ del self.additional_properties[key]
69
+
70
+ def __contains__(self, key: str) -> bool:
71
+ return key in self.additional_properties