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,80 @@
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="SyncTeamsResponse200ItemChannelsItem")
7
+
8
+
9
+ @_attrs_define
10
+ class SyncTeamsResponse200ItemChannelsItem:
11
+ """
12
+ Attributes:
13
+ channel_id (str): The unique identifier of the channel Example: 19:channel123@thread.tacv2.
14
+ channel_name (str): The display name of the channel Example: General.
15
+ tenant_id (str): The Microsoft Teams tenant identifier Example: 12345678-1234-1234-1234-123456789012.
16
+ service_url (str): The service URL for the channel Example:
17
+ https://smba.trafficmanager.net/amer/12345678-1234-1234-1234-123456789012/.
18
+ """
19
+
20
+ channel_id: str
21
+ channel_name: str
22
+ tenant_id: str
23
+ service_url: str
24
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> Dict[str, Any]:
27
+ channel_id = self.channel_id
28
+ channel_name = self.channel_name
29
+ tenant_id = self.tenant_id
30
+ service_url = self.service_url
31
+
32
+ field_dict: Dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update(
35
+ {
36
+ "channel_id": channel_id,
37
+ "channel_name": channel_name,
38
+ "tenant_id": tenant_id,
39
+ "service_url": service_url,
40
+ }
41
+ )
42
+
43
+ return field_dict
44
+
45
+ @classmethod
46
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47
+ d = src_dict.copy()
48
+ channel_id = d.pop("channel_id")
49
+
50
+ channel_name = d.pop("channel_name")
51
+
52
+ tenant_id = d.pop("tenant_id")
53
+
54
+ service_url = d.pop("service_url")
55
+
56
+ sync_teams_response_200_item_channels_item = cls(
57
+ channel_id=channel_id,
58
+ channel_name=channel_name,
59
+ tenant_id=tenant_id,
60
+ service_url=service_url,
61
+ )
62
+
63
+ sync_teams_response_200_item_channels_item.additional_properties = d
64
+ return sync_teams_response_200_item_channels_item
65
+
66
+ @property
67
+ def additional_keys(self) -> List[str]:
68
+ return list(self.additional_properties.keys())
69
+
70
+ def __getitem__(self, key: str) -> Any:
71
+ return self.additional_properties[key]
72
+
73
+ def __setitem__(self, key: str, value: Any) -> None:
74
+ self.additional_properties[key] = value
75
+
76
+ def __delitem__(self, key: str) -> None:
77
+ del self.additional_properties[key]
78
+
79
+ def __contains__(self, key: str) -> bool:
80
+ return key in self.additional_properties
@@ -0,0 +1,79 @@
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="TableToTrackItem")
9
+
10
+
11
+ @_attrs_define
12
+ class TableToTrackItem:
13
+ """
14
+ Attributes:
15
+ table_name (str):
16
+ columns_name (Union[Unset, List[str]]):
17
+ where_clause (Union[Unset, str]):
18
+ """
19
+
20
+ table_name: str
21
+ columns_name: Union[Unset, List[str]] = UNSET
22
+ where_clause: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ table_name = self.table_name
27
+ columns_name: Union[Unset, List[str]] = UNSET
28
+ if not isinstance(self.columns_name, Unset):
29
+ columns_name = self.columns_name
30
+
31
+ where_clause = self.where_clause
32
+
33
+ field_dict: Dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "table_name": table_name,
38
+ }
39
+ )
40
+ if columns_name is not UNSET:
41
+ field_dict["columns_name"] = columns_name
42
+ if where_clause is not UNSET:
43
+ field_dict["where_clause"] = where_clause
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
49
+ d = src_dict.copy()
50
+ table_name = d.pop("table_name")
51
+
52
+ columns_name = cast(List[str], d.pop("columns_name", UNSET))
53
+
54
+ where_clause = d.pop("where_clause", UNSET)
55
+
56
+ table_to_track_item = cls(
57
+ table_name=table_name,
58
+ columns_name=columns_name,
59
+ where_clause=where_clause,
60
+ )
61
+
62
+ table_to_track_item.additional_properties = d
63
+ return table_to_track_item
64
+
65
+ @property
66
+ def additional_keys(self) -> List[str]:
67
+ return list(self.additional_properties.keys())
68
+
69
+ def __getitem__(self, key: str) -> Any:
70
+ return self.additional_properties[key]
71
+
72
+ def __setitem__(self, key: str, value: Any) -> None:
73
+ self.additional_properties[key] = value
74
+
75
+ def __delitem__(self, key: str) -> None:
76
+ del self.additional_properties[key]
77
+
78
+ def __contains__(self, key: str) -> bool:
79
+ return key in self.additional_properties
@@ -0,0 +1,87 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.team_info_channels_item import TeamInfoChannelsItem
8
+
9
+
10
+ T = TypeVar("T", bound="TeamInfo")
11
+
12
+
13
+ @_attrs_define
14
+ class TeamInfo:
15
+ """
16
+ Attributes:
17
+ team_id (str): The unique identifier of the Microsoft Teams team Example: 19:abc123def456@thread.tacv2.
18
+ team_name (str): The display name of the Microsoft Teams team Example: Engineering Team.
19
+ channels (List['TeamInfoChannelsItem']): List of channels within the team
20
+ """
21
+
22
+ team_id: str
23
+ team_name: str
24
+ channels: List["TeamInfoChannelsItem"]
25
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ team_id = self.team_id
29
+ team_name = self.team_name
30
+ channels = []
31
+ for channels_item_data in self.channels:
32
+ channels_item = channels_item_data.to_dict()
33
+
34
+ channels.append(channels_item)
35
+
36
+ field_dict: Dict[str, Any] = {}
37
+ field_dict.update(self.additional_properties)
38
+ field_dict.update(
39
+ {
40
+ "team_id": team_id,
41
+ "team_name": team_name,
42
+ "channels": channels,
43
+ }
44
+ )
45
+
46
+ return field_dict
47
+
48
+ @classmethod
49
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50
+ from ..models.team_info_channels_item import TeamInfoChannelsItem
51
+
52
+ d = src_dict.copy()
53
+ team_id = d.pop("team_id")
54
+
55
+ team_name = d.pop("team_name")
56
+
57
+ channels = []
58
+ _channels = d.pop("channels")
59
+ for channels_item_data in _channels:
60
+ channels_item = TeamInfoChannelsItem.from_dict(channels_item_data)
61
+
62
+ channels.append(channels_item)
63
+
64
+ team_info = cls(
65
+ team_id=team_id,
66
+ team_name=team_name,
67
+ channels=channels,
68
+ )
69
+
70
+ team_info.additional_properties = d
71
+ return team_info
72
+
73
+ @property
74
+ def additional_keys(self) -> List[str]:
75
+ return list(self.additional_properties.keys())
76
+
77
+ def __getitem__(self, key: str) -> Any:
78
+ return self.additional_properties[key]
79
+
80
+ def __setitem__(self, key: str, value: Any) -> None:
81
+ self.additional_properties[key] = value
82
+
83
+ def __delitem__(self, key: str) -> None:
84
+ del self.additional_properties[key]
85
+
86
+ def __contains__(self, key: str) -> bool:
87
+ return key in self.additional_properties
@@ -0,0 +1,80 @@
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="TeamInfoChannelsItem")
7
+
8
+
9
+ @_attrs_define
10
+ class TeamInfoChannelsItem:
11
+ """
12
+ Attributes:
13
+ channel_id (str): The unique identifier of the channel Example: 19:channel123@thread.tacv2.
14
+ channel_name (str): The display name of the channel Example: General.
15
+ tenant_id (str): The Microsoft Teams tenant identifier Example: 12345678-1234-1234-1234-123456789012.
16
+ service_url (str): The service URL for the channel Example:
17
+ https://smba.trafficmanager.net/amer/12345678-1234-1234-1234-123456789012/.
18
+ """
19
+
20
+ channel_id: str
21
+ channel_name: str
22
+ tenant_id: str
23
+ service_url: str
24
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> Dict[str, Any]:
27
+ channel_id = self.channel_id
28
+ channel_name = self.channel_name
29
+ tenant_id = self.tenant_id
30
+ service_url = self.service_url
31
+
32
+ field_dict: Dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update(
35
+ {
36
+ "channel_id": channel_id,
37
+ "channel_name": channel_name,
38
+ "tenant_id": tenant_id,
39
+ "service_url": service_url,
40
+ }
41
+ )
42
+
43
+ return field_dict
44
+
45
+ @classmethod
46
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
47
+ d = src_dict.copy()
48
+ channel_id = d.pop("channel_id")
49
+
50
+ channel_name = d.pop("channel_name")
51
+
52
+ tenant_id = d.pop("tenant_id")
53
+
54
+ service_url = d.pop("service_url")
55
+
56
+ team_info_channels_item = cls(
57
+ channel_id=channel_id,
58
+ channel_name=channel_name,
59
+ tenant_id=tenant_id,
60
+ service_url=service_url,
61
+ )
62
+
63
+ team_info_channels_item.additional_properties = d
64
+ return team_info_channels_item
65
+
66
+ @property
67
+ def additional_keys(self) -> List[str]:
68
+ return list(self.additional_properties.keys())
69
+
70
+ def __getitem__(self, key: str) -> Any:
71
+ return self.additional_properties[key]
72
+
73
+ def __setitem__(self, key: str, value: Any) -> None:
74
+ self.additional_properties[key] = value
75
+
76
+ def __delitem__(self, key: str) -> None:
77
+ del self.additional_properties[key]
78
+
79
+ def __contains__(self, key: str) -> bool:
80
+ return key in self.additional_properties
@@ -0,0 +1,90 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.template_script_language import TemplateScriptLanguage
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.template_script_relations_item import TemplateScriptRelationsItem
10
+
11
+
12
+ T = TypeVar("T", bound="TemplateScript")
13
+
14
+
15
+ @_attrs_define
16
+ class TemplateScript:
17
+ """
18
+ Attributes:
19
+ postgres_resource_path (str):
20
+ relations (List['TemplateScriptRelationsItem']):
21
+ language (TemplateScriptLanguage):
22
+ """
23
+
24
+ postgres_resource_path: str
25
+ relations: List["TemplateScriptRelationsItem"]
26
+ language: TemplateScriptLanguage
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ postgres_resource_path = self.postgres_resource_path
31
+ relations = []
32
+ for relations_item_data in self.relations:
33
+ relations_item = relations_item_data.to_dict()
34
+
35
+ relations.append(relations_item)
36
+
37
+ language = self.language.value
38
+
39
+ field_dict: Dict[str, Any] = {}
40
+ field_dict.update(self.additional_properties)
41
+ field_dict.update(
42
+ {
43
+ "postgres_resource_path": postgres_resource_path,
44
+ "relations": relations,
45
+ "language": language,
46
+ }
47
+ )
48
+
49
+ return field_dict
50
+
51
+ @classmethod
52
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
53
+ from ..models.template_script_relations_item import TemplateScriptRelationsItem
54
+
55
+ d = src_dict.copy()
56
+ postgres_resource_path = d.pop("postgres_resource_path")
57
+
58
+ relations = []
59
+ _relations = d.pop("relations")
60
+ for relations_item_data in _relations:
61
+ relations_item = TemplateScriptRelationsItem.from_dict(relations_item_data)
62
+
63
+ relations.append(relations_item)
64
+
65
+ language = TemplateScriptLanguage(d.pop("language"))
66
+
67
+ template_script = cls(
68
+ postgres_resource_path=postgres_resource_path,
69
+ relations=relations,
70
+ language=language,
71
+ )
72
+
73
+ template_script.additional_properties = d
74
+ return template_script
75
+
76
+ @property
77
+ def additional_keys(self) -> List[str]:
78
+ return list(self.additional_properties.keys())
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ return self.additional_properties[key]
82
+
83
+ def __setitem__(self, key: str, value: Any) -> None:
84
+ self.additional_properties[key] = value
85
+
86
+ def __delitem__(self, key: str) -> None:
87
+ del self.additional_properties[key]
88
+
89
+ def __contains__(self, key: str) -> bool:
90
+ return key in self.additional_properties
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class TemplateScriptLanguage(str, Enum):
5
+ TYPESCRIPT = "Typescript"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,82 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.template_script_relations_item_table_to_track_item import TemplateScriptRelationsItemTableToTrackItem
8
+
9
+
10
+ T = TypeVar("T", bound="TemplateScriptRelationsItem")
11
+
12
+
13
+ @_attrs_define
14
+ class TemplateScriptRelationsItem:
15
+ """
16
+ Attributes:
17
+ schema_name (str):
18
+ table_to_track (List['TemplateScriptRelationsItemTableToTrackItem']):
19
+ """
20
+
21
+ schema_name: str
22
+ table_to_track: List["TemplateScriptRelationsItemTableToTrackItem"]
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ schema_name = self.schema_name
27
+ table_to_track = []
28
+ for table_to_track_item_data in self.table_to_track:
29
+ table_to_track_item = table_to_track_item_data.to_dict()
30
+
31
+ table_to_track.append(table_to_track_item)
32
+
33
+ field_dict: Dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "schema_name": schema_name,
38
+ "table_to_track": table_to_track,
39
+ }
40
+ )
41
+
42
+ return field_dict
43
+
44
+ @classmethod
45
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
46
+ from ..models.template_script_relations_item_table_to_track_item import (
47
+ TemplateScriptRelationsItemTableToTrackItem,
48
+ )
49
+
50
+ d = src_dict.copy()
51
+ schema_name = d.pop("schema_name")
52
+
53
+ table_to_track = []
54
+ _table_to_track = d.pop("table_to_track")
55
+ for table_to_track_item_data in _table_to_track:
56
+ table_to_track_item = TemplateScriptRelationsItemTableToTrackItem.from_dict(table_to_track_item_data)
57
+
58
+ table_to_track.append(table_to_track_item)
59
+
60
+ template_script_relations_item = cls(
61
+ schema_name=schema_name,
62
+ table_to_track=table_to_track,
63
+ )
64
+
65
+ template_script_relations_item.additional_properties = d
66
+ return template_script_relations_item
67
+
68
+ @property
69
+ def additional_keys(self) -> List[str]:
70
+ return list(self.additional_properties.keys())
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ return self.additional_properties[key]
74
+
75
+ def __setitem__(self, key: str, value: Any) -> None:
76
+ self.additional_properties[key] = value
77
+
78
+ def __delitem__(self, key: str) -> None:
79
+ del self.additional_properties[key]
80
+
81
+ def __contains__(self, key: str) -> bool:
82
+ return key in self.additional_properties
@@ -0,0 +1,79 @@
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="TemplateScriptRelationsItemTableToTrackItem")
9
+
10
+
11
+ @_attrs_define
12
+ class TemplateScriptRelationsItemTableToTrackItem:
13
+ """
14
+ Attributes:
15
+ table_name (str):
16
+ columns_name (Union[Unset, List[str]]):
17
+ where_clause (Union[Unset, str]):
18
+ """
19
+
20
+ table_name: str
21
+ columns_name: Union[Unset, List[str]] = UNSET
22
+ where_clause: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ table_name = self.table_name
27
+ columns_name: Union[Unset, List[str]] = UNSET
28
+ if not isinstance(self.columns_name, Unset):
29
+ columns_name = self.columns_name
30
+
31
+ where_clause = self.where_clause
32
+
33
+ field_dict: Dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "table_name": table_name,
38
+ }
39
+ )
40
+ if columns_name is not UNSET:
41
+ field_dict["columns_name"] = columns_name
42
+ if where_clause is not UNSET:
43
+ field_dict["where_clause"] = where_clause
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
49
+ d = src_dict.copy()
50
+ table_name = d.pop("table_name")
51
+
52
+ columns_name = cast(List[str], d.pop("columns_name", UNSET))
53
+
54
+ where_clause = d.pop("where_clause", UNSET)
55
+
56
+ template_script_relations_item_table_to_track_item = cls(
57
+ table_name=table_name,
58
+ columns_name=columns_name,
59
+ where_clause=where_clause,
60
+ )
61
+
62
+ template_script_relations_item_table_to_track_item.additional_properties = d
63
+ return template_script_relations_item_table_to_track_item
64
+
65
+ @property
66
+ def additional_keys(self) -> List[str]:
67
+ return list(self.additional_properties.keys())
68
+
69
+ def __getitem__(self, key: str) -> Any:
70
+ return self.additional_properties[key]
71
+
72
+ def __setitem__(self, key: str, value: Any) -> None:
73
+ self.additional_properties[key] = value
74
+
75
+ def __delitem__(self, key: str) -> None:
76
+ del self.additional_properties[key]
77
+
78
+ def __contains__(self, key: str) -> bool:
79
+ return key in self.additional_properties
@@ -0,0 +1,95 @@
1
+ import datetime
2
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.trigger_extra_property_extra_perms import TriggerExtraPropertyExtraPerms
10
+
11
+
12
+ T = TypeVar("T", bound="TriggerExtraProperty")
13
+
14
+
15
+ @_attrs_define
16
+ class TriggerExtraProperty:
17
+ """
18
+ Attributes:
19
+ email (str):
20
+ extra_perms (TriggerExtraPropertyExtraPerms):
21
+ workspace_id (str):
22
+ edited_by (str):
23
+ edited_at (datetime.datetime):
24
+ """
25
+
26
+ email: str
27
+ extra_perms: "TriggerExtraPropertyExtraPerms"
28
+ workspace_id: str
29
+ edited_by: str
30
+ edited_at: datetime.datetime
31
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> Dict[str, Any]:
34
+ email = self.email
35
+ extra_perms = self.extra_perms.to_dict()
36
+
37
+ workspace_id = self.workspace_id
38
+ edited_by = self.edited_by
39
+ edited_at = self.edited_at.isoformat()
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update(
44
+ {
45
+ "email": email,
46
+ "extra_perms": extra_perms,
47
+ "workspace_id": workspace_id,
48
+ "edited_by": edited_by,
49
+ "edited_at": edited_at,
50
+ }
51
+ )
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ from ..models.trigger_extra_property_extra_perms import TriggerExtraPropertyExtraPerms
58
+
59
+ d = src_dict.copy()
60
+ email = d.pop("email")
61
+
62
+ extra_perms = TriggerExtraPropertyExtraPerms.from_dict(d.pop("extra_perms"))
63
+
64
+ workspace_id = d.pop("workspace_id")
65
+
66
+ edited_by = d.pop("edited_by")
67
+
68
+ edited_at = isoparse(d.pop("edited_at"))
69
+
70
+ trigger_extra_property = cls(
71
+ email=email,
72
+ extra_perms=extra_perms,
73
+ workspace_id=workspace_id,
74
+ edited_by=edited_by,
75
+ edited_at=edited_at,
76
+ )
77
+
78
+ trigger_extra_property.additional_properties = d
79
+ return trigger_extra_property
80
+
81
+ @property
82
+ def additional_keys(self) -> List[str]:
83
+ return list(self.additional_properties.keys())
84
+
85
+ def __getitem__(self, key: str) -> Any:
86
+ return self.additional_properties[key]
87
+
88
+ def __setitem__(self, key: str, value: Any) -> None:
89
+ self.additional_properties[key] = value
90
+
91
+ def __delitem__(self, key: str) -> None:
92
+ del self.additional_properties[key]
93
+
94
+ def __contains__(self, key: str) -> bool:
95
+ return key in self.additional_properties