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
@@ -20,6 +20,9 @@ if TYPE_CHECKING:
20
20
  CompletedJobFlowStatusModulesItemBranchChosen,
21
21
  )
22
22
  from ..models.completed_job_flow_status_modules_item_branchall import CompletedJobFlowStatusModulesItemBranchall
23
+ from ..models.completed_job_flow_status_modules_item_flow_jobs_duration import (
24
+ CompletedJobFlowStatusModulesItemFlowJobsDuration,
25
+ )
23
26
  from ..models.completed_job_flow_status_modules_item_iterator import CompletedJobFlowStatusModulesItemIterator
24
27
 
25
28
 
@@ -38,6 +41,7 @@ class CompletedJobFlowStatusModulesItem:
38
41
  iterator (Union[Unset, CompletedJobFlowStatusModulesItemIterator]):
39
42
  flow_jobs (Union[Unset, List[str]]):
40
43
  flow_jobs_success (Union[Unset, List[bool]]):
44
+ flow_jobs_duration (Union[Unset, CompletedJobFlowStatusModulesItemFlowJobsDuration]):
41
45
  branch_chosen (Union[Unset, CompletedJobFlowStatusModulesItemBranchChosen]):
42
46
  branchall (Union[Unset, CompletedJobFlowStatusModulesItemBranchall]):
43
47
  approvers (Union[Unset, List['CompletedJobFlowStatusModulesItemApproversItem']]):
@@ -56,6 +60,7 @@ class CompletedJobFlowStatusModulesItem:
56
60
  iterator: Union[Unset, "CompletedJobFlowStatusModulesItemIterator"] = UNSET
57
61
  flow_jobs: Union[Unset, List[str]] = UNSET
58
62
  flow_jobs_success: Union[Unset, List[bool]] = UNSET
63
+ flow_jobs_duration: Union[Unset, "CompletedJobFlowStatusModulesItemFlowJobsDuration"] = UNSET
59
64
  branch_chosen: Union[Unset, "CompletedJobFlowStatusModulesItemBranchChosen"] = UNSET
60
65
  branchall: Union[Unset, "CompletedJobFlowStatusModulesItemBranchall"] = UNSET
61
66
  approvers: Union[Unset, List["CompletedJobFlowStatusModulesItemApproversItem"]] = UNSET
@@ -96,6 +101,10 @@ class CompletedJobFlowStatusModulesItem:
96
101
  if not isinstance(self.flow_jobs_success, Unset):
97
102
  flow_jobs_success = self.flow_jobs_success
98
103
 
104
+ flow_jobs_duration: Union[Unset, Dict[str, Any]] = UNSET
105
+ if not isinstance(self.flow_jobs_duration, Unset):
106
+ flow_jobs_duration = self.flow_jobs_duration.to_dict()
107
+
99
108
  branch_chosen: Union[Unset, Dict[str, Any]] = UNSET
100
109
  if not isinstance(self.branch_chosen, Unset):
101
110
  branch_chosen = self.branch_chosen.to_dict()
@@ -156,6 +165,8 @@ class CompletedJobFlowStatusModulesItem:
156
165
  field_dict["flow_jobs"] = flow_jobs
157
166
  if flow_jobs_success is not UNSET:
158
167
  field_dict["flow_jobs_success"] = flow_jobs_success
168
+ if flow_jobs_duration is not UNSET:
169
+ field_dict["flow_jobs_duration"] = flow_jobs_duration
159
170
  if branch_chosen is not UNSET:
160
171
  field_dict["branch_chosen"] = branch_chosen
161
172
  if branchall is not UNSET:
@@ -188,6 +199,9 @@ class CompletedJobFlowStatusModulesItem:
188
199
  CompletedJobFlowStatusModulesItemBranchChosen,
189
200
  )
190
201
  from ..models.completed_job_flow_status_modules_item_branchall import CompletedJobFlowStatusModulesItemBranchall
