beamlit 0.0.24rc20__py3-none-any.whl → 0.0.25__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. beamlit/agents/chat.py +37 -11
  2. beamlit/agents/decorator.py +97 -65
  3. beamlit/api/agents/create_agent.py +9 -14
  4. beamlit/api/agents/delete_agent.py +22 -1
  5. beamlit/api/agents/delete_agent_history.py +2 -6
  6. beamlit/api/agents/get_agent.py +22 -1
  7. beamlit/api/agents/get_agent_environment_logs.py +11 -11
  8. beamlit/api/agents/get_agent_history.py +2 -6
  9. beamlit/api/agents/get_agent_metrics.py +22 -1
  10. beamlit/api/agents/list_agent_history.py +11 -11
  11. beamlit/api/agents/list_agents.py +36 -4
  12. beamlit/api/agents/put_agent_history.py +2 -6
  13. beamlit/api/agents/update_agent.py +9 -14
  14. beamlit/api/functions/create_function.py +9 -14
  15. beamlit/api/functions/delete_function.py +22 -1
  16. beamlit/api/functions/get_function.py +22 -1
  17. beamlit/api/functions/get_function_environment_logs.py +11 -11
  18. beamlit/api/functions/get_function_metrics.py +22 -1
  19. beamlit/api/functions/list_functions.py +36 -4
  20. beamlit/api/functions/update_function.py +9 -14
  21. beamlit/api/history/get_agents_history.py +12 -12
  22. beamlit/api/history/list_agents_history.py +12 -12
  23. beamlit/api/integrations/get_integration_connection.py +16 -12
  24. beamlit/api/integrations/get_integration_connection_model.py +8 -1
  25. beamlit/api/integrations/get_integration_model.py +8 -1
  26. beamlit/api/locations/list_locations.py +12 -12
  27. beamlit/api/models/create_model.py +13 -14
  28. beamlit/api/models/delete_model.py +22 -1
  29. beamlit/api/models/get_model.py +22 -1
  30. beamlit/api/models/get_model_environment_logs.py +11 -11
  31. beamlit/api/models/get_model_metrics.py +38 -13
  32. beamlit/api/models/list_models.py +36 -4
  33. beamlit/api/models/update_model.py +13 -14
  34. beamlit/api/privateclusters/__init__.py +0 -0
  35. beamlit/api/{agents/get_agent_deployment_metrics.py → privateclusters/create_private_cluster.py} +28 -55
  36. beamlit/api/{functions/list_function_deployments.py → privateclusters/delete_private_cluster.py} +38 -37
  37. beamlit/api/{agents/get_agent_deployment.py → privateclusters/get_private_cluster.py} +40 -44
  38. beamlit/api/privateclusters/get_private_cluster_health.py +97 -0
  39. beamlit/api/{agents/list_agent_deployments.py → privateclusters/list_private_clusters.py} +30 -45
  40. beamlit/api/{models/list_model_deployments.py → privateclusters/update_private_cluster.py} +38 -45
  41. beamlit/api/privateclusters/update_private_cluster_health.py +97 -0
  42. beamlit/authentication/device_mode.py +3 -9
  43. beamlit/common/generate.py +47 -34
  44. beamlit/common/settings.py +29 -27
  45. beamlit/deploy/deploy.py +101 -342
  46. beamlit/deploy/format.py +70 -0
  47. beamlit/deploy/parser.py +175 -0
  48. beamlit/functions/decorator.py +8 -11
  49. beamlit/models/__init__.py +64 -78
  50. beamlit/models/acl.py +4 -22
  51. beamlit/models/agent.py +34 -95
  52. beamlit/models/agent_history.py +7 -5
  53. beamlit/models/agent_history_event.py +11 -9
  54. beamlit/models/agent_metadata.py +5 -3
  55. beamlit/models/agent_spec.py +54 -45
  56. beamlit/models/api_key.py +14 -14
  57. beamlit/models/configuration.py +11 -0
  58. beamlit/models/core_spec.py +45 -32
  59. beamlit/models/{model_deployment_metrics_query_per_second_per_region_per_code.py → core_spec_configurations.py} +22 -22
  60. beamlit/models/environment.py +33 -105
  61. beamlit/models/environment_metadata.py +146 -0
  62. beamlit/models/environment_spec.py +8 -6
  63. beamlit/models/function.py +34 -95
  64. beamlit/models/function_metadata.py +5 -3
  65. beamlit/models/function_spec.py +53 -40
  66. beamlit/models/integration_connection.py +31 -137
  67. beamlit/models/integration_connection_spec.py +6 -4
  68. beamlit/models/metadata.py +5 -3
  69. beamlit/models/metadata_labels.py +4 -2
  70. beamlit/models/model.py +33 -94
  71. beamlit/models/model_metadata.py +5 -3
  72. beamlit/models/{function_provider_ref.py → model_private_cluster.py} +23 -14
  73. beamlit/models/model_provider.py +27 -43
  74. beamlit/models/model_spec.py +45 -32
  75. beamlit/models/owner_fields.py +4 -2
  76. beamlit/models/pending_invitation.py +14 -14
  77. beamlit/models/pod_template_spec.py +4 -2
  78. beamlit/models/policy.py +33 -159
  79. beamlit/models/policy_spec.py +24 -28
  80. beamlit/models/private_cluster.py +183 -0
  81. beamlit/models/{model_provider_ref.py → private_location.py} +7 -16
  82. beamlit/models/resource_deployment_metrics.py +0 -108
  83. beamlit/models/resource_environment_metrics.py +143 -71
  84. beamlit/models/{resource_deployment_metrics_inference_per_region.py → resource_environment_metrics_inference_per_region.py} +5 -5
  85. beamlit/models/resource_environment_metrics_inference_per_second_per_region.py +9 -11
  86. beamlit/models/{resource_deployment_metrics_query_per_region_per_code.py → resource_environment_metrics_query_per_region_per_code.py} +5 -5
  87. beamlit/models/resource_environment_metrics_query_per_second_per_region_per_code.py +5 -3
  88. beamlit/models/resource_log.py +4 -2
  89. beamlit/models/runtime.py +20 -2
  90. beamlit/models/serverless_config.py +28 -21
  91. beamlit/models/spec_configuration.py +7 -5
  92. beamlit/models/store_agent.py +14 -14
  93. beamlit/models/store_function.py +14 -14
  94. beamlit/models/time_fields.py +4 -2
  95. beamlit/models/websocket_channel.py +4 -2
  96. beamlit/models/workspace.py +23 -14
  97. beamlit/run.py +0 -1
  98. beamlit/serve/app.py +1 -0
  99. beamlit/serve/middlewares/accesslog.py +3 -1
  100. {beamlit-0.0.24rc20.dist-info → beamlit-0.0.25.dist-info}/METADATA +1 -1
  101. beamlit-0.0.25.dist-info/RECORD +243 -0
  102. beamlit/api/agents/delete_agent_deployment.py +0 -163
  103. beamlit/api/agents/delete_agent_deployment_history.py +0 -172
  104. beamlit/api/agents/get_agent_deployment_history.py +0 -172
  105. beamlit/api/agents/get_agent_deployment_logs.py +0 -164
  106. beamlit/api/agents/list_agent_deployment_history.py +0 -164
  107. beamlit/api/agents/put_agent_deployment.py +0 -185
  108. beamlit/api/agents/put_agent_deployment_history.py +0 -198
  109. beamlit/api/functions/delete_function_deployment.py +0 -163
  110. beamlit/api/functions/get_function_deployment.py +0 -163
  111. beamlit/api/functions/get_function_deployment_logs.py +0 -164
  112. beamlit/api/functions/get_function_deployment_metrics.py +0 -159
  113. beamlit/api/functions/put_function_deployment.py +0 -185
  114. beamlit/api/models/delete_model_deployment.py +0 -171
  115. beamlit/api/models/get_model_deployment.py +0 -171
  116. beamlit/api/models/get_model_deployment_logs.py +0 -168
  117. beamlit/api/models/get_model_deployment_metrics.py +0 -163
  118. beamlit/api/models/put_model_deployment.py +0 -193
  119. beamlit/models/agent_configuration.py +0 -70
  120. beamlit/models/agent_deployment.py +0 -340
  121. beamlit/models/agent_deployment_configuration.py +0 -45
  122. beamlit/models/agent_deployment_configuration_type_0.py +0 -43
  123. beamlit/models/agent_deployment_history.py +0 -185
  124. beamlit/models/agent_deployment_history_event.py +0 -133
  125. beamlit/models/agent_deployment_pod_template.py +0 -45
  126. beamlit/models/agent_deployment_pod_template_type_0.py +0 -43
  127. beamlit/models/agent_with_deployments.py +0 -176
  128. beamlit/models/authentication_provider_model.py +0 -144
  129. beamlit/models/authentication_provider_organization.py +0 -88
  130. beamlit/models/deployment_configuration.py +0 -70
  131. beamlit/models/deployment_configurations.py +0 -58
  132. beamlit/models/deployment_serverless_config.py +0 -131
  133. beamlit/models/deployment_serverless_config_type_0.py +0 -220
  134. beamlit/models/function_configuration.py +0 -70
  135. beamlit/models/function_deployment.py +0 -340
  136. beamlit/models/function_deployment_configuration.py +0 -45
  137. beamlit/models/function_deployment_configuration_type_0.py +0 -43
  138. beamlit/models/function_deployment_pod_template.py +0 -45
  139. beamlit/models/function_deployment_pod_template_type_0.py +0 -43
  140. beamlit/models/function_with_deployments.py +0 -176
  141. beamlit/models/integration.py +0 -198
  142. beamlit/models/integration_config.py +0 -45
  143. beamlit/models/integration_secret.py +0 -61
  144. beamlit/models/labels_type_0.py +0 -45
  145. beamlit/models/location.py +0 -122
  146. beamlit/models/model_deployment.py +0 -296
  147. beamlit/models/model_deployment_log.py +0 -70
  148. beamlit/models/model_deployment_metrics.py +0 -172
  149. beamlit/models/model_deployment_metrics_inference_per_second_per_region.py +0 -77
  150. beamlit/models/model_deployment_pod_template.py +0 -45
  151. beamlit/models/model_deployment_pod_template_type_0.py +0 -43
  152. beamlit/models/model_metrics.py +0 -96
  153. beamlit/models/model_with_deployments.py +0 -176
  154. beamlit/models/resource_deployment_log.py +0 -70
  155. beamlit/models/resource_deployment_metrics_inference_per_region_type_0.py +0 -79
  156. beamlit/models/resource_deployment_metrics_inference_per_second_per_region_type_0.py +0 -79
  157. beamlit/models/resource_deployment_metrics_query_per_region_per_code_type_0.py +0 -73
  158. beamlit/models/resource_deployment_metrics_query_per_second_per_region_per_code_type_0.py +0 -73
  159. beamlit/models/runtime_readiness_probe_type_0.py +0 -43
  160. beamlit/models/runtime_type_0.py +0 -111
  161. beamlit/models/runtime_type_0_readiness_probe.py +0 -43
  162. beamlit/models/runtime_type_0_readiness_probe_type_0.py +0 -43
  163. beamlit/models/runtime_type_0_resources.py +0 -59
  164. beamlit/models/standard_fields_dynamo_db.py +0 -88
  165. beamlit/models/store_agent_configuration.py +0 -97
  166. beamlit/models/store_agent_labels_type_0.py +0 -43
  167. beamlit/models/store_function_configuration.py +0 -97
  168. beamlit/models/store_function_labels_type_0.py +0 -43
  169. beamlit-0.0.24rc20.dist-info/RECORD +0 -303
  170. {beamlit-0.0.24rc20.dist-info → beamlit-0.0.25.dist-info}/WHEEL +0 -0
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
1
+ from typing import TYPE_CHECKING, Any, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -6,7 +6,8 @@ from attrs import field as _attrs_field
6
6
  from ..types import UNSET, Unset
7
7
 
8
8
  if TYPE_CHECKING:
9
- from ..models.labels_type_0 import LabelsType0
9
+ from ..models.environment_metadata import EnvironmentMetadata
10
+ from ..models.function_spec import FunctionSpec
10
11
 
11
12
 
12
13
  T = TypeVar("T", bound="Function")
@@ -14,123 +15,61 @@ T = TypeVar("T", bound="Function")
14
15
 
15
16
  @_attrs_define
16
17
  class Function:
17
- """Function parent of FunctionDeployment
18
+ """Function
18
19
 
19
20
  Attributes:
20
- created_at (Union[Unset, str]): The date and time when the resource was created
21
- created_by (Union[Unset, str]): The user or service account who created the resource
22
- updated_at (Union[Unset, str]): The date and time when the resource was updated
23
- updated_by (Union[Unset, str]): The user or service account who updated the resource
24
- display_name (Union[Unset, str]): Function display name
25
- labels (Union['LabelsType0', None, Unset]): Labels
26
- name (Union[Unset, str]): Function name
27
- workspace (Union[Unset, str]): Workspace name
21
+ metadata (Union[Unset, EnvironmentMetadata]): Environment metadata
22
+ spec (Union[Unset, FunctionSpec]): Function specification
28
23
  """
29
24
 
30
- created_at: Union[Unset, str] = UNSET
31
- created_by: Union[Unset, str] = UNSET
32
- updated_at: Union[Unset, str] = UNSET
33
- updated_by: Union[Unset, str] = UNSET
34
- display_name: Union[Unset, str] = UNSET
35
- labels: Union["LabelsType0", None, Unset] = UNSET
36
- name: Union[Unset, str] = UNSET
37
- workspace: Union[Unset, str] = UNSET
25
+ metadata: Union[Unset, "EnvironmentMetadata"] = UNSET
26
+ spec: Union[Unset, "FunctionSpec"] = UNSET
38
27
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
28
 
40
29
  def to_dict(self) -> dict[str, Any]:
41
- from ..models.labels_type_0 import LabelsType0
30
+ metadata: Union[Unset, dict[str, Any]] = UNSET
31
+ if not isinstance(self.metadata, Unset):
32
+ metadata = self.metadata.to_dict()
42
33
 
43
- created_at = self.created_at
44
-
45
- created_by = self.created_by
46
-
47
- updated_at = self.updated_at
48
-
49
- updated_by = self.updated_by
50
-
51
- display_name = self.display_name
52
-
53
- labels: Union[None, Unset, dict[str, Any]]
54
- if isinstance(self.labels, Unset):
55
- labels = UNSET
56
- elif isinstance(self.labels, LabelsType0):
57
- labels = self.labels.to_dict()
58
- else:
59
- labels = self.labels
60
-
61
- name = self.name
62
-
63
- workspace = self.workspace
34
+ spec: Union[Unset, dict[str, Any]] = UNSET
35
+ if not isinstance(self.spec, Unset):
36
+ spec = self.spec.to_dict()
64
37
 
65
38
  field_dict: dict[str, Any] = {}
66
39
  field_dict.update(self.additional_properties)
67
40
  field_dict.update({})
68
- if created_at is not UNSET:
69
- field_dict["created_at"] = created_at
70
- if created_by is not UNSET:
71
- field_dict["created_by"] = created_by
72
- if updated_at is not UNSET:
73
- field_dict["updated_at"] = updated_at
74
- if updated_by is not UNSET:
75
- field_dict["updated_by"] = updated_by
76
- if display_name is not UNSET:
77
- field_dict["display_name"] = display_name
78
- if labels is not UNSET:
79
- field_dict["labels"] = labels
80
- if name is not UNSET:
81
- field_dict["name"] = name
82
- if workspace is not UNSET:
83
- field_dict["workspace"] = workspace
41
+ if metadata is not UNSET:
42
+ field_dict["metadata"] = metadata
43
+ if spec is not UNSET:
44
+ field_dict["spec"] = spec
84
45
 
85
46
  return field_dict
86
47
 
87
48
  @classmethod
88
49
  def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
89
- from ..models.labels_type_0 import LabelsType0
50
+ from ..models.environment_metadata import EnvironmentMetadata
51
+ from ..models.function_spec import FunctionSpec
90
52
 
91
53
  if not src_dict:
92
54
  return None
93
55
  d = src_dict.copy()
94
- created_at = d.pop("created_at", UNSET)
95
-
96
- created_by = d.pop("created_by", UNSET)
97
-
98
- updated_at = d.pop("updated_at", UNSET)
99
-
100
- updated_by = d.pop("updated_by", UNSET)
101
-
102
- display_name = d.pop("display_name", UNSET)
103
-
104
- def _parse_labels(data: object) -> Union["LabelsType0", None, Unset]:
105
- if data is None:
106
- return data
107
- if isinstance(data, Unset):
108
- return data
109
- try:
110
- if not isinstance(data, dict):
111
- raise TypeError()
112
- componentsschemas_labels_type_0 = LabelsType0.from_dict(data)
113
-
114
- return componentsschemas_labels_type_0
115
- except: # noqa: E722
116
- pass
117
- return cast(Union["LabelsType0", None, Unset], data)
118
-
119
- labels = _parse_labels(d.pop("labels", UNSET))
120
-
121
- name = d.pop("name", UNSET)
56
+ _metadata = d.pop("metadata", UNSET)
57
+ metadata: Union[Unset, EnvironmentMetadata]
58
+ if isinstance(_metadata, Unset):
59
+ metadata = UNSET
60
+ else:
61
+ metadata = EnvironmentMetadata.from_dict(_metadata)
122
62
 
123
- workspace = d.pop("workspace", UNSET)
63
+ _spec = d.pop("spec", UNSET)
64
+ spec: Union[Unset, FunctionSpec]
65
+ if isinstance(_spec, Unset):
66
+ spec = UNSET
67
+ else:
68
+ spec = FunctionSpec.from_dict(_spec)
124
69
 
125
70
  function = cls(
126
- created_at=created_at,
127
- created_by=created_by,
128
- updated_at=updated_at,
129
- updated_by=updated_by,
130
- display_name=display_name,
131
- labels=labels,
132
- name=name,
133
- workspace=workspace,
71
+ metadata=metadata,
72
+ spec=spec,
134
73
  )
135
74
 
136
75
  function.additional_properties = d
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
1
+ from typing import TYPE_CHECKING, Any, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -50,7 +50,7 @@ class FunctionMetadata:
50
50
 
51
51
  display_name = self.display_name
52
52
 
53
- labels: Union[Unset, Dict[str, Any]] = UNSET
53
+ labels: Union[Unset, dict[str, Any]] = UNSET
54
54
  if not isinstance(self.labels, Unset):
55
55
  labels = self.labels.to_dict()
56
56
 
@@ -85,9 +85,11 @@ class FunctionMetadata:
85
85
  return field_dict
86
86
 
87
87
  @classmethod
88
- def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
88
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
89
89
  from ..models.metadata_labels import MetadataLabels
90
90
 
91
+ if not src_dict:
92
+ return None
91
93
  d = src_dict.copy()
92
94
  created_at = d.pop("createdAt", UNSET)
93
95
 
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
1
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -6,12 +6,13 @@ from attrs import field as _attrs_field
6
6
  from ..types import UNSET, Unset
7
7
 
8
8
  if TYPE_CHECKING:
9
+ from ..models.core_spec_configurations import CoreSpecConfigurations
9
10
  from ..models.flavor import Flavor
10
11
  from ..models.function_kit import FunctionKit
12
+ from ..models.model_private_cluster import ModelPrivateCluster
11
13
  from ..models.pod_template_spec import PodTemplateSpec
12
14
  from ..models.runtime import Runtime
13
15
  from ..models.serverless_config import ServerlessConfig
14
- from ..models.spec_configuration import SpecConfiguration
15
16
  from ..models.store_function_parameter import StoreFunctionParameter
16
17
 
17
18
 
@@ -23,82 +24,85 @@ class FunctionSpec:
23
24
  """Function specification
