windmill-api 1.543.0__py3-none-any.whl → 1.544.1__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (46) hide show
  1. windmill_api/api/job/{openai_sync_flow_by_path.py → run_dynamic_select.py} +10 -51
  2. windmill_api/api/job/run_wait_result_flow_by_path.py +9 -0
  3. windmill_api/api/job/run_wait_result_script_by_path.py +9 -0
  4. windmill_api/api/job/run_wait_result_script_by_path_get.py +9 -0
  5. windmill_api/models/ai_config.py +18 -0
  6. windmill_api/models/ai_config_max_tokens_per_model.py +44 -0
  7. windmill_api/models/create_gcp_trigger_json_body.py +9 -0
  8. windmill_api/models/dynamic_input_data.py +118 -0
  9. windmill_api/models/{openai_sync_flow_by_path_json_body.py → dynamic_input_data_args.py} +6 -6
  10. windmill_api/models/dynamic_input_data_runnable_ref_type_0.py +76 -0
  11. windmill_api/models/dynamic_input_data_runnable_ref_type_0_runnable_kind.py +9 -0
  12. windmill_api/models/dynamic_input_data_runnable_ref_type_0_source.py +8 -0
  13. windmill_api/models/dynamic_input_data_runnable_ref_type_1.py +85 -0
  14. windmill_api/models/dynamic_input_data_runnable_ref_type_1_language.py +29 -0
  15. windmill_api/models/dynamic_input_data_runnable_ref_type_1_source.py +8 -0
  16. windmill_api/models/edit_copilot_config_json_body.py +20 -0
  17. windmill_api/models/edit_copilot_config_json_body_max_tokens_per_model.py +44 -0
  18. windmill_api/models/edit_large_file_storage_config_json_body_large_file_storage.py +33 -0
  19. windmill_api/models/edit_large_file_storage_config_json_body_large_file_storage_advanced_permissions_item.py +65 -0
  20. windmill_api/models/gcp_trigger_data.py +9 -0
  21. windmill_api/models/get_copilot_info_response_200.py +20 -0
  22. windmill_api/models/get_copilot_info_response_200_max_tokens_per_model.py +44 -0
  23. windmill_api/models/get_large_file_storage_config_response_200.py +28 -0
  24. windmill_api/models/get_large_file_storage_config_response_200_advanced_permissions_item.py +65 -0
  25. windmill_api/models/get_runnable_response_200.py +0 -7
  26. windmill_api/models/get_settings_response_200_ai_config.py +22 -0
  27. windmill_api/models/get_settings_response_200_ai_config_max_tokens_per_model.py +44 -0
  28. windmill_api/models/get_settings_response_200_large_file_storage.py +28 -0
  29. windmill_api/models/get_settings_response_200_large_file_storage_advanced_permissions_item.py +65 -0
  30. windmill_api/models/large_file_storage.py +24 -0
  31. windmill_api/models/large_file_storage_advanced_permissions_item.py +65 -0
  32. windmill_api/models/run_dynamic_select_json_body.py +118 -0
  33. windmill_api/models/{openai_sync_script_by_path_json_body.py → run_dynamic_select_json_body_args.py} +6 -6
  34. windmill_api/models/run_dynamic_select_json_body_runnable_ref_type_0.py +80 -0
  35. windmill_api/models/run_dynamic_select_json_body_runnable_ref_type_0_runnable_kind.py +9 -0
  36. windmill_api/models/run_dynamic_select_json_body_runnable_ref_type_0_source.py +8 -0
  37. windmill_api/models/run_dynamic_select_json_body_runnable_ref_type_1.py +89 -0
  38. windmill_api/models/run_dynamic_select_json_body_runnable_ref_type_1_language.py +29 -0
  39. windmill_api/models/run_dynamic_select_json_body_runnable_ref_type_1_source.py +8 -0
  40. windmill_api/models/s3_permission_rule.py +65 -0
  41. windmill_api/models/update_gcp_trigger_json_body.py +9 -0
  42. {windmill_api-1.543.0.dist-info → windmill_api-1.544.1.dist-info}/METADATA +1 -1
  43. {windmill_api-1.543.0.dist-info → windmill_api-1.544.1.dist-info}/RECORD +45 -23
  44. windmill_api/api/job/openai_sync_script_by_path.py +0 -155
  45. {windmill_api-1.543.0.dist-info → windmill_api-1.544.1.dist-info}/LICENSE +0 -0
  46. {windmill_api-1.543.0.dist-info → windmill_api-1.544.1.dist-info}/WHEEL +0 -0
