windmill-api 1.440.1__py3-none-any.whl → 1.450.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 (231) hide show
  1. windmill_api/api/capture/{get_capture.py → delete_capture.py} +12 -14
  2. windmill_api/api/capture/get_capture_configs.py +186 -0
  3. windmill_api/api/capture/list_captures.py +241 -0
  4. windmill_api/api/capture/ping_capture_config.py +121 -0
  5. windmill_api/api/capture/set_capture_config.py +107 -0
  6. windmill_api/api/input_/get_input_history.py +15 -0
  7. windmill_api/api/job/get_slack_approval_payload.py +171 -0
  8. windmill_api/api/nats_trigger/__init__.py +0 -0
  9. windmill_api/api/nats_trigger/create_nats_trigger.py +105 -0
  10. windmill_api/api/{capture/create_capture.py → nats_trigger/delete_nats_trigger.py} +4 -6
  11. windmill_api/api/nats_trigger/exists_nats_trigger.py +160 -0
  12. windmill_api/api/nats_trigger/get_nats_trigger.py +166 -0
  13. windmill_api/api/nats_trigger/list_nats_triggers.py +237 -0
  14. windmill_api/api/nats_trigger/set_nats_trigger_enabled.py +113 -0
  15. windmill_api/api/nats_trigger/update_nats_trigger.py +113 -0
  16. windmill_api/api/postgres_trigger/__init__.py +0 -0
  17. windmill_api/api/postgres_trigger/create_postgres_publication.py +121 -0
  18. windmill_api/api/postgres_trigger/create_postgres_replication_slot.py +113 -0
  19. windmill_api/api/postgres_trigger/create_postgres_trigger.py +105 -0
  20. windmill_api/api/postgres_trigger/create_template_script.py +105 -0
  21. windmill_api/api/postgres_trigger/delete_postgres_publication.py +109 -0
  22. windmill_api/api/postgres_trigger/delete_postgres_replication_slot.py +113 -0
  23. windmill_api/api/{capture/update_capture.py → postgres_trigger/delete_postgres_trigger.py} +4 -6
  24. windmill_api/api/postgres_trigger/exists_postgres_trigger.py +160 -0
  25. windmill_api/api/postgres_trigger/get_postgres_publication.py +180 -0
  26. windmill_api/api/postgres_trigger/get_postgres_trigger.py +166 -0
  27. windmill_api/api/postgres_trigger/get_template_script.py +101 -0
  28. windmill_api/api/postgres_trigger/is_valid_postgres_configuration.py +160 -0
  29. windmill_api/api/postgres_trigger/list_postgres_publication.py +161 -0
  30. windmill_api/api/postgres_trigger/list_postgres_replication_slot.py +171 -0
  31. windmill_api/api/postgres_trigger/list_postgres_triggers.py +237 -0
  32. windmill_api/api/postgres_trigger/set_postgres_trigger_enabled.py +113 -0
  33. windmill_api/api/postgres_trigger/update_postgres_publication.py +121 -0
  34. windmill_api/api/postgres_trigger/update_postgres_trigger.py +113 -0
  35. windmill_api/api/teams/__init__.py +0 -0
  36. windmill_api/api/teams/sync_teams.py +131 -0
  37. windmill_api/api/worker/get_custom_tags.py +50 -4
  38. windmill_api/api/workspace/change_workspace_color.py +105 -0
  39. windmill_api/api/workspace/get_threshold_alert.py +152 -0
  40. windmill_api/api/workspace/set_threshold_alert.py +105 -0
  41. windmill_api/api/workspace/update_operator_settings.py +109 -0
  42. windmill_api/models/add_granular_acls_kind.py +2 -0
  43. windmill_api/models/archive_script_by_hash_response_200.py +8 -0
  44. windmill_api/models/archive_script_by_hash_response_200_kind.py +1 -0
  45. windmill_api/models/archive_script_by_hash_response_200_language.py +1 -0
  46. windmill_api/models/capture.py +94 -0
  47. windmill_api/models/capture_config.py +95 -0
  48. windmill_api/models/capture_config_trigger_kind.py +13 -0
  49. windmill_api/models/capture_trigger_kind.py +13 -0
  50. windmill_api/models/change_workspace_color_json_body.py +58 -0
  51. windmill_api/models/channel_info.py +80 -0
  52. windmill_api/models/completed_job_language.py +1 -0
  53. windmill_api/models/create_nats_trigger_json_body.py +120 -0
  54. windmill_api/models/create_postgres_publication_json_body.py +90 -0
  55. windmill_api/models/create_postgres_publication_json_body_table_to_track_item.py +86 -0
  56. windmill_api/models/create_postgres_publication_json_body_table_to_track_item_table_to_track_item.py +79 -0
  57. windmill_api/models/create_postgres_replication_slot_json_body.py +58 -0
  58. windmill_api/models/create_postgres_trigger_json_body.py +125 -0
  59. windmill_api/models/create_postgres_trigger_json_body_publication.py +92 -0
  60. windmill_api/models/create_postgres_trigger_json_body_publication_table_to_track_item.py +86 -0
  61. windmill_api/models/create_postgres_trigger_json_body_publication_table_to_track_item_table_to_track_item.py +79 -0
  62. windmill_api/models/create_script_json_body.py +8 -0
  63. windmill_api/models/create_script_json_body_kind.py +1 -0
  64. windmill_api/models/create_script_json_body_language.py +1 -0
  65. windmill_api/models/create_template_script_json_body.py +90 -0
  66. windmill_api/models/create_template_script_json_body_language.py +8 -0
  67. windmill_api/models/create_template_script_json_body_relations_item.py +86 -0
  68. windmill_api/models/create_template_script_json_body_relations_item_table_to_track_item.py +79 -0
  69. windmill_api/models/create_websocket_trigger_json_body.py +42 -29
  70. windmill_api/models/create_workspace.py +8 -0
  71. windmill_api/models/create_workspace_json_body.py +8 -0
  72. windmill_api/models/delete_completed_job_response_200_language.py +1 -0
  73. windmill_api/models/delete_postgres_replication_slot_json_body.py +58 -0
  74. windmill_api/models/delete_script_by_hash_response_200.py +8 -0
  75. windmill_api/models/delete_script_by_hash_response_200_kind.py +1 -0
  76. windmill_api/models/delete_script_by_hash_response_200_language.py +1 -0
  77. windmill_api/models/edit_nats_trigger.py +112 -0
  78. windmill_api/models/edit_postgres_trigger.py +123 -0
  79. windmill_api/models/edit_postgres_trigger_publication.py +90 -0
  80. windmill_api/models/edit_postgres_trigger_publication_table_to_track_item.py +86 -0
  81. windmill_api/models/edit_postgres_trigger_publication_table_to_track_item_table_to_track_item.py +79 -0
  82. windmill_api/models/edit_websocket_trigger.py +35 -21
  83. windmill_api/models/extended_jobs_jobs_item_type_0_language.py +1 -0
  84. windmill_api/models/extended_jobs_jobs_item_type_1_language.py +1 -0
  85. windmill_api/models/flow_metadata.py +8 -0
  86. windmill_api/models/flow_module_value_2_type_0_language.py +1 -0
  87. windmill_api/models/get_capture_configs_response_200_item.py +95 -0
  88. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +13 -0
  89. windmill_api/models/get_capture_configs_runnable_kind.py +9 -0
  90. windmill_api/models/get_completed_job_response_200_language.py +1 -0
  91. windmill_api/models/get_flow_by_path_response_200.py +8 -0
  92. windmill_api/models/get_flow_by_path_with_draft_response_200_draft.py +8 -0
  93. windmill_api/models/get_flow_version_response_200.py +8 -0
  94. windmill_api/models/get_granular_acls_kind.py +2 -0
  95. windmill_api/models/get_http_trigger_response_200.py +36 -36
  96. windmill_api/models/get_job_response_200_type_0_language.py +1 -0
  97. windmill_api/models/get_job_response_200_type_1_language.py +1 -0
  98. windmill_api/models/get_nats_trigger_response_200.py +196 -0
  99. windmill_api/models/get_nats_trigger_response_200_extra_perms.py +44 -0
  100. windmill_api/models/get_postgres_publication_response_200.py +90 -0
  101. windmill_api/models/get_postgres_publication_response_200_table_to_track_item.py +86 -0
  102. windmill_api/models/get_postgres_publication_response_200_table_to_track_item_table_to_track_item.py +79 -0
  103. windmill_api/models/get_postgres_trigger_response_200.py +178 -0
  104. windmill_api/models/get_postgres_trigger_response_200_extra_perms.py +44 -0
  105. windmill_api/models/get_premium_info_response_200.py +7 -0
  106. windmill_api/models/get_script_by_hash_response_200.py +8 -0
  107. windmill_api/models/get_script_by_hash_response_200_kind.py +1 -0
  108. windmill_api/models/get_script_by_hash_response_200_language.py +1 -0
  109. windmill_api/models/get_script_by_path_response_200.py +8 -0
  110. windmill_api/models/get_script_by_path_response_200_kind.py +1 -0
  111. windmill_api/models/get_script_by_path_response_200_language.py +1 -0
  112. windmill_api/models/get_script_by_path_with_draft_response_200.py +8 -0
  113. windmill_api/models/get_script_by_path_with_draft_response_200_draft.py +8 -0
  114. windmill_api/models/get_script_by_path_with_draft_response_200_draft_kind.py +1 -0
  115. windmill_api/models/get_script_by_path_with_draft_response_200_draft_language.py +1 -0
  116. windmill_api/models/get_script_by_path_with_draft_response_200_kind.py +1 -0
  117. windmill_api/models/get_script_by_path_with_draft_response_200_language.py +1 -0
  118. windmill_api/models/get_settings_response_200.py +27 -0
  119. windmill_api/models/get_settings_response_200_operator_settings.py +114 -0
  120. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_language.py +1 -0
  121. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_language.py +1 -0
  122. windmill_api/models/get_threshold_alert_response_200.py +75 -0
  123. windmill_api/models/get_triggers_count_of_flow_response_200.py +16 -0
  124. windmill_api/models/get_triggers_count_of_script_response_200.py +16 -0
  125. windmill_api/models/get_used_triggers_response_200.py +14 -0
  126. windmill_api/models/get_websocket_trigger_response_200.py +89 -76
  127. windmill_api/models/http_trigger.py +36 -36
  128. windmill_api/models/job_type_0_language.py +1 -0
  129. windmill_api/models/job_type_1_language.py +1 -0
  130. windmill_api/models/language.py +8 -0
  131. windmill_api/models/list_captures_response_200_item.py +94 -0
  132. windmill_api/models/list_captures_response_200_item_trigger_kind.py +13 -0
  133. windmill_api/models/list_captures_runnable_kind.py +9 -0
  134. windmill_api/models/list_captures_trigger_kind.py +13 -0
  135. windmill_api/models/list_completed_jobs_response_200_item_language.py +1 -0
  136. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_language.py +1 -0
  137. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_language.py +1 -0
  138. windmill_api/models/list_http_triggers_response_200_item.py +36 -36
  139. windmill_api/models/list_jobs_response_200_item_type_0_language.py +1 -0
  140. windmill_api/models/list_jobs_response_200_item_type_1_language.py +1 -0
  141. windmill_api/models/list_nats_triggers_response_200_item.py +196 -0
  142. windmill_api/models/list_nats_triggers_response_200_item_extra_perms.py +44 -0
  143. windmill_api/models/list_postgres_replication_slot_response_200_item.py +66 -0
  144. windmill_api/models/list_postgres_triggers_response_200_item.py +182 -0
  145. windmill_api/models/list_postgres_triggers_response_200_item_extra_perms.py +44 -0
  146. windmill_api/models/list_queue_response_200_item_language.py +1 -0
  147. windmill_api/models/list_scripts_response_200_item.py +8 -0
  148. windmill_api/models/list_scripts_response_200_item_kind.py +1 -0
  149. windmill_api/models/list_scripts_response_200_item_language.py +1 -0
  150. windmill_api/models/list_user_workspaces_response_200_workspaces_item.py +39 -1
  151. windmill_api/models/list_user_workspaces_response_200_workspaces_item_operator_settings.py +114 -0
  152. windmill_api/models/list_websocket_triggers_response_200_item.py +89 -76
  153. windmill_api/models/list_workspaces_as_super_admin_response_200_item.py +8 -0
  154. windmill_api/models/list_workspaces_response_200_item.py +8 -0
  155. windmill_api/models/nats_trigger.py +196 -0
  156. windmill_api/models/nats_trigger_extra_perms.py +44 -0
  157. windmill_api/models/new_nats_trigger.py +120 -0
  158. windmill_api/models/new_postgres_trigger.py +125 -0
  159. windmill_api/models/new_postgres_trigger_publication.py +90 -0
  160. windmill_api/models/new_postgres_trigger_publication_table_to_track_item.py +86 -0
  161. windmill_api/models/new_postgres_trigger_publication_table_to_track_item_table_to_track_item.py +79 -0
  162. windmill_api/models/new_script.py +8 -0
  163. windmill_api/models/new_script_kind.py +1 -0
  164. windmill_api/models/new_script_language.py +1 -0
  165. windmill_api/models/new_script_with_draft.py +8 -0
  166. windmill_api/models/new_script_with_draft_draft.py +8 -0
  167. windmill_api/models/new_script_with_draft_draft_kind.py +1 -0
  168. windmill_api/models/new_script_with_draft_draft_language.py +1 -0
  169. windmill_api/models/new_script_with_draft_kind.py +1 -0
  170. windmill_api/models/new_script_with_draft_language.py +1 -0
  171. windmill_api/models/new_websocket_trigger.py +36 -26
  172. windmill_api/models/open_flow_w_path.py +8 -0
  173. windmill_api/models/operator_settings.py +114 -0
  174. windmill_api/models/ping_capture_config_runnable_kind.py +9 -0
  175. windmill_api/models/ping_capture_config_trigger_kind.py +13 -0
  176. windmill_api/models/postgres_trigger.py +178 -0
  177. windmill_api/models/postgres_trigger_extra_perms.py +44 -0
  178. windmill_api/models/preview_language.py +1 -0
  179. windmill_api/models/publication_data.py +86 -0
  180. windmill_api/models/publication_data_table_to_track_item.py +84 -0
  181. windmill_api/models/publication_data_table_to_track_item_table_to_track_item.py +79 -0
  182. windmill_api/models/queued_job_language.py +1 -0
  183. windmill_api/models/raw_script_for_dependencies_language.py +1 -0
  184. windmill_api/models/raw_script_language.py +1 -0
  185. windmill_api/models/relations.py +80 -0
  186. windmill_api/models/relations_table_to_track_item.py +79 -0
  187. windmill_api/models/remove_granular_acls_kind.py +2 -0
  188. windmill_api/models/run_raw_script_dependencies_json_body_raw_scripts_item_language.py +1 -0
  189. windmill_api/models/run_script_preview_json_body_language.py +1 -0
  190. windmill_api/models/script.py +8 -0
  191. windmill_api/models/script_kind.py +1 -0
  192. windmill_api/models/script_lang.py +25 -0
  193. windmill_api/models/script_language.py +1 -0
  194. windmill_api/models/set_capture_config_json_body.py +97 -0
  195. windmill_api/models/set_capture_config_json_body_trigger_config.py +44 -0
  196. windmill_api/models/set_capture_config_json_body_trigger_kind.py +13 -0
  197. windmill_api/models/set_nats_trigger_enabled_json_body.py +58 -0
  198. windmill_api/models/set_postgres_trigger_enabled_json_body.py +58 -0
  199. windmill_api/models/set_threshold_alert_json_body.py +58 -0
  200. windmill_api/models/slot.py +58 -0
  201. windmill_api/models/slot_list.py +66 -0
  202. windmill_api/models/sync_teams_response_200_item.py +87 -0
  203. windmill_api/models/sync_teams_response_200_item_channels_item.py +80 -0
  204. windmill_api/models/table_to_track_item.py +79 -0
  205. windmill_api/models/team_info.py +87 -0
  206. windmill_api/models/team_info_channels_item.py +80 -0
  207. windmill_api/models/template_script.py +90 -0
  208. windmill_api/models/template_script_language.py +8 -0
  209. windmill_api/models/template_script_relations_item.py +82 -0
  210. windmill_api/models/template_script_relations_item_table_to_track_item.py +79 -0
  211. windmill_api/models/trigger_extra_property.py +95 -0
  212. windmill_api/models/trigger_extra_property_extra_perms.py +44 -0
  213. windmill_api/models/triggers_count.py +16 -0
  214. windmill_api/models/update_nats_trigger_json_body.py +112 -0
  215. windmill_api/models/update_operator_settings_json_body.py +114 -0
  216. windmill_api/models/update_postgres_publication_json_body.py +90 -0
  217. windmill_api/models/update_postgres_publication_json_body_table_to_track_item.py +86 -0
  218. windmill_api/models/update_postgres_publication_json_body_table_to_track_item_table_to_track_item.py +79 -0
  219. windmill_api/models/update_postgres_trigger_json_body.py +123 -0
  220. windmill_api/models/update_postgres_trigger_json_body_publication.py +92 -0
  221. windmill_api/models/update_postgres_trigger_json_body_publication_table_to_track_item.py +86 -0
  222. windmill_api/models/update_postgres_trigger_json_body_publication_table_to_track_item_table_to_track_item.py +79 -0
  223. windmill_api/models/update_websocket_trigger_json_body.py +40 -24
  224. windmill_api/models/user_workspace_list_workspaces_item.py +37 -1
  225. windmill_api/models/user_workspace_list_workspaces_item_operator_settings.py +114 -0
  226. windmill_api/models/websocket_trigger.py +83 -73
  227. windmill_api/models/workspace.py +8 -0
  228. {windmill_api-1.440.1.dist-info → windmill_api-1.450.1.dist-info}/METADATA +1 -1
  229. {windmill_api-1.440.1.dist-info → windmill_api-1.450.1.dist-info}/RECORD +231 -100
  230. {windmill_api-1.440.1.dist-info → windmill_api-1.450.1.dist-info}/LICENSE +0 -0
  231. {windmill_api-1.440.1.dist-info → windmill_api-1.450.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,44 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="ListPostgresTriggersResponse200ItemExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class ListPostgresTriggersResponse200ItemExtraPerms:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, bool] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+ field_dict.update({})
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
24
+ d = src_dict.copy()
25
+ list_postgres_triggers_response_200_item_extra_perms = cls()
26
+
27
+ list_postgres_triggers_response_200_item_extra_perms.additional_properties = d
28
+ return list_postgres_triggers_response_200_item_extra_perms
29
+
30
+ @property
31
+ def additional_keys(self) -> List[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> bool:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: bool) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -13,6 +13,7 @@ class ListQueueResponse200ItemLanguage(str, Enum):
13
13
  MSSQL = "mssql"
14
14
  MYSQL = "mysql"
15
15
  NATIVETS = "nativets"
16
+ ORACLEDB = "oracledb"
16
17
  PHP = "php"
17
18
  POSTGRESQL = "postgresql"
18
19
  POWERSHELL = "powershell"
@@ -59,6 +59,7 @@ class ListScriptsResponse200Item:
59
59
  delete_after_use (Union[Unset, bool]):
60
60
  visible_to_runner_only (Union[Unset, bool]):
61
61
  codebase (Union[Unset, str]):
62
+ on_behalf_of_email (Union[Unset, str]):
62
63
  """
63
64
 
64
65
  hash_: str
@@ -98,6 +99,7 @@ class ListScriptsResponse200Item:
98
99
  delete_after_use: Union[Unset, bool] = UNSET
99
100
  visible_to_runner_only: Union[Unset, bool] = UNSET
100
101
  codebase: Union[Unset, str] = UNSET
102
+ on_behalf_of_email: Union[Unset, str] = UNSET
101
103
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
102
104
 
103
105
  def to_dict(self) -> Dict[str, Any]:
@@ -151,6 +153,7 @@ class ListScriptsResponse200Item:
151
153
  delete_after_use = self.delete_after_use
152
154
  visible_to_runner_only = self.visible_to_runner_only
153
155
  codebase = self.codebase
156
+ on_behalf_of_email = self.on_behalf_of_email
154
157
 
155
158
  field_dict: Dict[str, Any] = {}
156
159
  field_dict.update(self.additional_properties)
@@ -216,6 +219,8 @@ class ListScriptsResponse200Item:
216
219
  field_dict["visible_to_runner_only"] = visible_to_runner_only
217
220
  if codebase is not UNSET:
218
221
  field_dict["codebase"] = codebase
222
+ if on_behalf_of_email is not UNSET:
223
+ field_dict["on_behalf_of_email"] = on_behalf_of_email
219
224
 
220
225
  return field_dict
221
226
 
@@ -304,6 +309,8 @@ class ListScriptsResponse200Item:
304
309
 
305
310
  codebase = d.pop("codebase", UNSET)
306
311
 
312
+ on_behalf_of_email = d.pop("on_behalf_of_email", UNSET)
313
+
307
314
  list_scripts_response_200_item = cls(
308
315
  hash_=hash_,
309
316
  path=path,
@@ -342,6 +349,7 @@ class ListScriptsResponse200Item:
342
349
  delete_after_use=delete_after_use,
343
350
  visible_to_runner_only=visible_to_runner_only,
344
351
  codebase=codebase,
352
+ on_behalf_of_email=on_behalf_of_email,
345
353
  )
346
354
 
347
355
  list_scripts_response_200_item.additional_properties = d
@@ -5,6 +5,7 @@ class ListScriptsResponse200ItemKind(str, Enum):
5
5
  APPROVAL = "approval"
6
6
  COMMAND = "command"
7
7
  FAILURE = "failure"
8
+ PREPROCESSOR = "preprocessor"
8
9
  SCRIPT = "script"
9
10
  TRIGGER = "trigger"
10
11
 
@@ -13,6 +13,7 @@ class ListScriptsResponse200ItemLanguage(str, Enum):
13
13
  MSSQL = "mssql"
14
14
  MYSQL = "mysql"
15
15
  NATIVETS = "nativets"
16
+ ORACLEDB = "oracledb"
16
17
  PHP = "php"
17
18
  POSTGRESQL = "postgresql"
18
19
  POWERSHELL = "powershell"
@@ -1,8 +1,16 @@
1
- from typing import Any, Dict, List, Type, TypeVar
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
5
5
 
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.list_user_workspaces_response_200_workspaces_item_operator_settings import (
10
+ ListUserWorkspacesResponse200WorkspacesItemOperatorSettings,
11
+ )
12
+
13
+
6
14
  T = TypeVar("T", bound="ListUserWorkspacesResponse200WorkspacesItem")
7
15
 
8
16
 
@@ -13,17 +21,25 @@ class ListUserWorkspacesResponse200WorkspacesItem:
13
21
  id (str):
14
22
  name (str):
15
23
  username (str):
24
+ color (str):
25
+ operator_settings (Union[Unset, None, ListUserWorkspacesResponse200WorkspacesItemOperatorSettings]):
16
26
  """
17
27
 
18
28
  id: str
19
29
  name: str
20
30
  username: str
31
+ color: str
32
+ operator_settings: Union[Unset, None, "ListUserWorkspacesResponse200WorkspacesItemOperatorSettings"] = UNSET
21
33
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
34
 
23
35
  def to_dict(self) -> Dict[str, Any]:
24
36
  id = self.id
25
37
  name = self.name
26
38
  username = self.username
39
+ color = self.color
40
+ operator_settings: Union[Unset, None, Dict[str, Any]] = UNSET
41
+ if not isinstance(self.operator_settings, Unset):
42
+ operator_settings = self.operator_settings.to_dict() if self.operator_settings else None
27
43
 
28
44
  field_dict: Dict[str, Any] = {}
29
45
  field_dict.update(self.additional_properties)
@@ -32,13 +48,20 @@ class ListUserWorkspacesResponse200WorkspacesItem:
32
48
  "id": id,
33
49
  "name": name,
34
50
  "username": username,
51
+ "color": color,
35
52
  }
