windmill-api 1.474.0__py3-none-any.whl → 1.475.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of windmill-api might be problematic. Click here for more details.

Files changed (108) hide show
  1. windmill_api/api/helpers/file_download.py +4 -4
  2. windmill_api/api/mqtt_trigger/__init__.py +0 -0
  3. windmill_api/api/mqtt_trigger/create_mqtt_trigger.py +105 -0
  4. windmill_api/api/mqtt_trigger/delete_mqtt_trigger.py +101 -0
  5. windmill_api/api/mqtt_trigger/exists_mqtt_trigger.py +160 -0
  6. windmill_api/api/mqtt_trigger/get_mqtt_trigger.py +166 -0
  7. windmill_api/api/mqtt_trigger/list_mqtt_triggers.py +237 -0
  8. windmill_api/api/mqtt_trigger/set_mqtt_trigger_enabled.py +113 -0
  9. windmill_api/api/mqtt_trigger/test_mqtt_connection.py +105 -0
  10. windmill_api/api/mqtt_trigger/update_mqtt_trigger.py +113 -0
  11. windmill_api/models/add_granular_acls_kind.py +1 -0
  12. windmill_api/models/app_with_last_version_policy.py +22 -0
  13. windmill_api/models/app_with_last_version_policy_allowed_s3_keys_item.py +66 -0
  14. windmill_api/models/app_with_last_version_w_draft_policy.py +26 -0
  15. windmill_api/models/app_with_last_version_w_draft_policy_allowed_s3_keys_item.py +66 -0
  16. windmill_api/models/capture_config_trigger_kind.py +1 -0
  17. windmill_api/models/capture_trigger_kind.py +1 -0
  18. windmill_api/models/create_app_json_body_policy.py +22 -0
  19. windmill_api/models/create_app_json_body_policy_allowed_s3_keys_item.py +66 -0
  20. windmill_api/models/create_mqtt_trigger_json_body.py +177 -0
  21. windmill_api/models/create_mqtt_trigger_json_body_client_version.py +9 -0
  22. windmill_api/models/create_mqtt_trigger_json_body_subscribe_topics_item.py +70 -0
  23. windmill_api/models/create_mqtt_trigger_json_body_subscribe_topics_item_qos.py +10 -0
  24. windmill_api/models/create_mqtt_trigger_json_body_v3_config.py +58 -0
  25. windmill_api/models/create_mqtt_trigger_json_body_v5_config.py +74 -0
  26. windmill_api/models/edit_mqtt_trigger.py +171 -0
  27. windmill_api/models/edit_mqtt_trigger_client_version.py +9 -0
  28. windmill_api/models/edit_mqtt_trigger_subscribe_topics_item.py +68 -0
  29. windmill_api/models/edit_mqtt_trigger_subscribe_topics_item_qos.py +10 -0
  30. windmill_api/models/edit_mqtt_trigger_v3_config.py +58 -0
  31. windmill_api/models/edit_mqtt_trigger_v5_config.py +74 -0
  32. windmill_api/models/edit_workspace_deploy_ui_settings_json_body_deploy_ui_settings_include_type_item.py +1 -0
  33. windmill_api/models/get_app_by_path_response_200_policy.py +26 -0
  34. windmill_api/models/get_app_by_path_response_200_policy_allowed_s3_keys_item.py +66 -0
  35. windmill_api/models/get_app_by_path_with_draft_response_200_policy.py +28 -0
  36. windmill_api/models/get_app_by_path_with_draft_response_200_policy_allowed_s3_keys_item.py +66 -0
  37. windmill_api/models/get_app_by_version_response_200_policy.py +28 -0
  38. windmill_api/models/get_app_by_version_response_200_policy_allowed_s3_keys_item.py +66 -0
  39. windmill_api/models/get_app_lite_by_path_response_200_policy.py +28 -0
  40. windmill_api/models/get_app_lite_by_path_response_200_policy_allowed_s3_keys_item.py +66 -0
  41. windmill_api/models/get_capture_configs_response_200_item_trigger_kind.py +1 -0
  42. windmill_api/models/get_capture_response_200_trigger_kind.py +1 -0
  43. windmill_api/models/get_granular_acls_kind.py +1 -0
  44. windmill_api/models/get_mqtt_trigger_response_200.py +249 -0
  45. windmill_api/models/get_mqtt_trigger_response_200_client_version.py +9 -0
  46. windmill_api/models/get_mqtt_trigger_response_200_extra_perms.py +44 -0
  47. windmill_api/models/get_mqtt_trigger_response_200_subscribe_topics_item.py +70 -0
  48. windmill_api/models/get_mqtt_trigger_response_200_subscribe_topics_item_qos.py +10 -0
  49. windmill_api/models/get_mqtt_trigger_response_200v3_config.py +58 -0
  50. windmill_api/models/get_mqtt_trigger_response_200v5_config.py +74 -0
  51. windmill_api/models/get_public_app_by_custom_path_response_200_policy.py +28 -0
  52. windmill_api/models/get_public_app_by_custom_path_response_200_policy_allowed_s3_keys_item.py +66 -0
  53. windmill_api/models/get_public_app_by_secret_response_200_policy.py +28 -0
  54. windmill_api/models/get_public_app_by_secret_response_200_policy_allowed_s3_keys_item.py +66 -0
  55. windmill_api/models/get_settings_response_200_deploy_ui_include_type_item.py +1 -0
  56. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  57. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  58. windmill_api/models/get_used_triggers_response_200.py +7 -0
  59. windmill_api/models/list_captures_response_200_item_trigger_kind.py +1 -0
  60. windmill_api/models/list_captures_trigger_kind.py +1 -0
  61. windmill_api/models/list_mqtt_triggers_response_200_item.py +251 -0
  62. windmill_api/models/list_mqtt_triggers_response_200_item_client_version.py +9 -0
  63. windmill_api/models/list_mqtt_triggers_response_200_item_extra_perms.py +44 -0
  64. windmill_api/models/list_mqtt_triggers_response_200_item_subscribe_topics_item.py +70 -0
  65. windmill_api/models/list_mqtt_triggers_response_200_item_subscribe_topics_item_qos.py +10 -0
  66. windmill_api/models/list_mqtt_triggers_response_200_item_v3_config.py +58 -0
  67. windmill_api/models/list_mqtt_triggers_response_200_item_v5_config.py +74 -0
  68. windmill_api/models/mqtt_client_version.py +9 -0
  69. windmill_api/models/mqtt_qo_s.py +10 -0
  70. windmill_api/models/mqtt_subscribe_topic.py +68 -0
  71. windmill_api/models/mqtt_subscribe_topic_qos.py +10 -0
  72. windmill_api/models/mqtt_trigger.py +245 -0
  73. windmill_api/models/mqtt_trigger_client_version.py +9 -0
  74. windmill_api/models/mqtt_trigger_extra_perms.py +44 -0
  75. windmill_api/models/mqtt_trigger_subscribe_topics_item.py +68 -0
  76. windmill_api/models/mqtt_trigger_subscribe_topics_item_qos.py +10 -0
  77. windmill_api/models/mqtt_trigger_v3_config.py +58 -0
  78. windmill_api/models/mqtt_trigger_v5_config.py +74 -0
  79. windmill_api/models/mqtt_v3_config.py +58 -0
  80. windmill_api/models/mqtt_v5_config.py +74 -0
  81. windmill_api/models/new_mqtt_trigger.py +173 -0
  82. windmill_api/models/new_mqtt_trigger_client_version.py +9 -0
  83. windmill_api/models/new_mqtt_trigger_subscribe_topics_item.py +68 -0
  84. windmill_api/models/new_mqtt_trigger_subscribe_topics_item_qos.py +10 -0
  85. windmill_api/models/new_mqtt_trigger_v3_config.py +58 -0
  86. windmill_api/models/new_mqtt_trigger_v5_config.py +74 -0
  87. windmill_api/models/ping_capture_config_trigger_kind.py +1 -0
  88. windmill_api/models/policy.py +22 -0
  89. windmill_api/models/policy_allowed_s3_keys_item.py +66 -0
  90. windmill_api/models/remove_granular_acls_kind.py +1 -0
  91. windmill_api/models/set_capture_config_json_body_trigger_kind.py +1 -0
  92. windmill_api/models/set_mqtt_trigger_enabled_json_body.py +58 -0
  93. windmill_api/models/test_mqtt_connection_json_body.py +64 -0
  94. windmill_api/models/test_mqtt_connection_json_body_connection.py +44 -0
  95. windmill_api/models/triggers_count.py +8 -0
  96. windmill_api/models/update_app_json_body_policy.py +22 -0
  97. windmill_api/models/update_app_json_body_policy_allowed_s3_keys_item.py +66 -0
  98. windmill_api/models/update_mqtt_trigger_json_body.py +175 -0
  99. windmill_api/models/update_mqtt_trigger_json_body_client_version.py +9 -0
  100. windmill_api/models/update_mqtt_trigger_json_body_subscribe_topics_item.py +70 -0
  101. windmill_api/models/update_mqtt_trigger_json_body_subscribe_topics_item_qos.py +10 -0
  102. windmill_api/models/update_mqtt_trigger_json_body_v3_config.py +58 -0
  103. windmill_api/models/update_mqtt_trigger_json_body_v5_config.py +74 -0
  104. windmill_api/models/workspace_deploy_ui_settings_include_type_item.py +1 -0
  105. {windmill_api-1.474.0.dist-info → windmill_api-1.475.0.dist-info}/METADATA +1 -1
  106. {windmill_api-1.474.0.dist-info → windmill_api-1.475.0.dist-info}/RECORD +108 -34
  107. {windmill_api-1.474.0.dist-info → windmill_api-1.475.0.dist-info}/LICENSE +0 -0
  108. {windmill_api-1.474.0.dist-info → windmill_api-1.475.0.dist-info}/WHEEL +0 -0