202
+ from ..models.completed_job_flow_status_modules_item_flow_jobs_duration import (
203
+ CompletedJobFlowStatusModulesItemFlowJobsDuration,
204
+ )
191
205
  from ..models.completed_job_flow_status_modules_item_iterator import CompletedJobFlowStatusModulesItemIterator
192
206
 
193
207
  d = src_dict.copy()
@@ -212,6 +226,13 @@ class CompletedJobFlowStatusModulesItem:
212
226
 
213
227
  flow_jobs_success = cast(List[bool], d.pop("flow_jobs_success", UNSET))
214
228
 
229
+ _flow_jobs_duration = d.pop("flow_jobs_duration", UNSET)
230
+ flow_jobs_duration: Union[Unset, CompletedJobFlowStatusModulesItemFlowJobsDuration]
231
+ if isinstance(_flow_jobs_duration, Unset):
232
+ flow_jobs_duration = UNSET
233
+ else:
234
+ flow_jobs_duration = CompletedJobFlowStatusModulesItemFlowJobsDuration.from_dict(_flow_jobs_duration)
235
+
215
236
  _branch_chosen = d.pop("branch_chosen", UNSET)
216
237
  branch_chosen: Union[Unset, CompletedJobFlowStatusModulesItemBranchChosen]
217
238
  if isinstance(_branch_chosen, Unset):
@@ -276,6 +297,7 @@ class CompletedJobFlowStatusModulesItem:
276
297
  iterator=iterator,
277
298
  flow_jobs=flow_jobs,
278
299
  flow_jobs_success=flow_jobs_success,
300
+ flow_jobs_duration=flow_jobs_duration,
279
301
  branch_chosen=branch_chosen,
280
302
  branchall=branchall,
281
303
  approvers=approvers,
@@ -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="CompletedJobFlowStatusModulesItemFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class CompletedJobFlowStatusModulesItemFlowJobsDuration:
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
+ completed_job_flow_status_modules_item_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ completed_job_flow_status_modules_item_flow_jobs_duration.additional_properties = d
55
+ return completed_job_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
@@ -22,6 +22,9 @@ if TYPE_CHECKING:
22
22
  from ..models.completed_job_flow_status_preprocessor_module_branchall import (
23
23
  CompletedJobFlowStatusPreprocessorModuleBranchall,
24
24
  )
25
+ from ..models.completed_job_flow_status_preprocessor_module_flow_jobs_duration import (
26
+ CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration,
27
+ )
25
28
  from ..models.completed_job_flow_status_preprocessor_module_iterator import (
26
29
  CompletedJobFlowStatusPreprocessorModuleIterator,
27
30
  )
@@ -42,6 +45,7 @@ class CompletedJobFlowStatusPreprocessorModule:
42
45
  iterator (Union[Unset, CompletedJobFlowStatusPreprocessorModuleIterator]):
43
46
  flow_jobs (Union[Unset, List[str]]):
44
47
  flow_jobs_success (Union[Unset, List[bool]]):
48
+ flow_jobs_duration (Union[Unset, CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration]):
45
49
  branch_chosen (Union[Unset, CompletedJobFlowStatusPreprocessorModuleBranchChosen]):
46
50
  branchall (Union[Unset, CompletedJobFlowStatusPreprocessorModuleBranchall]):
47
51
  approvers (Union[Unset, List['CompletedJobFlowStatusPreprocessorModuleApproversItem']]):
@@ -60,6 +64,7 @@ class CompletedJobFlowStatusPreprocessorModule:
60
64
  iterator: Union[Unset, "CompletedJobFlowStatusPreprocessorModuleIterator"] = UNSET
61
65
  flow_jobs: Union[Unset, List[str]] = UNSET
62
66
  flow_jobs_success: Union[Unset, List[bool]] = UNSET
67
+ flow_jobs_duration: Union[Unset, "CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration"] = UNSET
63
68
  branch_chosen: Union[Unset, "CompletedJobFlowStatusPreprocessorModuleBranchChosen"] = UNSET
64
69
  branchall: Union[Unset, "CompletedJobFlowStatusPreprocessorModuleBranchall"] = UNSET