36
53
  )
54
+ if operator_settings is not UNSET:
55
+ field_dict["operator_settings"] = operator_settings
37
56
 
38
57
  return field_dict
39
58
 
40
59
  @classmethod
41
60
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
61
+ from ..models.list_user_workspaces_response_200_workspaces_item_operator_settings import (
62
+ ListUserWorkspacesResponse200WorkspacesItemOperatorSettings,
63
+ )
64
+
42
65
  d = src_dict.copy()
43
66
  id = d.pop("id")
44
67
 
@@ -46,10 +69,25 @@ class ListUserWorkspacesResponse200WorkspacesItem:
46
69
 
47
70
  username = d.pop("username")
48
71
 
72
+ color = d.pop("color")
73
+
74
+ _operator_settings = d.pop("operator_settings", UNSET)
75
+ operator_settings: Union[Unset, None, ListUserWorkspacesResponse200WorkspacesItemOperatorSettings]
76
+ if _operator_settings is None:
77
+ operator_settings = None
78
+ elif isinstance(_operator_settings, Unset):
79
+ operator_settings = UNSET
80
+ else:
81
+ operator_settings = ListUserWorkspacesResponse200WorkspacesItemOperatorSettings.from_dict(
82
+ _operator_settings
83
+ )
84
+
49
85
  list_user_workspaces_response_200_workspaces_item = cls(
50
86
  id=id,
51
87
  name=name,
52
88
  username=username,
89
+ color=color,
90
+ operator_settings=operator_settings,
53
91
  )
