windmill-api 1.474.0__py3-none-any.whl → 1.475.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 (109) hide show
  1. windmill_api/api/folder/exists_folder.py +160 -0
  2. windmill_api/api/helpers/file_download.py +4 -4
  3. windmill_api/api/mqtt_trigger/__init__.py +0 -0
  4. windmill_api/api/mqtt_trigger/create_mqtt_trigger.py +105 -0
  5. windmill_api/api/mqtt_trigger/delete_mqtt_trigger.py +101 -0
  6. windmill_api/api/mqtt_trigger/exists_mqtt_trigger.py +160 -0
  7. windmill_api/api/mqtt_trigger/get_mqtt_trigger.py +166 -0
  8. windmill_api/api/mqtt_trigger/list_mqtt_triggers.py +237 -0
  9. windmill_api/api/mqtt_trigger/set_mqtt_trigger_enabled.py +113 -0
  10. windmill_api/api/mqtt_trigger/test_mqtt_connection.py +105 -0
  11. windmill_api/api/mqtt_trigger/update_mqtt_trigger.py +113 -0
  12. windmill_api/models/add_granular_acls_kind.py +1 -0
  13. windmill_api/models/app_with_last_version_policy.py +22 -0
  14. windmill_api/models/app_with_last_version_policy_allowed_s3_keys_item.py +66 -0
  15. windmill_api/models/app_with_last_version_w_draft_policy.py +26 -0
  16. windmill_api/models/app_with_last_version_w_draft_policy_allowed_s3_keys_item.py +66 -0
  17. windmill_api/models/capture_config_trigger_kind.py +1 -0
  18. windmill_api/models/capture_trigger_kind.py +1 -0
  19. windmill_api/models/create_app_json_body_policy.py +22 -0
  20. windmill_api/models/create_app_json_body_policy_allowed_s3_keys_item.py +66 -0
  21. windmill_api/models/create_mqtt_trigger_json_body.py +177 -0
  22. windmill_api/models/create_mqtt_trigger_json_body_client_version.py +9 -0
  23. windmill_api/models/create_mqtt_trigger_json_body_subscribe_topics_item.py +70 -0
  24. windmill_api/models/create_mqtt_trigger_json_body_subscribe_topics_item_qos.py +10 -0
  25. windmill_api/models/create_mqtt_trigger_json_body_v3_config.py +58 -0
  26. windmill_api/models/create_mqtt_trigger_json_body_v5_config.py +74 -0
  27. windmill_api/models/edit_mqtt_trigger.py +171 -0
  28. windmill_api/models/edit_mqtt_trigger_client_version.py +9 -0
  29. windmill_api/models/edit_mqtt_trigger_subscribe_topics_item.py +68 -0
  30. windmill_api/models/edit_mqtt_trigger_subscribe_topics_item_qos.py +10 -0
  31. windmill_api/models/edit_mqtt_trigger_v3_config.py +58 -0
  32. windmill_api/models/edit_mqtt_trigger_v5_config.py +74 -0
  33. windmill_api/models/edit_workspace_deploy_ui_settings_json_body_deploy_ui_settings_include_type_item.py +1 -0
  34. windmill_api/models/get_app_by_path_response_200_policy.py +26 -0
  35. windmill_api/models/get_app_by_path_response_200_policy_allowed_s3_keys_item.py +66 -0
  36. windmill_api/models/get_app_by_path_with_draft_response_200_policy.py +28 -0
  37. windmill_api/models/get_app_by_path_with_draft_response_200_policy_allowed_s3_keys_item.py +66 -0
  38. windmill_api/models/get_app_by_version_response_200_policy.py +28 -0
  39. windmill_api/models/get_app_by_version_response_200_policy_allowed_s3_keys_item.py +66 -0
  40. windmill_api/models/get_app_lite_by_path_response_200_policy.py +28 -0
  41. windmill_api/models/get_app_lite_by_path_response_200_policy_allowed_s3_keys_item.py +66 -0
  42. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +1 -0
  43. windmill_api/models/get_capture_response_200_trigger_kind.py +1 -0
  44. windmill_api/models/get_granular_acls_kind.py +1 -0
  45. windmill_api/models/get_mqtt_trigger_response_200.py +249 -0
  46. windmill_api/models/get_mqtt_trigger_response_200_client_version.py +9 -0
  47. windmill_api/models/get_mqtt_trigger_response_200_extra_perms.py +44 -0
  48. windmill_api/models/get_mqtt_trigger_response_200_subscribe_topics_item.py +70 -0
  49. windmill_api/models/get_mqtt_trigger_response_200_subscribe_topics_item_qos.py +10 -0
  50. windmill_api/models/get_mqtt_trigger_response_200v3_config.py +58 -0
  51. windmill_api/models/get_mqtt_trigger_response_200v5_config.py +74 -0
  52. windmill_api/models/get_public_app_by_custom_path_response_200_policy.py +28 -0
  53. windmill_api/models/get_public_app_by_custom_path_response_200_policy_allowed_s3_keys_item.py +66 -0
  54. windmill_api/models/get_public_app_by_secret_response_200_policy.py +28 -0
  55. windmill_api/models/get_public_app_by_secret_response_200_policy_allowed_s3_keys_item.py +66 -0
  56. windmill_api/models/get_settings_response_200_deploy_ui_include_type_item.py +1 -0
  57. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  58. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  59. windmill_api/models/get_used_triggers_response_200.py +7 -0
  60. windmill_api/models/list_captures_response_200_item_trigger_kind.py +1 -0
  61. windmill_api/models/list_captures_trigger_kind.py +1 -0
  62. windmill_api/models/list_mqtt_triggers_response_200_item.py +251 -0
  63. windmill_api/models/list_mqtt_triggers_response_200_item_client_version.py +9 -0
  64. windmill_api/models/list_mqtt_triggers_response_200_item_extra_perms.py +44 -0
  65. windmill_api/models/list_mqtt_triggers_response_200_item_subscribe_topics_item.py +70 -0
  66. windmill_api/models/list_mqtt_triggers_response_200_item_subscribe_topics_item_qos.py +10 -0
  67. windmill_api/models/list_mqtt_triggers_response_200_item_v3_config.py +58 -0
  68. windmill_api/models/list_mqtt_triggers_response_200_item_v5_config.py +74 -0
  69. windmill_api/models/mqtt_client_version.py +9 -0
  70. windmill_api/models/mqtt_qo_s.py +10 -0
  71. windmill_api/models/mqtt_subscribe_topic.py +68 -0
  72. windmill_api/models/mqtt_subscribe_topic_qos.py +10 -0
  73. windmill_api/models/mqtt_trigger.py +245 -0
  74. windmill_api/models/mqtt_trigger_client_version.py +9 -0
  75. windmill_api/models/mqtt_trigger_extra_perms.py +44 -0
  76. windmill_api/models/mqtt_trigger_subscribe_topics_item.py +68 -0
  77. windmill_api/models/mqtt_trigger_subscribe_topics_item_qos.py +10 -0
  78. windmill_api/models/mqtt_trigger_v3_config.py +58 -0
  79. windmill_api/models/mqtt_trigger_v5_config.py +74 -0
  80. windmill_api/models/mqtt_v3_config.py +58 -0
  81. windmill_api/models/mqtt_v5_config.py +74 -0
  82. windmill_api/models/new_mqtt_trigger.py +173 -0
  83. windmill_api/models/new_mqtt_trigger_client_version.py +9 -0
  84. windmill_api/models/new_mqtt_trigger_subscribe_topics_item.py +68 -0
  85. windmill_api/models/new_mqtt_trigger_subscribe_topics_item_qos.py +10 -0
  86. windmill_api/models/new_mqtt_trigger_v3_config.py +58 -0
  87. windmill_api/models/new_mqtt_trigger_v5_config.py +74 -0
  88. windmill_api/models/ping_capture_config_trigger_kind.py +1 -0
  89. windmill_api/models/policy.py +22 -0
  90. windmill_api/models/policy_allowed_s3_keys_item.py +66 -0
  91. windmill_api/models/remove_granular_acls_kind.py +1 -0
  92. windmill_api/models/set_capture_config_json_body_trigger_kind.py +1 -0
  93. windmill_api/models/set_mqtt_trigger_enabled_json_body.py +58 -0
  94. windmill_api/models/test_mqtt_connection_json_body.py +64 -0
  95. windmill_api/models/test_mqtt_connection_json_body_connection.py +44 -0
  96. windmill_api/models/triggers_count.py +8 -0
  97. windmill_api/models/update_app_json_body_policy.py +22 -0
  98. windmill_api/models/update_app_json_body_policy_allowed_s3_keys_item.py +66 -0
  99. windmill_api/models/update_mqtt_trigger_json_body.py +175 -0
  100. windmill_api/models/update_mqtt_trigger_json_body_client_version.py +9 -0
  101. windmill_api/models/update_mqtt_trigger_json_body_subscribe_topics_item.py +70 -0
  102. windmill_api/models/update_mqtt_trigger_json_body_subscribe_topics_item_qos.py +10 -0
  103. windmill_api/models/update_mqtt_trigger_json_body_v3_config.py +58 -0
  104. windmill_api/models/update_mqtt_trigger_json_body_v5_config.py +74 -0
  105. windmill_api/models/workspace_deploy_ui_settings_include_type_item.py +1 -0
  106. {windmill_api-1.474.0.dist-info → windmill_api-1.475.1.dist-info}/METADATA +1 -1
  107. {windmill_api-1.474.0.dist-info → windmill_api-1.475.1.dist-info}/RECORD +109 -34
  108. {windmill_api-1.474.0.dist-info → windmill_api-1.475.1.dist-info}/LICENSE +0 -0
  109. {windmill_api-1.474.0.dist-info → windmill_api-1.475.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,177 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.create_mqtt_trigger_json_body_client_version import CreateMqttTriggerJsonBodyClientVersion
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.create_mqtt_trigger_json_body_subscribe_topics_item import (
11
+ CreateMqttTriggerJsonBodySubscribeTopicsItem,
12
+ )
13
+ from ..models.create_mqtt_trigger_json_body_v3_config import CreateMqttTriggerJsonBodyV3Config
14
+ from ..models.create_mqtt_trigger_json_body_v5_config import CreateMqttTriggerJsonBodyV5Config
15
+
16
+
17
+ T = TypeVar("T", bound="CreateMqttTriggerJsonBody")
18
+
19
+
20
+ @_attrs_define
21
+ class CreateMqttTriggerJsonBody:
22
+ """
23
+ Attributes:
24
+ mqtt_resource_path (str):
25
+ subscribe_topics (List['CreateMqttTriggerJsonBodySubscribeTopicsItem']):
26
+ path (str):
27
+ script_path (str):
28
+ is_flow (bool):
29
+ client_id (Union[Unset, str]):
30
+ v3_config (Union[Unset, CreateMqttTriggerJsonBodyV3Config]):
31
+ v5_config (Union[Unset, CreateMqttTriggerJsonBodyV5Config]):
32
+ client_version (Union[Unset, CreateMqttTriggerJsonBodyClientVersion]):
33
+ enabled (Union[Unset, bool]):
34
+ """
35
+
36
+ mqtt_resource_path: str
37
+ subscribe_topics: List["CreateMqttTriggerJsonBodySubscribeTopicsItem"]
38
+ path: str
39
+ script_path: str
40
+ is_flow: bool
41
+ client_id: Union[Unset, str] = UNSET
42
+ v3_config: Union[Unset, "CreateMqttTriggerJsonBodyV3Config"] = UNSET
43
+ v5_config: Union[Unset, "CreateMqttTriggerJsonBodyV5Config"] = UNSET
44
+ client_version: Union[Unset, CreateMqttTriggerJsonBodyClientVersion] = UNSET
45
+ enabled: Union[Unset, bool] = UNSET
46
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
47
+
48
+ def to_dict(self) -> Dict[str, Any]:
49
+ mqtt_resource_path = self.mqtt_resource_path
50
+ subscribe_topics = []
51
+ for subscribe_topics_item_data in self.subscribe_topics:
52
+ subscribe_topics_item = subscribe_topics_item_data.to_dict()
53
+
54
+ subscribe_topics.append(subscribe_topics_item)
55
+
56
+ path = self.path
57
+ script_path = self.script_path
58
+ is_flow = self.is_flow
59
+ client_id = self.client_id
60
+ v3_config: Union[Unset, Dict[str, Any]] = UNSET
61
+ if not isinstance(self.v3_config, Unset):
62
+ v3_config = self.v3_config.to_dict()
63
+
64
+ v5_config: Union[Unset, Dict[str, Any]] = UNSET
65
+ if not isinstance(self.v5_config, Unset):
66
+ v5_config = self.v5_config.to_dict()
67
+
68
+ client_version: Union[Unset, str] = UNSET
69
+ if not isinstance(self.client_version, Unset):
70
+ client_version = self.client_version.value
71
+
72
+ enabled = self.enabled
73
+
74
+ field_dict: Dict[str, Any] = {}
75
+ field_dict.update(self.additional_properties)
76
+ field_dict.update(
77
+ {
78
+ "mqtt_resource_path": mqtt_resource_path,
79
+ "subscribe_topics": subscribe_topics,
80
+ "path": path,
81
+ "script_path": script_path,
82
+ "is_flow": is_flow,
83
+ }
84
+ )
85
+ if client_id is not UNSET:
86
+ field_dict["client_id"] = client_id
87
+ if v3_config is not UNSET:
88
+ field_dict["v3_config"] = v3_config
89
+ if v5_config is not UNSET:
90
+ field_dict["v5_config"] = v5_config
91
+ if client_version is not UNSET:
92
+ field_dict["client_version"] = client_version
93
+ if enabled is not UNSET:
94
+ field_dict["enabled"] = enabled
95
+
96
+ return field_dict
97
+
98
+ @classmethod
99
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
100
+ from ..models.create_mqtt_trigger_json_body_subscribe_topics_item import (
101
+ CreateMqttTriggerJsonBodySubscribeTopicsItem,
102
+ )
103
+ from ..models.create_mqtt_trigger_json_body_v3_config import CreateMqttTriggerJsonBodyV3Config
104
+ from ..models.create_mqtt_trigger_json_body_v5_config import CreateMqttTriggerJsonBodyV5Config
105
+
106
+ d = src_dict.copy()
107
+ mqtt_resource_path = d.pop("mqtt_resource_path")
108
+
109
+ subscribe_topics = []
110
+ _subscribe_topics = d.pop("subscribe_topics")
111
+ for subscribe_topics_item_data in _subscribe_topics:
112
+ subscribe_topics_item = CreateMqttTriggerJsonBodySubscribeTopicsItem.from_dict(subscribe_topics_item_data)
113
+
114
+ subscribe_topics.append(subscribe_topics_item)
115
+
116
+ path = d.pop("path")
117
+
118
+ script_path = d.pop("script_path")
119
+
120
+ is_flow = d.pop("is_flow")
121
+
122
+ client_id = d.pop("client_id", UNSET)
123
+
124
+ _v3_config = d.pop("v3_config", UNSET)
125
+ v3_config: Union[Unset, CreateMqttTriggerJsonBodyV3Config]
126
+ if isinstance(_v3_config, Unset):
127
+ v3_config = UNSET
128
+ else:
129
+ v3_config = CreateMqttTriggerJsonBodyV3Config.from_dict(_v3_config)
130
+
131
+ _v5_config = d.pop("v5_config", UNSET)
132
+ v5_config: Union[Unset, CreateMqttTriggerJsonBodyV5Config]
133
+ if isinstance(_v5_config, Unset):
134
+ v5_config = UNSET
135
+ else:
136
+ v5_config = CreateMqttTriggerJsonBodyV5Config.from_dict(_v5_config)
137
+
138
+ _client_version = d.pop("client_version", UNSET)
139
+ client_version: Union[Unset, CreateMqttTriggerJsonBodyClientVersion]
140
+ if isinstance(_client_version, Unset):
141
+ client_version = UNSET
142
+ else:
143
+ client_version = CreateMqttTriggerJsonBodyClientVersion(_client_version)
144
+
145
+ enabled = d.pop("enabled", UNSET)
146
+
147
+ create_mqtt_trigger_json_body = cls(
148
+ mqtt_resource_path=mqtt_resource_path,
149
+ subscribe_topics=subscribe_topics,
150
+ path=path,
151
+ script_path=script_path,
152
+ is_flow=is_flow,
153
+ client_id=client_id,
154
+ v3_config=v3_config,
155
+ v5_config=v5_config,
156
+ client_version=client_version,
157
+ enabled=enabled,
158
+ )
159
+
160
+ create_mqtt_trigger_json_body.additional_properties = d
161
+ return create_mqtt_trigger_json_body
162
+
163
+ @property
164
+ def additional_keys(self) -> List[str]:
165
+ return list(self.additional_properties.keys())
166
+
167
+ def __getitem__(self, key: str) -> Any:
168
+ return self.additional_properties[key]
169
+
170
+ def __setitem__(self, key: str, value: Any) -> None:
171
+ self.additional_properties[key] = value
172
+
173
+ def __delitem__(self, key: str) -> None:
174
+ del self.additional_properties[key]
175
+
176
+ def __contains__(self, key: str) -> bool:
177
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class CreateMqttTriggerJsonBodyClientVersion(str, Enum):
5
+ V3 = "v3"
6
+ V5 = "v5"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,70 @@
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
+ from ..models.create_mqtt_trigger_json_body_subscribe_topics_item_qos import (
7
+ CreateMqttTriggerJsonBodySubscribeTopicsItemQos,
8
+ )
9
+
10
+ T = TypeVar("T", bound="CreateMqttTriggerJsonBodySubscribeTopicsItem")
11
+
12
+
13
+ @_attrs_define
14
+ class CreateMqttTriggerJsonBodySubscribeTopicsItem:
15
+ """
16
+ Attributes:
17
+ qos (CreateMqttTriggerJsonBodySubscribeTopicsItemQos):
18
+ topic (str):
19
+ """
20
+
21
+ qos: CreateMqttTriggerJsonBodySubscribeTopicsItemQos
22
+ topic: str
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ qos = self.qos.value
27
+
28
+ topic = self.topic
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update(
33
+ {
34
+ "qos": qos,
35
+ "topic": topic,
36
+ }
37
+ )
38
+
39
+ return field_dict
40
+
41
+ @classmethod
42
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
43
+ d = src_dict.copy()
44
+ qos = CreateMqttTriggerJsonBodySubscribeTopicsItemQos(d.pop("qos"))
45
+
46
+ topic = d.pop("topic")
47
+
48
+ create_mqtt_trigger_json_body_subscribe_topics_item = cls(
49
+ qos=qos,
50
+ topic=topic,
51
+ )
52
+
53
+ create_mqtt_trigger_json_body_subscribe_topics_item.additional_properties = d
54
+ return create_mqtt_trigger_json_body_subscribe_topics_item
55
+
56
+ @property
57
+ def additional_keys(self) -> List[str]:
58
+ return list(self.additional_properties.keys())
59
+
60
+ def __getitem__(self, key: str) -> Any:
61
+ return self.additional_properties[key]
62
+
63
+ def __setitem__(self, key: str, value: Any) -> None:
64
+ self.additional_properties[key] = value
65
+
66
+ def __delitem__(self, key: str) -> None:
67
+ del self.additional_properties[key]
68
+
69
+ def __contains__(self, key: str) -> bool:
70
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class CreateMqttTriggerJsonBodySubscribeTopicsItemQos(str, Enum):
5
+ QOS0 = "qos0"
6
+ QOS1 = "qos1"
7
+ QOS2 = "qos2"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,58 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
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="CreateMqttTriggerJsonBodyV3Config")
9
+
10
+
11
+ @_attrs_define
12
+ class CreateMqttTriggerJsonBodyV3Config:
13
+ """
14
+ Attributes:
15
+ clean_session (Union[Unset, bool]):
16
+ """
17
+
18
+ clean_session: Union[Unset, bool] = UNSET
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ clean_session = self.clean_session
23
+
24
+ field_dict: Dict[str, Any] = {}
25
+ field_dict.update(self.additional_properties)
26
+ field_dict.update({})
27
+ if clean_session is not UNSET:
28
+ field_dict["clean_session"] = clean_session
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34
+ d = src_dict.copy()
35
+ clean_session = d.pop("clean_session", UNSET)
36
+
37
+ create_mqtt_trigger_json_body_v3_config = cls(
38
+ clean_session=clean_session,
39
+ )
40
+
41
+ create_mqtt_trigger_json_body_v3_config.additional_properties = d
42
+ return create_mqtt_trigger_json_body_v3_config
43
+
44
+ @property
45
+ def additional_keys(self) -> List[str]:
46
+ return list(self.additional_properties.keys())
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ return self.additional_properties[key]
50
+
51
+ def __setitem__(self, key: str, value: Any) -> None:
52
+ self.additional_properties[key] = value
53
+
54
+ def __delitem__(self, key: str) -> None:
55
+ del self.additional_properties[key]
56
+
57
+ def __contains__(self, key: str) -> bool:
58
+ return key in self.additional_properties
@@ -0,0 +1,74 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
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="CreateMqttTriggerJsonBodyV5Config")
9
+
10
+
11
+ @_attrs_define
12
+ class CreateMqttTriggerJsonBodyV5Config:
13
+ """
14
+ Attributes:
15
+ clean_start (Union[Unset, bool]):
16
+ topic_alias (Union[Unset, float]):
17
+ session_expiry_interval (Union[Unset, float]):
18
+ """
19
+
20
+ clean_start: Union[Unset, bool] = UNSET
21
+ topic_alias: Union[Unset, float] = UNSET
22
+ session_expiry_interval: Union[Unset, float] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ clean_start = self.clean_start
27
+ topic_alias = self.topic_alias
28
+ session_expiry_interval = self.session_expiry_interval
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update({})
33
+ if clean_start is not UNSET:
34
+ field_dict["clean_start"] = clean_start
35
+ if topic_alias is not UNSET:
36
+ field_dict["topic_alias"] = topic_alias
37
+ if session_expiry_interval is not UNSET:
38
+ field_dict["session_expiry_interval"] = session_expiry_interval
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
+ clean_start = d.pop("clean_start", UNSET)
46
+
47
+ topic_alias = d.pop("topic_alias", UNSET)
48
+
49
+ session_expiry_interval = d.pop("session_expiry_interval", UNSET)
50
+
51
+ create_mqtt_trigger_json_body_v5_config = cls(
52
+ clean_start=clean_start,
53
+ topic_alias=topic_alias,
54
+ session_expiry_interval=session_expiry_interval,
55
+ )
56
+
57
+ create_mqtt_trigger_json_body_v5_config.additional_properties = d
58
+ return create_mqtt_trigger_json_body_v5_config
59
+
60
+ @property
61
+ def additional_keys(self) -> List[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -0,0 +1,171 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.edit_mqtt_trigger_client_version import EditMqttTriggerClientVersion
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.edit_mqtt_trigger_subscribe_topics_item import EditMqttTriggerSubscribeTopicsItem
11
+ from ..models.edit_mqtt_trigger_v3_config import EditMqttTriggerV3Config
12
+ from ..models.edit_mqtt_trigger_v5_config import EditMqttTriggerV5Config
13
+
14
+
15
+ T = TypeVar("T", bound="EditMqttTrigger")
16
+
17
+
18
+ @_attrs_define
19
+ class EditMqttTrigger:
20
+ """
21
+ Attributes:
22
+ mqtt_resource_path (str):
23
+ subscribe_topics (List['EditMqttTriggerSubscribeTopicsItem']):
24
+ path (str):
25
+ script_path (str):
26
+ is_flow (bool):
27
+ enabled (bool):
28
+ client_id (Union[Unset, str]):
29
+ v3_config (Union[Unset, EditMqttTriggerV3Config]):
30
+ v5_config (Union[Unset, EditMqttTriggerV5Config]):
31
+ client_version (Union[Unset, EditMqttTriggerClientVersion]):
32
+ """
33
+
34
+ mqtt_resource_path: str
35
+ subscribe_topics: List["EditMqttTriggerSubscribeTopicsItem"]
36
+ path: str
37
+ script_path: str
38
+ is_flow: bool
39
+ enabled: bool
40
+ client_id: Union[Unset, str] = UNSET
41
+ v3_config: Union[Unset, "EditMqttTriggerV3Config"] = UNSET
42
+ v5_config: Union[Unset, "EditMqttTriggerV5Config"] = UNSET
43
+ client_version: Union[Unset, EditMqttTriggerClientVersion] = UNSET
44
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
45
+
46
+ def to_dict(self) -> Dict[str, Any]:
47
+ mqtt_resource_path = self.mqtt_resource_path
48
+ subscribe_topics = []
49
+ for subscribe_topics_item_data in self.subscribe_topics:
50
+ subscribe_topics_item = subscribe_topics_item_data.to_dict()
51
+
52
+ subscribe_topics.append(subscribe_topics_item)
53
+
54
+ path = self.path
55
+ script_path = self.script_path
56
+ is_flow = self.is_flow
57
+ enabled = self.enabled
58
+ client_id = self.client_id
59
+ v3_config: Union[Unset, Dict[str, Any]] = UNSET
60
+ if not isinstance(self.v3_config, Unset):
61
+ v3_config = self.v3_config.to_dict()
62
+
63
+ v5_config: Union[Unset, Dict[str, Any]] = UNSET
64
+ if not isinstance(self.v5_config, Unset):
65
+ v5_config = self.v5_config.to_dict()
66
+
67
+ client_version: Union[Unset, str] = UNSET
68
+ if not isinstance(self.client_version, Unset):
69
+ client_version = self.client_version.value
70
+
71
+ field_dict: Dict[str, Any] = {}
72
+ field_dict.update(self.additional_properties)
73
+ field_dict.update(
74
+ {
75
+ "mqtt_resource_path": mqtt_resource_path,
76
+ "subscribe_topics": subscribe_topics,
77
+ "path": path,
78
+ "script_path": script_path,
79
+ "is_flow": is_flow,
80
+ "enabled": enabled,
81
+ }
82
+ )
83
+ if client_id is not UNSET:
84
+ field_dict["client_id"] = client_id
85
+ if v3_config is not UNSET:
86
+ field_dict["v3_config"] = v3_config
87
+ if v5_config is not UNSET:
88
+ field_dict["v5_config"] = v5_config
89
+ if client_version is not UNSET:
90
+ field_dict["client_version"] = client_version
91
+
92
+ return field_dict
93
+
94
+ @classmethod
95
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
96
+ from ..models.edit_mqtt_trigger_subscribe_topics_item import EditMqttTriggerSubscribeTopicsItem
97
+ from ..models.edit_mqtt_trigger_v3_config import EditMqttTriggerV3Config
98
+ from ..models.edit_mqtt_trigger_v5_config import EditMqttTriggerV5Config
99
+
100
+ d = src_dict.copy()
101
+ mqtt_resource_path = d.pop("mqtt_resource_path")
102
+
103
+ subscribe_topics = []
104
+ _subscribe_topics = d.pop("subscribe_topics")
105
+ for subscribe_topics_item_data in _subscribe_topics:
106
+ subscribe_topics_item = EditMqttTriggerSubscribeTopicsItem.from_dict(subscribe_topics_item_data)
107
+
108
+ subscribe_topics.append(subscribe_topics_item)
109
+
110
+ path = d.pop("path")
111
+
112
+ script_path = d.pop("script_path")
113
+
114
+ is_flow = d.pop("is_flow")
115
+
116
+ enabled = d.pop("enabled")
117
+
118
+ client_id = d.pop("client_id", UNSET)
119
+
120
+ _v3_config = d.pop("v3_config", UNSET)
121
+ v3_config: Union[Unset, EditMqttTriggerV3Config]
122
+ if isinstance(_v3_config, Unset):
123
+ v3_config = UNSET
124
+ else:
125
+ v3_config = EditMqttTriggerV3Config.from_dict(_v3_config)
126
+
127
+ _v5_config = d.pop("v5_config", UNSET)
128
+ v5_config: Union[Unset, EditMqttTriggerV5Config]
129
+ if isinstance(_v5_config, Unset):
130
+ v5_config = UNSET
131
+ else:
132
+ v5_config = EditMqttTriggerV5Config.from_dict(_v5_config)
133
+
134
+ _client_version = d.pop("client_version", UNSET)
135
+ client_version: Union[Unset, EditMqttTriggerClientVersion]
136
+ if isinstance(_client_version, Unset):
137
+ client_version = UNSET
138
+ else:
139
+ client_version = EditMqttTriggerClientVersion(_client_version)
140
+
141
+ edit_mqtt_trigger = cls(
142
+ mqtt_resource_path=mqtt_resource_path,
143
+ subscribe_topics=subscribe_topics,
144
+ path=path,
145
+ script_path=script_path,
146
+ is_flow=is_flow,
147
+ enabled=enabled,
148
+ client_id=client_id,
149
+ v3_config=v3_config,
150
+ v5_config=v5_config,
151
+ client_version=client_version,
152
+ )
153
+
154
+ edit_mqtt_trigger.additional_properties = d
155
+ return edit_mqtt_trigger
156
+
157
+ @property
158
+ def additional_keys(self) -> List[str]:
159
+ return list(self.additional_properties.keys())
160
+
161
+ def __getitem__(self, key: str) -> Any:
162
+ return self.additional_properties[key]
163
+
164
+ def __setitem__(self, key: str, value: Any) -> None:
165
+ self.additional_properties[key] = value
166
+
167
+ def __delitem__(self, key: str) -> None:
168
+ del self.additional_properties[key]
169
+
170
+ def __contains__(self, key: str) -> bool:
171
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class EditMqttTriggerClientVersion(str, Enum):
5
+ V3 = "v3"
6
+ V5 = "v5"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,68 @@
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
+ from ..models.edit_mqtt_trigger_subscribe_topics_item_qos import EditMqttTriggerSubscribeTopicsItemQos
7
+
8
+ T = TypeVar("T", bound="EditMqttTriggerSubscribeTopicsItem")
9
+
10
+
11
+ @_attrs_define
12
+ class EditMqttTriggerSubscribeTopicsItem:
13
+ """
14
+ Attributes:
15
+ qos (EditMqttTriggerSubscribeTopicsItemQos):
16
+ topic (str):
17
+ """
18
+
19
+ qos: EditMqttTriggerSubscribeTopicsItemQos
20
+ topic: str
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ qos = self.qos.value
25
+
26
+ topic = self.topic
27
+
28
+ field_dict: Dict[str, Any] = {}
29
+ field_dict.update(self.additional_properties)
30
+ field_dict.update(
31
+ {
32
+ "qos": qos,
33
+ "topic": topic,
34
+ }
35
+ )
36
+
37
+ return field_dict
38
+
39
+ @classmethod
40
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
41
+ d = src_dict.copy()
42
+ qos = EditMqttTriggerSubscribeTopicsItemQos(d.pop("qos"))
43
+
44
+ topic = d.pop("topic")
45
+
46
+ edit_mqtt_trigger_subscribe_topics_item = cls(
47
+ qos=qos,
48
+ topic=topic,
49
+ )
50
+
51
+ edit_mqtt_trigger_subscribe_topics_item.additional_properties = d
52
+ return edit_mqtt_trigger_subscribe_topics_item
53
+
54
+ @property
55
+ def additional_keys(self) -> List[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Any:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Any) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class EditMqttTriggerSubscribeTopicsItemQos(str, Enum):
5
+ QOS0 = "qos0"
6
+ QOS1 = "qos1"
7
+ QOS2 = "qos2"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)