yellowdog-sdk 9.4.0__py3-none-any.whl → 9.6.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/model/access_delegate.py +2 -2
- yellowdog_client/model/permission.py +8 -3
- yellowdog_client/model/role.py +2 -2
- 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.6.0.dist-info}/METADATA +1 -1
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.6.0.dist-info}/RECORD +12 -14
- yellowdog_client/model/password_state.py +0 -9
- yellowdog_client/model/work_requirement_status_count.py +0 -11
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.6.0.dist-info}/WHEEL +0 -0
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.6.0.dist-info}/licenses/LICENSE +0 -0
- {yellowdog_sdk-9.4.0.dist-info → yellowdog_sdk-9.6.0.dist-info}/top_level.txt +0 -0
yellowdog_client/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '9.
|
|
1
|
+
__version__ = '9.6.0' # YEL-13736
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
2
|
from datetime import datetime
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import List, Optional
|
|
4
4
|
|
|
5
5
|
from .identified import Identified
|
|
6
6
|
from .permission import Permission
|
|
@@ -14,4 +14,4 @@ class AccessDelegate(Identified):
|
|
|
14
14
|
subject: Optional[str] = None
|
|
15
15
|
description: Optional[str] = None
|
|
16
16
|
createdTime: Optional[datetime] = None
|
|
17
|
-
requiredPermissions: Optional[
|
|
17
|
+
requiredPermissions: Optional[List[Permission]] = None
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from enum import Enum
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import List
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class Permission(Enum):
|
|
@@ -24,7 +24,8 @@ class Permission(Enum):
|
|
|
24
24
|
COMPUTE_REQUIREMENT_WRITE = "COMPUTE_REQUIREMENT_WRITE", "Write Compute Requirements", COMPUTE_READ
|
|
25
25
|
COMPUTE_SOURCE_TEMPLATE_WRITE = "COMPUTE_SOURCE_TEMPLATE_WRITE", "Write Compute Source Templates", COMPUTE_READ
|
|
26
26
|
COMPUTE_USAGE_READ = "COMPUTE_USAGE_READ", "Read Compute Usage Data", None
|
|
27
|
-
|
|
27
|
+
COMPUTE_USER_ATTRIBUTE_READ = "COMPUTE_USER_ATTRIBUTE_READ", "Read Compute User Attributes", COMPUTE_READ
|
|
28
|
+
COMPUTE_USER_ATTRIBUTE_WRITE = "COMPUTE_USER_ATTRIBUTE_WRITE", "Write Compute User Attributes", COMPUTE_USER_ATTRIBUTE_READ
|
|
28
29
|
IMAGE_READ = "IMAGE_READ", "Read Images", None
|
|
29
30
|
IMAGE_WRITE = "IMAGE_WRITE", "Write Images", IMAGE_READ
|
|
30
31
|
KEYRING_READ = "KEYRING_READ", "Read Keyrings", None
|
|
@@ -35,6 +36,9 @@ class Permission(Enum):
|
|
|
35
36
|
METRICS_WRITE = "METRICS_WRITE", "Write Metrics", METRICS_READ
|
|
36
37
|
NAMESPACE_READ = "NAMESPACE_READ", "Read Namespaces", None
|
|
37
38
|
NAMESPACE_WRITE = "NAMESPACE_WRITE", "Write Namespaces", NAMESPACE_READ
|
|
39
|
+
ACCOUNT_NAMESPACE_WRITE = "ACCOUNT_NAMESPACE_WRITE", "Write Account Namespaces", NAMESPACE_READ
|
|
40
|
+
NAMESPACE_POLICY_READ = "NAMESPACE_POLICY_READ", "Read Namespace Policies", NAMESPACE_READ
|
|
41
|
+
NAMESPACE_POLICY_WRITE = "NAMESPACE_POLICY_WRITE", "Write Namespace Policies", NAMESPACE_POLICY_READ
|
|
38
42
|
OBJECT_STORAGE_CONFIGURATION_READ = "OBJECT_STORAGE_CONFIGURATION_READ", "Read Object Storage Configurations", None
|
|
39
43
|
OBJECT_STORAGE_CONFIGURATION_WRITE = "OBJECT_STORAGE_CONFIGURATION_WRITE", "Write Object Storage Configurations", OBJECT_STORAGE_CONFIGURATION_READ
|
|
40
44
|
OBJECT_READ = "OBJECT_READ", "Read Objects", OBJECT_STORAGE_CONFIGURATION_READ
|
|
@@ -43,10 +47,11 @@ class Permission(Enum):
|
|
|
43
47
|
WORK_REQUIREMENT_WRITE = "WORK_REQUIREMENT_WRITE", "Write Work Requirements", WORK_REQUIREMENT_READ
|
|
44
48
|
WORKER_POOL_READ = "WORKER_POOL_READ", "Read Worker Pools", None
|
|
45
49
|
WORKER_POOL_WRITE = "WORKER_POOL_WRITE", "Write Worker Pools", WORKER_POOL_READ
|
|
50
|
+
WORKER_POOL_WORKER_WRITE = "WORKER_POOL_WORKER_WRITE", "Write Worker Pool Workers", WORKER_POOL_READ
|
|
46
51
|
WORKER_POOL_TOKEN_READ = "WORKER_POOL_TOKEN_READ", "Read Worker Pool Tokens", None
|
|
47
52
|
WORKER_POOL_TOKEN_WRITE = "WORKER_POOL_TOKEN_WRITE", "Write Worker Pool Tokens", WORKER_POOL_READ
|
|
48
53
|
|
|
49
|
-
def __new__(cls, value, title: str, includes:
|
|
54
|
+
def __new__(cls, value, title: str, includes: List[Permission]):
|
|
50
55
|
obj = object.__new__(cls)
|
|
51
56
|
obj._value_ = value
|
|
52
57
|
obj.title = title
|
yellowdog_client/model/role.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import List, Optional
|
|
3
3
|
|
|
4
4
|
from .identified import Identified
|
|
5
5
|
from .permission import Permission
|
|
@@ -9,5 +9,5 @@ from .permission import Permission
|
|
|
9
9
|
class Role(Identified):
|
|
10
10
|
id: Optional[str] = field(default=None, init=False)
|
|
11
11
|
name: str
|
|
12
|
-
permissions:
|
|
12
|
+
permissions: List[Permission]
|
|
13
13
|
description: Optional[str] = None
|
|
@@ -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=Q1W7qBxYiF57UPtabTKa4otneRr6siOb7KLAwx8Gwqc,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
|
|
@@ -54,7 +54,7 @@ yellowdog_client/images/page.py,sha256=UIvlxvzdcfnKvbcq2Cn6IB7ZtQMc3dzcBTUfElvVP
|
|
|
54
54
|
yellowdog_client/images/pageable.py,sha256=msD8uGGJ2F5jEqTNDYaFrh6z6drlxOXZ1AmB0T3edM0,296
|
|
55
55
|
yellowdog_client/images/sort.py,sha256=YS05DlIRg1Cm3QLBi6KFjFdB3g-b3WrqFFitlMJUEMM,167
|
|
56
56
|
yellowdog_client/model/__init__.py,sha256=fyaODrUKYeKsX0-ZBnq1-gBNMgRFjqzYmrHjl0QJ8Oc,26403
|
|
57
|
-
yellowdog_client/model/access_delegate.py,sha256=
|
|
57
|
+
yellowdog_client/model/access_delegate.py,sha256=gtJ8xfmHgnCv4WFeiqb7EMjTH9S-4hWA_G0Oco2ZpPc,570
|
|
58
58
|
yellowdog_client/model/account.py,sha256=r_-7J-JjjMcQPZzaQ4_o9y6XY7-GMPRLWt9mGOucYU0,394
|
|
59
59
|
yellowdog_client/model/account_allowance.py,sha256=c-MkSSRLB5Y5TMDZl5h5fipj4vzLLlO_AQXPeRJ0AYw,1021
|
|
60
60
|
yellowdog_client/model/account_authentication_properties.py,sha256=PAfH0b_u16tDabnmt9QqDratjzQCLdAcmuSM6WD0CxI,421
|
|
@@ -285,8 +285,7 @@ yellowdog_client/model/oci_instances_compute_source.py,sha256=p94ErZj4SKyWjs19Ne
|
|
|
285
285
|
yellowdog_client/model/oci_namespace_storage_configuration.py,sha256=YsbDhzC_FT1rQMeHEuYFpfZJSuiQKOwdGs72ksdF69g,408
|
|
286
286
|
yellowdog_client/model/okta_account_authentication_properties.py,sha256=geKiNqQfYaW__U10FjNeNS83Ro54ZdBxo15qj0yWqyw,328
|
|
287
287
|
yellowdog_client/model/operating_system_licence.py,sha256=nYL3U4d8pE1qtQlBrBPxJx7fUq6FWMAj--9lbya-Srs,347
|
|
288
|
-
yellowdog_client/model/
|
|
289
|
-
yellowdog_client/model/permission.py,sha256=n03FFYUzdltQnKrlZ-x8raE3OPfWtqT30tcdUKEOqPA,3868
|
|
288
|
+
yellowdog_client/model/permission.py,sha256=BjN8P63RFq4iG6TeYJFLPeB4_Wg1-BFBhei8d-Pd_FY,4400
|
|
290
289
|
yellowdog_client/model/permission_detail.py,sha256=ukTbqQgmU782PZJ7i0H2KAojgmRG4flzwR2ywZICOOQ,207
|
|
291
290
|
yellowdog_client/model/price.py,sha256=kPZw5VGPg5vKRXL5brX8eZrH_GePvlBhdfMsm5fF6Dc,194
|
|
292
291
|
yellowdog_client/model/processor_architecture.py,sha256=hkbyplz2R5SeVtINaB3CcU86yR64elm5qi9W48LHVms,157
|
|
@@ -301,7 +300,7 @@ yellowdog_client/model/region_search.py,sha256=mr61SruzGuJj02aI6gHE6cuXUUYwN7TEF
|
|
|
301
300
|
yellowdog_client/model/requirement_allowance.py,sha256=ovCvZlKFeosV3kNxtJyGD4W7NdKviPSSvuunHjEWs3E,1052
|
|
302
301
|
yellowdog_client/model/requirements_allowance.py,sha256=qp6MVWChl_RzrzslVrf2bOfUoSNsA3I4jlM0DLnlnJk,1197
|
|
303
302
|
yellowdog_client/model/retry_properties.py,sha256=cccJRb-r1PkUixb-V26GIGf1iOXBnnhl1HGLy_Yr-Q8,559
|
|
304
|
-
yellowdog_client/model/role.py,sha256=
|
|
303
|
+
yellowdog_client/model/role.py,sha256=EK87THjFL4wYnPlFcV2ind7motMefsDm9aAL9B2PrMI,325
|
|
305
304
|
yellowdog_client/model/role_search.py,sha256=SL8rngS-BWoqaZ4WtwiScS12Y7JOpfG-itbpPk7qxBc,332
|
|
306
305
|
yellowdog_client/model/role_summary.py,sha256=fkyZ_pLapNbQM67bSgX60kt20WN7hYCWA0j-1zwzIPc,202
|
|
307
306
|
yellowdog_client/model/run_specification.py,sha256=btk53yhHWKvTXxhbzTDS0NjXBf25fqjxPwkc303I15M,2711
|
|
@@ -360,7 +359,6 @@ yellowdog_client/model/work_requirement.py,sha256=4-kqhjS33HEjf62Z_GjcgVxHZ4Xa5c
|
|
|
360
359
|
yellowdog_client/model/work_requirement_dashboard_summary.py,sha256=BeiBs92lS1InDuYc4yt5uuWKhoNqlfdXkk3PmyinIuc,273
|
|
361
360
|
yellowdog_client/model/work_requirement_search.py,sha256=xQ6U7v7O0udd2LB79DjLzX4DqpuifIwzip7Uv17jU7Y,621
|
|
362
361
|
yellowdog_client/model/work_requirement_status.py,sha256=w_XCB-SDBJQjHnkM28UivdA53MVaAlDk0PzUcZyZYmk,1301
|
|
363
|
-
yellowdog_client/model/work_requirement_status_count.py,sha256=o1fH1l4fVzelxLAMj2fWJTVHe-9qYeIysGlVlmclsr8,265
|
|
364
362
|
yellowdog_client/model/work_requirement_summary.py,sha256=jEvsqI6IBykpP5_LAyoTiS5elHXfaQJ2Zj1FOwxQtMU,1374
|
|
365
363
|
yellowdog_client/model/worker.py,sha256=KqUNIYwy9F-R4eY3Vk2JkZIyhERE-2CxmQe-6JgkI5Q,964
|
|
366
364
|
yellowdog_client/model/worker_action.py,sha256=58HCgRGrOVIsz3aKPdwGrY51w5LQQwFlVPKBQ6808Wg,520
|
|
@@ -392,9 +390,9 @@ yellowdog_client/model/exceptions/session_close_exception.py,sha256=MyR8SUNioWh_
|
|
|
392
390
|
yellowdog_client/model/exceptions/session_not_found_exception.py,sha256=2afDI5Ff00sYRJ2ZIr7ynq6DoA0xZda0_YboISc8ujU,286
|
|
393
391
|
yellowdog_client/model/exceptions/unknown_exception.py,sha256=RhLAommtxskrJO14-zCyltzVtaSh9rYxFJ8byrK1GUk,261
|
|
394
392
|
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=
|
|
393
|
+
yellowdog_client/namespaces/namespaces_client.py,sha256=9O1K0ON8sYnOdgRuSVlp1xqYAmd9qs0AxtgWHK4xB8A,2580
|
|
394
|
+
yellowdog_client/namespaces/namespaces_client_impl.py,sha256=1liR-XVg9EyCZTOto3OQAQxAnGkKGGFFZa5ghgEwwyE,2010
|
|
395
|
+
yellowdog_client/namespaces/namespaces_service_proxy.py,sha256=IYoCGc9XmWTr5YAcDt_vFI1DToSsIB6T7L7Izb2Qzuc,1781
|
|
398
396
|
yellowdog_client/object_store/__init__.py,sha256=qAthNBl1jEziG7MK3o2VbLO1Rb4AUW5Q17eLW5DIlTU,272
|
|
399
397
|
yellowdog_client/object_store/object_store_client.py,sha256=mhPmCXsMP5x1coiDic17KniJ5lV7Zg_5nhOSj1ZLibo,16361
|
|
400
398
|
yellowdog_client/object_store/object_store_service_proxy.py,sha256=izoxh0ij9jlmkx4lmc2Sqg4Bj0nPvB14FNFwVhn8iZw,6273
|
|
@@ -468,8 +466,8 @@ yellowdog_client/usage/__init__.py,sha256=XQwRJqTdxKZa1QUTsxBEL0TqQJeQHGyPklFeqc
|
|
|
468
466
|
yellowdog_client/usage/allowances_client.py,sha256=H6n63jXjT4OwuWJgFUXSjSmvGTZz9uspy3kj3upinaA,1337
|
|
469
467
|
yellowdog_client/usage/allowances_client_impl.py,sha256=nQPnSzJKhL3WvyCn5fmiDkwE84xZryH9YvV5Z1GjU4M,2061
|
|
470
468
|
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.
|
|
469
|
+
yellowdog_sdk-9.6.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
470
|
+
yellowdog_sdk-9.6.0.dist-info/METADATA,sha256=YEy9ZAP42lEqbH8Tbg5PQpUawE1UXzi-AnE7o3V7FMY,3238
|
|
471
|
+
yellowdog_sdk-9.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
472
|
+
yellowdog_sdk-9.6.0.dist-info/top_level.txt,sha256=6PH16DcoqpYHhQ5A0UJOjf0tg-1rTrNC9C2CLqCMuFo,26
|
|
473
|
+
yellowdog_sdk-9.6.0.dist-info/RECORD,,
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass
|
|
2
|
-
from typing import Optional
|
|
3
|
-
|
|
4
|
-
from .work_requirement_status import WorkRequirementStatus
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
@dataclass
|
|
8
|
-
class WorkRequirementStatusCount:
|
|
9
|
-
errored: bool = False
|
|
10
|
-
status: Optional[WorkRequirementStatus] = None
|
|
11
|
-
count: int = 0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|