@@ -9,6 +9,9 @@ from ..models.get_public_app_by_secret_response_200_policy_execution_mode import
9
9
  from ..types import UNSET, Unset
10
10
 
11
11
  if TYPE_CHECKING:
12
+ from ..models.get_public_app_by_secret_response_200_policy_allowed_s3_keys_item import (
13
+ GetPublicAppBySecretResponse200PolicyAllowedS3KeysItem,
14
+ )
12
15
  from ..models.get_public_app_by_secret_response_200_policy_s3_inputs_item import (
13
16
  GetPublicAppBySecretResponse200PolicyS3InputsItem,
14
17
  )
@@ -30,6 +33,7 @@ class GetPublicAppBySecretResponse200Policy:
30
33
  triggerables (Union[Unset, GetPublicAppBySecretResponse200PolicyTriggerables]):
31
34
  triggerables_v2 (Union[Unset, GetPublicAppBySecretResponse200PolicyTriggerablesV2]):
32
35
  s3_inputs (Union[Unset, List['GetPublicAppBySecretResponse200PolicyS3InputsItem']]):
36
+ allowed_s3_keys (Union[Unset, List['GetPublicAppBySecretResponse200PolicyAllowedS3KeysItem']]):
33
37
  execution_mode (Union[Unset, GetPublicAppBySecretResponse200PolicyExecutionMode]):
34
38
  on_behalf_of (Union[Unset, str]):
35
39
  on_behalf_of_email (Union[Unset, str]):
@@ -38,6 +42,7 @@ class GetPublicAppBySecretResponse200Policy:
38
42
  triggerables: Union[Unset, "GetPublicAppBySecretResponse200PolicyTriggerables"] = UNSET
39
43
  triggerables_v2: Union[Unset, "GetPublicAppBySecretResponse200PolicyTriggerablesV2"] = UNSET
40
44
  s3_inputs: Union[Unset, List["GetPublicAppBySecretResponse200PolicyS3InputsItem"]] = UNSET
45
+ allowed_s3_keys: Union[Unset, List["GetPublicAppBySecretResponse200PolicyAllowedS3KeysItem"]] = UNSET
41
46
  execution_mode: Union[Unset, GetPublicAppBySecretResponse200PolicyExecutionMode] = UNSET
42
47
  on_behalf_of: Union[Unset, str] = UNSET
43
48
  on_behalf_of_email: Union[Unset, str] = UNSET
@@ -60,6 +65,14 @@ class GetPublicAppBySecretResponse200Policy:
60
65
 
61
66
  s3_inputs.append(s3_inputs_item)
62
67
 
68
+ allowed_s3_keys: Union[Unset, List[Dict[str, Any]]] = UNSET
69
+ if not isinstance(self.allowed_s3_keys, Unset):
70
+ allowed_s3_keys = []
71
+ for allowed_s3_keys_item_data in self.allowed_s3_keys:
72
+ allowed_s3_keys_item = allowed_s3_keys_item_data.to_dict()
73
+
74
+ allowed_s3_keys.append(allowed_s3_keys_item)
75
+
63
76
  execution_mode: Union[Unset, str] = UNSET
64
77
  if not isinstance(self.execution_mode, Unset):
65
78
  execution_mode = self.execution_mode.value
@@ -76,6 +89,8 @@ class GetPublicAppBySecretResponse200Policy:
76
89
  field_dict["triggerables_v2"] = triggerables_v2
77
90
  if s3_inputs is not UNSET:
78
91
  field_dict["s3_inputs"] = s3_inputs
92
+ if allowed_s3_keys is not UNSET:
93
+ field_dict["allowed_s3_keys"] = allowed_s3_keys
79
94
  if execution_mode is not UNSET:
80
95
  field_dict["execution_mode"] = execution_mode
81
96
  if on_behalf_of is not UNSET:
@@ -87,6 +102,9 @@ class GetPublicAppBySecretResponse200Policy:
87
102
 
88
103
  @classmethod
89
104
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
105
+ from ..models.get_public_app_by_secret_response_200_policy_allowed_s3_keys_item import (
106
+ GetPublicAppBySecretResponse200PolicyAllowedS3KeysItem,
107
+ )
90
108
  from ..models.get_public_app_by_secret_response_200_policy_s3_inputs_item import (
91
109
  GetPublicAppBySecretResponse200PolicyS3InputsItem,
92
110
  )
@@ -119,6 +137,15 @@ class GetPublicAppBySecretResponse200Policy:
119
137
 
120
138
  s3_inputs.append(s3_inputs_item)
121
139
 
140
+ allowed_s3_keys = []
141
+ _allowed_s3_keys = d.pop("allowed_s3_keys", UNSET)
142
+ for allowed_s3_keys_item_data in _allowed_s3_keys or []:
143
+ allowed_s3_keys_item = GetPublicAppBySecretResponse200PolicyAllowedS3KeysItem.from_dict(
144
+ allowed_s3_keys_item_data
145
+ )
146
+
147
+ allowed_s3_keys.append(allowed_s3_keys_item)
148
+
122
149
  _execution_mode = d.pop("execution_mode", UNSET)
123
150
  execution_mode: Union[Unset, GetPublicAppBySecretResponse200PolicyExecutionMode]
124
151
  if isinstance(_execution_mode, Unset):
@@ -134,6 +161,7 @@ class GetPublicAppBySecretResponse200Policy:
134
161
  triggerables=triggerables,
135
162
  triggerables_v2=triggerables_v2,
136
163
  s3_inputs=s3_inputs,
164
+ allowed_s3_keys=allowed_s3_keys,
137
165
  execution_mode=execution_mode,
138
166
  on_behalf_of=on_behalf_of,
139
167
  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="GetPublicAppBySecretResponse200PolicyAllowedS3KeysItem")
9
+
10
+
11
+ @_attrs_define
12
+ class GetPublicAppBySecretResponse200PolicyAllowedS3KeysItem:
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
+ get_public_app_by_secret_response_200_policy_allowed_s3_keys_item = cls(
45
+ s3_path=s3_path,
46
+ resource=resource,
47
+ )
48
+
49
+ get_public_app_by_secret_response_200_policy_allowed_s3_keys_item.additional_properties = d
50
+ return get_public_app_by_secret_response_200_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
@@ -7,6 +7,7 @@ class GetSettingsResponse200DeployUiIncludeTypeItem(str, Enum):
7
7
  RESOURCE = "resource"
8
8
  SCRIPT = "script"
9
9
  SECRET = "secret"
10
+ TRIGGER = "trigger"
10
11
  VARIABLE = "variable"
11
12
 
12
13
  def __str__(self) -> str:
@@ -27,6 +27,7 @@ class GetTriggersCountOfFlowResponse200:
27
27
  postgres_count (Union[Unset, float]):
28
28
  kafka_count (Union[Unset, float]):
29
29
  nats_count (Union[Unset, float]):
30
+ mqtt_count (Union[Unset, float]):
30
31
  sqs_count (Union[Unset, float]):