54
92
 
55
93
  list_user_workspaces_response_200_workspaces_item.additional_properties = d
@@ -0,0 +1,114 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="ListUserWorkspacesResponse200WorkspacesItemOperatorSettings")
7
+
8
+
9
+ @_attrs_define
10
+ class ListUserWorkspacesResponse200WorkspacesItemOperatorSettings:
11
+ """
12
+ Attributes:
13
+ runs (bool): Whether operators can view runs
14
+ schedules (bool): Whether operators can view schedules
15
+ resources (bool): Whether operators can view resources
16
+ variables (bool): Whether operators can view variables
17
+ audit_logs (bool): Whether operators can view audit logs
18
+ triggers (bool): Whether operators can view triggers
19
+ groups (bool): Whether operators can view groups page
20
+ folders (bool): Whether operators can view folders page
21
+ workers (bool): Whether operators can view workers page
22
+ """
23
+
24
+ runs: bool
25
+ schedules: bool
26
+ resources: bool
27
+ variables: bool
28
+ audit_logs: bool
29
+ triggers: bool
30
+ groups: bool
31
+ folders: bool
32
+ workers: bool
33
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
34
+
35
+ def to_dict(self) -> Dict[str, Any]:
36
+ runs = self.runs
37
+ schedules = self.schedules
38
+ resources = self.resources
39
+ variables = self.variables
40
+ audit_logs = self.audit_logs
41
+ triggers = self.triggers
42
+ groups = self.groups
43
+ folders = self.folders
44
+ workers = self.workers
45
+
46
+ field_dict: Dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update(
49
+ {
50
+ "runs": runs,
51
+ "schedules": schedules,
52
+ "resources": resources,
53
+ "variables": variables,
54
+ "audit_logs": audit_logs,
55
+ "triggers": triggers,
56
+ "groups": groups,
57
+ "folders": folders,
58
+ "workers": workers,
59
+ }
60
+ )
61
+
62
+ return field_dict
63
+
64
+ @classmethod
65
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
66
+ d = src_dict.copy()
67
+ runs = d.pop("runs")
68
+
69
+ schedules = d.pop("schedules")
70
+
71
+ resources = d.pop("resources")
72
+
73
+ variables = d.pop("variables")
74
+
75
+ audit_logs = d.pop("audit_logs")
76
+
77
+ triggers = d.pop("triggers")
78
+
79
+ groups = d.pop("groups")
80
+
81
+ folders = d.pop("folders")
82
+
83
+ workers = d.pop("workers")
84
+
85
+ list_user_workspaces_response_200_workspaces_item_operator_settings = cls(
86
+ runs=runs,
87
+ schedules=schedules,
88
+ resources=resources,
89
+ variables=variables,
90
+ audit_logs=audit_logs,
91
+ triggers=triggers,
92
+ groups=groups,
93
+ folders=folders,
94
+ workers=workers,
95
+ )
96
+
97
+ list_user_workspaces_response_200_workspaces_item_operator_settings.additional_properties = d
98
+ return list_user_workspaces_response_200_workspaces_item_operator_settings
99
+
100
+ @property
101
+ def additional_keys(self) -> List[str]:
102
+ return list(self.additional_properties.keys())
103
+
104
+ def __getitem__(self, key: str) -> Any:
105
+ return self.additional_properties[key]
106
+
107
+ def __setitem__(self, key: str, value: Any) -> None:
108
+ self.additional_properties[key] = value
109
+
110
+ def __delitem__(self, key: str) -> None:
111
+ del self.additional_properties[key]
112
+
113
+ def __contains__(self, key: str) -> bool:
114
+ return key in self.additional_properties
@@ -33,45 +33,48 @@ class ListWebsocketTriggersResponse200Item:
33
33
  """
34
34
  Attributes:
35
35
  path (str):
36
- edited_by (str):
37
- edited_at (datetime.datetime):
38
36
  script_path (str):
39
37
  url (str):
40
38
  is_flow (bool):
41
- extra_perms (ListWebsocketTriggersResponse200ItemExtraPerms):
42
- email (str):
43
- workspace_id (str):
44
39
  enabled (bool):
45
40
  filters (List['ListWebsocketTriggersResponse200ItemFiltersItem']):
46
- initial_messages (List[Union['ListWebsocketTriggersResponse200ItemInitialMessagesItemType0',
47
- 'ListWebsocketTriggersResponse200ItemInitialMessagesItemType1']]):
48
- url_runnable_args (ListWebsocketTriggersResponse200ItemUrlRunnableArgs):
41
+ email (str):
42
+ extra_perms (ListWebsocketTriggersResponse200ItemExtraPerms):
43
+ workspace_id (str):
44
+ edited_by (str):
45
+ edited_at (datetime.datetime):
49
46
  server_id (Union[Unset, str]):
50
47
  last_server_ping (Union[Unset, datetime.datetime]):
51
48
  error (Union[Unset, str]):
49
+ initial_messages (Union[Unset, List[Union['ListWebsocketTriggersResponse200ItemInitialMessagesItemType0',
50
+ 'ListWebsocketTriggersResponse200ItemInitialMessagesItemType1']]]):
51
+ url_runnable_args (Union[Unset, ListWebsocketTriggersResponse200ItemUrlRunnableArgs]):
52
52
  """