@@ -7,6 +7,9 @@ from ..models.get_large_file_storage_config_response_200_type import GetLargeFil
7
7
  from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
+ from ..models.get_large_file_storage_config_response_200_advanced_permissions_item import (
11
+ GetLargeFileStorageConfigResponse200AdvancedPermissionsItem,
12
+ )
10
13
  from ..models.get_large_file_storage_config_response_200_secondary_storage import (
11
14
  GetLargeFileStorageConfigResponse200SecondaryStorage,
12
15
  )
@@ -24,6 +27,7 @@ class GetLargeFileStorageConfigResponse200:
24
27
  azure_blob_resource_path (Union[Unset, str]):
25
28
  gcs_resource_path (Union[Unset, str]):
26
29
  public_resource (Union[Unset, bool]):
30
+ advanced_permissions (Union[Unset, List['GetLargeFileStorageConfigResponse200AdvancedPermissionsItem']]):
27
31
  secondary_storage (Union[Unset, GetLargeFileStorageConfigResponse200SecondaryStorage]):
28
32
  """
29
33
 
@@ -32,6 +36,7 @@ class GetLargeFileStorageConfigResponse200:
32
36
  azure_blob_resource_path: Union[Unset, str] = UNSET
33
37
  gcs_resource_path: Union[Unset, str] = UNSET
34
38
  public_resource: Union[Unset, bool] = UNSET
39
+ advanced_permissions: Union[Unset, List["GetLargeFileStorageConfigResponse200AdvancedPermissionsItem"]] = UNSET
35
40
  secondary_storage: Union[Unset, "GetLargeFileStorageConfigResponse200SecondaryStorage"] = UNSET
36
41
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
37
42
 
@@ -44,6 +49,14 @@ class GetLargeFileStorageConfigResponse200:
44
49
  azure_blob_resource_path = self.azure_blob_resource_path
45
50
  gcs_resource_path = self.gcs_resource_path
46
51
  public_resource = self.public_resource
52
+ advanced_permissions: Union[Unset, List[Dict[str, Any]]] = UNSET
53
+ if not isinstance(self.advanced_permissions, Unset):
54
+ advanced_permissions = []
55
+ for advanced_permissions_item_data in self.advanced_permissions:
56
+ advanced_permissions_item = advanced_permissions_item_data.to_dict()
57
+
58
+ advanced_permissions.append(advanced_permissions_item)
59
+
47
60
  secondary_storage: Union[Unset, Dict[str, Any]] = UNSET
48
61
  if not isinstance(self.secondary_storage, Unset):
49
62
  secondary_storage = self.secondary_storage.to_dict()
@@ -61,6 +74,8 @@ class GetLargeFileStorageConfigResponse200:
61
74
  field_dict["gcs_resource_path"] = gcs_resource_path
62
75
  if public_resource is not UNSET:
63
76
  field_dict["public_resource"] = public_resource
77
+ if advanced_permissions is not UNSET:
78
+ field_dict["advanced_permissions"] = advanced_permissions
64
79
  if secondary_storage is not UNSET:
65
80
  field_dict["secondary_storage"] = secondary_storage
66
81
 
@@ -68,6 +83,9 @@ class GetLargeFileStorageConfigResponse200:
68
83
 
69
84
  @classmethod
70
85
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
86
+ from ..models.get_large_file_storage_config_response_200_advanced_permissions_item import (
87
+ GetLargeFileStorageConfigResponse200AdvancedPermissionsItem,
88
+ )
71
89
  from ..models.get_large_file_storage_config_response_200_secondary_storage import (
72
90
  GetLargeFileStorageConfigResponse200SecondaryStorage,
73
91
  )
@@ -88,6 +106,15 @@ class GetLargeFileStorageConfigResponse200:
88
106
 
89
107
  public_resource = d.pop("public_resource", UNSET)
90
108
 
109
+ advanced_permissions = []
110
+ _advanced_permissions = d.pop("advanced_permissions", UNSET)
111
+ for advanced_permissions_item_data in _advanced_permissions or []:
112
+ advanced_permissions_item = GetLargeFileStorageConfigResponse200AdvancedPermissionsItem.from_dict(
113
+ advanced_permissions_item_data
114
+ )
115
+
116
+ advanced_permissions.append(advanced_permissions_item)
117
+
91
118
  _secondary_storage = d.pop("secondary_storage", UNSET)
92
119
  secondary_storage: Union[Unset, GetLargeFileStorageConfigResponse200SecondaryStorage]
93
120
  if isinstance(_secondary_storage, Unset):
@@ -101,6 +128,7 @@ class GetLargeFileStorageConfigResponse200:
101
128
  azure_blob_resource_path=azure_blob_resource_path,
102
129
  gcs_resource_path=gcs_resource_path,
103
130
  public_resource=public_resource,
131
+ advanced_permissions=advanced_permissions,
104
132
  secondary_storage=secondary_storage,
105
133
  )
106
134
 
@@ -0,0 +1,65 @@
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="GetLargeFileStorageConfigResponse200AdvancedPermissionsItem")
7
+
8
+
9
+ @_attrs_define
10
+ class GetLargeFileStorageConfigResponse200AdvancedPermissionsItem:
11
+ """
12
+ Attributes:
13
+ pattern (str):
14
+ allow (str):
15
+ """
16
+
17
+ pattern: str
18
+ allow: str
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ pattern = self.pattern
23
+ allow = self.allow
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "pattern": pattern,
30
+ "allow": allow,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ pattern = d.pop("pattern")
40
+
41
+ allow = d.pop("allow")
42
+
43
+ get_large_file_storage_config_response_200_advanced_permissions_item = cls(
44
+ pattern=pattern,
45
+ allow=allow,
46
+ )
47
+
48
+ get_large_file_storage_config_response_200_advanced_permissions_item.additional_properties = d
49
+ return get_large_file_storage_config_response_200_advanced_permissions_item
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -15,7 +15,6 @@ class GetRunnableResponse200:
15
15
  workspace (str):
16
16
  endpoint_async (str):
17
17
  endpoint_sync (str):
18
- endpoint_openai_sync (str):
19
18
  summary (str):
20
19
  kind (str):
21
20
  description (Union[Unset, str]):
@@ -24,7 +23,6 @@ class GetRunnableResponse200:
24
23
  workspace: str
25
24
  endpoint_async: str
26
25
  endpoint_sync: str
27
- endpoint_openai_sync: str
28
26
  summary: str
29
27
  kind: str
30
28
  description: Union[Unset, str] = UNSET
@@ -34,7 +32,6 @@ class GetRunnableResponse200:
34
32
  workspace = self.workspace
35
33
  endpoint_async = self.endpoint_async
36
34
  endpoint_sync = self.endpoint_sync
37
- endpoint_openai_sync = self.endpoint_openai_sync
38
35
  summary = self.summary
39
36
  kind = self.kind
40
37
  description = self.description
@@ -46,7 +43,6 @@ class GetRunnableResponse200:
46
43
  "workspace": workspace,
47
44
  "endpoint_async": endpoint_async,
48
45
  "endpoint_sync": endpoint_sync,
49
- "endpoint_openai_sync": endpoint_openai_sync,
50
46
  "summary": summary,
51
47
  "kind": kind,
52
48
  }
@@ -65,8 +61,6 @@ class GetRunnableResponse200:
65
61
 
66
62
  endpoint_sync = d.pop("endpoint_sync")
67
63
 
68
- endpoint_openai_sync = d.pop("endpoint_openai_sync")
69
-
70
64
  summary = d.pop("summary")
71
65
 
72
66
  kind = d.pop("kind")
@@ -77,7 +71,6 @@ class GetRunnableResponse200:
77
71
  workspace=workspace,
78
72
  endpoint_async=endpoint_async,
79
73
  endpoint_sync=endpoint_sync,
80
- endpoint_openai_sync=endpoint_openai_sync,
81
74
  summary=summary,
82
75
  kind=kind,
83
76
  description=description,
@@ -11,6 +11,9 @@ if TYPE_CHECKING:
11
11
  )
12
12
  from ..models.get_settings_response_200_ai_config_custom_prompts import GetSettingsResponse200AiConfigCustomPrompts
13
13
  from ..models.get_settings_response_200_ai_config_default_model import GetSettingsResponse200AiConfigDefaultModel
14
+ from ..models.get_settings_response_200_ai_config_max_tokens_per_model import (
15
+ GetSettingsResponse200AiConfigMaxTokensPerModel,
16
+ )
14
17
  from ..models.get_settings_response_200_ai_config_providers import GetSettingsResponse200AiConfigProviders
15
18
 
16
19
 
@@ -25,12 +28,14 @@ class GetSettingsResponse200AiConfig:
25
28
  default_model (Union[Unset, GetSettingsResponse200AiConfigDefaultModel]):
26
29
  code_completion_model (Union[Unset, GetSettingsResponse200AiConfigCodeCompletionModel]):
27
30
  custom_prompts (Union[Unset, GetSettingsResponse200AiConfigCustomPrompts]):
31
+ max_tokens_per_model (Union[Unset, GetSettingsResponse200AiConfigMaxTokensPerModel]):
28
32
  """
29
33
 
30
34
  providers: Union[Unset, "GetSettingsResponse200AiConfigProviders"] = UNSET
31
35
  default_model: Union[Unset, "GetSettingsResponse200AiConfigDefaultModel"] = UNSET
32
36
  code_completion_model: Union[Unset, "GetSettingsResponse200AiConfigCodeCompletionModel"] = UNSET
33
37
  custom_prompts: Union[Unset, "GetSettingsResponse200AiConfigCustomPrompts"] = UNSET
38
+ max_tokens_per_model: Union[Unset, "GetSettingsResponse200AiConfigMaxTokensPerModel"] = UNSET
34
39
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
35
40
 
36
41
  def to_dict(self) -> Dict[str, Any]:
@@ -50,6 +55,10 @@ class GetSettingsResponse200AiConfig:
50
55
  if not isinstance(self.custom_prompts, Unset):
51
56
  custom_prompts = self.custom_prompts.to_dict()
52
57
 
58
+ max_tokens_per_model: Union[Unset, Dict[str, Any]] = UNSET
59
+ if not isinstance(self.max_tokens_per_model, Unset):
60
+ max_tokens_per_model = self.max_tokens_per_model.to_dict()
61
+
53
62
  field_dict: Dict[str, Any] = {}
54
63
  field_dict.update(self.additional_properties)
55
64
  field_dict.update({})
@@ -61,6 +70,8 @@ class GetSettingsResponse200AiConfig:
61
70
  field_dict["code_completion_model"] = code_completion_model
62
71
  if custom_prompts is not UNSET:
63
72
  field_dict["custom_prompts"] = custom_prompts
73
+ if max_tokens_per_model is not UNSET:
74
+ field_dict["max_tokens_per_model"] = max_tokens_per_model
64
75
 
65
76
  return field_dict
66
77
 
@@ -75,6 +86,9 @@ class GetSettingsResponse200AiConfig:
75
86
  from ..models.get_settings_response_200_ai_config_default_model import (
76
87
  GetSettingsResponse200AiConfigDefaultModel,
77
88
  )
89
+ from ..models.get_settings_response_200_ai_config_max_tokens_per_model import (
90
+ GetSettingsResponse200AiConfigMaxTokensPerModel,
91
+ )
78
92
  from ..models.get_settings_response_200_ai_config_providers import GetSettingsResponse200AiConfigProviders
79
93
 
80
94
  d = src_dict.copy()
@@ -106,11 +120,19 @@ class GetSettingsResponse200AiConfig:
106
120
  else:
107
121
  custom_prompts = GetSettingsResponse200AiConfigCustomPrompts.from_dict(_custom_prompts)
108
122
 
123
+ _max_tokens_per_model = d.pop("max_tokens_per_model", UNSET)
124
+ max_tokens_per_model: Union[Unset, GetSettingsResponse200AiConfigMaxTokensPerModel]
125
+ if isinstance(_max_tokens_per_model, Unset):
126
+ max_tokens_per_model = UNSET
127
+ else:
128
+ max_tokens_per_model = GetSettingsResponse200AiConfigMaxTokensPerModel.from_dict(_max_tokens_per_model)
129
+
109
130
  get_settings_response_200_ai_config = cls(
110
131
  providers=providers,
111
132
  default_model=default_model,
112
133
  code_completion_model=code_completion_model,
113
134
  custom_prompts=custom_prompts,
135
+ max_tokens_per_model=max_tokens_per_model,
114
136
  )
115
137
 
116
138
  get_settings_response_200_ai_config.additional_properties = d
@@ -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="GetSettingsResponse200AiConfigMaxTokensPerModel")
7
+
8
+
9
+ @_attrs_define
10
+ class GetSettingsResponse200AiConfigMaxTokensPerModel:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, int] = _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
+ get_settings_response_200_ai_config_max_tokens_per_model = cls()
26
+
27
+ get_settings_response_200_ai_config_max_tokens_per_model.additional_properties = d
28
+ return get_settings_response_200_ai_config_max_tokens_per_model
29
+
30
+ @property
31
+ def additional_keys(self) -> List[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> int:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: int) -> 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
@@ -7,6 +7,9 @@ from ..models.get_settings_response_200_large_file_storage_type import GetSettin
7
7
  from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
+ from ..models.get_settings_response_200_large_file_storage_advanced_permissions_item import (
11
+ GetSettingsResponse200LargeFileStorageAdvancedPermissionsItem,
12
+ )
10
13
  from ..models.get_settings_response_200_large_file_storage_secondary_storage import (
11
14
  GetSettingsResponse200LargeFileStorageSecondaryStorage,
12
15
  )
@@ -24,6 +27,7 @@ class GetSettingsResponse200LargeFileStorage:
24
27
  azure_blob_resource_path (Union[Unset, str]):
25
28
  gcs_resource_path (Union[Unset, str]):
26
29
  public_resource (Union[Unset, bool]):
30
+ advanced_permissions (Union[Unset, List['GetSettingsResponse200LargeFileStorageAdvancedPermissionsItem']]):
27
31
  secondary_storage (Union[Unset, GetSettingsResponse200LargeFileStorageSecondaryStorage]):