65
70
  approvers: Union[Unset, List["CompletedJobFlowStatusPreprocessorModuleApproversItem"]] = UNSET
@@ -100,6 +105,10 @@ class CompletedJobFlowStatusPreprocessorModule:
100
105
  if not isinstance(self.flow_jobs_success, Unset):
101
106
  flow_jobs_success = self.flow_jobs_success
102
107
 
108
+ flow_jobs_duration: Union[Unset, Dict[str, Any]] = UNSET
109
+ if not isinstance(self.flow_jobs_duration, Unset):
110
+ flow_jobs_duration = self.flow_jobs_duration.to_dict()
111
+
103
112
  branch_chosen: Union[Unset, Dict[str, Any]] = UNSET
104
113
  if not isinstance(self.branch_chosen, Unset):
105
114
  branch_chosen = self.branch_chosen.to_dict()
@@ -160,6 +169,8 @@ class CompletedJobFlowStatusPreprocessorModule:
160
169
  field_dict["flow_jobs"] = flow_jobs
161
170
  if flow_jobs_success is not UNSET:
162
171
  field_dict["flow_jobs_success"] = flow_jobs_success
172
+ if flow_jobs_duration is not UNSET:
173
+ field_dict["flow_jobs_duration"] = flow_jobs_duration
163
174
  if branch_chosen is not UNSET:
164
175
  field_dict["branch_chosen"] = branch_chosen
165
176
  if branchall is not UNSET:
@@ -194,6 +205,9 @@ class CompletedJobFlowStatusPreprocessorModule:
194
205
  from ..models.completed_job_flow_status_preprocessor_module_branchall import (
195
206
  CompletedJobFlowStatusPreprocessorModuleBranchall,
196
207
  )
208
+ from ..models.completed_job_flow_status_preprocessor_module_flow_jobs_duration import (
209
+ CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration,
210
+ )
197
211
  from ..models.completed_job_flow_status_preprocessor_module_iterator import (
198
212
  CompletedJobFlowStatusPreprocessorModuleIterator,
199
213
  )
@@ -220,6 +234,13 @@ class CompletedJobFlowStatusPreprocessorModule:
220
234
 
221
235
  flow_jobs_success = cast(List[bool], d.pop("flow_jobs_success", UNSET))
222
236
 
237
+ _flow_jobs_duration = d.pop("flow_jobs_duration", UNSET)
238
+ flow_jobs_duration: Union[Unset, CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration]
239
+ if isinstance(_flow_jobs_duration, Unset):
240
+ flow_jobs_duration = UNSET
241
+ else:
242
+ flow_jobs_duration = CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration.from_dict(_flow_jobs_duration)
243
+
223
244
  _branch_chosen = d.pop("branch_chosen", UNSET)
224
245
  branch_chosen: Union[Unset, CompletedJobFlowStatusPreprocessorModuleBranchChosen]
225
246
  if isinstance(_branch_chosen, Unset):
@@ -288,6 +309,7 @@ class CompletedJobFlowStatusPreprocessorModule:
288
309
  iterator=iterator,
289
310
  flow_jobs=flow_jobs,
290
311
  flow_jobs_success=flow_jobs_success,
312
+ flow_jobs_duration=flow_jobs_duration,
291
313
  branch_chosen=branch_chosen,
292
314
  branchall=branchall,
293
315
  approvers=approvers,
@@ -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="CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class CompletedJobFlowStatusPreprocessorModuleFlowJobsDuration:
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
+ completed_job_flow_status_preprocessor_module_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ completed_job_flow_status_preprocessor_module_flow_jobs_duration.additional_properties = d
55
+ return completed_job_flow_status_preprocessor_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
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.delete_completed_job_response_200_flow_status_failure_module_branchall import (
25
25
  DeleteCompletedJobResponse200FlowStatusFailureModuleBranchall,
26
26
  )