53
53
 
54
54
  path: str
55
- edited_by: str
56
- edited_at: datetime.datetime
57
55
  script_path: str
58
56
  url: str
59
57
  is_flow: bool
60
- extra_perms: "ListWebsocketTriggersResponse200ItemExtraPerms"
61
- email: str
62
- workspace_id: str
63
58
  enabled: bool
64
59
  filters: List["ListWebsocketTriggersResponse200ItemFiltersItem"]
65
- initial_messages: List[
66
- Union[
67
- "ListWebsocketTriggersResponse200ItemInitialMessagesItemType0",
68
- "ListWebsocketTriggersResponse200ItemInitialMessagesItemType1",
69
- ]
70
- ]
71
- url_runnable_args: "ListWebsocketTriggersResponse200ItemUrlRunnableArgs"
60
+ email: str
61
+ extra_perms: "ListWebsocketTriggersResponse200ItemExtraPerms"
62
+ workspace_id: str
63
+ edited_by: str
64
+ edited_at: datetime.datetime
72
65
  server_id: Union[Unset, str] = UNSET
73
66
  last_server_ping: Union[Unset, datetime.datetime] = UNSET
74
67
  error: Union[Unset, str] = UNSET
68
+ initial_messages: Union[
69
+ Unset,
70
+ List[
71
+ Union[
72
+ "ListWebsocketTriggersResponse200ItemInitialMessagesItemType0",
73
+ "ListWebsocketTriggersResponse200ItemInitialMessagesItemType1",
74
+ ]
75
+ ],
76
+ ] = UNSET
77
+ url_runnable_args: Union[Unset, "ListWebsocketTriggersResponse200ItemUrlRunnableArgs"] = UNSET
75
78
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
76
79
 
