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