24
25
 
25
26
  Attributes:
26
- configurations (Union[Unset, SpecConfiguration]): Agent configuration, this is a key value storage. In your
27
- agent you can retrieve the value with config[key]
27
+ configurations (Union[Unset, CoreSpecConfigurations]): Optional configurations for the object
28
28
  enabled (Union[Unset, bool]): Enable or disable the agent
29
- flavors (Union[Unset, List['Flavor']]): Types of hardware available for deployments
30
- integration_connections (Union[Unset, List[str]]):
29
+ flavors (Union[Unset, list['Flavor']]): Types of hardware available for deployments
30
+ integration_connections (Union[Unset, list[str]]):
31
31
  pod_template (Union[Unset, PodTemplateSpec]): Pod template specification
32
- policies (Union[Unset, List[str]]):
32
+ policies (Union[Unset, list[str]]):
33
+ private_clusters (Union[Unset, ModelPrivateCluster]): Private cluster where the model deployment is deployed
33
34
  runtime (Union[Unset, Runtime]): Set of configurations for a deployment
34
35
  serverless_config (Union[Unset, ServerlessConfig]): Configuration for a serverless deployment
35
36
  description (Union[Unset, str]): Function description, very important for the agent function to work with an LLM
36
- kit (Union[Unset, List['FunctionKit']]): The kit of the function deployment
37
- parameters (Union[Unset, List['StoreFunctionParameter']]): Function parameters, for your function to be callable
37
+ kit (Union[Unset, list['FunctionKit']]): The kit of the function deployment
38
+ parameters (Union[Unset, list['StoreFunctionParameter']]): Function parameters, for your function to be callable
38
39
  with Agent
39
40
  store_id (Union[Unset, str]): Store id
40
41
  """
41
42
 
42
- configurations: Union[Unset, "SpecConfiguration"] = UNSET
43
+ configurations: Union[Unset, "CoreSpecConfigurations"] = UNSET
43
44
  enabled: Union[Unset, bool] = UNSET
44
- flavors: Union[Unset, List["Flavor"]] = UNSET
45
- integration_connections: Union[Unset, List[str]] = UNSET
45
+ flavors: Union[Unset, list["Flavor"]] = UNSET
46
+ integration_connections: Union[Unset, list[str]] = UNSET
46
47
  pod_template: Union[Unset, "PodTemplateSpec"] = UNSET
47
- policies: Union[Unset, List[str]] = UNSET
48
+ policies: Union[Unset, list[str]] = UNSET
49
+ private_clusters: Union[Unset, "ModelPrivateCluster"] = UNSET
48
50
  runtime: Union[Unset, "Runtime"] = UNSET
49
51
  serverless_config: Union[Unset, "ServerlessConfig"] = UNSET
50
52
  description: Union[Unset, str] = UNSET
51
- kit: Union[Unset, List["FunctionKit"]] = UNSET
52
- parameters: Union[Unset, List["StoreFunctionParameter"]] = UNSET
53
+ kit: Union[Unset, list["FunctionKit"]] = UNSET
54
+ parameters: Union[Unset, list["StoreFunctionParameter"]] = UNSET
53
55
  store_id: Union[Unset, str] = UNSET
54
56
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
55
57
 
56
58
  def to_dict(self) -> dict[str, Any]:
57
- configurations: Union[Unset, Dict[str, Any]] = UNSET
59
+ configurations: Union[Unset, dict[str, Any]] = UNSET
58
60
  if not isinstance(self.configurations, Unset):
59
61
  configurations = self.configurations.to_dict()
60
62
 
61
63
  enabled = self.enabled
62
64
 
63
- flavors: Union[Unset, List[Dict[str, Any]]] = UNSET
65
+ flavors: Union[Unset, list[dict[str, Any]]] = UNSET
64
66
  if not isinstance(self.flavors, Unset):
65
67
  flavors = []
66
68
  for componentsschemas_flavors_item_data in self.flavors:
67
- componentsschemas_flavors_item = (
68
- componentsschemas_flavors_item_data.to_dict()
69
- )
69
+ componentsschemas_flavors_item = componentsschemas_flavors_item_data.to_dict()
70
70
  flavors.append(componentsschemas_flavors_item)
71
71
 
72
- integration_connections: Union[Unset, List[str]] = UNSET
72
+ integration_connections: Union[Unset, list[str]] = UNSET
73
73
  if not isinstance(self.integration_connections, Unset):
74
74
  integration_connections = self.integration_connections
75
75
 
76
- pod_template: Union[Unset, Dict[str, Any]] = UNSET
76
+ pod_template: Union[Unset, dict[str, Any]] = UNSET
77
77
  if not isinstance(self.pod_template, Unset):
78
78
  pod_template = self.pod_template.to_dict()
79
79
 
80
- policies: Union[Unset, List[str]] = UNSET
80
+ policies: Union[Unset, list[str]] = UNSET
81
81
  if not isinstance(self.policies, Unset):
82
82
  policies = self.policies
83
83
 
84
- runtime: Union[Unset, Dict[str, Any]] = UNSET
84
+ private_clusters: Union[Unset, dict[str, Any]] = UNSET
85
+ if not isinstance(self.private_clusters, Unset):
86
+ private_clusters = self.private_clusters.to_dict()
87
+
88
+ runtime: Union[Unset, dict[str, Any]] = UNSET
85
89
  if not isinstance(self.runtime, Unset):
86
90
  runtime = self.runtime.to_dict()
87
91
 
88
- serverless_config: Union[Unset, Dict[str, Any]] = UNSET
92
+ serverless_config: Union[Unset, dict[str, Any]] = UNSET
89
93
  if not isinstance(self.serverless_config, Unset):
90
94
  serverless_config = self.serverless_config.to_dict()
91
95
 
92
96
  description = self.description
93
97
 
94
- kit: Union[Unset, List[Dict[str, Any]]] = UNSET
98
+ kit: Union[Unset, list[dict[str, Any]]] = UNSET
95
99
  if not isinstance(self.kit, Unset):
96
100
  kit = []
97
101
  for kit_item_data in self.kit:
98
102
  kit_item = kit_item_data.to_dict()
99
103
  kit.append(kit_item)
100
104
 
101
- parameters: Union[Unset, List[Dict[str, Any]]] = UNSET
105
+ parameters: Union[Unset, list[dict[str, Any]]] = UNSET
102
106
  if not isinstance(self.parameters, Unset):
103
107
  parameters = []
104
108
  for parameters_item_data in self.parameters:
@@ -122,6 +126,8 @@ class FunctionSpec:
122
126
  field_dict["podTemplate"] = pod_template
123
127
  if policies is not UNSET:
124
128
  field_dict["policies"] = policies
129
+ if private_clusters is not UNSET:
130
+ field_dict["privateClusters"] = private_clusters
125
131
  if runtime is not UNSET:
126
132
  field_dict["runtime"] = runtime
127
133
  if serverless_config is not UNSET:
@@ -133,42 +139,41 @@ class FunctionSpec:
133
139
  if parameters is not UNSET:
134
140
  field_dict["parameters"] = parameters
135
141
  if store_id is not UNSET:
136
- field_dict["store_id"] = store_id
142
+ field_dict["storeId"] = store_id
137
143
 
138
144
  return field_dict
139
145
 
140
146
  @classmethod
141
- def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
147
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
148
+ from ..models.core_spec_configurations import CoreSpecConfigurations
142
149
  from ..models.flavor import Flavor
143
150
  from ..models.function_kit import FunctionKit
151
+ from ..models.model_private_cluster import ModelPrivateCluster
144
152
  from ..models.pod_template_spec import PodTemplateSpec
145
153
  from ..models.runtime import Runtime
146
154
  from ..models.serverless_config import ServerlessConfig
147
- from ..models.spec_configuration import SpecConfiguration
148
155
  from ..models.store_function_parameter import StoreFunctionParameter
149
156
 
157
+ if not src_dict:
158
+ return None
150
159
  d = src_dict.copy()
151
160
  _configurations = d.pop("configurations", UNSET)
152
- configurations: Union[Unset, SpecConfiguration]
161
+ configurations: Union[Unset, CoreSpecConfigurations]
153
162
  if isinstance(_configurations, Unset):
154
163
  configurations = UNSET
155
164
  else:
156
- configurations = SpecConfiguration.from_dict(_configurations)
165
+ configurations = CoreSpecConfigurations.from_dict(_configurations)
157
166
 
158
167
  enabled = d.pop("enabled", UNSET)
159
168
 
160
169
  flavors = []
161
170
  _flavors = d.pop("flavors", UNSET)
162
171
  for componentsschemas_flavors_item_data in _flavors or []:
163
- componentsschemas_flavors_item = Flavor.from_dict(
164
- componentsschemas_flavors_item_data
165
- )
172
+ componentsschemas_flavors_item = Flavor.from_dict(componentsschemas_flavors_item_data)
166
173
 
167
174
  flavors.append(componentsschemas_flavors_item)
168
175
 
169
- integration_connections = cast(
170
- List[str], d.pop("integrationConnections", UNSET)
171
- )
176
+ integration_connections = cast(list[str], d.pop("integrationConnections", UNSET))
172
177
 
173
178
  _pod_template = d.pop("podTemplate", UNSET)
174
179
  pod_template: Union[Unset, PodTemplateSpec]
@@ -177,7 +182,14 @@ class FunctionSpec:
177
182
  else:
178
183
  pod_template = PodTemplateSpec.from_dict(_pod_template)
179
184
 
180
- policies = cast(List[str], d.pop("policies", UNSET))
185
+ policies = cast(list[str], d.pop("policies", UNSET))
186
+
187
+ _private_clusters = d.pop("privateClusters", UNSET)
188
+ private_clusters: Union[Unset, ModelPrivateCluster]
189
+ if isinstance(_private_clusters, Unset):
190
+ private_clusters = UNSET
191
+ else:
192
+ private_clusters = ModelPrivateCluster.from_dict(_private_clusters)
181
193
 
182
194
  _runtime = d.pop("runtime", UNSET)
183
195
  runtime: Union[Unset, Runtime]
@@ -209,7 +221,7 @@ class FunctionSpec:
209
221
 
210
222
  parameters.append(parameters_item)
211
223
 
212
- store_id = d.pop("store_id", UNSET)
224
+ store_id = d.pop("storeId", UNSET)
213
225
 
214
226
  function_spec = cls(
215
227
  configurations=configurations,
@@ -218,6 +230,7 @@ class FunctionSpec:
218
230
  integration_connections=integration_connections,
219
231
  pod_template=pod_template,
220
232
  policies=policies,
233
+ private_clusters=private_clusters,
221
234
  runtime=runtime,
222
235
  serverless_config=serverless_config,
223
236
  description=description,
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
1
+ from typing import TYPE_CHECKING, Any, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -6,9 +6,8 @@ from attrs import field as _attrs_field
6
6
  from ..types import UNSET, Unset
7
7
 
8
8
  if TYPE_CHECKING:
9
- from ..models.integration_connection_config import IntegrationConnectionConfig
10
- from ..models.integration_connection_secret import IntegrationConnectionSecret
11
- from ..models.labels_type_0 import LabelsType0
9
+ from ..models.integration_connection_spec import IntegrationConnectionSpec
10
+ from ..models.metadata import Metadata
12
11
 
13
12
 
14
13
  T = TypeVar("T", bound="IntegrationConnection")
@@ -19,163 +18,58 @@ class IntegrationConnection:
19
18
  """Integration Connection
20
19
 
21
20
  Attributes:
22
- created_at (Union[Unset, str]): The date and time when the resource was created
23
- created_by (Union[Unset, str]): The user or service account who created the resource
24
- updated_at (Union[Unset, str]): The date and time when the resource was updated
25
- updated_by (Union[Unset, str]): The user or service account who updated the resource
26
- config (Union[Unset, IntegrationConnectionConfig]): Integration config
27
- display_name (Union[Unset, str]): Integration connection display name
28
- integration (Union[Unset, str]): Integration type
29
- labels (Union['LabelsType0', None, Unset]): Labels
30
- name (Union[Unset, str]): Integration connection name
31
- secret (Union[Unset, IntegrationConnectionSecret]): Integration secret
32
- workspace (Union[Unset, str]): Workspace name
21
+ metadata (Union[Unset, Metadata]): Metadata
22
+ spec (Union[Unset, IntegrationConnectionSpec]): Integration connection specification
33
23
  """
34
24
 
35
- created_at: Union[Unset, str] = UNSET
36
- created_by: Union[Unset, str] = UNSET
37
- updated_at: Union[Unset, str] = UNSET
38
- updated_by: Union[Unset, str] = UNSET
39
- config: Union[Unset, "IntegrationConnectionConfig"] = UNSET
40
- display_name: Union[Unset, str] = UNSET
41
- integration: Union[Unset, str] = UNSET
42
- labels: Union["LabelsType0", None, Unset] = UNSET
43
- name: Union[Unset, str] = UNSET
44
- secret: Union[Unset, "IntegrationConnectionSecret"] = UNSET
45
- workspace: Union[Unset, str] = UNSET
25
+ metadata: Union[Unset, "Metadata"] = UNSET
26
+ spec: Union[Unset, "IntegrationConnectionSpec"] = UNSET
46
27
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
47
28
 
48
29
  def to_dict(self) -> dict[str, Any]:
49
- from ..models.labels_type_0 import LabelsType0
30
+ metadata: Union[Unset, dict[str, Any]] = UNSET
31
+ if not isinstance(self.metadata, Unset):
32
+ metadata = self.metadata.to_dict()
50
33
 
51
- created_at = self.created_at
52
-
53
- created_by = self.created_by
54
-
55
- updated_at = self.updated_at
56
-
57
- updated_by = self.updated_by
58
-
59
- config: Union[Unset, dict[str, Any]] = UNSET
60
- if not isinstance(self.config, Unset):
61
- config = self.config.to_dict()
62
-
63
- display_name = self.display_name
64
-
65
- integration = self.integration
66
-
67
- labels: Union[None, Unset, dict[str, Any]]
68
- if isinstance(self.labels, Unset):
69
- labels = UNSET
70
- elif isinstance(self.labels, LabelsType0):
71
- labels = self.labels.to_dict()
72
- else:
73
- labels = self.labels
74
-
75
- name = self.name
76
-
77
- secret: Union[Unset, dict[str, Any]] = UNSET
78
- if not isinstance(self.secret, Unset):
79
- secret = self.secret.to_dict()
80
-
81
- workspace = self.workspace
34
+ spec: Union[Unset, dict[str, Any]] = UNSET
35
+ if not isinstance(self.spec, Unset):
36
+ spec = self.spec.to_dict()
82
37
 
83
38
  field_dict: dict[str, Any] = {}
84
39
  field_dict.update(self.additional_properties)
85
40
  field_dict.update({})
86
- if created_at is not UNSET:
87
- field_dict["created_at"] = created_at
88
- if created_by is not UNSET:
89
- field_dict["created_by"] = created_by
90
- if updated_at is not UNSET:
91
- field_dict["updated_at"] = updated_at
92
- if updated_by is not UNSET:
93
- field_dict["updated_by"] = updated_by
94
- if config is not UNSET:
95
- field_dict["config"] = config
96
- if display_name is not UNSET:
97
- field_dict["display_name"] = display_name
98
- if integration is not UNSET:
99
- field_dict["integration"] = integration
100
- if labels is not UNSET:
101
- field_dict["labels"] = labels
102
- if name is not UNSET:
103
- field_dict["name"] = name
104
- if secret is not UNSET:
105
- field_dict["secret"] = secret
106
- if workspace is not UNSET:
107
- field_dict["workspace"] = workspace
41
+ if metadata is not UNSET:
42
+ field_dict["metadata"] = metadata
43
+ if spec is not UNSET:
44
+ field_dict["spec"] = spec
108
45
 
109
46
  return field_dict
110
47
 
111
48
  @classmethod
112
49
  def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
113
- from ..models.integration_connection_config import IntegrationConnectionConfig
114
- from ..models.integration_connection_secret import IntegrationConnectionSecret
115
- from ..models.labels_type_0 import LabelsType0
50
+ from ..models.integration_connection_spec import IntegrationConnectionSpec
51
+ from ..models.metadata import Metadata
116
52
 
117
53
  if not src_dict:
118
54
  return None
119
55
  d = src_dict.copy()
120
- created_at = d.pop("created_at", UNSET)
121
-
122
- created_by = d.pop("created_by", UNSET)
123
-
124
- updated_at = d.pop("updated_at", UNSET)
125
-
126
- updated_by = d.pop("updated_by", UNSET)
127
-
128
- _config = d.pop("config", UNSET)
129
- config: Union[Unset, IntegrationConnectionConfig]
130
- if isinstance(_config, Unset):
131
- config = UNSET
56
+ _metadata = d.pop("metadata", UNSET)
57
+ metadata: Union[Unset, Metadata]
58
+ if isinstance(_metadata, Unset):
59
+ metadata = UNSET
132
60
  else:
133
- config = IntegrationConnectionConfig.from_dict(_config)
134
-
135
- display_name = d.pop("display_name", UNSET)
136
-
137
- integration = d.pop("integration", UNSET)
61
+ metadata = Metadata.from_dict(_metadata)
138
62
 
139
- def _parse_labels(data: object) -> Union["LabelsType0", None, Unset]:
140
- if data is None:
141
- return data
142
- if isinstance(data, Unset):
143
- return data
144
- try:
145
- if not isinstance(data, dict):
146
- raise TypeError()
147
- componentsschemas_labels_type_0 = LabelsType0.from_dict(data)
148
-
149
- return componentsschemas_labels_type_0
150
- except: # noqa: E722
151
- pass
152
- return cast(Union["LabelsType0", None, Unset], data)
153
-
154
- labels = _parse_labels(d.pop("labels", UNSET))
155
-
156
- name = d.pop("name", UNSET)
157
-
158
- _secret = d.pop("secret", UNSET)
159
- secret: Union[Unset, IntegrationConnectionSecret]
160
- if isinstance(_secret, Unset):
161
- secret = UNSET
63
+ _spec = d.pop("spec", UNSET)
64
+ spec: Union[Unset, IntegrationConnectionSpec]
65
+ if isinstance(_spec, Unset):
66
+ spec = UNSET
162
67
  else:
163
- secret = IntegrationConnectionSecret.from_dict(_secret)
164
-
165
- workspace = d.pop("workspace", UNSET)
68
+ spec = IntegrationConnectionSpec.from_dict(_spec)
166
69
 
167
70
  integration_connection = cls(
168
- created_at=created_at,
169
- created_by=created_by,
170
- updated_at=updated_at,
171
- updated_by=updated_by,
172
- config=config,
173
- display_name=display_name,
174
- integration=integration,
175
- labels=labels,
176
- name=name,
177
- secret=secret,
178
- workspace=workspace,
71
+ metadata=metadata,
72
+ spec=spec,
179
73
  )
180
74
 
181
75
  integration_connection.additional_properties = d
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
1
+ from typing import TYPE_CHECKING, Any, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -29,13 +29,13 @@ class IntegrationConnectionSpec:
29
29
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
30
 
31
31
  def to_dict(self) -> dict[str, Any]:
32
- config: Union[Unset, Dict[str, Any]] = UNSET
32
+ config: Union[Unset, dict[str, Any]] = UNSET
33
33
  if not isinstance(self.config, Unset):
34
34
  config = self.config.to_dict()
35
35
 
36
36
  integration = self.integration
37
37
 
38
- secret: Union[Unset, Dict[str, Any]] = UNSET
38
+ secret: Union[Unset, dict[str, Any]] = UNSET
39
39
  if not isinstance(self.secret, Unset):
40
40
  secret = self.secret.to_dict()
41
41
 
@@ -52,10 +52,12 @@ class IntegrationConnectionSpec:
52
52
  return field_dict
53
53
 
54
54
  @classmethod
55
- def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
55
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
56
56
  from ..models.integration_connection_config import IntegrationConnectionConfig
57
57
  from ..models.integration_connection_secret import IntegrationConnectionSecret
58
58
 
59
+ if not src_dict:
60
+ return None
59
61
  d = src_dict.copy()
60
62
  _config = d.pop("config", UNSET)
61
63
  config: Union[Unset, IntegrationConnectionConfig]