31
32
  """
32
33
 
@@ -39,6 +40,7 @@ class GetTriggersCountOfFlowResponse200:
39
40
  postgres_count: Union[Unset, float] = UNSET
40
41
  kafka_count: Union[Unset, float] = UNSET
41
42
  nats_count: Union[Unset, float] = UNSET
43
+ mqtt_count: Union[Unset, float] = UNSET
42
44
  sqs_count: Union[Unset, float] = UNSET
43
45
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
44
46
 
@@ -55,6 +57,7 @@ class GetTriggersCountOfFlowResponse200:
55
57
  postgres_count = self.postgres_count
56
58
  kafka_count = self.kafka_count
57
59
  nats_count = self.nats_count
60
+ mqtt_count = self.mqtt_count
58
61
  sqs_count = self.sqs_count
59
62
 
60
63
  field_dict: Dict[str, Any] = {}
@@ -78,6 +81,8 @@ class GetTriggersCountOfFlowResponse200:
78
81
  field_dict["kafka_count"] = kafka_count
79
82
  if nats_count is not UNSET:
80
83
  field_dict["nats_count"] = nats_count
84
+ if mqtt_count is not UNSET:
85
+ field_dict["mqtt_count"] = mqtt_count
81
86
  if sqs_count is not UNSET:
82
87
  field_dict["sqs_count"] = sqs_count
83
88
 
@@ -113,6 +118,8 @@ class GetTriggersCountOfFlowResponse200:
113
118
 
114
119
  nats_count = d.pop("nats_count", UNSET)
115
120
 
121
+ mqtt_count = d.pop("mqtt_count", UNSET)
122
+
116
123
  sqs_count = d.pop("sqs_count", UNSET)
117
124
 
118
125
  get_triggers_count_of_flow_response_200 = cls(
@@ -125,6 +132,7 @@ class GetTriggersCountOfFlowResponse200:
125
132
  postgres_count=postgres_count,
126
133
  kafka_count=kafka_count,
127
134
  nats_count=nats_count,
135
+ mqtt_count=mqtt_count,
128
136
  sqs_count=sqs_count,
129
137
  )
130
138
 
@@ -27,6 +27,7 @@ class GetTriggersCountOfScriptResponse200:
27
27
  postgres_count (Union[Unset, float]):
28
28
  kafka_count (Union[Unset, float]):
29
29
  nats_count (Union[Unset, float]):
30
+ mqtt_count (Union[Unset, float]):
30
31
  sqs_count (Union[Unset, float]):
31
32
  """
32
33
 
@@ -39,6 +40,7 @@ class GetTriggersCountOfScriptResponse200:
39
40
  postgres_count: Union[Unset, float] = UNSET
40
41
  kafka_count: Union[Unset, float] = UNSET
41
42
  nats_count: Union[Unset, float] = UNSET
43
+ mqtt_count: Union[Unset, float] = UNSET
42
44
  sqs_count: Union[Unset, float] = UNSET
43
45
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
44
46
 
@@ -55,6 +57,7 @@ class GetTriggersCountOfScriptResponse200:
55
57
  postgres_count = self.postgres_count
56
58
  kafka_count = self.kafka_count
57
59
  nats_count = self.nats_count
60
+ mqtt_count = self.mqtt_count
58
61
  sqs_count = self.sqs_count
59
62
 
60
63
  field_dict: Dict[str, Any] = {}
@@ -78,6 +81,8 @@ class GetTriggersCountOfScriptResponse200:
78
81
  field_dict["kafka_count"] = kafka_count
79
82
  if nats_count is not UNSET:
80
83
  field_dict["nats_count"] = nats_count
84
+ if mqtt_count is not UNSET:
85
+ field_dict["mqtt_count"] = mqtt_count
81
86
  if sqs_count is not UNSET:
82
87
  field_dict["sqs_count"] = sqs_count
83
88
 
@@ -113,6 +118,8 @@ class GetTriggersCountOfScriptResponse200:
113
118
 
114
119
  nats_count = d.pop("nats_count", UNSET)
115
120
 
121
+ mqtt_count = d.pop("mqtt_count", UNSET)
122
+
116
123
  sqs_count = d.pop("sqs_count", UNSET)
117
124
 
118
125
  get_triggers_count_of_script_response_200 = cls(
@@ -125,6 +132,7 @@ class GetTriggersCountOfScriptResponse200:
125
132
  postgres_count=postgres_count,
126
133
  kafka_count=kafka_count,
127
134
  nats_count=nats_count,
135
+ mqtt_count=mqtt_count,
128
136
  sqs_count=sqs_count,
129
137
  )
130
138
 
@@ -15,6 +15,7 @@ class GetUsedTriggersResponse200:
15
15
  kafka_used (bool):
16
16
  nats_used (bool):
17
17
  postgres_used (bool):
18
+ mqtt_used (bool):
18
19
  sqs_used (bool):
19
20
  """
20
21
 
@@ -23,6 +24,7 @@ class GetUsedTriggersResponse200:
23
24
  kafka_used: bool
24
25
  nats_used: bool
25
26
  postgres_used: bool
27
+ mqtt_used: bool
26
28
  sqs_used: bool
27
29
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
30
 
@@ -32,6 +34,7 @@ class GetUsedTriggersResponse200:
32
34
  kafka_used = self.kafka_used
33
35
  nats_used = self.nats_used
34
36
  postgres_used = self.postgres_used
37
+ mqtt_used = self.mqtt_used
35
38
  sqs_used = self.sqs_used
36
39
 
37
40
  field_dict: Dict[str, Any] = {}
@@ -43,6 +46,7 @@ class GetUsedTriggersResponse200:
43
46
  "kafka_used": kafka_used,
44
47
  "nats_used": nats_used,
45
48
  "postgres_used": postgres_used,
49
+ "mqtt_used": mqtt_used,
46
50
  "sqs_used": sqs_used,
47
51
  }
48
52
  )
@@ -62,6 +66,8 @@ class GetUsedTriggersResponse200:
62
66
 
63
67
  postgres_used = d.pop("postgres_used")
64
68
 
69
+ mqtt_used = d.pop("mqtt_used")
70
+
65
71
  sqs_used = d.pop("sqs_used")
66
72
 
67
73
  get_used_triggers_response_200 = cls(
@@ -70,6 +76,7 @@ class GetUsedTriggersResponse200:
70
76
  kafka_used=kafka_used,
71
77
  nats_used=nats_used,
72
78
  postgres_used=postgres_used,
79
+ mqtt_used=mqtt_used,
73
80
  sqs_used=sqs_used,
74
81
  )
75
82
 
@@ -5,6 +5,7 @@ class ListCapturesResponse200ItemTriggerKind(str, Enum):
5
5
  EMAIL = "email"
6
6
  HTTP = "http"
7
7
  KAFKA = "kafka"
8
+ MQTT = "mqtt"
8
9
  NATS = "nats"
9
10
  POSTGRES = "postgres"
10
11
  SQS = "sqs"
@@ -5,6 +5,7 @@ class ListCapturesTriggerKind(str, Enum):
5
5
  EMAIL = "email"
6
6
  HTTP = "http"
7
7
  KAFKA = "kafka"
8
+ MQTT = "mqtt"
8
9
  NATS = "nats"
9
10
  POSTGRES = "postgres"
10
11
  SQS = "sqs"
@@ -0,0 +1,251 @@
1
+ import datetime
2
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
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
+ from ..models.list_mqtt_triggers_response_200_item_client_version import ListMqttTriggersResponse200ItemClientVersion
9
+ from ..types import UNSET, Unset
10
+
11
+ if TYPE_CHECKING:
12
+ from ..models.list_mqtt_triggers_response_200_item_extra_perms import ListMqttTriggersResponse200ItemExtraPerms
13
+ from ..models.list_mqtt_triggers_response_200_item_subscribe_topics_item import (
14
+ ListMqttTriggersResponse200ItemSubscribeTopicsItem,
15
+ )
16
+ from ..models.list_mqtt_triggers_response_200_item_v3_config import ListMqttTriggersResponse200ItemV3Config
17
+ from ..models.list_mqtt_triggers_response_200_item_v5_config import ListMqttTriggersResponse200ItemV5Config
18
+
19
+
20
+ T = TypeVar("T", bound="ListMqttTriggersResponse200Item")
21
+
22
+
23
+ @_attrs_define
24
+ class ListMqttTriggersResponse200Item:
25
+ """
26
+ Attributes:
27
+ mqtt_resource_path (str):
28
+ subscribe_topics (List['ListMqttTriggersResponse200ItemSubscribeTopicsItem']):
29
+ enabled (bool):
30
+ path (str):
31
+ script_path (str):
32
+ email (str):
33
+ extra_perms (ListMqttTriggersResponse200ItemExtraPerms):
34
+ workspace_id (str):
35
+ edited_by (str):
36
+ edited_at (datetime.datetime):
37
+ is_flow (bool):
38
+ v3_config (Union[Unset, ListMqttTriggersResponse200ItemV3Config]):
39
+ v5_config (Union[Unset, ListMqttTriggersResponse200ItemV5Config]):
40
+ client_id (Union[Unset, str]):
41
+ client_version (Union[Unset, ListMqttTriggersResponse200ItemClientVersion]):
42
+ server_id (Union[Unset, str]):
43
+ last_server_ping (Union[Unset, datetime.datetime]):
44
+ error (Union[Unset, str]):
45
+ """
46
+
47
+ mqtt_resource_path: str
48
+ subscribe_topics: List["ListMqttTriggersResponse200ItemSubscribeTopicsItem"]
49
+ enabled: bool
50
+ path: str
51
+ script_path: str
52
+ email: str
53
+ extra_perms: "ListMqttTriggersResponse200ItemExtraPerms"
54
+ workspace_id: str
55
+ edited_by: str
56
+ edited_at: datetime.datetime
57
+ is_flow: bool
58
+ v3_config: Union[Unset, "ListMqttTriggersResponse200ItemV3Config"] = UNSET
59
+ v5_config: Union[Unset, "ListMqttTriggersResponse200ItemV5Config"] = UNSET
60
+ client_id: Union[Unset, str] = UNSET
61
+ client_version: Union[Unset, ListMqttTriggersResponse200ItemClientVersion] = UNSET
62
+ server_id: Union[Unset, str] = UNSET
63
+ last_server_ping: Union[Unset, datetime.datetime] = UNSET
64
+ error: Union[Unset, str] = UNSET
65
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
66
+
67
+ def to_dict(self) -> Dict[str, Any]:
68
+ mqtt_resource_path = self.mqtt_resource_path
69
+ subscribe_topics = []
70
+ for subscribe_topics_item_data in self.subscribe_topics:
71
+ subscribe_topics_item = subscribe_topics_item_data.to_dict()
72
+
73
+ subscribe_topics.append(subscribe_topics_item)
74
+
75
+ enabled = self.enabled
76
+ path = self.path
77
+ script_path = self.script_path
78
+ email = self.email
79
+ extra_perms = self.extra_perms.to_dict()
80
+
81
+ workspace_id = self.workspace_id
82
+ edited_by = self.edited_by
83
+ edited_at = self.edited_at.isoformat()
84
+
85
+ is_flow = self.is_flow
86
+ v3_config: Union[Unset, Dict[str, Any]] = UNSET
87
+ if not isinstance(self.v3_config, Unset):
88
+ v3_config = self.v3_config.to_dict()
89
+
90
+ v5_config: Union[Unset, Dict[str, Any]] = UNSET
91
+ if not isinstance(self.v5_config, Unset):
92
+ v5_config = self.v5_config.to_dict()
93
+
94
+ client_id = self.client_id
95
+ client_version: Union[Unset, str] = UNSET
96
+ if not isinstance(self.client_version, Unset):
97
+ client_version = self.client_version.value
98
+
99
+ server_id = self.server_id
100
+ last_server_ping: Union[Unset, str] = UNSET
101
+ if not isinstance(self.last_server_ping, Unset):
102
+ last_server_ping = self.last_server_ping.isoformat()
103
+
104
+ error = self.error
105
+
106
+ field_dict: Dict[str, Any] = {}
107
+ field_dict.update(self.additional_properties)
108
+ field_dict.update(
109
+ {
110
+ "mqtt_resource_path": mqtt_resource_path,
111
+ "subscribe_topics": subscribe_topics,
112
+ "enabled": enabled,
113
+ "path": path,
114
+ "script_path": script_path,
115
+ "email": email,
116
+ "extra_perms": extra_perms,
117
+ "workspace_id": workspace_id,
118
+ "edited_by": edited_by,
119
+ "edited_at": edited_at,
120
+ "is_flow": is_flow,
121
+ }
122
+ )
123
+ if v3_config is not UNSET:
124
+ field_dict["v3_config"] = v3_config
125
+ if v5_config is not UNSET:
126
+ field_dict["v5_config"] = v5_config
127
+ if client_id is not UNSET:
128
+ field_dict["client_id"] = client_id
129
+ if client_version is not UNSET:
130
+ field_dict["client_version"] = client_version
131
+ if server_id is not UNSET:
132
+ field_dict["server_id"] = server_id
133
+ if last_server_ping is not UNSET:
134
+ field_dict["last_server_ping"] = last_server_ping
135
+ if error is not UNSET:
136
+ field_dict["error"] = error
137
+
138
+ return field_dict
139
+
140
+ @classmethod
141
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
142
+ from ..models.list_mqtt_triggers_response_200_item_extra_perms import ListMqttTriggersResponse200ItemExtraPerms
143
+ from ..models.list_mqtt_triggers_response_200_item_subscribe_topics_item import (
144
+ ListMqttTriggersResponse200ItemSubscribeTopicsItem,
145
+ )
146
+ from ..models.list_mqtt_triggers_response_200_item_v3_config import ListMqttTriggersResponse200ItemV3Config
147
+ from ..models.list_mqtt_triggers_response_200_item_v5_config import ListMqttTriggersResponse200ItemV5Config
148
+
149
+ d = src_dict.copy()
150
+ mqtt_resource_path = d.pop("mqtt_resource_path")
151
+
152
+ subscribe_topics = []
153
+ _subscribe_topics = d.pop("subscribe_topics")
154
+ for subscribe_topics_item_data in _subscribe_topics:
155
+ subscribe_topics_item = ListMqttTriggersResponse200ItemSubscribeTopicsItem.from_dict(
156
+ subscribe_topics_item_data
157
+ )
158
+
159
+ subscribe_topics.append(subscribe_topics_item)
160
+
161
+ enabled = d.pop("enabled")
162
+
163
+ path = d.pop("path")
164
+
165
+ script_path = d.pop("script_path")
166
+
167
+ email = d.pop("email")
168
+
169
+ extra_perms = ListMqttTriggersResponse200ItemExtraPerms.from_dict(d.pop("extra_perms"))
170
+
171
+ workspace_id = d.pop("workspace_id")
172
+
173
+ edited_by = d.pop("edited_by")
174
+
175
+ edited_at = isoparse(d.pop("edited_at"))
176
+
177
+ is_flow = d.pop("is_flow")
178
+
179
+ _v3_config = d.pop("v3_config", UNSET)
180
+ v3_config: Union[Unset, ListMqttTriggersResponse200ItemV3Config]
181
+ if isinstance(_v3_config, Unset):
182
+ v3_config = UNSET
183
+ else:
184
+ v3_config = ListMqttTriggersResponse200ItemV3Config.from_dict(_v3_config)
185
+
186
+ _v5_config = d.pop("v5_config", UNSET)
187
+ v5_config: Union[Unset, ListMqttTriggersResponse200ItemV5Config]
188
+ if isinstance(_v5_config, Unset):
189
+ v5_config = UNSET
190
+ else:
191
+ v5_config = ListMqttTriggersResponse200ItemV5Config.from_dict(_v5_config)
192
+
193
+ client_id = d.pop("client_id", UNSET)
194
+
195
+ _client_version = d.pop("client_version", UNSET)
196
+ client_version: Union[Unset, ListMqttTriggersResponse200ItemClientVersion]
197
+ if isinstance(_client_version, Unset):
198
+ client_version = UNSET
199
+ else:
200
+ client_version = ListMqttTriggersResponse200ItemClientVersion(_client_version)
201
+
202
+ server_id = d.pop("server_id", UNSET)
203
+
204
+ _last_server_ping = d.pop("last_server_ping", UNSET)
205
+ last_server_ping: Union[Unset, datetime.datetime]
206
+ if isinstance(_last_server_ping, Unset):
207
+ last_server_ping = UNSET
208
+ else:
209
+ last_server_ping = isoparse(_last_server_ping)
210
+
211
+ error = d.pop("error", UNSET)
212
+
213
+ list_mqtt_triggers_response_200_item = cls(
214
+ mqtt_resource_path=mqtt_resource_path,
215
+ subscribe_topics=subscribe_topics,
216
+ enabled=enabled,
217
+ path=path,
218
+ script_path=script_path,
219
+ email=email,
220
+ extra_perms=extra_perms,
221
+ workspace_id=workspace_id,
222
+ edited_by=edited_by,
223
+ edited_at=edited_at,
224
+ is_flow=is_flow,
225
+ v3_config=v3_config,
226
+ v5_config=v5_config,
227
+ client_id=client_id,
228
+ client_version=client_version,
229
+ server_id=server_id,
230
+ last_server_ping=last_server_ping,
231
+ error=error,
232
+ )
233
+
234
+ list_mqtt_triggers_response_200_item.additional_properties = d
235
+ return list_mqtt_triggers_response_200_item
236
+
237
+ @property
238
+ def additional_keys(self) -> List[str]:
239
+ return list(self.additional_properties.keys())
240
+
241
+ def __getitem__(self, key: str) -> Any:
242
+ return self.additional_properties[key]
243
+
244
+ def __setitem__(self, key: str, value: Any) -> None:
245
+ self.additional_properties[key] = value
246
+
247
+ def __delitem__(self, key: str) -> None:
248
+ del self.additional_properties[key]
249
+
250
+ def __contains__(self, key: str) -> bool:
251
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ListMqttTriggersResponse200ItemClientVersion(str, Enum):
5
+ V3 = "v3"
6
+ V5 = "v5"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,44 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="ListMqttTriggersResponse200ItemExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class ListMqttTriggersResponse200ItemExtraPerms:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, bool] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+ field_dict.update({})
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
24
+ d = src_dict.copy()
25
+ list_mqtt_triggers_response_200_item_extra_perms = cls()
26
+
27
+ list_mqtt_triggers_response_200_item_extra_perms.additional_properties = d
28
+ return list_mqtt_triggers_response_200_item_extra_perms
29
+
30
+ @property
31
+ def additional_keys(self) -> List[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> bool:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: bool) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties