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_app_by_path_with_draft_response_200_policy_execution_mode impo
9
9
  from ..types import UNSET, Unset
10
10
 
11
11
  if TYPE_CHECKING:
12
+ from ..models.get_app_by_path_with_draft_response_200_policy_allowed_s3_keys_item import (
13
+ GetAppByPathWithDraftResponse200PolicyAllowedS3KeysItem,
14
+ )
12
15
  from ..models.get_app_by_path_with_draft_response_200_policy_s3_inputs_item import (
13
16
  GetAppByPathWithDraftResponse200PolicyS3InputsItem,
14
17
  )
@@ -30,6 +33,7 @@ class GetAppByPathWithDraftResponse200Policy:
30
33
  triggerables (Union[Unset, GetAppByPathWithDraftResponse200PolicyTriggerables]):
31
34
  triggerables_v2 (Union[Unset, GetAppByPathWithDraftResponse200PolicyTriggerablesV2]):
32
35
  s3_inputs (Union[Unset, List['GetAppByPathWithDraftResponse200PolicyS3InputsItem']]):
36
+ allowed_s3_keys (Union[Unset, List['GetAppByPathWithDraftResponse200PolicyAllowedS3KeysItem']]):
33
37
  execution_mode (Union[Unset, GetAppByPathWithDraftResponse200PolicyExecutionMode]):
34
38
  on_behalf_of (Union[Unset, str]):
35
39
  on_behalf_of_email (Union[Unset, str]):
@@ -38,6 +42,7 @@ class GetAppByPathWithDraftResponse200Policy:
38
42
  triggerables: Union[Unset, "GetAppByPathWithDraftResponse200PolicyTriggerables"] = UNSET
39
43
  triggerables_v2: Union[Unset, "GetAppByPathWithDraftResponse200PolicyTriggerablesV2"] = UNSET
40
44
  s3_inputs: Union[Unset, List["GetAppByPathWithDraftResponse200PolicyS3InputsItem"]] = UNSET
45
+ allowed_s3_keys: Union[Unset, List["GetAppByPathWithDraftResponse200PolicyAllowedS3KeysItem"]] = UNSET
41
46
  execution_mode: Union[Unset, GetAppByPathWithDraftResponse200PolicyExecutionMode] = 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 GetAppByPathWithDraftResponse200Policy:
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 GetAppByPathWithDraftResponse200Policy:
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 GetAppByPathWithDraftResponse200Policy:
87
102
 
88
103
  @classmethod
89
104
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
105
+ from ..models.get_app_by_path_with_draft_response_200_policy_allowed_s3_keys_item import (
106
+ GetAppByPathWithDraftResponse200PolicyAllowedS3KeysItem,
107
+ )
90
108
  from ..models.get_app_by_path_with_draft_response_200_policy_s3_inputs_item import (
91
109
  GetAppByPathWithDraftResponse200PolicyS3InputsItem,
92
110
  )
@@ -119,6 +137,15 @@ class GetAppByPathWithDraftResponse200Policy:
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 = GetAppByPathWithDraftResponse200PolicyAllowedS3KeysItem.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, GetAppByPathWithDraftResponse200PolicyExecutionMode]
124
151
  if isinstance(_execution_mode, Unset):
@@ -134,6 +161,7 @@ class GetAppByPathWithDraftResponse200Policy:
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="GetAppByPathWithDraftResponse200PolicyAllowedS3KeysItem")
9
+
10
+
11
+ @_attrs_define
12
+ class GetAppByPathWithDraftResponse200PolicyAllowedS3KeysItem:
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_app_by_path_with_draft_response_200_policy_allowed_s3_keys_item = cls(
45
+ s3_path=s3_path,
46
+ resource=resource,
47
+ )
48
+
49
+ get_app_by_path_with_draft_response_200_policy_allowed_s3_keys_item.additional_properties = d
50
+ return get_app_by_path_with_draft_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,9 @@ from ..models.get_app_by_version_response_200_policy_execution_mode import GetAp
7
7
  from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
+ from ..models.get_app_by_version_response_200_policy_allowed_s3_keys_item import (
11
+ GetAppByVersionResponse200PolicyAllowedS3KeysItem,
12
+ )
10
13
  from ..models.get_app_by_version_response_200_policy_s3_inputs_item import (
11
14
  GetAppByVersionResponse200PolicyS3InputsItem,
12
15
  )
@@ -28,6 +31,7 @@ class GetAppByVersionResponse200Policy:
28
31
  triggerables (Union[Unset, GetAppByVersionResponse200PolicyTriggerables]):
29
32
  triggerables_v2 (Union[Unset, GetAppByVersionResponse200PolicyTriggerablesV2]):
30
33
  s3_inputs (Union[Unset, List['GetAppByVersionResponse200PolicyS3InputsItem']]):
34
+ allowed_s3_keys (Union[Unset, List['GetAppByVersionResponse200PolicyAllowedS3KeysItem']]):
31
35
  execution_mode (Union[Unset, GetAppByVersionResponse200PolicyExecutionMode]):
32
36
  on_behalf_of (Union[Unset, str]):
33
37
  on_behalf_of_email (Union[Unset, str]):
@@ -36,6 +40,7 @@ class GetAppByVersionResponse200Policy:
36
40
  triggerables: Union[Unset, "GetAppByVersionResponse200PolicyTriggerables"] = UNSET
37
41
  triggerables_v2: Union[Unset, "GetAppByVersionResponse200PolicyTriggerablesV2"] = UNSET
38
42
  s3_inputs: Union[Unset, List["GetAppByVersionResponse200PolicyS3InputsItem"]] = UNSET
43
+ allowed_s3_keys: Union[Unset, List["GetAppByVersionResponse200PolicyAllowedS3KeysItem"]] = UNSET
39
44
  execution_mode: Union[Unset, GetAppByVersionResponse200PolicyExecutionMode] = UNSET
40
45
  on_behalf_of: Union[Unset, str] = UNSET
41
46
  on_behalf_of_email: Union[Unset, str] = UNSET
@@ -58,6 +63,14 @@ class GetAppByVersionResponse200Policy:
58
63
 
59
64
  s3_inputs.append(s3_inputs_item)
60
65
 
66
+ allowed_s3_keys: Union[Unset, List[Dict[str, Any]]] = UNSET
67
+ if not isinstance(self.allowed_s3_keys, Unset):
68
+ allowed_s3_keys = []
69
+ for allowed_s3_keys_item_data in self.allowed_s3_keys:
70
+ allowed_s3_keys_item = allowed_s3_keys_item_data.to_dict()
71
+
72
+ allowed_s3_keys.append(allowed_s3_keys_item)
73
+
61
74
  execution_mode: Union[Unset, str] = UNSET
62
75
  if not isinstance(self.execution_mode, Unset):
63
76
  execution_mode = self.execution_mode.value
@@ -74,6 +87,8 @@ class GetAppByVersionResponse200Policy:
74
87
  field_dict["triggerables_v2"] = triggerables_v2
75
88
  if s3_inputs is not UNSET:
76
89
  field_dict["s3_inputs"] = s3_inputs
90
+ if allowed_s3_keys is not UNSET:
91
+ field_dict["allowed_s3_keys"] = allowed_s3_keys
77
92
  if execution_mode is not UNSET:
78
93
  field_dict["execution_mode"] = execution_mode
79
94
  if on_behalf_of is not UNSET:
@@ -85,6 +100,9 @@ class GetAppByVersionResponse200Policy:
85
100
 
86
101
  @classmethod
87
102
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
103
+ from ..models.get_app_by_version_response_200_policy_allowed_s3_keys_item import (
104
+ GetAppByVersionResponse200PolicyAllowedS3KeysItem,
105
+ )
88
106
  from ..models.get_app_by_version_response_200_policy_s3_inputs_item import (
89
107
  GetAppByVersionResponse200PolicyS3InputsItem,
90
108
  )
@@ -117,6 +135,15 @@ class GetAppByVersionResponse200Policy:
117
135
 
118
136
  s3_inputs.append(s3_inputs_item)
119
137
 
138
+ allowed_s3_keys = []
139
+ _allowed_s3_keys = d.pop("allowed_s3_keys", UNSET)
140
+ for allowed_s3_keys_item_data in _allowed_s3_keys or []:
141
+ allowed_s3_keys_item = GetAppByVersionResponse200PolicyAllowedS3KeysItem.from_dict(
142
+ allowed_s3_keys_item_data
143
+ )
144
+
145
+ allowed_s3_keys.append(allowed_s3_keys_item)
146
+
120
147
  _execution_mode = d.pop("execution_mode", UNSET)
121
148
  execution_mode: Union[Unset, GetAppByVersionResponse200PolicyExecutionMode]
122
149
  if isinstance(_execution_mode, Unset):
@@ -132,6 +159,7 @@ class GetAppByVersionResponse200Policy:
132
159
  triggerables=triggerables,
133
160
  triggerables_v2=triggerables_v2,
134
161
  s3_inputs=s3_inputs,
162
+ allowed_s3_keys=allowed_s3_keys,
135
163
  execution_mode=execution_mode,
136
164
  on_behalf_of=on_behalf_of,
137
165
  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="GetAppByVersionResponse200PolicyAllowedS3KeysItem")
9
+
10
+
11
+ @_attrs_define
12
+ class GetAppByVersionResponse200PolicyAllowedS3KeysItem:
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_app_by_version_response_200_policy_allowed_s3_keys_item = cls(
45
+ s3_path=s3_path,
46
+ resource=resource,
47
+ )
48
+
49
+ get_app_by_version_response_200_policy_allowed_s3_keys_item.additional_properties = d
50
+ return get_app_by_version_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
@@ -9,6 +9,9 @@ from ..models.get_app_lite_by_path_response_200_policy_execution_mode import (
9
9
  from ..types import UNSET, Unset
10
10
 
11
11
  if TYPE_CHECKING:
12
+ from ..models.get_app_lite_by_path_response_200_policy_allowed_s3_keys_item import (
13
+ GetAppLiteByPathResponse200PolicyAllowedS3KeysItem,
14
+ )
12
15
  from ..models.get_app_lite_by_path_response_200_policy_s3_inputs_item import (
13
16
  GetAppLiteByPathResponse200PolicyS3InputsItem,
14
17
  )
@@ -30,6 +33,7 @@ class GetAppLiteByPathResponse200Policy:
30
33
  triggerables (Union[Unset, GetAppLiteByPathResponse200PolicyTriggerables]):
31
34
  triggerables_v2 (Union[Unset, GetAppLiteByPathResponse200PolicyTriggerablesV2]):
32
35
  s3_inputs (Union[Unset, List['GetAppLiteByPathResponse200PolicyS3InputsItem']]):
36
+ allowed_s3_keys (Union[Unset, List['GetAppLiteByPathResponse200PolicyAllowedS3KeysItem']]):
33
37
  execution_mode (Union[Unset, GetAppLiteByPathResponse200PolicyExecutionMode]):
34
38
  on_behalf_of (Union[Unset, str]):
35
39
  on_behalf_of_email (Union[Unset, str]):
@@ -38,6 +42,7 @@ class GetAppLiteByPathResponse200Policy:
38
42
  triggerables: Union[Unset, "GetAppLiteByPathResponse200PolicyTriggerables"] = UNSET
39
43
  triggerables_v2: Union[Unset, "GetAppLiteByPathResponse200PolicyTriggerablesV2"] = UNSET
40
44
  s3_inputs: Union[Unset, List["GetAppLiteByPathResponse200PolicyS3InputsItem"]] = UNSET
45
+ allowed_s3_keys: Union[Unset, List["GetAppLiteByPathResponse200PolicyAllowedS3KeysItem"]] = UNSET
41
46
  execution_mode: Union[Unset, GetAppLiteByPathResponse200PolicyExecutionMode] = 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 GetAppLiteByPathResponse200Policy:
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 GetAppLiteByPathResponse200Policy:
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 GetAppLiteByPathResponse200Policy:
87
102
 
88
103
  @classmethod
89
104
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
105
+ from ..models.get_app_lite_by_path_response_200_policy_allowed_s3_keys_item import (
106
+ GetAppLiteByPathResponse200PolicyAllowedS3KeysItem,
107
+ )
90
108
  from ..models.get_app_lite_by_path_response_200_policy_s3_inputs_item import (
91
109
  GetAppLiteByPathResponse200PolicyS3InputsItem,
92
110
  )
@@ -119,6 +137,15 @@ class GetAppLiteByPathResponse200Policy:
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 = GetAppLiteByPathResponse200PolicyAllowedS3KeysItem.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, GetAppLiteByPathResponse200PolicyExecutionMode]
124
151
  if isinstance(_execution_mode, Unset):
@@ -134,6 +161,7 @@ class GetAppLiteByPathResponse200Policy:
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="GetAppLiteByPathResponse200PolicyAllowedS3KeysItem")
9
+
10
+
11
+ @_attrs_define
12
+ class GetAppLiteByPathResponse200PolicyAllowedS3KeysItem:
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_app_lite_by_path_response_200_policy_allowed_s3_keys_item = cls(
45
+ s3_path=s3_path,
46
+ resource=resource,
47
+ )
48
+
49
+ get_app_lite_by_path_response_200_policy_allowed_s3_keys_item.additional_properties = d
50
+ return get_app_lite_by_path_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
@@ -5,6 +5,7 @@ class GetCaptureConfigsResponse200ItemTriggerKind(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 GetCaptureResponse200TriggerKind(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"
@@ -8,6 +8,7 @@ class GetGranularAclsKind(str, Enum):
8
8
  GROUP = "group_"
9
9
  HTTP_TRIGGER = "http_trigger"
10
10
  KAFKA_TRIGGER = "kafka_trigger"
11
+ MQTT_TRIGGER = "mqtt_trigger"
11
12
  NATS_TRIGGER = "nats_trigger"
12
13
  POSTGRES_TRIGGER = "postgres_trigger"
13
14
  RAW_APP = "raw_app"