yellowdog-sdk 9.4.0__py3-none-any.whl → 9.5.0__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.
- yellowdog_client/_version.py +1 -1
- yellowdog_client/namespaces/namespaces_client.py +44 -1
- yellowdog_client/namespaces/namespaces_client_impl.py +18 -1
- yellowdog_client/namespaces/namespaces_service_proxy.py +19 -1
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.5.0.dist-info}/METADATA +1 -1
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.5.0.dist-info}/RECORD +9 -9
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.5.0.dist-info}/WHEEL +0 -0
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.5.0.dist-info}/licenses/LICENSE +0 -0
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.5.0.dist-info}/top_level.txt +0 -0
yellowdog_client/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '9.
|
|
1
|
+
__version__ = '9.5.0' # YEL-13674
|
|
@@ -3,12 +3,55 @@ from __future__ import annotations
|
|
|
3
3
|
from abc import ABC, abstractmethod
|
|
4
4
|
|
|
5
5
|
from yellowdog_client.common import Closeable, SearchClient
|
|
6
|
-
from yellowdog_client.model import NamespacePolicy, NamespacePolicySearch
|
|
6
|
+
from yellowdog_client.model import CreateNamespaceRequest, Namespace, NamespacePolicy, NamespacePolicySearch, NamespaceSearch
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class NamespacesClient(ABC, Closeable):
|
|
10
10
|
"""The API interface exposed by the YellowDog Namespaces Service"""
|
|
11
11
|
|
|
12
|
+
@abstractmethod
|
|
13
|
+
def get_namespace(self, namespace_id: str) -> Namespace:
|
|
14
|
+
"""
|
|
15
|
+
Gets the namespace with a matching ID.
|
|
16
|
+
|
|
17
|
+
:param namespace_id: the namespace ID
|
|
18
|
+
:return: the namespace
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
pass
|
|
22
|
+
|
|
23
|
+
@abstractmethod
|
|
24
|
+
def get_namespaces(self, search: NamespaceSearch) -> SearchClient[Namespace]:
|
|
25
|
+
"""
|
|
26
|
+
Returns a search client for namespaces that match the NamespaceSearch parameter.
|
|
27
|
+
|
|
28
|
+
:param search: the search object to filter and sort results
|
|
29
|
+
:return: a search client for matching namespaces
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
pass
|
|
33
|
+
|
|
34
|
+
@abstractmethod
|
|
35
|
+
def create_namespace(self, request: CreateNamespaceRequest) -> str:
|
|
36
|
+
"""
|
|
37
|
+
Creates a namespace.
|
|
38
|
+
|
|
39
|
+
:param request: the request containing the data to create the namespace
|
|
40
|
+
:return: the namespace ID
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
@abstractmethod
|
|
46
|
+
def delete_namespace(self, namespace_id: str) -> None:
|
|
47
|
+
"""
|
|
48
|
+
Deletes a namespace.
|
|
49
|
+
|
|
50
|
+
:param namespace_id: the ID of the namespace to delete
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
pass
|
|
54
|
+
|
|
12
55
|
@abstractmethod
|
|
13
56
|
def save_namespace_policy(self, namespace_policy: NamespacePolicy) -> None:
|
|
14
57
|
"""
|
|
@@ -3,13 +3,30 @@ from typing import Callable
|
|
|
3
3
|
from .namespaces_client import NamespacesClient
|
|
4
4
|
from .namespaces_service_proxy import NamespacesServiceProxy
|
|
5
5
|
from yellowdog_client.common import SearchClient
|
|
6
|
-
from yellowdog_client.model import NamespacePolicy, NamespacePolicySearch, Slice, SliceReference
|
|
6
|
+
from yellowdog_client.model import NamespacePolicy, NamespacePolicySearch, Slice, SliceReference, \
|
|
7
|
+
CreateNamespaceRequest, Namespace, NamespaceSearch
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class NamespacesClientImpl(NamespacesClient):
|
|
10
11
|
def __init__(self, service_proxy: NamespacesServiceProxy) -> None:
|
|
11
12
|
self.__service_proxy = service_proxy
|
|
12
13
|
|
|
14
|
+
def get_namespace(self, namespace_id: str) -> Namespace:
|
|
15
|
+
return self.__service_proxy.get_namespace(namespace_id)
|
|
16
|
+
|
|
17
|
+
def get_namespaces(self, search: NamespaceSearch) -> SearchClient[Namespace]:
|
|
18
|
+
get_next_slice_function: Callable[[SliceReference], Slice[Namespace]] = \
|
|
19
|
+
lambda slice_reference: self.__service_proxy.search_namespaces(search, slice_reference)
|
|
20
|
+
|
|
21
|
+
return SearchClient(get_next_slice_function)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def create_namespace(self, request: CreateNamespaceRequest) -> str:
|
|
25
|
+
return self.__service_proxy.create_namespace(request)
|
|
26
|
+
|
|
27
|
+
def delete_namespace(self, namespace_id: str):
|
|
28
|
+
self.__service_proxy.delete_namespace(namespace_id)
|
|
29
|
+
|
|
13
30
|
def save_namespace_policy(self, namespace_policy: NamespacePolicy) -> None:
|
|
14
31
|
self.__service_proxy.save_namespace_policy(namespace_policy)
|
|
15
32
|
|
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
from yellowdog_client.common import Proxy
|
|
2
|
-
from yellowdog_client.
|
|
2
|
+
from yellowdog_client.common.json import Json
|
|
3
|
+
from yellowdog_client.model import NamespacePolicy, NamespacePolicySearch, SliceReference, Slice, \
|
|
4
|
+
CreateNamespaceRequest, Namespace, NamespaceSearch
|
|
3
5
|
|
|
4
6
|
|
|
5
7
|
class NamespacesServiceProxy:
|
|
6
8
|
def __init__(self, proxy: Proxy) -> None:
|
|
7
9
|
self._proxy: Proxy = proxy.append_base_url("/namespaces/")
|
|
8
10
|
|
|
11
|
+
def get_namespace(self, namespace_id: str) -> Namespace:
|
|
12
|
+
return self._proxy.get(return_type=Namespace, url=namespace_id)
|
|
13
|
+
|
|
14
|
+
def search_namespaces(
|
|
15
|
+
self,
|
|
16
|
+
search: NamespaceSearch,
|
|
17
|
+
slice_reference: SliceReference
|
|
18
|
+
) -> Slice[Namespace]:
|
|
19
|
+
return self._proxy.get(return_type=Slice[Namespace], params=self._proxy.to_params(search, slice_reference))
|
|
20
|
+
|
|
21
|
+
def create_namespace(self, request: CreateNamespaceRequest) -> str:
|
|
22
|
+
return self._proxy.raw_execute(method='POST', json=Json.dump(request)).text
|
|
23
|
+
|
|
24
|
+
def delete_namespace(self, namespace_id: str):
|
|
25
|
+
return self._proxy.delete(url=f"/{namespace_id}")
|
|
26
|
+
|
|
9
27
|
def save_namespace_policy(self, namespace_policy: NamespacePolicy) -> None:
|
|
10
28
|
return self._proxy.put(url=f"{namespace_policy.namespace}/policy", data=namespace_policy)
|
|
11
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
yellowdog_client/__init__.py,sha256=xHGTw5UbjkeEl_hC8_gJCacfji6462qJWD1nvJdFssE,13162
|
|
3
|
-
yellowdog_client/_version.py,sha256=
|
|
3
|
+
yellowdog_client/_version.py,sha256=KOrXGVqNLM-qQVLLWjJIn0D075G0KGTmWmvBn--LfNk,34
|
|
4
4
|
yellowdog_client/client_collection.py,sha256=VSEzjf6iR1qCQ0YGLyDq_Kgvw8r832QDwTp6-MLB4Vs,388
|
|
5
5
|
yellowdog_client/platform_client.py,sha256=yCzKsOQKllnfzwP9bG-JGtvOdvY7EaEQzFsgX3ERzVY,7476
|
|
6
6
|
yellowdog_client/account/__init__.py,sha256=DiLL3uSMyVlAKWsncX0k5Ioc2hw87HQoEkSYO0ro0fg,456
|
|
@@ -392,9 +392,9 @@ yellowdog_client/model/exceptions/session_close_exception.py,sha256=MyR8SUNioWh_
|
|
|
392
392
|
yellowdog_client/model/exceptions/session_not_found_exception.py,sha256=2afDI5Ff00sYRJ2ZIr7ynq6DoA0xZda0_YboISc8ujU,286
|
|
393
393
|
yellowdog_client/model/exceptions/unknown_exception.py,sha256=RhLAommtxskrJO14-zCyltzVtaSh9rYxFJ8byrK1GUk,261
|
|
394
394
|
yellowdog_client/namespaces/__init__.py,sha256=lgPlMSE_AU6ea6Zt15q2zyLWkIiFl0CEXeNd_UI3KPY,263
|
|
395
|
-
yellowdog_client/namespaces/namespaces_client.py,sha256=
|
|
396
|
-
yellowdog_client/namespaces/namespaces_client_impl.py,sha256=
|
|
397
|
-
yellowdog_client/namespaces/namespaces_service_proxy.py,sha256=
|
|
395
|
+
yellowdog_client/namespaces/namespaces_client.py,sha256=9O1K0ON8sYnOdgRuSVlp1xqYAmd9qs0AxtgWHK4xB8A,2580
|
|
396
|
+
yellowdog_client/namespaces/namespaces_client_impl.py,sha256=1liR-XVg9EyCZTOto3OQAQxAnGkKGGFFZa5ghgEwwyE,2010
|
|
397
|
+
yellowdog_client/namespaces/namespaces_service_proxy.py,sha256=IYoCGc9XmWTr5YAcDt_vFI1DToSsIB6T7L7Izb2Qzuc,1781
|
|
398
398
|
yellowdog_client/object_store/__init__.py,sha256=qAthNBl1jEziG7MK3o2VbLO1Rb4AUW5Q17eLW5DIlTU,272
|
|
399
399
|
yellowdog_client/object_store/object_store_client.py,sha256=mhPmCXsMP5x1coiDic17KniJ5lV7Zg_5nhOSj1ZLibo,16361
|
|
400
400
|
yellowdog_client/object_store/object_store_service_proxy.py,sha256=izoxh0ij9jlmkx4lmc2Sqg4Bj0nPvB14FNFwVhn8iZw,6273
|
|
@@ -468,8 +468,8 @@ yellowdog_client/usage/__init__.py,sha256=XQwRJqTdxKZa1QUTsxBEL0TqQJeQHGyPklFeqc
|
|
|
468
468
|
yellowdog_client/usage/allowances_client.py,sha256=H6n63jXjT4OwuWJgFUXSjSmvGTZz9uspy3kj3upinaA,1337
|
|
469
469
|
yellowdog_client/usage/allowances_client_impl.py,sha256=nQPnSzJKhL3WvyCn5fmiDkwE84xZryH9YvV5Z1GjU4M,2061
|
|
470
470
|
yellowdog_client/usage/allowances_service_proxy.py,sha256=uO6LWnpjIzUcZTGdOxPXn7SyYX7NMRqO5KUiHUGr490,1320
|
|
471
|
-
yellowdog_sdk-9.
|
|
472
|
-
yellowdog_sdk-9.
|
|
473
|
-
yellowdog_sdk-9.
|
|
474
|
-
yellowdog_sdk-9.
|
|
475
|
-
yellowdog_sdk-9.
|
|
471
|
+
yellowdog_sdk-9.5.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
472
|
+
yellowdog_sdk-9.5.0.dist-info/METADATA,sha256=KjIaWiwVtFqySGS_IESaGX2yI-GrOmyqCgBaK7f8AH0,3238
|
|
473
|
+
yellowdog_sdk-9.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
474
|
+
yellowdog_sdk-9.5.0.dist-info/top_level.txt,sha256=6PH16DcoqpYHhQ5A0UJOjf0tg-1rTrNC9C2CLqCMuFo,26
|
|
475
|
+
yellowdog_sdk-9.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|