28
32
  """
29
33
 
@@ -32,6 +36,7 @@ class GetSettingsResponse200LargeFileStorage:
32
36
  azure_blob_resource_path: Union[Unset, str] = UNSET
33
37
  gcs_resource_path: Union[Unset, str] = UNSET
34
38
  public_resource: Union[Unset, bool] = UNSET
39
+ advanced_permissions: Union[Unset, List["GetSettingsResponse200LargeFileStorageAdvancedPermissionsItem"]] = UNSET
35
40
  secondary_storage: Union[Unset, "GetSettingsResponse200LargeFileStorageSecondaryStorage"] = UNSET
36
41
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
37
42
 
@@ -44,6 +49,14 @@ class GetSettingsResponse200LargeFileStorage:
44
49
  azure_blob_resource_path = self.azure_blob_resource_path
45
50
  gcs_resource_path = self.gcs_resource_path
46
51
  public_resource = self.public_resource
52
+ advanced_permissions: Union[Unset, List[Dict[str, Any]]] = UNSET
53
+ if not isinstance(self.advanced_permissions, Unset):
54
+ advanced_permissions = []
55
+ for advanced_permissions_item_data in self.advanced_permissions:
56
+ advanced_permissions_item = advanced_permissions_item_data.to_dict()
57
+
58
+ advanced_permissions.append(advanced_permissions_item)
59
+
47
60
  secondary_storage: Union[Unset, Dict[str, Any]] = UNSET
48
61
  if not isinstance(self.secondary_storage, Unset):
49
62
  secondary_storage = self.secondary_storage.to_dict()
@@ -61,6 +74,8 @@ class GetSettingsResponse200LargeFileStorage:
61
74
  field_dict["gcs_resource_path"] = gcs_resource_path
62
75
  if public_resource is not UNSET:
63
76
  field_dict["public_resource"] = public_resource
77
+ if advanced_permissions is not UNSET:
78
+ field_dict["advanced_permissions"] = advanced_permissions
64
79
  if secondary_storage is not UNSET:
65
80
  field_dict["secondary_storage"] = secondary_storage
66
81
 
@@ -68,6 +83,9 @@ class GetSettingsResponse200LargeFileStorage:
68
83
 
69
84
  @classmethod
70
85
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
86
+ from ..models.get_settings_response_200_large_file_storage_advanced_permissions_item import (
87
+ GetSettingsResponse200LargeFileStorageAdvancedPermissionsItem,
88
+ )
71
89
  from ..models.get_settings_response_200_large_file_storage_secondary_storage import (
72
90
  GetSettingsResponse200LargeFileStorageSecondaryStorage,
73
91
  )
@@ -88,6 +106,15 @@ class GetSettingsResponse200LargeFileStorage:
88
106
 
89
107
  public_resource = d.pop("public_resource", UNSET)
90
108
 
109
+ advanced_permissions = []
110
+ _advanced_permissions = d.pop("advanced_permissions", UNSET)
111
+ for advanced_permissions_item_data in _advanced_permissions or []:
112
+ advanced_permissions_item = GetSettingsResponse200LargeFileStorageAdvancedPermissionsItem.from_dict(
113
+ advanced_permissions_item_data
114
+ )
115
+
116
+ advanced_permissions.append(advanced_permissions_item)
117
+
91
118
  _secondary_storage = d.pop("secondary_storage", UNSET)
92
119
  secondary_storage: Union[Unset, GetSettingsResponse200LargeFileStorageSecondaryStorage]
93
120
  if isinstance(_secondary_storage, Unset):
@@ -101,6 +128,7 @@ class GetSettingsResponse200LargeFileStorage:
101
128
  azure_blob_resource_path=azure_blob_resource_path,
102
129
  gcs_resource_path=gcs_resource_path,
103
130
  public_resource=public_resource,
131
+ advanced_permissions=advanced_permissions,
104
132
  secondary_storage=secondary_storage,
105
133
  )
106
134
 
@@ -0,0 +1,65 @@
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="GetSettingsResponse200LargeFileStorageAdvancedPermissionsItem")
7
+
8
+
9
+ @_attrs_define
10
+ class GetSettingsResponse200LargeFileStorageAdvancedPermissionsItem:
11
+ """
12
+ Attributes:
13
+ pattern (str):
14
+ allow (str):
15
+ """
16
+
17
+ pattern: str
18
+ allow: str
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ pattern = self.pattern
23
+ allow = self.allow
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "pattern": pattern,
30
+ "allow": allow,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ pattern = d.pop("pattern")
40
+
41
+ allow = d.pop("allow")
42
+
43
+ get_settings_response_200_large_file_storage_advanced_permissions_item = cls(
44
+ pattern=pattern,
45
+ allow=allow,
46
+ )
47
+
48
+ get_settings_response_200_large_file_storage_advanced_permissions_item.additional_properties = d
49
+ return get_settings_response_200_large_file_storage_advanced_permissions_item
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -7,6 +7,7 @@ from ..models.large_file_storage_type import LargeFileStorageType
7
7
  from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
+ from ..models.large_file_storage_advanced_permissions_item import LargeFileStorageAdvancedPermissionsItem
10
11
  from ..models.large_file_storage_secondary_storage import LargeFileStorageSecondaryStorage
11
12
 
12
13
 
@@ -22,6 +23,7 @@ class LargeFileStorage:
22
23
  azure_blob_resource_path (Union[Unset, str]):
23
24
  gcs_resource_path (Union[Unset, str]):
24
25
  public_resource (Union[Unset, bool]):
26
+ advanced_permissions (Union[Unset, List['LargeFileStorageAdvancedPermissionsItem']]):
25
27
  secondary_storage (Union[Unset, LargeFileStorageSecondaryStorage]):
26
28
  """
27
29
 
@@ -30,6 +32,7 @@ class LargeFileStorage:
30
32
  azure_blob_resource_path: Union[Unset, str] = UNSET
31
33
  gcs_resource_path: Union[Unset, str] = UNSET
32
34
  public_resource: Union[Unset, bool] = UNSET
