beamlit 0.0.19__py3-none-any.whl → 0.0.20rc1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- beamlit/api/agents/create_agent.py +14 -9
- beamlit/api/agents/get_agent_deployment.py +22 -1
- beamlit/api/agents/update_agent.py +14 -9
- beamlit/api/functions/create_function.py +14 -9
- beamlit/api/functions/update_function.py +14 -9
- beamlit/api/{authentication_providers/list_organizations_for_authentication_provider.py → integrations/create_integration_connection.py} +45 -41
- beamlit/api/integrations/delete_integration_connection.py +158 -0
- beamlit/api/integrations/get_integration.py +97 -0
- beamlit/api/integrations/get_integration_connection.py +154 -0
- beamlit/api/integrations/get_integration_connection_model.py +97 -0
- beamlit/api/integrations/get_integration_model.py +97 -0
- beamlit/api/integrations/list_integration_connection_models.py +97 -0
- beamlit/api/{authentication_providers/list_models_for_authentication_provider.py → integrations/list_integration_connections.py} +24 -48
- beamlit/api/integrations/list_integration_models.py +97 -0
- beamlit/api/integrations/update_integration_connection.py +180 -0
- beamlit/authentication/__init__.py +2 -1
- beamlit/authentication/authentication.py +3 -0
- beamlit/authentication/clientcredentials.py +99 -0
- beamlit/authentication/credentials.py +7 -1
- beamlit/authentication/device_mode.py +0 -2
- beamlit/common/generate.py +166 -0
- beamlit/common/logger.py +30 -0
- beamlit/common/settings.py +112 -0
- beamlit/common/utils.py +13 -0
- beamlit/models/__init__.py +50 -24
- beamlit/models/agent_deployment.py +117 -49
- beamlit/models/{agent_deployment_configuration.py → agent_deployment_configuration_type_0.py} +5 -5
- beamlit/models/agent_deployment_history.py +46 -13
- beamlit/models/agent_deployment_history_event.py +78 -22
- beamlit/models/{function_deployment_pod_template.py → agent_deployment_pod_template_type_0.py} +5 -5
- beamlit/models/agent_with_deployments.py +174 -0
- beamlit/models/deployment_configurations.py +19 -6
- beamlit/models/deployment_serverless_config_type_0.py +218 -0
- beamlit/models/environment_metrics.py +19 -0
- beamlit/models/function_deployment.py +110 -42
- beamlit/models/{function_deployment_configuration.py → function_deployment_configuration_type_0.py} +5 -5
- beamlit/models/{agent_deployment_pod_template.py → function_deployment_pod_template_type_0.py} +5 -5
- beamlit/models/function_with_deployments.py +174 -0
- beamlit/models/increase_and_rate_metric.py +102 -0
- beamlit/models/integration.py +196 -0
- beamlit/models/integration_config.py +43 -0
- beamlit/models/integration_connection.py +196 -0
- beamlit/models/integration_connection_config.py +43 -0
- beamlit/models/integration_connection_secret.py +59 -0
- beamlit/models/integration_model.py +142 -0
- beamlit/models/integration_secret.py +59 -0
- beamlit/models/metrics.py +61 -20
- beamlit/models/model_deployment.py +96 -64
- beamlit/models/{model_deployment_pod_template.py → model_deployment_pod_template_type_0.py} +5 -5
- beamlit/models/policy.py +8 -34
- beamlit/models/provider_config.py +0 -9
- beamlit/models/resource_deployment_metrics.py +231 -36
- beamlit/models/resource_deployment_metrics_inference_per_region_type_0.py +75 -0
- beamlit/models/{resource_deployment_metrics_inference_per_second_per_region.py → resource_deployment_metrics_inference_per_second_per_region_type_0.py} +5 -5
- beamlit/models/resource_deployment_metrics_query_per_region_per_code_type_0.py +73 -0
- beamlit/models/{resource_deployment_metrics_query_per_second_per_region_per_code.py → resource_deployment_metrics_query_per_second_per_region_per_code_type_0.py} +5 -5
- beamlit/models/resource_metrics.py +36 -0
- beamlit/models/runtime.py +29 -12
- beamlit/models/{runtime_readiness_probe.py → runtime_readiness_probe_type_0.py} +5 -5
- beamlit/models/store_agent.py +29 -13
- beamlit/models/{store_agent_labels.py → store_agent_labels_type_0.py} +5 -5
- beamlit/models/store_configuration.py +15 -4
- beamlit/models/store_configuration_option.py +18 -5
- beamlit/models/store_function.py +29 -13
- beamlit/models/{store_function_labels.py → store_function_labels_type_0.py} +5 -5
- beamlit/run.py +49 -0
- {beamlit-0.0.19.dist-info → beamlit-0.0.20rc1.dist-info}/METADATA +5 -2
- {beamlit-0.0.19.dist-info → beamlit-0.0.20rc1.dist-info}/RECORD +70 -46
- beamlit/api/authentication_providers/get_model_with_repo_for_authentication_provider.py +0 -184
- beamlit/models/deployment_serverless_config.py +0 -129
- beamlit/models/labels.py +0 -43
- /beamlit/api/{authentication_providers → integrations}/__init__.py +0 -0
- {beamlit-0.0.19.dist-info → beamlit-0.0.20rc1.dist-info}/WHEEL +0 -0
@@ -6,10 +6,10 @@ from attrs import field as _attrs_field
|
|
6
6
|
from ..types import UNSET, Unset
|
7
7
|
|
8
8
|
if TYPE_CHECKING:
|
9
|
-
from ..models.
|
9
|
+
from ..models.deployment_serverless_config_type_0 import DeploymentServerlessConfigType0
|
10
10
|
from ..models.flavor import Flavor
|
11
|
-
from ..models.
|
12
|
-
from ..models.
|
11
|
+
from ..models.function_deployment_configuration_type_0 import FunctionDeploymentConfigurationType0
|
12
|
+
from ..models.function_deployment_pod_template_type_0 import FunctionDeploymentPodTemplateType0
|
13
13
|
from ..models.function_kit import FunctionKit
|
14
14
|
from ..models.labels_type_0 import LabelsType0
|
15
15
|
from ..models.runtime import Runtime
|
@@ -28,22 +28,24 @@ class FunctionDeployment:
|
|
28
28
|
created_by (Union[Unset, str]): The user or service account who created the resource
|
29
29
|
updated_at (Union[Unset, str]): The date and time when the resource was updated
|
30
30
|
updated_by (Union[Unset, str]): The user or service account who updated the resource
|
31
|
-
configuration (Union[
|
32
|
-
storage. In your function you can retrieve the value with config[key]
|
31
|
+
configuration (Union['FunctionDeploymentConfigurationType0', None, Unset]): Function configuration, this is a
|
32
|
+
key value storage. In your function you can retrieve the value with config[key]
|
33
33
|
description (Union[Unset, str]): Function description, very important for the agent function to work with an LLM
|
34
|
-
enabled (Union[Unset, bool]): Whether the function deployment is enabled
|
34
|
+
enabled (Union[None, Unset, bool]): Whether the function deployment is enabled
|
35
35
|
environment (Union[Unset, str]): The name of the environment
|
36
36
|
flavors (Union[Unset, List['Flavor']]): Types of hardware available for deployments
|
37
37
|
function (Union[Unset, str]): The name of the function
|
38
|
+
integration_connections (Union[Unset, List[str]]):
|
38
39
|
kit (Union[Unset, List['FunctionKit']]): The kit of the function deployment
|
39
40
|
labels (Union['LabelsType0', None, Unset]): Labels
|
40
41
|
parameters (Union[Unset, List['StoreFunctionParameter']]): Function parameters, for your function to be callable
|
41
42
|
with Agent
|
42
|
-
pod_template (Union[
|
43
|
-
template
|
43
|
+
pod_template (Union['FunctionDeploymentPodTemplateType0', None, Unset]): The pod template, should be a valid
|
44
|
+
Kubernetes pod template
|
44
45
|
policies (Union[Unset, List[str]]):
|
45
46
|
runtime (Union[Unset, Runtime]): Set of configurations for a deployment
|
46
|
-
serverless_config (Union[
|
47
|
+
serverless_config (Union['DeploymentServerlessConfigType0', None, Unset]): Configuration for a serverless
|
48
|
+
deployment
|
47
49
|
store_id (Union[Unset, str]): Create from a store registered function
|
48
50
|
workspace (Union[Unset, str]): The workspace the function deployment belongs to
|
49
51
|
"""
|
@@ -52,24 +54,28 @@ class FunctionDeployment:
|
|
52
54
|
created_by: Union[Unset, str] = UNSET
|
53
55
|
updated_at: Union[Unset, str] = UNSET
|
54
56
|
updated_by: Union[Unset, str] = UNSET
|
55
|
-
configuration: Union[
|
57
|
+
configuration: Union["FunctionDeploymentConfigurationType0", None, Unset] = UNSET
|
56
58
|
description: Union[Unset, str] = UNSET
|
57
|
-
enabled: Union[Unset, bool] = UNSET
|
59
|
+
enabled: Union[None, Unset, bool] = UNSET
|
58
60
|
environment: Union[Unset, str] = UNSET
|
59
61
|
flavors: Union[Unset, List["Flavor"]] = UNSET
|
60
62
|
function: Union[Unset, str] = UNSET
|
63
|
+
integration_connections: Union[Unset, List[str]] = UNSET
|
61
64
|
kit: Union[Unset, List["FunctionKit"]] = UNSET
|
62
65
|
labels: Union["LabelsType0", None, Unset] = UNSET
|
63
66
|
parameters: Union[Unset, List["StoreFunctionParameter"]] = UNSET
|
64
|
-
pod_template: Union[
|
67
|
+
pod_template: Union["FunctionDeploymentPodTemplateType0", None, Unset] = UNSET
|
65
68
|
policies: Union[Unset, List[str]] = UNSET
|
66
69
|
runtime: Union[Unset, "Runtime"] = UNSET
|
67
|
-
serverless_config: Union[
|
70
|
+
serverless_config: Union["DeploymentServerlessConfigType0", None, Unset] = UNSET
|
68
71
|
store_id: Union[Unset, str] = UNSET
|
69
72
|
workspace: Union[Unset, str] = UNSET
|
70
73
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
71
74
|
|
72
75
|
def to_dict(self) -> dict[str, Any]:
|
76
|
+
from ..models.deployment_serverless_config_type_0 import DeploymentServerlessConfigType0
|
77
|
+
from ..models.function_deployment_configuration_type_0 import FunctionDeploymentConfigurationType0
|
78
|
+
from ..models.function_deployment_pod_template_type_0 import FunctionDeploymentPodTemplateType0
|
73
79
|
from ..models.labels_type_0 import LabelsType0
|
74
80
|
|
75
81
|
created_at = self.created_at
|
@@ -80,13 +86,21 @@ class FunctionDeployment:
|
|
80
86
|
|
81
87
|
updated_by = self.updated_by
|
82
88
|
|
83
|
-
configuration: Union[
|
84
|
-
if
|
89
|
+
configuration: Union[Dict[str, Any], None, Unset]
|
90
|
+
if isinstance(self.configuration, Unset):
|
91
|
+
configuration = UNSET
|
92
|
+
elif isinstance(self.configuration, FunctionDeploymentConfigurationType0):
|
85
93
|
configuration = self.configuration.to_dict()
|
94
|
+
else:
|
95
|
+
configuration = self.configuration
|
86
96
|
|
87
97
|
description = self.description
|
88
98
|
|
89
|
-
enabled
|
99
|
+
enabled: Union[None, Unset, bool]
|
100
|
+
if isinstance(self.enabled, Unset):
|
101
|
+
enabled = UNSET
|
102
|
+
else:
|
103
|
+
enabled = self.enabled
|
90
104
|
|
91
105
|
environment = self.environment
|
92
106
|
|
@@ -99,6 +113,10 @@ class FunctionDeployment:
|
|
99
113
|
|
100
114
|
function = self.function
|
101
115
|
|
116
|
+
integration_connections: Union[Unset, List[str]] = UNSET
|
117
|
+
if not isinstance(self.integration_connections, Unset):
|
118
|
+
integration_connections = self.integration_connections
|
119
|
+
|
102
120
|
kit: Union[Unset, List[Dict[str, Any]]] = UNSET
|
103
121
|
if not isinstance(self.kit, Unset):
|
104
122
|
kit = []
|
@@ -121,9 +139,13 @@ class FunctionDeployment:
|
|
121
139
|
parameters_item = parameters_item_data.to_dict()
|
122
140
|
parameters.append(parameters_item)
|
123
141
|
|
124
|
-
pod_template: Union[
|
125
|
-
if
|
142
|
+
pod_template: Union[Dict[str, Any], None, Unset]
|
143
|
+
if isinstance(self.pod_template, Unset):
|
144
|
+
pod_template = UNSET
|
145
|
+
elif isinstance(self.pod_template, FunctionDeploymentPodTemplateType0):
|
126
146
|
pod_template = self.pod_template.to_dict()
|
147
|
+
else:
|
148
|
+
pod_template = self.pod_template
|
127
149
|
|
128
150
|
policies: Union[Unset, List[str]] = UNSET
|
129
151
|
if not isinstance(self.policies, Unset):
|
@@ -133,9 +155,13 @@ class FunctionDeployment:
|
|
133
155
|
if not isinstance(self.runtime, Unset):
|
134
156
|
runtime = self.runtime.to_dict()
|
135
157
|
|
136
|
-
serverless_config: Union[
|
137
|
-
if
|
158
|
+
serverless_config: Union[Dict[str, Any], None, Unset]
|
159
|
+
if isinstance(self.serverless_config, Unset):
|
160
|
+
serverless_config = UNSET
|
161
|
+
elif isinstance(self.serverless_config, DeploymentServerlessConfigType0):
|
138
162
|
serverless_config = self.serverless_config.to_dict()
|
163
|
+
else:
|
164
|
+
serverless_config = self.serverless_config
|
139
165
|
|
140
166
|
store_id = self.store_id
|
141
167
|
|
@@ -164,6 +190,8 @@ class FunctionDeployment:
|
|
164
190
|
field_dict["flavors"] = flavors
|
165
191
|
if function is not UNSET:
|
166
192
|
field_dict["function"] = function
|
193
|
+
if integration_connections is not UNSET:
|
194
|
+
field_dict["integration_connections"] = integration_connections
|
167
195
|
if kit is not UNSET:
|
168
196
|
field_dict["kit"] = kit
|
169
197
|
if labels is not UNSET:
|
@@ -187,10 +215,10 @@ class FunctionDeployment:
|
|
187
215
|
|
188
216
|
@classmethod
|
189
217
|
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
190
|
-
from ..models.
|
218
|
+
from ..models.deployment_serverless_config_type_0 import DeploymentServerlessConfigType0
|
191
219
|
from ..models.flavor import Flavor
|
192
|
-
from ..models.
|
193
|
-
from ..models.
|
220
|
+
from ..models.function_deployment_configuration_type_0 import FunctionDeploymentConfigurationType0
|
221
|
+
from ..models.function_deployment_pod_template_type_0 import FunctionDeploymentPodTemplateType0
|
194
222
|
from ..models.function_kit import FunctionKit
|
195
223
|
from ..models.labels_type_0 import LabelsType0
|
196
224
|
from ..models.runtime import Runtime
|
@@ -205,16 +233,33 @@ class FunctionDeployment:
|
|
205
233
|
|
206
234
|
updated_by = d.pop("updated_by", UNSET)
|
207
235
|
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
236
|
+
def _parse_configuration(data: object) -> Union["FunctionDeploymentConfigurationType0", None, Unset]:
|
237
|
+
if data is None:
|
238
|
+
return data
|
239
|
+
if isinstance(data, Unset):
|
240
|
+
return data
|
241
|
+
try:
|
242
|
+
if not isinstance(data, dict):
|
243
|
+
raise TypeError()
|
244
|
+
configuration_type_0 = FunctionDeploymentConfigurationType0.from_dict(data)
|
245
|
+
|
246
|
+
return configuration_type_0
|
247
|
+
except: # noqa: E722
|
248
|
+
pass
|
249
|
+
return cast(Union["FunctionDeploymentConfigurationType0", None, Unset], data)
|
250
|
+
|
251
|
+
configuration = _parse_configuration(d.pop("configuration", UNSET))
|
214
252
|
|
215
253
|
description = d.pop("description", UNSET)
|
216
254
|
|
217
|
-
|
255
|
+
def _parse_enabled(data: object) -> Union[None, Unset, bool]:
|
256
|
+
if data is None:
|
257
|
+
return data
|
258
|
+
if isinstance(data, Unset):
|
259
|
+
return data
|
260
|
+
return cast(Union[None, Unset, bool], data)
|
261
|
+
|
262
|
+
enabled = _parse_enabled(d.pop("enabled", UNSET))
|
218
263
|
|
219
264
|
environment = d.pop("environment", UNSET)
|
220
265
|
|
@@ -227,6 +272,8 @@ class FunctionDeployment:
|
|
227
272
|
|
228
273
|
function = d.pop("function", UNSET)
|
229
274
|
|
275
|
+
integration_connections = cast(List[str], d.pop("integration_connections", UNSET))
|
276
|
+
|
230
277
|
kit = []
|
231
278
|
_kit = d.pop("kit", UNSET)
|
232
279
|
for kit_item_data in _kit or []:
|
@@ -258,12 +305,22 @@ class FunctionDeployment:
|
|
258
305
|
|
259
306
|
parameters.append(parameters_item)
|
260
307
|
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
308
|
+
def _parse_pod_template(data: object) -> Union["FunctionDeploymentPodTemplateType0", None, Unset]:
|
309
|
+
if data is None:
|
310
|
+
return data
|
311
|
+
if isinstance(data, Unset):
|
312
|
+
return data
|
313
|
+
try:
|
314
|
+
if not isinstance(data, dict):
|
315
|
+
raise TypeError()
|
316
|
+
pod_template_type_0 = FunctionDeploymentPodTemplateType0.from_dict(data)
|
317
|
+
|
318
|
+
return pod_template_type_0
|
319
|
+
except: # noqa: E722
|
320
|
+
pass
|
321
|
+
return cast(Union["FunctionDeploymentPodTemplateType0", None, Unset], data)
|
322
|
+
|
323
|
+
pod_template = _parse_pod_template(d.pop("pod_template", UNSET))
|
267
324
|
|
268
325
|
policies = cast(List[str], d.pop("policies", UNSET))
|
269
326
|
|
@@ -274,12 +331,22 @@ class FunctionDeployment:
|
|
274
331
|
else:
|
275
332
|
runtime = Runtime.from_dict(_runtime)
|
276
333
|
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
334
|
+
def _parse_serverless_config(data: object) -> Union["DeploymentServerlessConfigType0", None, Unset]:
|
335
|
+
if data is None:
|
336
|
+
return data
|
337
|
+
if isinstance(data, Unset):
|
338
|
+
return data
|
339
|
+
try:
|
340
|
+
if not isinstance(data, dict):
|
341
|
+
raise TypeError()
|
342
|
+
componentsschemas_deployment_serverless_config_type_0 = DeploymentServerlessConfigType0.from_dict(data)
|
343
|
+
|
344
|
+
return componentsschemas_deployment_serverless_config_type_0
|
345
|
+
except: # noqa: E722
|
346
|
+
pass
|
347
|
+
return cast(Union["DeploymentServerlessConfigType0", None, Unset], data)
|
348
|
+
|
349
|
+
serverless_config = _parse_serverless_config(d.pop("serverless_config", UNSET))
|
283
350
|
|
284
351
|
store_id = d.pop("store_id", UNSET)
|
285
352
|
|
@@ -296,6 +363,7 @@ class FunctionDeployment:
|
|
296
363
|
environment=environment,
|
297
364
|
flavors=flavors,
|
298
365
|
function=function,
|
366
|
+
integration_connections=integration_connections,
|
299
367
|
kit=kit,
|
300
368
|
labels=labels,
|
301
369
|
parameters=parameters,
|
beamlit/models/{function_deployment_configuration.py → function_deployment_configuration_type_0.py}
RENAMED
@@ -3,11 +3,11 @@ from typing import Any, Type, TypeVar
|
|
3
3
|
from attrs import define as _attrs_define
|
4
4
|
from attrs import field as _attrs_field
|
5
5
|
|
6
|
-
T = TypeVar("T", bound="
|
6
|
+
T = TypeVar("T", bound="FunctionDeploymentConfigurationType0")
|
7
7
|
|
8
8
|
|
9
9
|
@_attrs_define
|
10
|
-
class
|
10
|
+
class FunctionDeploymentConfigurationType0:
|
11
11
|
"""Function configuration, this is a key value storage. In your function you can retrieve the value with config[key]"""
|
12
12
|
|
13
13
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
@@ -21,10 +21,10 @@ class FunctionDeploymentConfiguration:
|
|
21
21
|
@classmethod
|
22
22
|
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
23
23
|
d = src_dict.copy()
|
24
|
-
|
24
|
+
function_deployment_configuration_type_0 = cls()
|
25
25
|
|
26
|
-
|
27
|
-
return
|
26
|
+
function_deployment_configuration_type_0.additional_properties = d
|
27
|
+
return function_deployment_configuration_type_0
|
28
28
|
|
29
29
|
@property
|
30
30
|
def additional_keys(self) -> list[str]:
|
beamlit/models/{agent_deployment_pod_template.py → function_deployment_pod_template_type_0.py}
RENAMED
@@ -3,11 +3,11 @@ from typing import Any, Type, TypeVar
|
|
3
3
|
from attrs import define as _attrs_define
|
4
4
|
from attrs import field as _attrs_field
|
5
5
|
|
6
|
-
T = TypeVar("T", bound="
|
6
|
+
T = TypeVar("T", bound="FunctionDeploymentPodTemplateType0")
|
7
7
|
|
8
8
|
|
9
9
|
@_attrs_define
|
10
|
-
class
|
10
|
+
class FunctionDeploymentPodTemplateType0:
|
11
11
|
"""The pod template, should be a valid Kubernetes pod template"""
|
12
12
|
|
13
13
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
@@ -21,10 +21,10 @@ class AgentDeploymentPodTemplate:
|
|
21
21
|
@classmethod
|
22
22
|
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
23
23
|
d = src_dict.copy()
|
24
|
-
|
24
|
+
function_deployment_pod_template_type_0 = cls()
|
25
25
|
|
26
|
-
|
27
|
-
return
|
26
|
+
function_deployment_pod_template_type_0.additional_properties = d
|
27
|
+
return function_deployment_pod_template_type_0
|
28
28
|
|
29
29
|
@property
|
30
30
|
def additional_keys(self) -> list[str]:
|
@@ -0,0 +1,174 @@
|
|
1
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
|
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
|
+
if TYPE_CHECKING:
|
9
|
+
from ..models.function_deployment import FunctionDeployment
|
10
|
+
from ..models.labels_type_0 import LabelsType0
|
11
|
+
|
12
|
+
|
13
|
+
T = TypeVar("T", bound="FunctionWithDeployments")
|
14
|
+
|
15
|
+
|
16
|
+
@_attrs_define
|
17
|
+
class FunctionWithDeployments:
|
18
|
+
"""Logical object representing a function but with deployment definition inside
|
19
|
+
|
20
|
+
Attributes:
|
21
|
+
created_at (Union[Unset, str]): The date and time when the resource was created
|
22
|
+
created_by (Union[Unset, str]): The user or service account who created the resource
|
23
|
+
updated_at (Union[Unset, str]): The date and time when the resource was updated
|
24
|
+
updated_by (Union[Unset, str]): The user or service account who updated the resource
|
25
|
+
display_name (Union[Unset, str]): Function display name
|
26
|
+
labels (Union['LabelsType0', None, Unset]): Labels
|
27
|
+
name (Union[Unset, str]): Function name
|
28
|
+
workspace (Union[Unset, str]): Workspace name
|
29
|
+
deployments (Union[Unset, List['FunctionDeployment']]):
|
30
|
+
"""
|
31
|
+
|
32
|
+
created_at: Union[Unset, str] = UNSET
|
33
|
+
created_by: Union[Unset, str] = UNSET
|
34
|
+
updated_at: Union[Unset, str] = UNSET
|
35
|
+
updated_by: Union[Unset, str] = UNSET
|
36
|
+
display_name: Union[Unset, str] = UNSET
|
37
|
+
labels: Union["LabelsType0", None, Unset] = UNSET
|
38
|
+
name: Union[Unset, str] = UNSET
|
39
|
+
workspace: Union[Unset, str] = UNSET
|
40
|
+
deployments: Union[Unset, List["FunctionDeployment"]] = UNSET
|
41
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
42
|
+
|
43
|
+
def to_dict(self) -> dict[str, Any]:
|
44
|
+
from ..models.labels_type_0 import LabelsType0
|
45
|
+
|
46
|
+
created_at = self.created_at
|
47
|
+
|
48
|
+
created_by = self.created_by
|
49
|
+
|
50
|
+
updated_at = self.updated_at
|
51
|
+
|
52
|
+
updated_by = self.updated_by
|
53
|
+
|
54
|
+
display_name = self.display_name
|
55
|
+
|
56
|
+
labels: Union[Dict[str, Any], None, Unset]
|
57
|
+
if isinstance(self.labels, Unset):
|
58
|
+
labels = UNSET
|
59
|
+
elif isinstance(self.labels, LabelsType0):
|
60
|
+
labels = self.labels.to_dict()
|
61
|
+
else:
|
62
|
+
labels = self.labels
|
63
|
+
|
64
|
+
name = self.name
|
65
|
+
|
66
|
+
workspace = self.workspace
|
67
|
+
|
68
|
+
deployments: Union[Unset, List[Dict[str, Any]]] = UNSET
|
69
|
+
if not isinstance(self.deployments, Unset):
|
70
|
+
deployments = []
|
71
|
+
for componentsschemas_function_deployments_item_data in self.deployments:
|
72
|
+
componentsschemas_function_deployments_item = componentsschemas_function_deployments_item_data.to_dict()
|
73
|
+
deployments.append(componentsschemas_function_deployments_item)
|
74
|
+
|
75
|
+
field_dict: dict[str, Any] = {}
|
76
|
+
field_dict.update(self.additional_properties)
|
77
|
+
field_dict.update({})
|
78
|
+
if created_at is not UNSET:
|
79
|
+
field_dict["created_at"] = created_at
|
80
|
+
if created_by is not UNSET:
|
81
|
+
field_dict["created_by"] = created_by
|
82
|
+
if updated_at is not UNSET:
|
83
|
+
field_dict["updated_at"] = updated_at
|
84
|
+
if updated_by is not UNSET:
|
85
|
+
field_dict["updated_by"] = updated_by
|
86
|
+
if display_name is not UNSET:
|
87
|
+
field_dict["display_name"] = display_name
|
88
|
+
if labels is not UNSET:
|
89
|
+
field_dict["labels"] = labels
|
90
|
+
if name is not UNSET:
|
91
|
+
field_dict["name"] = name
|
92
|
+
if workspace is not UNSET:
|
93
|
+
field_dict["workspace"] = workspace
|
94
|
+
if deployments is not UNSET:
|
95
|
+
field_dict["deployments"] = deployments
|
96
|
+
|
97
|
+
return field_dict
|
98
|
+
|
99
|
+
@classmethod
|
100
|
+
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
101
|
+
from ..models.function_deployment import FunctionDeployment
|
102
|
+
from ..models.labels_type_0 import LabelsType0
|
103
|
+
|
104
|
+
d = src_dict.copy()
|
105
|
+
created_at = d.pop("created_at", UNSET)
|
106
|
+
|
107
|
+
created_by = d.pop("created_by", UNSET)
|
108
|
+
|
109
|
+
updated_at = d.pop("updated_at", UNSET)
|
110
|
+
|
111
|
+
updated_by = d.pop("updated_by", UNSET)
|
112
|
+
|
113
|
+
display_name = d.pop("display_name", UNSET)
|
114
|
+
|
115
|
+
def _parse_labels(data: object) -> Union["LabelsType0", None, Unset]:
|
116
|
+
if data is None:
|
117
|
+
return data
|
118
|
+
if isinstance(data, Unset):
|
119
|
+
return data
|
120
|
+
try:
|
121
|
+
if not isinstance(data, dict):
|
122
|
+
raise TypeError()
|
123
|
+
componentsschemas_labels_type_0 = LabelsType0.from_dict(data)
|
124
|
+
|
125
|
+
return componentsschemas_labels_type_0
|
126
|
+
except: # noqa: E722
|
127
|
+
pass
|
128
|
+
return cast(Union["LabelsType0", None, Unset], data)
|
129
|
+
|
130
|
+
labels = _parse_labels(d.pop("labels", UNSET))
|
131
|
+
|
132
|
+
name = d.pop("name", UNSET)
|
133
|
+
|
134
|
+
workspace = d.pop("workspace", UNSET)
|
135
|
+
|
136
|
+
deployments = []
|
137
|
+
_deployments = d.pop("deployments", UNSET)
|
138
|
+
for componentsschemas_function_deployments_item_data in _deployments or []:
|
139
|
+
componentsschemas_function_deployments_item = FunctionDeployment.from_dict(
|
140
|
+
componentsschemas_function_deployments_item_data
|
141
|
+
)
|
142
|
+
|
143
|
+
deployments.append(componentsschemas_function_deployments_item)
|
144
|
+
|
145
|
+
function_with_deployments = cls(
|
146
|
+
created_at=created_at,
|
147
|
+
created_by=created_by,
|
148
|
+
updated_at=updated_at,
|
149
|
+
updated_by=updated_by,
|
150
|
+
display_name=display_name,
|
151
|
+
labels=labels,
|
152
|
+
name=name,
|
153
|
+
workspace=workspace,
|
154
|
+
deployments=deployments,
|
155
|
+
)
|
156
|
+
|
157
|
+
function_with_deployments.additional_properties = d
|
158
|
+
return function_with_deployments
|
159
|
+
|
160
|
+
@property
|
161
|
+
def additional_keys(self) -> list[str]:
|
162
|
+
return list(self.additional_properties.keys())
|
163
|
+
|
164
|
+
def __getitem__(self, key: str) -> Any:
|
165
|
+
return self.additional_properties[key]
|
166
|
+
|
167
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
168
|
+
self.additional_properties[key] = value
|
169
|
+
|
170
|
+
def __delitem__(self, key: str) -> None:
|
171
|
+
del self.additional_properties[key]
|
172
|
+
|
173
|
+
def __contains__(self, key: str) -> bool:
|
174
|
+
return key in self.additional_properties
|
@@ -0,0 +1,102 @@
|
|
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 ..types import UNSET, Unset
|
7
|
+
|
8
|
+
if TYPE_CHECKING:
|
9
|
+
from ..models.metric import Metric
|
10
|
+
|
11
|
+
|
12
|
+
T = TypeVar("T", bound="IncreaseAndRateMetric")
|
13
|
+
|
14
|
+
|
15
|
+
@_attrs_define
|
16
|
+
class IncreaseAndRateMetric:
|
17
|
+
"""Metrics for resources
|
18
|
+
|
19
|
+
Attributes:
|
20
|
+
inference_global (Union[Unset, Any]): Historical requests for all resources globally
|
21
|
+
inference_per_second_global (Union[Unset, List['Metric']]): Array of metrics
|
22
|
+
query (Union[Unset, Any]): Number of requests for all resources globally
|
23
|
+
query_per_second (Union[Unset, float]): RPS value (in last 24 hours) per location, for all resources globally
|
24
|
+
"""
|
25
|
+
|
26
|
+
inference_global: Union[Unset, Any] = UNSET
|
27
|
+
inference_per_second_global: Union[Unset, List["Metric"]] = UNSET
|
28
|
+
query: Union[Unset, Any] = UNSET
|
29
|
+
query_per_second: Union[Unset, float] = UNSET
|
30
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
31
|
+
|
32
|
+
def to_dict(self) -> dict[str, Any]:
|
33
|
+
inference_global = self.inference_global
|
34
|
+
|
35
|
+
inference_per_second_global: Union[Unset, List[Dict[str, Any]]] = UNSET
|
36
|
+
if not isinstance(self.inference_per_second_global, Unset):
|
37
|
+
inference_per_second_global = []
|
38
|
+
for componentsschemas_array_metric_item_data in self.inference_per_second_global:
|
39
|
+
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
|
40
|
+
inference_per_second_global.append(componentsschemas_array_metric_item)
|
41
|
+
|
42
|
+
query = self.query
|
43
|
+
|
44
|
+
query_per_second = self.query_per_second
|
45
|
+
|
46
|
+
field_dict: dict[str, Any] = {}
|
47
|
+
field_dict.update(self.additional_properties)
|
48
|
+
field_dict.update({})
|
49
|
+
if inference_global is not UNSET:
|
50
|
+
field_dict["inference_global"] = inference_global
|
51
|
+
if inference_per_second_global is not UNSET:
|
52
|
+
field_dict["inference_per_second_global"] = inference_per_second_global
|
53
|
+
if query is not UNSET:
|
54
|
+
field_dict["query"] = query
|
55
|
+
if query_per_second is not UNSET:
|
56
|
+
field_dict["query_per_second"] = query_per_second
|
57
|
+
|
58
|
+
return field_dict
|
59
|
+
|
60
|
+
@classmethod
|
61
|
+
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
62
|
+
from ..models.metric import Metric
|
63
|
+
|
64
|
+
d = src_dict.copy()
|
65
|
+
inference_global = d.pop("inference_global", UNSET)
|
66
|
+
|
67
|
+
inference_per_second_global = []
|
68
|
+
_inference_per_second_global = d.pop("inference_per_second_global", UNSET)
|
69
|
+
for componentsschemas_array_metric_item_data in _inference_per_second_global or []:
|
70
|
+
componentsschemas_array_metric_item = Metric.from_dict(componentsschemas_array_metric_item_data)
|
71
|
+
|
72
|
+
inference_per_second_global.append(componentsschemas_array_metric_item)
|
73
|
+
|
74
|
+
query = d.pop("query", UNSET)
|
75
|
+
|
76
|
+
query_per_second = d.pop("query_per_second", UNSET)
|
77
|
+
|
78
|
+
increase_and_rate_metric = cls(
|
79
|
+
inference_global=inference_global,
|
80
|
+
inference_per_second_global=inference_per_second_global,
|
81
|
+
query=query,
|
82
|
+
query_per_second=query_per_second,
|
83
|
+
)
|
84
|
+
|
85
|
+
increase_and_rate_metric.additional_properties = d
|
86
|
+
return increase_and_rate_metric
|
87
|
+
|
88
|
+
@property
|
89
|
+
def additional_keys(self) -> list[str]:
|
90
|
+
return list(self.additional_properties.keys())
|
91
|
+
|
92
|
+
def __getitem__(self, key: str) -> Any:
|
93
|
+
return self.additional_properties[key]
|
94
|
+
|
95
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
96
|
+
self.additional_properties[key] = value
|
97
|
+
|
98
|
+
def __delitem__(self, key: str) -> None:
|
99
|
+
del self.additional_properties[key]
|
100
|
+
|
101
|
+
def __contains__(self, key: str) -> bool:
|
102
|
+
return key in self.additional_properties
|