27
+ from ..models.delete_completed_job_response_200_flow_status_failure_module_flow_jobs_duration import (
28
+ DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration,
29
+ )
27
30
  from ..models.delete_completed_job_response_200_flow_status_failure_module_iterator import (
28
31
  DeleteCompletedJobResponse200FlowStatusFailureModuleIterator,
29
32
  )
@@ -44,6 +47,7 @@ class DeleteCompletedJobResponse200FlowStatusFailureModule:
44
47
  iterator (Union[Unset, DeleteCompletedJobResponse200FlowStatusFailureModuleIterator]):
45
48
  flow_jobs (Union[Unset, List[str]]):
46
49
  flow_jobs_success (Union[Unset, List[bool]]):
50
+ flow_jobs_duration (Union[Unset, DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration]):
47
51
  branch_chosen (Union[Unset, DeleteCompletedJobResponse200FlowStatusFailureModuleBranchChosen]):
48
52
  branchall (Union[Unset, DeleteCompletedJobResponse200FlowStatusFailureModuleBranchall]):
49
53
  approvers (Union[Unset, List['DeleteCompletedJobResponse200FlowStatusFailureModuleApproversItem']]):
@@ -64,6 +68,7 @@ class DeleteCompletedJobResponse200FlowStatusFailureModule:
64
68
  iterator: Union[Unset, "DeleteCompletedJobResponse200FlowStatusFailureModuleIterator"] = UNSET
65
69
  flow_jobs: Union[Unset, List[str]] = UNSET
66
70
  flow_jobs_success: Union[Unset, List[bool]] = UNSET
71
+ flow_jobs_duration: Union[Unset, "DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration"] = UNSET
67
72
  branch_chosen: Union[Unset, "DeleteCompletedJobResponse200FlowStatusFailureModuleBranchChosen"] = UNSET
68
73
  branchall: Union[Unset, "DeleteCompletedJobResponse200FlowStatusFailureModuleBranchall"] = UNSET
69
74
  approvers: Union[Unset, List["DeleteCompletedJobResponse200FlowStatusFailureModuleApproversItem"]] = UNSET
@@ -105,6 +110,10 @@ class DeleteCompletedJobResponse200FlowStatusFailureModule:
105
110
  if not isinstance(self.flow_jobs_success, Unset):
106
111
  flow_jobs_success = self.flow_jobs_success
107
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
+
108
117
  branch_chosen: Union[Unset, Dict[str, Any]] = UNSET
109
118
  if not isinstance(self.branch_chosen, Unset):
110
119
  branch_chosen = self.branch_chosen.to_dict()
@@ -169,6 +178,8 @@ class DeleteCompletedJobResponse200FlowStatusFailureModule:
169
178
  field_dict["flow_jobs"] = flow_jobs
170
179
  if flow_jobs_success is not UNSET:
171
180
  field_dict["flow_jobs_success"] = flow_jobs_success
181
+ if flow_jobs_duration is not UNSET:
182
+ field_dict["flow_jobs_duration"] = flow_jobs_duration
172
183
  if branch_chosen is not UNSET:
173
184
  field_dict["branch_chosen"] = branch_chosen
174
185
  if branchall is not UNSET:
@@ -205,6 +216,9 @@ class DeleteCompletedJobResponse200FlowStatusFailureModule:
205
216
  from ..models.delete_completed_job_response_200_flow_status_failure_module_branchall import (
206
217
  DeleteCompletedJobResponse200FlowStatusFailureModuleBranchall,
207
218
  )
219
+ from ..models.delete_completed_job_response_200_flow_status_failure_module_flow_jobs_duration import (
220
+ DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration,
221
+ )
208
222
  from ..models.delete_completed_job_response_200_flow_status_failure_module_iterator import (
209
223
  DeleteCompletedJobResponse200FlowStatusFailureModuleIterator,
210
224
  )
@@ -231,6 +245,15 @@ class DeleteCompletedJobResponse200FlowStatusFailureModule:
231
245
 
232
246
  flow_jobs_success = cast(List[bool], d.pop("flow_jobs_success", UNSET))