35
+ advanced_permissions: Union[Unset, List["LargeFileStorageAdvancedPermissionsItem"]] = UNSET
33
36
  secondary_storage: Union[Unset, "LargeFileStorageSecondaryStorage"] = UNSET
34
37
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
35
38
 
@@ -42,6 +45,14 @@ class LargeFileStorage:
42
45
  azure_blob_resource_path = self.azure_blob_resource_path
43
46
  gcs_resource_path = self.gcs_resource_path
44
47
  public_resource = self.public_resource
48
+ advanced_permissions: Union[Unset, List[Dict[str, Any]]] = UNSET
49
+ if not isinstance(self.advanced_permissions, Unset):
50
+ advanced_permissions = []
51
+ for advanced_permissions_item_data in self.advanced_permissions:
52
+ advanced_permissions_item = advanced_permissions_item_data.to_dict()
53
+
54
+ advanced_permissions.append(advanced_permissions_item)
55
+
45
56
  secondary_storage: Union[Unset, Dict[str, Any]] = UNSET
46
57
  if not isinstance(self.secondary_storage, Unset):
47
58
  secondary_storage = self.secondary_storage.to_dict()
@@ -59,6 +70,8 @@ class LargeFileStorage:
59
70
  field_dict["gcs_resource_path"] = gcs_resource_path
60
71
  if public_resource is not UNSET:
61
72
  field_dict["public_resource"] = public_resource
73
+ if advanced_permissions is not UNSET:
74
+ field_dict["advanced_permissions"] = advanced_permissions
62
75
  if secondary_storage is not UNSET:
63
76
  field_dict["secondary_storage"] = secondary_storage
64
77
 
@@ -66,6 +79,7 @@ class LargeFileStorage:
66
79
 
67
80
  @classmethod
68
81
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
82
+ from ..models.large_file_storage_advanced_permissions_item import LargeFileStorageAdvancedPermissionsItem
69
83
  from ..models.large_file_storage_secondary_storage import LargeFileStorageSecondaryStorage
70
84
 
71
85
  d = src_dict.copy()
@@ -84,6 +98,15 @@ class LargeFileStorage:
84
98
 
85
99
  public_resource = d.pop("public_resource", UNSET)
86
100
 
101
+ advanced_permissions = []
102
+ _advanced_permissions = d.pop("advanced_permissions", UNSET)
103
+ for advanced_permissions_item_data in _advanced_permissions or []:
104
+ advanced_permissions_item = LargeFileStorageAdvancedPermissionsItem.from_dict(
105
+ advanced_permissions_item_data
106
+ )
107
+
108
+ advanced_permissions.append(advanced_permissions_item)
109
+
87
110
  _secondary_storage = d.pop("secondary_storage", UNSET)
88
111
  secondary_storage: Union[Unset, LargeFileStorageSecondaryStorage]
89
112
  if isinstance(_secondary_storage, Unset):
@@ -97,6 +120,7 @@ class LargeFileStorage:
97
120
  azure_blob_resource_path=azure_blob_resource_path,
98
121
  gcs_resource_path=gcs_resource_path,
99
122
  public_resource=public_resource,
123
+ advanced_permissions=advanced_permissions,
100
124
  secondary_storage=secondary_storage,
101
125
  )
102
126
 
@@ -0,0 +1,65 @@
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="LargeFileStorageAdvancedPermissionsItem")
7
+
8
+
9
+ @_attrs_define
10
+ class LargeFileStorageAdvancedPermissionsItem:
11
+ """
12
+ Attributes:
13
+ pattern (str):
14
+ allow (str):
15
+ """
16
+
17
+ pattern: str
18
+ allow: str
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ pattern = self.pattern
23
+ allow = self.allow
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "pattern": pattern,
30
+ "allow": allow,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ pattern = d.pop("pattern")
40
+
41
+ allow = d.pop("allow")
42
+
43
+ large_file_storage_advanced_permissions_item = cls(
44
+ pattern=pattern,
45
+ allow=allow,
46
+ )
47
+
48
+ large_file_storage_advanced_permissions_item.additional_properties = d
49
+ return large_file_storage_advanced_permissions_item
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties