frogml 1.2.38__py3-none-any.whl → 1.2.47__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.
- frogml/__init__.py +1 -1
- frogml/_proto/com/jfrog/ml/model/deployment/v1/auto_scaling_pb2.py +43 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/auto_scaling_pb2.pyi +218 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/auto_scaling_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_pb2.py +53 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_pb2.pyi +258 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_service_pb2.py +58 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_service_pb2.pyi +224 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_service_pb2_grpc.py +206 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/environment_variables_configuration_pb2.py +33 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/environment_variables_configuration_pb2.pyi +99 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/environment_variables_configuration_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_artifact_identifier_pb2.py +31 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_artifact_identifier_pb2.pyi +99 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_artifact_identifier_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_brief_pb2.py +30 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_brief_pb2.pyi +55 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_brief_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_filter_pb2.py +42 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_filter_pb2.pyi +204 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_filter_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/probes_configuration_pb2.py +29 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/probes_configuration_pb2.pyi +60 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/probes_configuration_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/realtime_deployment_pb2.py +28 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/realtime_deployment_pb2.pyi +47 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/realtime_deployment_pb2_grpc.py +4 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/resource_configuration_pb2.py +27 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/resource_configuration_pb2.pyi +29 -0
- frogml/_proto/com/jfrog/ml/model/deployment/v1/resource_configuration_pb2_grpc.py +4 -0
- frogml/_proto/qwak/administration/cluster/v2/cluster_service_pb2.py +52 -0
- frogml/_proto/qwak/administration/cluster/v2/cluster_service_pb2.pyi +208 -0
- frogml/_proto/qwak/administration/cluster/v2/cluster_service_pb2_grpc.py +237 -0
- frogml/_proto/qwak/administration/v1/environments/environment_pb2.py +29 -0
- frogml/_proto/qwak/administration/v1/environments/environment_pb2.pyi +35 -0
- frogml/_proto/qwak/administration/v1/environments/environment_pb2_grpc.py +4 -0
- frogml/_proto/qwak/administration/v1/environments/environment_service_pb2.py +33 -0
- frogml/_proto/qwak/administration/v1/environments/environment_service_pb2.pyi +59 -0
- frogml/_proto/qwak/administration/v1/environments/environment_service_pb2_grpc.py +67 -0
- frogml/_proto/qwak/admiral/secret/v0/account_secret_pb2.py +33 -0
- frogml/_proto/qwak/admiral/secret/v0/account_secret_pb2.pyi +76 -0
- frogml/_proto/qwak/admiral/secret/v0/account_secret_pb2_grpc.py +4 -0
- frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.py +28 -15
- frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.pyi +89 -0
- frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2_grpc.py +102 -0
- frogml/_proto/qwak/models/models_pb2.py +81 -79
- frogml/_proto/qwak/models/models_pb2.pyi +24 -0
- frogml/_proto/qwak/models/models_pb2_grpc.py +34 -0
- frogml/core/clients/administration/cluster_v2/__init__.py +1 -0
- frogml/core/clients/administration/cluster_v2/client.py +122 -0
- frogml/core/clients/administration/environment/client.py +28 -0
- frogml/core/clients/administration/environment_v1/__init__.py +1 -0
- frogml/core/clients/administration/environment_v1/client.py +53 -0
- frogml/core/clients/model_deployment_manager/__init__.py +1 -0
- frogml/core/clients/model_deployment_manager/client.py +103 -0
- frogml/core/inner/di_configuration/dependency_wiring.py +18 -16
- {frogml-1.2.38.dist-info → frogml-1.2.47.dist-info}/METADATA +1 -1
- {frogml-1.2.38.dist-info → frogml-1.2.47.dist-info}/RECORD +66 -14
- frogml_services_mock/mocks/cluster_v2_service.py +146 -0
- frogml_services_mock/mocks/environment_v0_service.py +175 -0
- frogml_services_mock/mocks/environment_v1_service.py +37 -0
- frogml_services_mock/mocks/frogml_mocks.py +17 -3
- frogml_services_mock/mocks/model_deployment_manager_service_mock.py +255 -0
- frogml_services_mock/services_mock.py +51 -2
- {frogml-1.2.38.dist-info → frogml-1.2.47.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
from dependency_injector.wiring import Provide
|
|
2
|
+
from frogml._proto.com.jfrog.ml.model.deployment.v1.deployment_pb2 import (
|
|
3
|
+
Deployment,
|
|
4
|
+
ModelDeploymentInformation,
|
|
5
|
+
MultipleEnvironmentDeployment,
|
|
6
|
+
)
|
|
7
|
+
from frogml._proto.com.jfrog.ml.model.deployment.v1.deployment_service_pb2 import (
|
|
8
|
+
DeploymentIds,
|
|
9
|
+
DeploymentIdToDeploymentSpecMap,
|
|
10
|
+
DeployModelRequest,
|
|
11
|
+
EditModelDeploymentRequest,
|
|
12
|
+
GetModelDeploymentResponse,
|
|
13
|
+
ListModelDeploymentsRequest,
|
|
14
|
+
ListModelDeploymentsResponse,
|
|
15
|
+
UndeployModelRequest,
|
|
16
|
+
)
|
|
17
|
+
from frogml._proto.com.jfrog.ml.model.deployment.v1.deployment_service_pb2_grpc import (
|
|
18
|
+
ModelDeploymentServiceStub,
|
|
19
|
+
)
|
|
20
|
+
from frogml._proto.com.jfrog.ml.model.deployment.v1.model_artifact_identifier_pb2 import (
|
|
21
|
+
ModelArtifactIdentifier,
|
|
22
|
+
ModelBasedArtifactIdentifier,
|
|
23
|
+
)
|
|
24
|
+
from frogml._proto.com.jfrog.ml.model.deployment.v1.model_deployment_brief_pb2 import (
|
|
25
|
+
ModelDeploymentBrief,
|
|
26
|
+
)
|
|
27
|
+
from frogml._proto.com.jfrog.ml.model.deployment.v1.model_deployment_filter_pb2 import (
|
|
28
|
+
ModelDeploymentFilter,
|
|
29
|
+
)
|
|
30
|
+
from frogml._proto.qwak.deployment.deployment_service_pb2 import GetDeploymentRequest
|
|
31
|
+
from frogml.core.inner.di_configuration import FrogmlContainer
|
|
32
|
+
from frogml.core.inner.tool.grpc.grpc_try_wrapping import grpc_try_catch_wrapper
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ModelDeploymentManagerClient:
|
|
36
|
+
def __init__(self, grpc_channel=Provide[FrogmlContainer.core_grpc_channel]):
|
|
37
|
+
self.__client = ModelDeploymentServiceStub(grpc_channel)
|
|
38
|
+
|
|
39
|
+
@grpc_try_catch_wrapper("Failed to deploy LLM for model {model_id}")
|
|
40
|
+
def deploy_llm(
|
|
41
|
+
self,
|
|
42
|
+
model_id: str,
|
|
43
|
+
model_group_id: str,
|
|
44
|
+
image_path: str,
|
|
45
|
+
environment_deployment_configuration: dict[str, Deployment],
|
|
46
|
+
) -> None:
|
|
47
|
+
llm_model_identifier = ModelBasedArtifactIdentifier(
|
|
48
|
+
model_group_id=model_group_id,
|
|
49
|
+
model_id=model_id,
|
|
50
|
+
image_path=image_path,
|
|
51
|
+
)
|
|
52
|
+
model_artifact_identifier = ModelArtifactIdentifier(
|
|
53
|
+
model_based_artifact_id=llm_model_identifier
|
|
54
|
+
)
|
|
55
|
+
multiple_environment_deployment = MultipleEnvironmentDeployment(
|
|
56
|
+
model_artifact_identifier=model_artifact_identifier,
|
|
57
|
+
deployments=environment_deployment_configuration,
|
|
58
|
+
)
|
|
59
|
+
request = DeployModelRequest(
|
|
60
|
+
multiple_environment_deployment=multiple_environment_deployment
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
self.__client.DeployModel(request)
|
|
64
|
+
|
|
65
|
+
@grpc_try_catch_wrapper("Failed to undeploy")
|
|
66
|
+
def undeploy(self, deployment_ids: list[str]) -> None:
|
|
67
|
+
deployment_ids_proto = DeploymentIds(deployment_id=deployment_ids)
|
|
68
|
+
request = UndeployModelRequest(deployment_ids=deployment_ids_proto)
|
|
69
|
+
self.__client.UndeployModel(request)
|
|
70
|
+
|
|
71
|
+
@grpc_try_catch_wrapper("Failed to edit deployments")
|
|
72
|
+
def edit_deployments(
|
|
73
|
+
self, deployment_id_to_spec_map: dict[str, Deployment]
|
|
74
|
+
) -> None:
|
|
75
|
+
deployments_map = DeploymentIdToDeploymentSpecMap(
|
|
76
|
+
deployments=deployment_id_to_spec_map
|
|
77
|
+
)
|
|
78
|
+
request = EditModelDeploymentRequest(
|
|
79
|
+
deployment_id_to_deployment_spec_map=deployments_map
|
|
80
|
+
)
|
|
81
|
+
self.__client.EditModelDeployment(request)
|
|
82
|
+
|
|
83
|
+
@grpc_try_catch_wrapper("Failed to list deployments")
|
|
84
|
+
def list_deployments(
|
|
85
|
+
self,
|
|
86
|
+
model_deployment_filter: ModelDeploymentFilter = None,
|
|
87
|
+
) -> list[ModelDeploymentBrief]:
|
|
88
|
+
if model_deployment_filter is None:
|
|
89
|
+
model_deployment_filter = ModelDeploymentFilter()
|
|
90
|
+
|
|
91
|
+
request = ListModelDeploymentsRequest(
|
|
92
|
+
model_deployment_filter=model_deployment_filter
|
|
93
|
+
)
|
|
94
|
+
response: ListModelDeploymentsResponse = self.__client.ListModelDeployments(
|
|
95
|
+
request
|
|
96
|
+
)
|
|
97
|
+
return list(response.model_deployment_brief)
|
|
98
|
+
|
|
99
|
+
@grpc_try_catch_wrapper("Failed to get deployment with ID {deployment_id}")
|
|
100
|
+
def get_deployment(self, deployment_id: str) -> ModelDeploymentInformation:
|
|
101
|
+
request = GetDeploymentRequest(deployment_id=deployment_id)
|
|
102
|
+
response: GetModelDeploymentResponse = self.__client.GetModelDeployment(request)
|
|
103
|
+
return response.model_deployment_information
|
|
@@ -27,29 +27,30 @@ def wire_dependencies() -> FrogmlContainer:
|
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
from frogml.core.clients import (
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
administration,
|
|
31
|
+
alert_management,
|
|
32
|
+
alerts_registry,
|
|
32
33
|
analytics,
|
|
33
|
-
|
|
34
|
+
audience,
|
|
35
|
+
automation_management,
|
|
34
36
|
autoscaling,
|
|
35
|
-
build_orchestrator,
|
|
36
37
|
batch_job_management,
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
build_orchestrator,
|
|
39
|
+
data_versioning,
|
|
39
40
|
deployment,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
feature_store,
|
|
42
|
+
file_versioning,
|
|
43
|
+
instance_template,
|
|
43
44
|
integration_management,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
data_versioning,
|
|
45
|
+
jfrog_gateway,
|
|
46
|
+
kube_deployment_captain,
|
|
47
47
|
logging_client,
|
|
48
|
-
|
|
49
|
-
file_versioning,
|
|
50
|
-
alerts_registry,
|
|
51
|
-
administration,
|
|
48
|
+
model_deployment_manager,
|
|
52
49
|
model_group_management,
|
|
50
|
+
model_management,
|
|
51
|
+
model_version_manager,
|
|
52
|
+
system_secret,
|
|
53
|
+
user_application_instance,
|
|
53
54
|
)
|
|
54
55
|
|
|
55
56
|
container.wire(
|
|
@@ -77,6 +78,7 @@ def wire_dependencies() -> FrogmlContainer:
|
|
|
77
78
|
model_version_manager,
|
|
78
79
|
jfrog_gateway,
|
|
79
80
|
model_group_management,
|
|
81
|
+
model_deployment_manager,
|
|
80
82
|
]
|
|
81
83
|
)
|
|
82
84
|
|
|
@@ -1,4 +1,34 @@
|
|
|
1
|
-
frogml/__init__.py,sha256=
|
|
1
|
+
frogml/__init__.py,sha256=nvwO4HCXHk0dxYeR0cagpgioYfR0AhrIPIVdCPaco5g,741
|
|
2
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/auto_scaling_pb2.py,sha256=-SD6RYgn5DFBLlwTpH9YkV8aW_zYymBI68Y-12Fn0I0,4193
|
|
3
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/auto_scaling_pb2.pyi,sha256=s0rdjIYw_dOfmuentpri79ls5dC3NqoUq__-XeavaXE,9688
|
|
4
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/auto_scaling_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
5
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_pb2.py,sha256=c1cvdGhas7PyjFa_qWgp8cQBT9FJJatDXpLFaAVqbIo,6441
|
|
6
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_pb2.pyi,sha256=NMwN-k3r1Y3Z_2yrUvfTQvO0rywEMIsyXTpkroNy6X8,12950
|
|
7
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
8
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_service_pb2.py,sha256=MtpCW3ZPBYrpIhMC0XMJRCGDVpI-Ak_jeKQ9DGqYaUQ,6286
|
|
9
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_service_pb2.pyi,sha256=srnR6yTrjo8tnqAmnhxXEbf5EKD-dxMnfXZ-rABtmaY,9569
|
|
10
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/deployment_service_pb2_grpc.py,sha256=qvF_o89cqJ9Jz_nZs3n72p_pY2Bo75Sq99ObFsx4Nsw,11599
|
|
11
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/environment_variables_configuration_pb2.py,sha256=RPbECbR8DOWfq37aSYm4oWJhlVd-IWKGYEIhjmJ5VlU,2422
|
|
12
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/environment_variables_configuration_pb2.pyi,sha256=z3FDspmH0Bfd15x_KnzPDRvBdVbxCPxIz7ckC5wqJPM,3860
|
|
13
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/environment_variables_configuration_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
14
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_artifact_identifier_pb2.py,sha256=7TCaIZwY3cYX5JKUA1NR8WmkRH0CtLipi4kiaTjeL9E,2331
|
|
15
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_artifact_identifier_pb2.pyi,sha256=4FFrif0OZFR18xXKuEpZC7sibeKNMMXM49Y-J7VXyGA,4529
|
|
16
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_artifact_identifier_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
17
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_brief_pb2.py,sha256=r1nMzNPG0MktLtRPTFFif66qEHL0VGHuAoiM2ffXVlk,2306
|
|
18
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_brief_pb2.pyi,sha256=H-XA4wfh7t8PLYtfbPINIbWea43ubn8tbFdPN9IjLKs,2628
|
|
19
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_brief_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
20
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_filter_pb2.py,sha256=6qhYmErXArD2rOoKeqnlvjwC-6dJo8k0HUcTTMW4oQQ,3889
|
|
21
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_filter_pb2.pyi,sha256=gdxw9GSXh-Msfe0ifVSmER-7kHtcU3u0RNCjb93YY-Y,9804
|
|
22
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/model_deployment_filter_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
23
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/probes_configuration_pb2.py,sha256=xn_xW0y6JJ0TjyLaJBDVE7UwHO22tQr3nphz7xLGaSM,1833
|
|
24
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/probes_configuration_pb2.pyi,sha256=t_EkUDqnMHgXr0ft9IXyfYbIR4vXR3yGzVp-cG0P0G4,2578
|
|
25
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/probes_configuration_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
26
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/realtime_deployment_pb2.py,sha256=PhvTR0wld0M7fQFbmQ2vWplyHIDThaM_ZmVHNqcQBCc,1799
|
|
27
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/realtime_deployment_pb2.pyi,sha256=tGb_ZZJuwMWmfKBiONnhwxREuREmDpV0x4Ya4DQaqos,2234
|
|
28
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/realtime_deployment_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
29
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/resource_configuration_pb2.py,sha256=d3oCCHJywlvPD91GiTB_RveXoUhHyyJOkNJ5d5tGl58,1435
|
|
30
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/resource_configuration_pb2.pyi,sha256=FRhxd3AhNEICHElc8iv0gSnRH2zqmIw7Yd98tLWaR78,1253
|
|
31
|
+
frogml/_proto/com/jfrog/ml/model/deployment/v1/resource_configuration_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
2
32
|
frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.py,sha256=pY7-QarLJWbL9uNmZ69RfE7IPVzwpVIhtd3A0wztSNY,1942
|
|
3
33
|
frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.pyi,sha256=505I4uUrCmv2hsUw2H5eT-nlkNOCQOWodpvEkH2fHIo,3073
|
|
4
34
|
frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
@@ -53,6 +83,9 @@ frogml/_proto/qwak/administration/authenticated_user/v1/details_pb2_grpc.py,sha2
|
|
|
53
83
|
frogml/_proto/qwak/administration/cluster/v2/cluster_pb2.py,sha256=mn2N1ewXavzKj6fYOW7mtW3skdJHsIyDk0PoHGjV7xA,7710
|
|
54
84
|
frogml/_proto/qwak/administration/cluster/v2/cluster_pb2.pyi,sha256=4dP_rJkV6nnxGkeJghFeq04mSaenDhKjrLsbk-ww6gA,17336
|
|
55
85
|
frogml/_proto/qwak/administration/cluster/v2/cluster_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
86
|
+
frogml/_proto/qwak/administration/cluster/v2/cluster_service_pb2.py,sha256=LO7i_xO2JCj3O5Jk1GonvuH47tmYqkcOxuANRNbGHh0,5388
|
|
87
|
+
frogml/_proto/qwak/administration/cluster/v2/cluster_service_pb2.pyi,sha256=7Vn_OEVzdqDS2zcRez-IdsbftalVAkTI6IZZKxq3Pls,7344
|
|
88
|
+
frogml/_proto/qwak/administration/cluster/v2/cluster_service_pb2_grpc.py,sha256=UDuRQ_AIKghmnp8z--FqG5mLlH26aVLBLQqj4jMSM74,12944
|
|
56
89
|
frogml/_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.py,sha256=Qrxc5jKlR90Yi0sU7poq8NRUf4sZf0_TUTUab71XPis,2853
|
|
57
90
|
frogml/_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.pyi,sha256=a_K7CSexEa3ewJUCsuX4ym0DUy4Qti0WGVC7TBN7NxE,2534
|
|
58
91
|
frogml/_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
@@ -134,15 +167,24 @@ frogml/_proto/qwak/administration/v0/environments/personalization_pb2_grpc.py,sh
|
|
|
134
167
|
frogml/_proto/qwak/administration/v0/users/user_pb2.py,sha256=VCv_1ojHeRH26hQmhzL9lomfDw1JRLseI75Le4Eo-6s,4795
|
|
135
168
|
frogml/_proto/qwak/administration/v0/users/user_pb2.pyi,sha256=eUHlh367Qz0nQSvgxkkiOt3Qiy_1Rtm34_eaxUC2WKo,10514
|
|
136
169
|
frogml/_proto/qwak/administration/v0/users/user_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
170
|
+
frogml/_proto/qwak/administration/v1/environments/environment_pb2.py,sha256=CvQOXO8keOc2EJAW2rbP9976pF_dsyupnYyxe0pRkyo,2478
|
|
171
|
+
frogml/_proto/qwak/administration/v1/environments/environment_pb2.pyi,sha256=0sxjj4w8G_AzSsEa7isLjaQPcssJKaxzHxBq5gknCSE,2015
|
|
172
|
+
frogml/_proto/qwak/administration/v1/environments/environment_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
173
|
+
frogml/_proto/qwak/administration/v1/environments/environment_service_pb2.py,sha256=eEKQjLsLzh8q0aJBOiO8bc7sANQRjdjF_fFifpmKtig,2867
|
|
174
|
+
frogml/_proto/qwak/administration/v1/environments/environment_service_pb2.pyi,sha256=k8bq8klAQyw2Luy-2XKSq6V5b2b0pDaXQlLQAGffGsE,2320
|
|
175
|
+
frogml/_proto/qwak/administration/v1/environments/environment_service_pb2_grpc.py,sha256=TuyAgZpEVHoR7QNjZhUtI6bWBmwxPO5nyVyizem1L-s,3163
|
|
176
|
+
frogml/_proto/qwak/admiral/secret/v0/account_secret_pb2.py,sha256=Owd4zpaBIh3BytZy3-2ioU8vioULkXzmVV6BD9FoCuo,2543
|
|
177
|
+
frogml/_proto/qwak/admiral/secret/v0/account_secret_pb2.pyi,sha256=ONAvrjhRLkbRAfY-dulJb2S2w0Enm4vq2z7DZRmbq3U,2736
|
|
178
|
+
frogml/_proto/qwak/admiral/secret/v0/account_secret_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
137
179
|
frogml/_proto/qwak/admiral/secret/v0/secret_pb2.py,sha256=U8KCZxLbs_wlrHyUr9ZMqsBz4_47yiqsrnuOMqh6Gj0,5180
|
|
138
180
|
frogml/_proto/qwak/admiral/secret/v0/secret_pb2.pyi,sha256=3bLfqt8Ciki7n0jP_NiNcgtNWliBfrqG_HzsGSQMC3Q,10250
|
|
139
181
|
frogml/_proto/qwak/admiral/secret/v0/secret_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
140
182
|
frogml/_proto/qwak/admiral/secret/v0/secret_service_pb2.py,sha256=V5_l2ipfgimZ-V3BawNz_h2u31e7LiF6f9XBnHZznXk,3425
|
|
141
183
|
frogml/_proto/qwak/admiral/secret/v0/secret_service_pb2.pyi,sha256=LHBpsDVvWBFG-K5_ZQR_698sKKce7qwQqEd40yJwkaA,3343
|
|
142
184
|
frogml/_proto/qwak/admiral/secret/v0/secret_service_pb2_grpc.py,sha256=95auDdnyLijxuVsxlU213MXYF595jjWvz1L5i-HVd1Y,6873
|
|
143
|
-
frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.py,sha256=
|
|
144
|
-
frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.pyi,sha256
|
|
145
|
-
frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2_grpc.py,sha256=
|
|
185
|
+
frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.py,sha256=oXHMyMj9bWjGbMIRnEx5v0pvlArb3HYQwvxDzy5QXnQ,5594
|
|
186
|
+
frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2.pyi,sha256=-fyHIVVv5Aa7pbv1EEmzYpYsnwDKFlnEfF5XFQI8VI4,7653
|
|
187
|
+
frogml/_proto/qwak/admiral/secret/v0/system_secret_service_pb2_grpc.py,sha256=Jl8KPDxhIcl3JwTuBi1Q-i9TCVaKI4FR4tCtIi9S19Y,13074
|
|
146
188
|
frogml/_proto/qwak/admiral/user_application_instance/v0/user_application_instance_pb2.py,sha256=nPksL4ROLEgchP1YtL-BSAcmBvb3NcEdsNBxVInxDNI,8028
|
|
147
189
|
frogml/_proto/qwak/admiral/user_application_instance/v0/user_application_instance_pb2.pyi,sha256=TVQAGe8Sil6DyMFJbWOioYhdqRYHp26WouKjMbCgDnk,20646
|
|
148
190
|
frogml/_proto/qwak/admiral/user_application_instance/v0/user_application_instance_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
@@ -542,9 +584,9 @@ frogml/_proto/qwak/model_group/model_group_pb2_grpc.py,sha256=YgDt3DtagEdZ7UtxcP
|
|
|
542
584
|
frogml/_proto/qwak/model_group/model_group_repository_details_pb2.py,sha256=BxaVjDayd9h5Va2ZId3pNPeJFAqVXb8TJHIWmYsURN4,3806
|
|
543
585
|
frogml/_proto/qwak/model_group/model_group_repository_details_pb2.pyi,sha256=3oCsYmmfvBjGkA1nRcx2cg11WNr40uuR3gAWXC7Wz2I,7245
|
|
544
586
|
frogml/_proto/qwak/model_group/model_group_repository_details_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
545
|
-
frogml/_proto/qwak/models/models_pb2.py,sha256=
|
|
546
|
-
frogml/_proto/qwak/models/models_pb2.pyi,sha256=
|
|
547
|
-
frogml/_proto/qwak/models/models_pb2_grpc.py,sha256=
|
|
587
|
+
frogml/_proto/qwak/models/models_pb2.py,sha256=jtw5KSbMwX5q6NVhfA5eblpJIANVavURyYvmXYvFVr0,19427
|
|
588
|
+
frogml/_proto/qwak/models/models_pb2.pyi,sha256=c8e6l8fxCXXJmlyV9GSZ7PTThelw79sCYiEpMKaMRZE,43564
|
|
589
|
+
frogml/_proto/qwak/models/models_pb2_grpc.py,sha256=7HZ5RwIk9I0MOHMOvZhvPFq_UIKwVdjZ79N3h-dlk8o,25406
|
|
548
590
|
frogml/_proto/qwak/models/models_query_pb2.py,sha256=ZDEx_w4JgAL1q2wNOq5qkXiO5DctBgVRWbjrpOmOzbo,2880
|
|
549
591
|
frogml/_proto/qwak/models/models_query_pb2.pyi,sha256=JEWkO0TXbGD2uKElgZB6VNPfYoq99GQ3Nj3jHObBQ2s,7490
|
|
550
592
|
frogml/_proto/qwak/models/models_query_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
@@ -635,11 +677,15 @@ frogml/core/clients/administration/authenticated_user/__init__.py,sha256=47DEQpj
|
|
|
635
677
|
frogml/core/clients/administration/authenticated_user/client.py,sha256=ouN4YxbZs4uYDI8O0DaJZxfUoXgqESrJCDRTlfuNk5s,1486
|
|
636
678
|
frogml/core/clients/administration/authentication/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
637
679
|
frogml/core/clients/administration/authentication/client.py,sha256=BzfCb5laJ3Vci5t3owrcpuVvF4o9bsiKtOFfYWM1Nno,1200
|
|
680
|
+
frogml/core/clients/administration/cluster_v2/__init__.py,sha256=qsxlbOhYg9p5U-0RStC1CIJ86lEZ5UNIWuFPnL-8wGw,36
|
|
681
|
+
frogml/core/clients/administration/cluster_v2/client.py,sha256=m4CTSYjxxSeed118VxCanDQivMLXg5o1jxyDmSeMHUM,4217
|
|
638
682
|
frogml/core/clients/administration/eco_system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
639
683
|
frogml/core/clients/administration/eco_system/client.py,sha256=b2MYJVlbU4ehhwBWWkCwwl24xVw4K-_t7xMuGSMQ2uo,5379
|
|
640
684
|
frogml/core/clients/administration/eco_system/eco_system_utils.py,sha256=iSyCJv7z65DI2c3qsREzBM_S8ZUGOG4ISjhrfL_t4_Y,521
|
|
641
685
|
frogml/core/clients/administration/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
642
|
-
frogml/core/clients/administration/environment/client.py,sha256=
|
|
686
|
+
frogml/core/clients/administration/environment/client.py,sha256=YlfaKvoMXGAvcYj480PtXlAqc8GG6qSGv3KvPqtYh0o,3807
|
|
687
|
+
frogml/core/clients/administration/environment_v1/__init__.py,sha256=15_J34QBVU9X0d9_A6stiwYc6oLwkvuCCviROwROPXo,40
|
|
688
|
+
frogml/core/clients/administration/environment_v1/client.py,sha256=pEvE7dKv_QhYgOi-Aggc6oWAJq-80-Qw_Hsddn60upA,1924
|
|
643
689
|
frogml/core/clients/administration/self_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
644
690
|
frogml/core/clients/administration/self_service/client.py,sha256=znZgDkUzSLgtKx1yrUNU72_BiFtPbpCratD73B316bU,2648
|
|
645
691
|
frogml/core/clients/alert_management/__init__.py,sha256=zAfCPJTj6oAMoj3vciLjRy8ULTTHCmmrdISuDCHASvk,43
|
|
@@ -692,6 +738,8 @@ frogml/core/clients/location_discovery/__init__.py,sha256=sqGQ75YHFE6nvOcir38fyk
|
|
|
692
738
|
frogml/core/clients/location_discovery/client.py,sha256=ZcBbbLqzZ9E7oLyamBTLTpp611LldhfFOSkzWroyIQg,2895
|
|
693
739
|
frogml/core/clients/logging_client/__init__.py,sha256=1OCHnigQBYThBwGbxCreYA0BgP0HcuLFzNEWd3Yxh-c,34
|
|
694
740
|
frogml/core/clients/logging_client/client.py,sha256=ZTRRPrcM2cqrZX9T3DvIr0YICrhDK91P4CDP-ei_ZjQ,8599
|
|
741
|
+
frogml/core/clients/model_deployment_manager/__init__.py,sha256=Kp6FTZzsXjvfoCLz8kurr7AIypRGIIdUek7_SBCt7f4,49
|
|
742
|
+
frogml/core/clients/model_deployment_manager/client.py,sha256=VLPgE3WDZOOg9y_mYZSKKYqVSi866vJipvAi5aOlDng,4135
|
|
695
743
|
frogml/core/clients/model_group_management/__init__.py,sha256=f-nExP4vGWoWMUrRstY8QdtPqXnbsl2Ux0KfFkvGBkg,47
|
|
696
744
|
frogml/core/clients/model_group_management/client.py,sha256=F8YCbfyphcljb8WxpeY7H7wnPpksyaKQ2ZOKi03RU6M,2016
|
|
697
745
|
frogml/core/clients/model_management/__init__.py,sha256=vjWVP8MjmK4_A70WOgJqa6x24AeLK-ABjGJtogGzw9w,43
|
|
@@ -828,7 +876,7 @@ frogml/core/inner/di_configuration/__init__.py,sha256=GQKLaDPpBQ78h0gbwxaW3JkKbN
|
|
|
828
876
|
frogml/core/inner/di_configuration/account.py,sha256=YbQBmZ-roybEZJ1fmGk9TLQ5CEjLWcP9NuxS6WSSrbI,3016
|
|
829
877
|
frogml/core/inner/di_configuration/config.yml,sha256=GUvaZMWIDIR_d7hFcPVG_kHdCwpERKH1AFDakG3vqI4,242
|
|
830
878
|
frogml/core/inner/di_configuration/containers.py,sha256=8rEMnLSFvlfjEnfvbm9hOizCGWXX9F8S9QEYF5sX48E,1495
|
|
831
|
-
frogml/core/inner/di_configuration/dependency_wiring.py,sha256=
|
|
879
|
+
frogml/core/inner/di_configuration/dependency_wiring.py,sha256=sbgR4wJo08UDO9MQR6ub2lIq8HRzb9QBucvGVRRYQ4Y,2786
|
|
832
880
|
frogml/core/inner/instance_template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
833
881
|
frogml/core/inner/instance_template/verify_template_id.py,sha256=SSVReUkx9t0FkXaSh0MKXOKdjd_55wE3NjAPOt6DGIM,1952
|
|
834
882
|
frogml/core/inner/model_loggers_utils.py,sha256=mGBZQ1CbiEePaoftFEH_yfLlsxP8fcPcu83Cb8Ut8cM,2465
|
|
@@ -1111,9 +1159,12 @@ frogml_services_mock/mocks/batch_job_manager_service.py,sha256=CYkNs1SkuTji0QHdv
|
|
|
1111
1159
|
frogml_services_mock/mocks/build_orchestrator_build_api.py,sha256=_9ZmgkAH_yp0yWZlqnMPT9rlj9ctfsMIlIJxG_a2Jc4,5002
|
|
1112
1160
|
frogml_services_mock/mocks/build_orchestrator_build_settings_api.py,sha256=c5_X7Q4EYP5krrLFdWbnml7_asdgLKB_6_VkwEOR8_A,1218
|
|
1113
1161
|
frogml_services_mock/mocks/build_orchestrator_service_api.py,sha256=7mZzOahph29ZLGh_qQaE2QqF4Bs5YwTaFj8QJxd4TkA,5345
|
|
1162
|
+
frogml_services_mock/mocks/cluster_v2_service.py,sha256=r4A2A4UUIEpyGrBEI9JSMQc1bzpzqBU_Vu22MIKP2do,5690
|
|
1114
1163
|
frogml_services_mock/mocks/data_versioning_service.py,sha256=8DzV5oxH7DXZAu_ZBiPEwW9m1AwbOlYOO1PFPjkq_Dk,2470
|
|
1115
1164
|
frogml_services_mock/mocks/deployment_management_service.py,sha256=wofBAw-2NKToTiFYxHqjR3QDrvplpV8NWNZMiIX6U_Q,20583
|
|
1116
1165
|
frogml_services_mock/mocks/ecosystem_service_api.py,sha256=saJYdT43nGVNyozWeDVc6HIXAsNvCdU5J1i-NNrnOr4,2089
|
|
1166
|
+
frogml_services_mock/mocks/environment_v0_service.py,sha256=xKKxKiD4_sqRfyNEpEdqZz-LQ7sJKop80JtvGTReI7s,7522
|
|
1167
|
+
frogml_services_mock/mocks/environment_v1_service.py,sha256=_5WPuVTchhopXrZyHSnh_TAprtTgTjt3Jkpprl0cHsk,1404
|
|
1117
1168
|
frogml_services_mock/mocks/execution_management_service.py,sha256=pRX_DWzayMhwbw7zQVRx2blVpiubqVWpZng2Xn8ZgI0,1205
|
|
1118
1169
|
frogml_services_mock/mocks/feature_store_data_sources_manager_api.py,sha256=YNd-0abshQH6bfrIEr1z0awIde_SYabfuZHV83LmcJ4,5249
|
|
1119
1170
|
frogml_services_mock/mocks/feature_store_entities_manager_api.py,sha256=fF3hhJvbd7PDPyghvqtiJudISOR1GasP6MDs5X44Tic,3355
|
|
@@ -1123,7 +1174,7 @@ frogml_services_mock/mocks/features_operator_v3_service.py,sha256=v6XdUpiI5T5mog
|
|
|
1123
1174
|
frogml_services_mock/mocks/features_set_state_service_api.py,sha256=YaF3X12gCFDKFYFUAH3ZsK2jjbxU1aYYyExwe-F1Zdg,2293
|
|
1124
1175
|
frogml_services_mock/mocks/feedback_service.py,sha256=yHItKZnlrN75F7D2rIGVrffipRaBCyMIvxK5ZmMVckE,1142
|
|
1125
1176
|
frogml_services_mock/mocks/file_versioning_service.py,sha256=PF_XyipSF5I8SfCNDYv298p3lMCizgDTZORlSuo4RYQ,2609
|
|
1126
|
-
frogml_services_mock/mocks/frogml_mocks.py,sha256=
|
|
1177
|
+
frogml_services_mock/mocks/frogml_mocks.py,sha256=eyJ76XwrRaSrBasdjyLGnlXWAmBXR1lJDJUqMBGLU90,6755
|
|
1127
1178
|
frogml_services_mock/mocks/fs_offline_serving_service.py,sha256=rzxL_G8t3PIM-IFuchqkHuUUzlOZfiP5A5IMSeSQynA,2096
|
|
1128
1179
|
frogml_services_mock/mocks/instance_template_management_service.py,sha256=AZ-QCzrx4d4g5E4XIPqFNhOJPBwb4S90mfVzsn6oNe4,4766
|
|
1129
1180
|
frogml_services_mock/mocks/integration_management_service.py,sha256=cw45A8EadycTyq3Okx1sgcuWZ-Lz2iPMRin6f4e_0Ws,2775
|
|
@@ -1133,6 +1184,7 @@ frogml_services_mock/mocks/job_registry_service_api.py,sha256=gbytsg5mc5yjOYE_LP
|
|
|
1133
1184
|
frogml_services_mock/mocks/kube_captain_service_api.py,sha256=0zRthbKSWeIl1qj16tqTg4jiTbUZoJRyPpEOXiESK2A,1598
|
|
1134
1185
|
frogml_services_mock/mocks/location_discovery_service_api.py,sha256=i_alD-qEZ1SsIFgQew9gibGN47MrPhTfMqnxapJhTbo,3685
|
|
1135
1186
|
frogml_services_mock/mocks/logging_service.py,sha256=-1FrXhGO5_NNUW7pzajTwGSf1soQC1feLuMwkOAXD7A,7389
|
|
1187
|
+
frogml_services_mock/mocks/model_deployment_manager_service_mock.py,sha256=83BtdT3FLhewmEjvqMLw7hrrKOxp_lLe_hlDIZ72ukI,9743
|
|
1136
1188
|
frogml_services_mock/mocks/model_group_management_service.py,sha256=tEtBQPExusWI1NiigqEToSDIAforCP1DpVCGXiqfppc,1540
|
|
1137
1189
|
frogml_services_mock/mocks/model_management_service.py,sha256=3byRc-8Fb5WnXTrWkHj1-S6RA2yfqK1yzX-7fqq_ZNk,4169
|
|
1138
1190
|
frogml_services_mock/mocks/model_version_manager_service.py,sha256=XzRnAnn0VMY5hW8jP1ngWF-6OYIq8OgatZQ79JyxeMQ,3759
|
|
@@ -1144,9 +1196,9 @@ frogml_services_mock/mocks/system_secret_service.py,sha256=ceOR1nfQOGW4ZBcry4Q_l
|
|
|
1144
1196
|
frogml_services_mock/mocks/user_application_instance_service_api.py,sha256=Es3s9MnutY0Qsd_FOq_ctKvT-3wHn7-fxah1fvr5Jv4,4100
|
|
1145
1197
|
frogml_services_mock/mocks/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1146
1198
|
frogml_services_mock/mocks/utils/exception_handlers.py,sha256=k_8mez3cwjNjKE9yGQRJUuK95qNQyk_slotIF08IIEE,308
|
|
1147
|
-
frogml_services_mock/services_mock.py,sha256=
|
|
1199
|
+
frogml_services_mock/services_mock.py,sha256=cVydasU1hXNbvz6K_M57GIZJ285i0s2fcMATzH2HH6I,21378
|
|
1148
1200
|
frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1149
1201
|
frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
|
|
1150
|
-
frogml-1.2.
|
|
1151
|
-
frogml-1.2.
|
|
1152
|
-
frogml-1.2.
|
|
1202
|
+
frogml-1.2.47.dist-info/METADATA,sha256=q8fKfEVudZ2jPcKn3gO_I07sbIuuT3Dh_Ul-QPXzpcQ,5599
|
|
1203
|
+
frogml-1.2.47.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
1204
|
+
frogml-1.2.47.dist-info/RECORD,,
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import grpc
|
|
4
|
+
|
|
5
|
+
from frogml._proto.qwak.administration.cluster.v2.cluster_pb2 import (
|
|
6
|
+
ClusterState,
|
|
7
|
+
)
|
|
8
|
+
from frogml._proto.qwak.administration.cluster.v2.cluster_service_pb2 import (
|
|
9
|
+
CreateClusterCreationRequestResponse,
|
|
10
|
+
DeleteClusterResponse,
|
|
11
|
+
GetClusterResponse,
|
|
12
|
+
GetClusterStateResponse,
|
|
13
|
+
ListClustersResponse,
|
|
14
|
+
UpdateClusterConfigurationResponse,
|
|
15
|
+
)
|
|
16
|
+
from frogml._proto.qwak.administration.cluster.v2.cluster_service_pb2_grpc import (
|
|
17
|
+
ClusterServiceServicer,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ClusterV2ServiceMock(ClusterServiceServicer):
|
|
22
|
+
def __init__(self):
|
|
23
|
+
super().__init__()
|
|
24
|
+
self.__create_cluster_response: Optional[
|
|
25
|
+
CreateClusterCreationRequestResponse
|
|
26
|
+
] = None
|
|
27
|
+
self.__create_cluster_error: Optional[grpc.StatusCode] = None
|
|
28
|
+
|
|
29
|
+
self.__get_cluster_state_response: Optional[GetClusterStateResponse] = None
|
|
30
|
+
self.__get_cluster_state_error: Optional[grpc.StatusCode] = None
|
|
31
|
+
|
|
32
|
+
self.__get_cluster_response: Optional[GetClusterResponse] = None
|
|
33
|
+
self.__get_cluster_error: Optional[grpc.StatusCode] = None
|
|
34
|
+
|
|
35
|
+
self.__list_clusters_response: Optional[ListClustersResponse] = None
|
|
36
|
+
self.__list_clusters_error: Optional[grpc.StatusCode] = None
|
|
37
|
+
|
|
38
|
+
self.__update_cluster_response: Optional[UpdateClusterConfigurationResponse] = (
|
|
39
|
+
None
|
|
40
|
+
)
|
|
41
|
+
self.__update_cluster_error: Optional[grpc.StatusCode] = None
|
|
42
|
+
|
|
43
|
+
self.__delete_cluster_response: Optional[DeleteClusterResponse] = None
|
|
44
|
+
self.__delete_cluster_error: Optional[grpc.StatusCode] = None
|
|
45
|
+
|
|
46
|
+
def given_create_cluster(
|
|
47
|
+
self,
|
|
48
|
+
response: Optional[CreateClusterCreationRequestResponse] = None,
|
|
49
|
+
error_code: Optional[grpc.StatusCode] = None,
|
|
50
|
+
):
|
|
51
|
+
self.__create_cluster_response = response
|
|
52
|
+
self.__create_cluster_error = error_code
|
|
53
|
+
|
|
54
|
+
def given_get_cluster_state(
|
|
55
|
+
self,
|
|
56
|
+
response: Optional[GetClusterStateResponse] = None,
|
|
57
|
+
error_code: Optional[grpc.StatusCode] = None,
|
|
58
|
+
):
|
|
59
|
+
self.__get_cluster_state_response = response
|
|
60
|
+
self.__get_cluster_state_error = error_code
|
|
61
|
+
|
|
62
|
+
def given_get_cluster(
|
|
63
|
+
self,
|
|
64
|
+
response: Optional[GetClusterResponse] = None,
|
|
65
|
+
error_code: Optional[grpc.StatusCode] = None,
|
|
66
|
+
):
|
|
67
|
+
self.__get_cluster_response = response
|
|
68
|
+
self.__get_cluster_error = error_code
|
|
69
|
+
|
|
70
|
+
def given_list_clusters(
|
|
71
|
+
self,
|
|
72
|
+
response: Optional[ListClustersResponse] = None,
|
|
73
|
+
error_code: Optional[grpc.StatusCode] = None,
|
|
74
|
+
):
|
|
75
|
+
self.__list_clusters_response = response
|
|
76
|
+
self.__list_clusters_error = error_code
|
|
77
|
+
|
|
78
|
+
def given_update_cluster(
|
|
79
|
+
self,
|
|
80
|
+
response: Optional[UpdateClusterConfigurationResponse] = None,
|
|
81
|
+
error_code: Optional[grpc.StatusCode] = None,
|
|
82
|
+
):
|
|
83
|
+
self.__update_cluster_response = response
|
|
84
|
+
self.__update_cluster_error = error_code
|
|
85
|
+
|
|
86
|
+
def given_delete_cluster(
|
|
87
|
+
self,
|
|
88
|
+
response: Optional[DeleteClusterResponse] = None,
|
|
89
|
+
error_code: Optional[grpc.StatusCode] = None,
|
|
90
|
+
):
|
|
91
|
+
self.__delete_cluster_response = response
|
|
92
|
+
self.__delete_cluster_error = error_code
|
|
93
|
+
|
|
94
|
+
def CreateClusterCreationRequest(self, request, context):
|
|
95
|
+
if self.__create_cluster_error:
|
|
96
|
+
context.set_code(self.__create_cluster_error)
|
|
97
|
+
context.set_details("Failed to create cluster")
|
|
98
|
+
return CreateClusterCreationRequestResponse()
|
|
99
|
+
if self.__create_cluster_response:
|
|
100
|
+
return self.__create_cluster_response
|
|
101
|
+
return CreateClusterCreationRequestResponse(request_id="mock-request-id")
|
|
102
|
+
|
|
103
|
+
def GetClusterState(self, request, context):
|
|
104
|
+
if self.__get_cluster_state_error:
|
|
105
|
+
context.set_code(self.__get_cluster_state_error)
|
|
106
|
+
context.set_details("Failed to get cluster state")
|
|
107
|
+
return GetClusterStateResponse()
|
|
108
|
+
if self.__get_cluster_state_response:
|
|
109
|
+
return self.__get_cluster_state_response
|
|
110
|
+
return GetClusterStateResponse(cluster_state=ClusterState())
|
|
111
|
+
|
|
112
|
+
def GetCluster(self, request, context):
|
|
113
|
+
if self.__get_cluster_error:
|
|
114
|
+
context.set_code(self.__get_cluster_error)
|
|
115
|
+
context.set_details("Failed to get cluster")
|
|
116
|
+
return GetClusterResponse()
|
|
117
|
+
if self.__get_cluster_response:
|
|
118
|
+
return self.__get_cluster_response
|
|
119
|
+
return GetClusterResponse(cluster_state=ClusterState())
|
|
120
|
+
|
|
121
|
+
def ListClusters(self, request, context):
|
|
122
|
+
if self.__list_clusters_error:
|
|
123
|
+
context.set_code(self.__list_clusters_error)
|
|
124
|
+
context.set_details("Failed to list clusters")
|
|
125
|
+
return ListClustersResponse()
|
|
126
|
+
if self.__list_clusters_response:
|
|
127
|
+
return self.__list_clusters_response
|
|
128
|
+
return ListClustersResponse()
|
|
129
|
+
|
|
130
|
+
def UpdateClusterConfiguration(self, request, context):
|
|
131
|
+
if self.__update_cluster_error:
|
|
132
|
+
context.set_code(self.__update_cluster_error)
|
|
133
|
+
context.set_details("Failed to update cluster")
|
|
134
|
+
return UpdateClusterConfigurationResponse()
|
|
135
|
+
if self.__update_cluster_response:
|
|
136
|
+
return self.__update_cluster_response
|
|
137
|
+
return UpdateClusterConfigurationResponse(request_id="mock-request-id")
|
|
138
|
+
|
|
139
|
+
def DeleteCluster(self, request, context):
|
|
140
|
+
if self.__delete_cluster_error:
|
|
141
|
+
context.set_code(self.__delete_cluster_error)
|
|
142
|
+
context.set_details("Failed to delete cluster")
|
|
143
|
+
return DeleteClusterResponse()
|
|
144
|
+
if self.__delete_cluster_response:
|
|
145
|
+
return self.__delete_cluster_response
|
|
146
|
+
return DeleteClusterResponse(request_id="mock-request-id")
|