233
247
 
248
+ _flow_jobs_duration = d.pop("flow_jobs_duration", UNSET)
249
+ flow_jobs_duration: Union[Unset, DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration]
250
+ if isinstance(_flow_jobs_duration, Unset):
251
+ flow_jobs_duration = UNSET
252
+ else:
253
+ flow_jobs_duration = DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration.from_dict(
254
+ _flow_jobs_duration
255
+ )
256
+
234
257
  _branch_chosen = d.pop("branch_chosen", UNSET)
235
258
  branch_chosen: Union[Unset, DeleteCompletedJobResponse200FlowStatusFailureModuleBranchChosen]
236
259
  if isinstance(_branch_chosen, Unset):
@@ -303,6 +326,7 @@ class DeleteCompletedJobResponse200FlowStatusFailureModule:
303
326
  iterator=iterator,
304
327
  flow_jobs=flow_jobs,
305
328
  flow_jobs_success=flow_jobs_success,
329
+ flow_jobs_duration=flow_jobs_duration,
306
330
  branch_chosen=branch_chosen,
307
331
  branchall=branchall,
308
332
  approvers=approvers,
@@ -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="DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class DeleteCompletedJobResponse200FlowStatusFailureModuleFlowJobsDuration:
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
+ delete_completed_job_response_200_flow_status_failure_module_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ delete_completed_job_response_200_flow_status_failure_module_flow_jobs_duration.additional_properties = d
55
+ return delete_completed_job_response_200_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
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.delete_completed_job_response_200_flow_status_modules_item_branchall import (
25
25
  DeleteCompletedJobResponse200FlowStatusModulesItemBranchall,
26
26
  )
27
+ from ..models.delete_completed_job_response_200_flow_status_modules_item_flow_jobs_duration import (
28
+ DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration,
29
+ )
27
30
  from ..models.delete_completed_job_response_200_flow_status_modules_item_iterator import (
28
31
  DeleteCompletedJobResponse200FlowStatusModulesItemIterator,
29
32
  )
@@ -44,6 +47,7 @@ class DeleteCompletedJobResponse200FlowStatusModulesItem:
44
47
  iterator (Union[Unset, DeleteCompletedJobResponse200FlowStatusModulesItemIterator]):
45
48
  flow_jobs (Union[Unset, List[str]]):
46
49
  flow_jobs_success (Union[Unset, List[bool]]):
50
+ flow_jobs_duration (Union[Unset, DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration]):
47
51
  branch_chosen (Union[Unset, DeleteCompletedJobResponse200FlowStatusModulesItemBranchChosen]):
48
52
  branchall (Union[Unset, DeleteCompletedJobResponse200FlowStatusModulesItemBranchall]):
49
53
  approvers (Union[Unset, List['DeleteCompletedJobResponse200FlowStatusModulesItemApproversItem']]):
@@ -63,6 +67,7 @@ class DeleteCompletedJobResponse200FlowStatusModulesItem:
63
67
  iterator: Union[Unset, "DeleteCompletedJobResponse200FlowStatusModulesItemIterator"] = 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[Unset, "DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration"] = UNSET
66
71
  branch_chosen: Union[Unset, "DeleteCompletedJobResponse200FlowStatusModulesItemBranchChosen"] = UNSET
67
72
  branchall: Union[Unset, "DeleteCompletedJobResponse200FlowStatusModulesItemBranchall"] = UNSET
68
73
  approvers: Union[Unset, List["DeleteCompletedJobResponse200FlowStatusModulesItemApproversItem"]] = UNSET
@@ -103,6 +108,10 @@ class DeleteCompletedJobResponse200FlowStatusModulesItem:
103
108
  if not isinstance(self.flow_jobs_success, Unset):
104
109
  flow_jobs_success = self.flow_jobs_success
105
110
 
111
+ flow_jobs_duration: Union[Unset, Dict[str, Any]] = UNSET
112
+ if not isinstance(self.flow_jobs_duration, Unset):
113
+ flow_jobs_duration = self.flow_jobs_duration.to_dict()
114
+
106
115
  branch_chosen: Union[Unset, Dict[str, Any]] = UNSET
107
116
  if not isinstance(self.branch_chosen, Unset):
108
117
  branch_chosen = self.branch_chosen.to_dict()
@@ -165,6 +174,8 @@ class DeleteCompletedJobResponse200FlowStatusModulesItem:
165
174
  field_dict["flow_jobs"] = flow_jobs
166
175
  if flow_jobs_success is not UNSET:
167
176
  field_dict["flow_jobs_success"] = flow_jobs_success
177
+ if flow_jobs_duration is not UNSET:
178
+ field_dict["flow_jobs_duration"] = flow_jobs_duration
168
179
  if branch_chosen is not UNSET:
169
180
  field_dict["branch_chosen"] = branch_chosen
170
181
  if branchall is not UNSET:
@@ -199,6 +210,9 @@ class DeleteCompletedJobResponse200FlowStatusModulesItem:
199
210
  from ..models.delete_completed_job_response_200_flow_status_modules_item_branchall import (
200
211
  DeleteCompletedJobResponse200FlowStatusModulesItemBranchall,
201
212
  )
213
+ from ..models.delete_completed_job_response_200_flow_status_modules_item_flow_jobs_duration import (
214
+ DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration,
215
+ )
202
216
  from ..models.delete_completed_job_response_200_flow_status_modules_item_iterator import (
203
217
  DeleteCompletedJobResponse200FlowStatusModulesItemIterator,
204
218
  )
@@ -225,6 +239,15 @@ class DeleteCompletedJobResponse200FlowStatusModulesItem:
225
239
 
226
240
  flow_jobs_success = cast(List[bool], d.pop("flow_jobs_success", UNSET))
227
241
 
242
+ _flow_jobs_duration = d.pop("flow_jobs_duration", UNSET)
243
+ flow_jobs_duration: Union[Unset, DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration]
244
+ if isinstance(_flow_jobs_duration, Unset):
245
+ flow_jobs_duration = UNSET
246
+ else:
247
+ flow_jobs_duration = DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration.from_dict(
248
+ _flow_jobs_duration
249
+ )
250
+
228
251
  _branch_chosen = d.pop("branch_chosen", UNSET)
229
252
  branch_chosen: Union[Unset, DeleteCompletedJobResponse200FlowStatusModulesItemBranchChosen]
230
253
  if isinstance(_branch_chosen, Unset):
@@ -295,6 +318,7 @@ class DeleteCompletedJobResponse200FlowStatusModulesItem:
295
318
  iterator=iterator,
296
319
  flow_jobs=flow_jobs,
297
320
  flow_jobs_success=flow_jobs_success,
321
+ flow_jobs_duration=flow_jobs_duration,
298
322
  branch_chosen=branch_chosen,
299
323
  branchall=branchall,
300
324
  approvers=approvers,
@@ -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="DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration")
9
+
10
+
11
+ @_attrs_define
12
+ class DeleteCompletedJobResponse200FlowStatusModulesItemFlowJobsDuration:
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
+ delete_completed_job_response_200_flow_status_modules_item_flow_jobs_duration = cls(
50
+ started_at=started_at,
51
+ duration_ms=duration_ms,
52
+ )
53
+
54
+ delete_completed_job_response_200_flow_status_modules_item_flow_jobs_duration.additional_properties = d
55
+ return delete_completed_job_response_200_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
@@ -24,6 +24,9 @@ if TYPE_CHECKING:
24
24
  from ..models.delete_completed_job_response_200_flow_status_preprocessor_module_branchall import (
25
25
  DeleteCompletedJobResponse200FlowStatusPreprocessorModuleBranchall,
26
26
  )
27
+ from ..models.delete_completed_job_response_200_flow_status_preprocessor_module_flow_jobs_duration import (
28
+ DeleteCompletedJobResponse200FlowStatusPreprocessorModuleFlowJobsDuration,
29
+ )
27
30
  from ..models.delete_completed_job_response_200_flow_status_preprocessor_module_iterator import (
28
31
  DeleteCompletedJobResponse200FlowStatusPreprocessorModuleIterator,
29
32
  )
@@ -44,6 +47,7 @@ class DeleteCompletedJobResponse200FlowStatusPreprocessorModule:
44
47
  iterator (Union[Unset, DeleteCompletedJobResponse200FlowStatusPreprocessorModuleIterator]):
45
48
  flow_jobs (Union[Unset, List[str]]):
46
49
  flow_jobs_success (Union[Unset, List[bool]]):
50
+ flow_jobs_duration (Union[Unset, DeleteCompletedJobResponse200FlowStatusPreprocessorModuleFlowJobsDuration]):
47
51
  branch_chosen (Union[Unset, DeleteCompletedJobResponse200FlowStatusPreprocessorModuleBranchChosen]):
48
52
  branchall (Union[Unset, DeleteCompletedJobResponse200FlowStatusPreprocessorModuleBranchall]):
49
53
  approvers (Union[Unset, List['DeleteCompletedJobResponse200FlowStatusPreprocessorModuleApproversItem']]):
@@ -63,6 +67,9 @@ class DeleteCompletedJobResponse200FlowStatusPreprocessorModule:
63
67
  iterator: Union[Unset, "DeleteCompletedJobResponse200FlowStatusPreprocessorModuleIterator"] = 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, "DeleteCompletedJobResponse200FlowStatusPreprocessorModuleFlowJobsDuration"
72
+ ] = UNSET
66
73
  branch_chosen: Union[Unset, "DeleteCompletedJobResponse200FlowStatusPreprocessorModuleBranchChosen"] = UNSET
67
74
  branchall: Union[Unset, "DeleteCompletedJobResponse200FlowStatusPreprocessorModuleBranchall"] = UNSET
68
75
  approvers: Union[Unset, List["DeleteCompletedJobResponse200FlowStatusPreprocessorModuleApproversItem"]] = UNSET
@@ -103,6 +110,10 @@ class DeleteCompletedJobResponse200FlowStatusPreprocessorModule:
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 DeleteCompletedJobResponse200FlowStatusPreprocessorModule:
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 DeleteCompletedJobResponse200FlowStatusPreprocessorModule:
200
213
  from ..models.delete_completed_job_response_200_flow_status_preprocessor_module_branchall import (
201
214
  DeleteCompletedJobResponse200FlowStatusPreprocessorModuleBranchall,
202
215
  )
216
+ from ..models.delete_completed_job_response_200_flow_status_preprocessor_module_flow_jobs_duration import (
217
+ DeleteCompletedJobResponse200FlowStatusPreprocessorModuleFlowJobsDuration,
218
+ )
203
219
  from ..models.delete_completed_job_response_200_flow_status_preprocessor_module_iterator import (
204
220
  DeleteCompletedJobResponse200FlowStatusPreprocessorModuleIterator,
205
221
  )
@@ -226,6 +242,15 @@ class DeleteCompletedJobResponse200FlowStatusPreprocessorModule:
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, DeleteCompletedJobResponse200FlowStatusPreprocessorModuleFlowJobsDuration]
247
+ if isinstance(_flow_jobs_duration, Unset):
248
+ flow_jobs_duration = UNSET
249
+ else:
250
+ flow_jobs_duration = DeleteCompletedJobResponse200FlowStatusPreprocessorModuleFlowJobsDuration.from_dict(
251
+ _flow_jobs_duration
252
+ )
253
+
229
254
  _branch_chosen = d.pop("branch_chosen", UNSET)
230
255
  branch_chosen: Union[Unset, DeleteCompletedJobResponse200FlowStatusPreprocessorModuleBranchChosen]
231
256
  if isinstance(_branch_chosen, Unset):
@@ -298,6 +323,7 @@ class DeleteCompletedJobResponse200FlowStatusPreprocessorModule:
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,