77
80
  def to_dict(self) -> Dict[str, Any]:
@@ -80,16 +83,9 @@ class ListWebsocketTriggersResponse200Item:
80
83
  )
81
84
 
82
85
  path = self.path
83
- edited_by = self.edited_by
84
- edited_at = self.edited_at.isoformat()
85
-
86
86
  script_path = self.script_path
87
87
  url = self.url
88
88
  is_flow = self.is_flow
89
- extra_perms = self.extra_perms.to_dict()
90
-
91
- email = self.email
92
- workspace_id = self.workspace_id
93
89
  enabled = self.enabled
94
90
  filters = []
95
91
  for filters_item_data in self.filters:
@@ -97,19 +93,12 @@ class ListWebsocketTriggersResponse200Item:
97
93
 
98
94
  filters.append(filters_item)
99
95
 
100
- initial_messages = []
101
- for initial_messages_item_data in self.initial_messages:
102
- initial_messages_item: Dict[str, Any]
103
-
104
- if isinstance(initial_messages_item_data, ListWebsocketTriggersResponse200ItemInitialMessagesItemType0):
105
- initial_messages_item = initial_messages_item_data.to_dict()
106
-
107
- else:
108
- initial_messages_item = initial_messages_item_data.to_dict()
109
-
110
- initial_messages.append(initial_messages_item)
96
+ email = self.email
97
+ extra_perms = self.extra_perms.to_dict()
111
98
 
112
- url_runnable_args = self.url_runnable_args.to_dict()
99
+ workspace_id = self.workspace_id
100
+ edited_by = self.edited_by
101
+ edited_at = self.edited_at.isoformat()
113
102
 
114
103
  server_id = self.server_id
115
104
  last_server_ping: Union[Unset, str] = UNSET
@@ -117,24 +106,39 @@ class ListWebsocketTriggersResponse200Item:
117
106
  last_server_ping = self.last_server_ping.isoformat()
118
107
 
119
108
  error = self.error
109
+ initial_messages: Union[Unset, List[Dict[str, Any]]] = UNSET
110
+ if not isinstance(self.initial_messages, Unset):
111
+ initial_messages = []
112
+ for initial_messages_item_data in self.initial_messages:
113
+ initial_messages_item: Dict[str, Any]
114
+
115
+ if isinstance(initial_messages_item_data, ListWebsocketTriggersResponse200ItemInitialMessagesItemType0):
116
+ initial_messages_item = initial_messages_item_data.to_dict()
117
+
118
+ else:
119
+ initial_messages_item = initial_messages_item_data.to_dict()
120
+
121
+ initial_messages.append(initial_messages_item)
122
+
123
+ url_runnable_args: Union[Unset, Dict[str, Any]] = UNSET
124
+ if not isinstance(self.url_runnable_args, Unset):
125
+ url_runnable_args = self.url_runnable_args.to_dict()
120
126
 
121
127
  field_dict: Dict[str, Any] = {}
122
128
  field_dict.update(self.additional_properties)
123
129
  field_dict.update(
124
130
  {
125
131
  "path": path,
126
- "edited_by": edited_by,
127
- "edited_at": edited_at,
128
132
  "script_path": script_path,
129
133
  "url": url,
130
134
  "is_flow": is_flow,
131
- "extra_perms": extra_perms,
132
- "email": email,
133
- "workspace_id": workspace_id,
134
135
  "enabled": enabled,
135
136
  "filters": filters,
136
- "initial_messages": initial_messages,
137
- "url_runnable_args": url_runnable_args,
137
+ "email": email,
138
+ "extra_perms": extra_perms,
139
+ "workspace_id": workspace_id,
140
+ "edited_by": edited_by,
141
+ "edited_at": edited_at,
138
142
  }
139
143
  )
140
144
  if server_id is not UNSET:
@@ -143,6 +147,10 @@ class ListWebsocketTriggersResponse200Item:
143
147
  field_dict["last_server_ping"] = last_server_ping
144
148
  if error is not UNSET:
145
149
  field_dict["error"] = error
150
+ if initial_messages is not UNSET:
151
+ field_dict["initial_messages"] = initial_messages
152
+ if url_runnable_args is not UNSET:
153
+ field_dict["url_runnable_args"] = url_runnable_args
146
154
 
147
155
  return field_dict
148
156
 
@@ -167,22 +175,12 @@ class ListWebsocketTriggersResponse200Item:
167
175
  d = src_dict.copy()
168
176
  path = d.pop("path")
169
177
 
170
- edited_by = d.pop("edited_by")
171
-
172
- edited_at = isoparse(d.pop("edited_at"))
173
-
174
178
  script_path = d.pop("script_path")
175
179
 
176
180
  url = d.pop("url")
177
181
 
178
182
  is_flow = d.pop("is_flow")
179
183
 
180
- extra_perms = ListWebsocketTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
181
-
182
- email = d.pop("email")
183
-
184
- workspace_id = d.pop("workspace_id")
185
-
186
184
  enabled = d.pop("enabled")
187
185
 
188
186
  filters = []
@@ -192,9 +190,30 @@ class ListWebsocketTriggersResponse200Item:
192
190
 
193
191
  filters.append(filters_item)
194
192
 
193
+ email = d.pop("email")
194
+
195
+ extra_perms = ListWebsocketTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
196
+
197
+ workspace_id = d.pop("workspace_id")
198
+
199
+ edited_by = d.pop("edited_by")
200
+
201
+ edited_at = isoparse(d.pop("edited_at"))
202
+
203
+ server_id = d.pop("server_id", UNSET)
204
+
205
+ _last_server_ping = d.pop("last_server_ping", UNSET)
206
+ last_server_ping: Union[Unset, datetime.datetime]
207
+ if isinstance(_last_server_ping, Unset):
208
+ last_server_ping = UNSET
209
+ else:
210
+ last_server_ping = isoparse(_last_server_ping)
211
+
212
+ error = d.pop("error", UNSET)
213
+
195
214
  initial_messages = []
196
- _initial_messages = d.pop("initial_messages")
197
- for initial_messages_item_data in _initial_messages:
215
+ _initial_messages = d.pop("initial_messages", UNSET)
216
+ for initial_messages_item_data in _initial_messages or []:
198
217
 
199
218
  def _parse_initial_messages_item(
200
219
  data: object,
@@ -224,36 +243,30 @@ class ListWebsocketTriggersResponse200Item:
224
243
 
225
244
  initial_messages.append(initial_messages_item)
226
245
 
227
- url_runnable_args = ListWebsocketTriggersResponse200ItemUrlRunnableArgs.from_dict(d.pop("url_runnable_args"))
228
-
229
- server_id = d.pop("server_id", UNSET)
230
-
231
- _last_server_ping = d.pop("last_server_ping", UNSET)
232
- last_server_ping: Union[Unset, datetime.datetime]
233
- if isinstance(_last_server_ping, Unset):
234
- last_server_ping = UNSET
246
+ _url_runnable_args = d.pop("url_runnable_args", UNSET)
247
+ url_runnable_args: Union[Unset, ListWebsocketTriggersResponse200ItemUrlRunnableArgs]
248
+ if isinstance(_url_runnable_args, Unset):
249
+ url_runnable_args = UNSET
235
250
  else:
236
- last_server_ping = isoparse(_last_server_ping)
237
-
238
- error = d.pop("error", UNSET)
251
+ url_runnable_args = ListWebsocketTriggersResponse200ItemUrlRunnableArgs.from_dict(_url_runnable_args)
239
252
 
240
253
  list_websocket_triggers_response_200_item = cls(
241
254
  path=path,
242
- edited_by=edited_by,
243
- edited_at=edited_at,
244
255
  script_path=script_path,
245
256
  url=url,
246
257
  is_flow=is_flow,
247
- extra_perms=extra_perms,
248
- email=email,
249
- workspace_id=workspace_id,
250
258
  enabled=enabled,
251
259
  filters=filters,
252
- initial_messages=initial_messages,
253
- url_runnable_args=url_runnable_args,
260
+ email=email,
261
+ extra_perms=extra_perms,
262
+ workspace_id=workspace_id,
263
+ edited_by=edited_by,
264
+ edited_at=edited_at,
254
265
  server_id=server_id,
255
266
  last_server_ping=last_server_ping,
256
267
  error=error,
268
+ initial_messages=initial_messages,
269
+ url_runnable_args=url_runnable_args,
257
270
  )
258
271
 
259
272
  list_websocket_triggers_response_200_item.additional_properties = d
@@ -16,12 +16,14 @@ class ListWorkspacesAsSuperAdminResponse200Item:
16
16
  name (str):
17
17
  owner (str):
18
18
  domain (Union[Unset, str]):
19
+ color (Union[Unset, str]):
19
20
  """
20
21
 
21
22
  id: str
22
23
  name: str
23
24
  owner: str
24
25
  domain: Union[Unset, str] = UNSET
26
+ color: Union[Unset, str] = UNSET
25
27
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
28
 
27
29
  def to_dict(self) -> Dict[str, Any]:
@@ -29,6 +31,7 @@ class ListWorkspacesAsSuperAdminResponse200Item:
29
31
  name = self.name
30
32
  owner = self.owner
31
33
  domain = self.domain
34
+ color = self.color
32
35
 
33
36
  field_dict: Dict[str, Any] = {}
34
37
  field_dict.update(self.additional_properties)
@@ -41,6 +44,8 @@ class ListWorkspacesAsSuperAdminResponse200Item:
41
44
  )
42
45
  if domain is not UNSET:
43
46
  field_dict["domain"] = domain
47
+ if color is not UNSET:
48
+ field_dict["color"] = color
44
49
 
45
50
  return field_dict
46
51
 
@@ -55,11 +60,14 @@ class ListWorkspacesAsSuperAdminResponse200Item:
55
60
 
56
61
  domain = d.pop("domain", UNSET)
57
62
 
63
+ color = d.pop("color", UNSET)
64
+
58
65
  list_workspaces_as_super_admin_response_200_item = cls(
59
66
  id=id,
60
67
  name=name,
61
68
  owner=owner,
62
69
  domain=domain,
70
+ color=color,
63
71
  )
64
72
 
65
73
  list_workspaces_as_super_admin_response_200_item.additional_properties = d
@@ -16,12 +16,14 @@ class ListWorkspacesResponse200Item:
16
16
  name (str):
17
17
  owner (str):
18
18
  domain (Union[Unset, str]):
19
+ color (Union[Unset, str]):
19
20
  """
20
21
 
21
22
  id: str
22
23
  name: str
23
24
  owner: str
24
25
  domain: Union[Unset, str] = UNSET
26
+ color: Union[Unset, str] = UNSET
25
27
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
28
 
27
29
  def to_dict(self) -> Dict[str, Any]:
@@ -29,6 +31,7 @@ class ListWorkspacesResponse200Item:
29
31
  name = self.name
30
32
  owner = self.owner
31
33
  domain = self.domain
34
+ color = self.color
32
35
 
33
36
  field_dict: Dict[str, Any] = {}
34
37
  field_dict.update(self.additional_properties)
@@ -41,6 +44,8 @@ class ListWorkspacesResponse200Item:
41
44
  )
42
45
  if domain is not UNSET:
43
46
  field_dict["domain"] = domain
47
+ if color is not UNSET:
48
+ field_dict["color"] = color
44
49
 
45
50
  return field_dict
46
51
 
@@ -55,11 +60,14 @@ class ListWorkspacesResponse200Item:
55
60
 
56
61
  domain = d.pop("domain", UNSET)
57
62
 
63
+ color = d.pop("color", UNSET)
64
+
58
65
  list_workspaces_response_200_item = cls(
59
66
  id=id,
60
67
  name=name,
61
68
  owner=owner,
62
69
  domain=domain,
70
+ color=color,
63
71
  )
64
72
 
65
73
  list_workspaces_response_200_item.additional_properties = d