Skip to content

Commit 491d184

Browse files
committed
feat(ys): continue wip
1 parent 5d5c77c commit 491d184

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

yardstiq_scaleway/plugin_loader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
from .scaleway_provider import ScalewayProvider
1+
from .scaleway_provider import ScalewayProvider
Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
from typing import Any, Dict, List
22

33
from yardstiq.core import provider, Provider, Backend
4+
from yardstiq.objects import BackendRunResult, ComputationModel
45

56
from scaleway_qaas_client.v1alpha1 import QaaSClient, QaaSPlatform
67

78

9+
class ScalewayBackend(Backend):
10+
def __init__(self, platform: QaaSPlatform, provider: "ScalewayProvider"):
11+
super().__init__(provider=provider)
12+
13+
self.platform = platform
14+
15+
def run(model: ComputationModel) -> BackendRunResult:
16+
pass
17+
18+
819
@provider("scaleway")
920
class ScalewayProvider(Provider):
1021
def __init__(self, **kwargs):
@@ -14,17 +25,19 @@ def __init__(self, **kwargs):
1425
project_id = kwargs.get("scaleway_project_id", None)
1526
api_url = kwargs.get("scaleway_api_url", None)
1627

17-
self.__client = QaaSClient(project_id=project_id, secret_key=secret_key, url=api_url)
28+
self.__client = QaaSClient(
29+
project_id=project_id, secret_key=secret_key, url=api_url
30+
)
1831

19-
def get_backend(self, name : str) -> Backend:
32+
def get_backend(self, name: str) -> ScalewayBackend:
2033
platforms = self.__client.list_platforms(name=name)
2134

2235
if not platforms or len(platforms) == 0:
2336
raise ValueError(f"Backend '{name}' not found in Scaleway providers")
2437

2538
return self._platform_to_backend(self, platforms[0])
2639

27-
def list_backends(self) -> List[Backend]:
40+
def list_backends(self) -> List[ScalewayBackend]:
2841
platforms = self.__client.list_platforms()
2942

3043
if not platforms:
@@ -35,5 +48,5 @@ def list_backends(self) -> List[Backend]:
3548

3649
return list(map(lambda p: self._platform_to_backend(p), platforms))
3750

38-
def _platform_to_backend(self, platform: QaaSPlatform) -> Backend:
39-
return Backend(provider=self)
51+
def _platform_to_backend(self, platform: QaaSPlatform) -> ScalewayBackend:
52+
return ScalewayBackend(provider=self)

0 commit comments

Comments
 (0)