yellowdog-sdk 9.6.0__py3-none-any.whl → 10.0.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/account/account_client.py +2 -2
- yellowdog_client/account/account_client_impl.py +3 -3
- yellowdog_client/account/account_service_proxy.py +3 -3
- yellowdog_client/common/json/__init__.py +8 -2
- yellowdog_client/model/__init__.py +12 -0
- yellowdog_client/model/access_delegate.py +3 -3
- yellowdog_client/model/compute_requirement_dynamic_template.py +1 -0
- yellowdog_client/model/granted_permission_scope.py +10 -0
- yellowdog_client/model/granted_permissions.py +10 -0
- yellowdog_client/model/group_role.py +2 -0
- yellowdog_client/model/namespace_ref.py +7 -0
- yellowdog_client/model/permission.py +48 -46
- yellowdog_client/model/permission_detail.py +3 -0
- yellowdog_client/model/permission_scope.py +9 -0
- yellowdog_client/model/role_scope.py +8 -0
- yellowdog_client/model/role_scope_validator.py +6 -0
- yellowdog_client/model/user_portal_context.py +2 -0
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-10.0.0.dist-info}/METADATA +1 -1
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-10.0.0.dist-info}/RECORD +23 -17
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-10.0.0.dist-info}/WHEEL +0 -0
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-10.0.0.dist-info}/licenses/LICENSE +0 -0
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-10.0.0.dist-info}/top_level.txt +0 -0
yellowdog_client/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '
|
|
1
|
+
__version__ = '10.0.0' # YEL-13543
|
|
@@ -4,7 +4,7 @@ from abc import ABC, abstractmethod
|
|
|
4
4
|
from typing import List
|
|
5
5
|
|
|
6
6
|
from yellowdog_client.common import Closeable, SearchClient
|
|
7
|
-
from yellowdog_client.model import AddApplicationRequest, AddApplicationResponse, AddGroupRequest, ApiKey, Application, ApplicationSearch, Group, GroupSearch, GroupSummary, PermissionDetail, Role, RoleSearch, UpdateApplicationRequest, UpdateGroupRequest, User, UserSearch
|
|
7
|
+
from yellowdog_client.model import AddApplicationRequest, AddApplicationResponse, AddGroupRequest, ApiKey, Application, ApplicationSearch, Group, GroupSearch, GroupSummary, PermissionDetail, Role, RoleScope, RoleSearch, UpdateApplicationRequest, UpdateGroupRequest, User, UserSearch
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class AccountClient(ABC, Closeable):
|
|
@@ -99,7 +99,7 @@ class AccountClient(ABC, Closeable):
|
|
|
99
99
|
pass
|
|
100
100
|
|
|
101
101
|
@abstractmethod
|
|
102
|
-
def add_role_to_group(self, group_id: str, role_id: str) -> None:
|
|
102
|
+
def add_role_to_group(self, group_id: str, role_id: str, scope: RoleScope) -> None:
|
|
103
103
|
pass
|
|
104
104
|
|
|
105
105
|
@abstractmethod
|
|
@@ -5,7 +5,7 @@ from yellowdog_client.account.account_service_proxy import AccountServiceProxy
|
|
|
5
5
|
from yellowdog_client.common import SearchClient
|
|
6
6
|
from yellowdog_client.model import User, SliceReference, UserSearch, Slice, GroupSummary, Application, \
|
|
7
7
|
ApplicationSearch, UpdateApplicationRequest, AddApplicationResponse, AddApplicationRequest, ApiKey, \
|
|
8
|
-
PermissionDetail, Role, Group, AddGroupRequest, UpdateGroupRequest, GroupSearch, RoleSearch
|
|
8
|
+
PermissionDetail, Role, Group, AddGroupRequest, UpdateGroupRequest, GroupSearch, RoleSearch, RoleScope
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class AccountClientImpl(AccountClient):
|
|
@@ -105,8 +105,8 @@ class AccountClientImpl(AccountClient):
|
|
|
105
105
|
def add_application_to_group(self, group_id: str, application_id: str) -> None:
|
|
106
106
|
return self.__service_proxy.add_application_to_group(group_id, application_id)
|
|
107
107
|
|
|
108
|
-
def add_role_to_group(self, group_id: str, role_id: str) -> None:
|
|
109
|
-
return self.__service_proxy.add_role_to_group(group_id, role_id)
|
|
108
|
+
def add_role_to_group(self, group_id: str, role_id: str, scope: RoleScope) -> None:
|
|
109
|
+
return self.__service_proxy.add_role_to_group(group_id, role_id, scope)
|
|
110
110
|
|
|
111
111
|
def remove_user_from_group(self, group_id: str, user_id: str) -> None:
|
|
112
112
|
return self.__service_proxy.remove_user_from_group(group_id, user_id)
|
|
@@ -4,7 +4,7 @@ from yellowdog_client.common import Proxy
|
|
|
4
4
|
from yellowdog_client.model import UserSearch, SliceReference, Slice, GroupSummary, Application, \
|
|
5
5
|
UpdateApplicationRequest, AddApplicationRequest, AddApplicationResponse, ApiKey, ApplicationSearch, \
|
|
6
6
|
PermissionDetail, \
|
|
7
|
-
Role, RoleSearch, Group, AddGroupRequest, UpdateGroupRequest, GroupSearch, User
|
|
7
|
+
Role, RoleSearch, Group, AddGroupRequest, UpdateGroupRequest, GroupSearch, User, RoleScope
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class AccountServiceProxy:
|
|
@@ -104,8 +104,8 @@ class AccountServiceProxy:
|
|
|
104
104
|
def add_application_to_group(self, group_id: str, application_id: str) -> None:
|
|
105
105
|
return self.proxy.put(url="groups/%s/applications/%s" % (group_id, application_id))
|
|
106
106
|
|
|
107
|
-
def add_role_to_group(self, group_id: str, role_id: str) -> None:
|
|
108
|
-
return self.proxy.put(url="groups/%s/roles/%s" % (group_id, role_id))
|
|
107
|
+
def add_role_to_group(self, group_id: str, role_id: str, scope: RoleScope) -> None:
|
|
108
|
+
return self.proxy.put(data=scope, url="groups/%s/roles/%s" % (group_id, role_id))
|
|
109
109
|
|
|
110
110
|
def remove_user_from_group(self, group_id: str, user_id: str) -> None:
|
|
111
111
|
return self.proxy.delete("groups/%s/users/%s" % (group_id, user_id))
|
|
@@ -10,7 +10,6 @@ from jsons._compatibility_impl import get_union_params, get_naked_class
|
|
|
10
10
|
from jsons._load_impl import load
|
|
11
11
|
from jsons._dump_impl import dump
|
|
12
12
|
from typish import get_args
|
|
13
|
-
|
|
14
13
|
from yellowdog_client.model import Slice
|
|
15
14
|
from yellowdog_client.model.exceptions import BaseCustomException
|
|
16
15
|
from yellowdog_client.model.exceptions import ErrorType
|
|
@@ -99,6 +98,7 @@ def object_deserializer(value: dict, cls: type, **kwargs) -> object:
|
|
|
99
98
|
instance = naked_subclass.__new__(naked_subclass)
|
|
100
99
|
class_name = naked_subclass.__name__
|
|
101
100
|
for attr_name, attr_value in value.items():
|
|
101
|
+
attr_name = f"{attr_name}_" if attr_name in keywords else attr_name
|
|
102
102
|
try:
|
|
103
103
|
attr_type = type_hints[attr_name]
|
|
104
104
|
except KeyError:
|
|
@@ -156,6 +156,12 @@ jsons.set_deserializer(slice_deserializer, Slice)
|
|
|
156
156
|
jsons.set_deserializer(union_deserializer, (Union, Optional))
|
|
157
157
|
jsons.set_deserializer(object_deserializer, object, False)
|
|
158
158
|
|
|
159
|
+
keywords = {'global'}
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
def deserialization_key_transformer(key: str) -> str:
|
|
163
|
+
return key[:-1] if key[:-1] in keywords else key
|
|
164
|
+
|
|
159
165
|
|
|
160
166
|
class Json:
|
|
161
167
|
@classmethod
|
|
@@ -164,7 +170,7 @@ class Json:
|
|
|
164
170
|
|
|
165
171
|
@staticmethod
|
|
166
172
|
def dump(value: object) -> object:
|
|
167
|
-
return jsons.dump(value, strip_nulls=True, strip_privates=True, use_enum_name=True)
|
|
173
|
+
return jsons.dump(value, strip_nulls=True, strip_privates=True, use_enum_name=True, key_transformer=deserialization_key_transformer)
|
|
168
174
|
|
|
169
175
|
@classmethod
|
|
170
176
|
def loads(cls, value: str, value_class: Type[T]) -> T:
|
|
@@ -138,6 +138,8 @@ from .gcs_namespace_storage_configuration import GcsNamespaceStorageConfiguratio
|
|
|
138
138
|
from .google_cloud_credential import GoogleCloudCredential
|
|
139
139
|
from .grant_application_access_request import GrantApplicationAccessRequest
|
|
140
140
|
from .grant_user_access_request import GrantUserAccessRequest
|
|
141
|
+
from .granted_permission_scope import GrantedPermissionScope
|
|
142
|
+
from .granted_permissions import GrantedPermissions
|
|
141
143
|
from .group import Group
|
|
142
144
|
from .group_role import GroupRole
|
|
143
145
|
from .group_search import GroupSearch
|
|
@@ -186,6 +188,7 @@ from .namespace_autoscaling_capacity_response import NamespaceAutoscalingCapacit
|
|
|
186
188
|
from .namespace_objects_response import NamespaceObjectsResponse
|
|
187
189
|
from .namespace_policy import NamespacePolicy
|
|
188
190
|
from .namespace_policy_search import NamespacePolicySearch
|
|
191
|
+
from .namespace_ref import NamespaceRef
|
|
189
192
|
from .namespace_search import NamespaceSearch
|
|
190
193
|
from .namespace_storage_configuration import NamespaceStorageConfiguration
|
|
191
194
|
from .new_password_request import NewPasswordRequest
|
|
@@ -231,6 +234,7 @@ from .okta_account_authentication_properties import OktaAccountAuthenticationPro
|
|
|
231
234
|
from .operating_system_licence import OperatingSystemLicence
|
|
232
235
|
from .permission import Permission
|
|
233
236
|
from .permission_detail import PermissionDetail
|
|
237
|
+
from .permission_scope import PermissionScope
|
|
234
238
|
from .price import Price
|
|
235
239
|
from .processor_architecture import ProcessorArchitecture
|
|
236
240
|
from .provider_node_summary import ProviderNodeSummary
|
|
@@ -245,6 +249,8 @@ from .requirement_allowance import RequirementAllowance
|
|
|
245
249
|
from .requirements_allowance import RequirementsAllowance
|
|
246
250
|
from .retry_properties import RetryProperties
|
|
247
251
|
from .role import Role
|
|
252
|
+
from .role_scope import RoleScope
|
|
253
|
+
from .role_scope_validator import RoleScopeValidator
|
|
248
254
|
from .role_search import RoleSearch
|
|
249
255
|
from .role_summary import RoleSummary
|
|
250
256
|
from .run_specification import RunSpecification
|
|
@@ -458,6 +464,8 @@ __all__ = [
|
|
|
458
464
|
"GoogleCloudCredential",
|
|
459
465
|
"GrantApplicationAccessRequest",
|
|
460
466
|
"GrantUserAccessRequest",
|
|
467
|
+
"GrantedPermissionScope",
|
|
468
|
+
"GrantedPermissions",
|
|
461
469
|
"Group",
|
|
462
470
|
"GroupRole",
|
|
463
471
|
"GroupSearch",
|
|
@@ -506,6 +514,7 @@ __all__ = [
|
|
|
506
514
|
"NamespaceObjectsResponse",
|
|
507
515
|
"NamespacePolicy",
|
|
508
516
|
"NamespacePolicySearch",
|
|
517
|
+
"NamespaceRef",
|
|
509
518
|
"NamespaceSearch",
|
|
510
519
|
"NamespaceStorageConfiguration",
|
|
511
520
|
"NewPasswordRequest",
|
|
@@ -551,6 +560,7 @@ __all__ = [
|
|
|
551
560
|
"OperatingSystemLicence",
|
|
552
561
|
"Permission",
|
|
553
562
|
"PermissionDetail",
|
|
563
|
+
"PermissionScope",
|
|
554
564
|
"Price",
|
|
555
565
|
"ProcessorArchitecture",
|
|
556
566
|
"ProviderNodeSummary",
|
|
@@ -565,6 +575,8 @@ __all__ = [
|
|
|
565
575
|
"RequirementsAllowance",
|
|
566
576
|
"RetryProperties",
|
|
567
577
|
"Role",
|
|
578
|
+
"RoleScope",
|
|
579
|
+
"RoleScopeValidator",
|
|
568
580
|
"RoleSearch",
|
|
569
581
|
"RoleSummary",
|
|
570
582
|
"RunSpecification",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
2
|
from datetime import datetime
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Optional
|
|
4
4
|
|
|
5
|
+
from .granted_permissions import GrantedPermissions
|
|
5
6
|
from .identified import Identified
|
|
6
|
-
from .permission import Permission
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
@dataclass
|
|
@@ -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
|
-
|
|
17
|
+
permissions: Optional[GrantedPermissions] = None
|
|
@@ -23,3 +23,4 @@ class ComputeRequirementDynamicTemplate(ComputeRequirementTemplate):
|
|
|
23
23
|
constraints: Optional[List[AttributeConstraint]] = None
|
|
24
24
|
preferences: Optional[List[AttributePreference]] = None
|
|
25
25
|
sourceTraits: Optional[ComputeSourceTraitsFilter] = None
|
|
26
|
+
sourceNamespaces: Optional[List[str]] = None
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import Dict, Optional
|
|
3
|
+
|
|
4
|
+
from .granted_permission_scope import GrantedPermissionScope
|
|
5
|
+
from .permission import Permission
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class GrantedPermissions:
|
|
10
|
+
permissions: Optional[Dict[Permission, GrantedPermissionScope]] = None
|
|
@@ -3,58 +3,60 @@ from __future__ import annotations
|
|
|
3
3
|
from enum import Enum
|
|
4
4
|
from typing import List
|
|
5
5
|
|
|
6
|
+
from .permission_scope import PermissionScope
|
|
7
|
+
|
|
6
8
|
|
|
7
9
|
class Permission(Enum):
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
WORKER_POOL_TOKEN_WRITE = "WORKER_POOL_TOKEN_WRITE", "Write Worker Pool Tokens", WORKER_POOL_READ
|
|
10
|
+
NAMESPACE_READ = "NAMESPACE_READ", "Read Namespaces", PermissionScope.NAMESPACED_OR_GLOBAL, None
|
|
11
|
+
COMPUTE_READ = "COMPUTE_READ", "Read Compute", PermissionScope.NAMESPACED_OR_GLOBAL, NAMESPACE_READ
|
|
12
|
+
COMPUTE_REQUIREMENT_TEMPLATE_WRITE = "COMPUTE_REQUIREMENT_TEMPLATE_WRITE", "Write Compute Requirement Templates", PermissionScope.NAMESPACED_OR_GLOBAL, COMPUTE_READ
|
|
13
|
+
COMPUTE_REQUIREMENT_WRITE = "COMPUTE_REQUIREMENT_WRITE", "Write Compute Requirements", PermissionScope.NAMESPACED_OR_GLOBAL, COMPUTE_READ
|
|
14
|
+
COMPUTE_SOURCE_TEMPLATE_WRITE = "COMPUTE_SOURCE_TEMPLATE_WRITE", "Write Compute Source Templates", PermissionScope.NAMESPACED_OR_GLOBAL, COMPUTE_READ
|
|
15
|
+
IMAGE_READ = "IMAGE_READ", "Read Images", PermissionScope.NAMESPACED_OR_GLOBAL, NAMESPACE_READ
|
|
16
|
+
IMAGE_WRITE = "IMAGE_WRITE", "Write Images", PermissionScope.NAMESPACED_OR_GLOBAL, IMAGE_READ
|
|
17
|
+
NAMESPACE_POLICY_READ = "NAMESPACE_POLICY_READ", "Read Namespace Policies", PermissionScope.NAMESPACED_OR_GLOBAL, NAMESPACE_READ
|
|
18
|
+
NAMESPACE_POLICY_WRITE = "NAMESPACE_POLICY_WRITE", "Write Namespace Policies", PermissionScope.NAMESPACED_OR_GLOBAL, NAMESPACE_POLICY_READ
|
|
19
|
+
WORK_REQUIREMENT_READ = "WORK_REQUIREMENT_READ", "Read Work Requirements", PermissionScope.NAMESPACED_OR_GLOBAL, NAMESPACE_READ
|
|
20
|
+
WORK_REQUIREMENT_WRITE = "WORK_REQUIREMENT_WRITE", "Write Work Requirements", PermissionScope.NAMESPACED_OR_GLOBAL, WORK_REQUIREMENT_READ
|
|
21
|
+
WORKER_POOL_READ = "WORKER_POOL_READ", "Read Worker Pools", PermissionScope.NAMESPACED_OR_GLOBAL, NAMESPACE_READ
|
|
22
|
+
WORKER_POOL_WRITE = "WORKER_POOL_WRITE", "Write Worker Pools", PermissionScope.NAMESPACED_OR_GLOBAL, WORKER_POOL_READ
|
|
23
|
+
WORKER_POOL_TOKEN_READ = "WORKER_POOL_TOKEN_READ", "Read Worker Pool Tokens", PermissionScope.NAMESPACED_OR_GLOBAL, WORKER_POOL_READ
|
|
24
|
+
WORKER_POOL_TOKEN_WRITE = "WORKER_POOL_TOKEN_WRITE", "Write Worker Pool Tokens", PermissionScope.NAMESPACED_OR_GLOBAL, WORKER_POOL_TOKEN_READ
|
|
25
|
+
WORKER_POOL_WORKER_WRITE = "WORKER_POOL_WORKER_WRITE", "Write Worker Pool Workers", PermissionScope.NAMESPACED_OR_GLOBAL, WORKER_POOL_READ
|
|
26
|
+
ACCOUNT_APPLICATION_READ = "ACCOUNT_APPLICATION_READ", "Read Account Applications", PermissionScope.GLOBAL_ONLY, None
|
|
27
|
+
ACCOUNT_APPLICATION_WRITE = "ACCOUNT_APPLICATION_WRITE", "Write Account Applications", PermissionScope.GLOBAL_ONLY, ACCOUNT_APPLICATION_READ
|
|
28
|
+
ACCOUNT_AUTH_PROPERTIES_READ = "ACCOUNT_AUTH_PROPERTIES_READ", "Read Account Authentication Properties", PermissionScope.GLOBAL_ONLY, None
|
|
29
|
+
ACCOUNT_AUTH_PROPERTIES_WRITE = "ACCOUNT_AUTH_PROPERTIES_WRITE", "Write Account Authentication Properties", PermissionScope.GLOBAL_ONLY, ACCOUNT_AUTH_PROPERTIES_READ
|
|
30
|
+
ACCOUNT_GROUP_READ = "ACCOUNT_GROUP_READ", "Read Account Groups", PermissionScope.GLOBAL_ONLY, None
|
|
31
|
+
ACCOUNT_GROUP_WRITE = "ACCOUNT_GROUP_WRITE", "Write Account Groups", PermissionScope.GLOBAL_ONLY, ACCOUNT_GROUP_READ
|
|
32
|
+
ACCOUNT_POLICY_READ = "ACCOUNT_POLICY_READ", "Read Account Policy", PermissionScope.GLOBAL_ONLY, None
|
|
33
|
+
ACCOUNT_POLICY_WRITE = "ACCOUNT_POLICY_WRITE", "Write Account Policy", PermissionScope.GLOBAL_ONLY, ACCOUNT_POLICY_READ
|
|
34
|
+
ACCOUNT_ROLE_READ = "ACCOUNT_ROLE_READ", "Read Account Roles", PermissionScope.GLOBAL_ONLY, None
|
|
35
|
+
ACCOUNT_ROLE_WRITE = "ACCOUNT_ROLE_WRITE", "Write Account Roles", PermissionScope.GLOBAL_ONLY, ACCOUNT_ROLE_READ
|
|
36
|
+
ACCOUNT_USER_READ = "ACCOUNT_USER_READ", "Read Account Users", PermissionScope.GLOBAL_ONLY, None
|
|
37
|
+
ACCOUNT_USER_WRITE = "ACCOUNT_USER_WRITE", "Write Account Users", PermissionScope.GLOBAL_ONLY, ACCOUNT_USER_READ
|
|
38
|
+
ACCOUNT_NAMESPACE_WRITE = "ACCOUNT_NAMESPACE_WRITE", "Write Account Namespaces", PermissionScope.GLOBAL_ONLY, NAMESPACE_READ
|
|
39
|
+
COMPUTE_ALLOWANCE_READ = "COMPUTE_ALLOWANCE_READ", "Read Compute Allowances", PermissionScope.GLOBAL_ONLY, None
|
|
40
|
+
COMPUTE_ALLOWANCE_WRITE = "COMPUTE_ALLOWANCE_WRITE", "Write Compute Allowances", PermissionScope.GLOBAL_ONLY, COMPUTE_ALLOWANCE_READ
|
|
41
|
+
COMPUTE_USER_ATTRIBUTE_READ = "COMPUTE_USER_ATTRIBUTE_READ", "Read Compute User Attributes", PermissionScope.GLOBAL_ONLY, None
|
|
42
|
+
COMPUTE_USER_ATTRIBUTE_WRITE = "COMPUTE_USER_ATTRIBUTE_WRITE", "Write Compute User Attributes", PermissionScope.GLOBAL_ONLY, COMPUTE_USER_ATTRIBUTE_READ
|
|
43
|
+
KEYRING_READ = "KEYRING_READ", "Read Keyrings", PermissionScope.GLOBAL_ONLY, None
|
|
44
|
+
KEYRING_WRITE = "KEYRING_WRITE", "Write Keyrings", PermissionScope.GLOBAL_ONLY, KEYRING_READ
|
|
45
|
+
KEYRING_ACCESS_WRITE = "KEYRING_ACCESS_WRITE", "Write Keyring Access", PermissionScope.GLOBAL_ONLY, KEYRING_READ
|
|
46
|
+
OBJECT_STORAGE_CONFIGURATION_READ = "OBJECT_STORAGE_CONFIGURATION_READ", "Read Object Storage Configurations", PermissionScope.GLOBAL_ONLY, None
|
|
47
|
+
OBJECT_STORAGE_CONFIGURATION_WRITE = "OBJECT_STORAGE_CONFIGURATION_WRITE", "Write Object Storage Configurations", PermissionScope.GLOBAL_ONLY, OBJECT_STORAGE_CONFIGURATION_READ
|
|
48
|
+
OBJECT_READ = "OBJECT_READ", "Read Objects", PermissionScope.GLOBAL_ONLY, OBJECT_STORAGE_CONFIGURATION_READ
|
|
49
|
+
OBJECT_WRITE = "OBJECT_WRITE", "Write Objects", PermissionScope.GLOBAL_ONLY, OBJECT_READ
|
|
50
|
+
METRICS_READ = "METRICS_READ", "Read Metrics", PermissionScope.GLOBAL_ONLY, None
|
|
51
|
+
METRICS_WRITE = "METRICS_WRITE", "Write Metrics", PermissionScope.GLOBAL_ONLY, METRICS_READ
|
|
52
|
+
LOG_READ = "LOG_READ", "Read Logs", PermissionScope.GLOBAL_ONLY, None
|
|
53
|
+
COMPUTE_USAGE_READ = "COMPUTE_USAGE_READ", "Read Compute Usage Data", PermissionScope.GLOBAL_ONLY, None
|
|
53
54
|
|
|
54
|
-
def __new__(cls, value, title: str, includes: List[Permission]):
|
|
55
|
+
def __new__(cls, value, title: str, scope: PermissionScope, includes: List[Permission]):
|
|
55
56
|
obj = object.__new__(cls)
|
|
56
57
|
obj._value_ = value
|
|
57
58
|
obj.title = title
|
|
59
|
+
obj.scope = scope
|
|
58
60
|
obj.includes = includes
|
|
59
61
|
return obj
|
|
60
62
|
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
from typing import Optional, Set
|
|
3
3
|
|
|
4
|
+
from .permission_scope import PermissionScope
|
|
5
|
+
|
|
4
6
|
|
|
5
7
|
@dataclass
|
|
6
8
|
class PermissionDetail:
|
|
7
9
|
name: Optional[str] = None
|
|
8
10
|
title: Optional[str] = None
|
|
9
11
|
includes: Optional[Set[str]] = None
|
|
12
|
+
scope: Optional[PermissionScope] = None
|
|
@@ -1,12 +1,12 @@
|
|
|
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=LEWciWA2eLPWbiDWzmZDmkbfJCnMvv12RcvFQGcgjwk,35
|
|
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
|
|
7
|
-
yellowdog_client/account/account_client.py,sha256=
|
|
8
|
-
yellowdog_client/account/account_client_impl.py,sha256=
|
|
9
|
-
yellowdog_client/account/account_service_proxy.py,sha256=
|
|
7
|
+
yellowdog_client/account/account_client.py,sha256=VhF22v5kRZ1OjWc9bwG8Ra4bWxMgKxOD6Yf3eQVEv70,3427
|
|
8
|
+
yellowdog_client/account/account_client_impl.py,sha256=AK49lLrB0uJetJdyQCP3mfPRhwTdRMc_ZlB6Fb_5Bcc,6057
|
|
9
|
+
yellowdog_client/account/account_service_proxy.py,sha256=BfJqnKKBJNCjt__LPSN0ZvPNnOViTi0gvzRzulIwwdc,5437
|
|
10
10
|
yellowdog_client/account/keyring_client.py,sha256=IFogh3LNNtL0cSbvbaEuhJ41UhtJbItyxm0AEnAaFMk,1125
|
|
11
11
|
yellowdog_client/account/keyring_client_impl.py,sha256=s_IltFtozR7lYdR9XNEZVj885pgJ0DoInv0B24GtblI,1665
|
|
12
12
|
yellowdog_client/account/keyring_service_proxy.py,sha256=8oK6lK3FxHOIbq--qcKSAd5bqkPGMN023CrX_Q8RKeI,1220
|
|
@@ -28,7 +28,7 @@ yellowdog_client/common/credentials/__init__.py,sha256=_KvuZpIO_TSSrJd6v1UrCtXOz
|
|
|
28
28
|
yellowdog_client/common/credentials/api_key_authentication_headers_provider.py,sha256=Spt8kYEW8_qy7RMLfIqjArntBcYhhZX9cxcjJbdcKfw,843
|
|
29
29
|
yellowdog_client/common/decorators/__init__.py,sha256=_Agup5QZbT3nnwNKBD38MaxRPXU58kaHrrFhrWOUGXw,76
|
|
30
30
|
yellowdog_client/common/decorators/dispatcher.py,sha256=NMGWHLAbm4gCjWoiQ6M6Nj78O3PlSKXpGUylmPhtf0s,244
|
|
31
|
-
yellowdog_client/common/json/__init__.py,sha256=
|
|
31
|
+
yellowdog_client/common/json/__init__.py,sha256=Ki_aSlal5RRfCLP3i-05n9y-CQVhlg5XY2zyKUD6_H8,6601
|
|
32
32
|
yellowdog_client/common/server_sent_events/__init__.py,sha256=4N8p9TNiCV1qyHqKML84BuHugIOmRYldzQPB4mHkO7o,507
|
|
33
33
|
yellowdog_client/common/server_sent_events/delegated_subscription_event_listener.py,sha256=6KKNE89fSG4cvpFza_X3416AJWh6eJj_lLmWy2GbALQ,1278
|
|
34
34
|
yellowdog_client/common/server_sent_events/subscription.py,sha256=eUfjQr88sY7TvLwbDyhBm3C9KOu9KmkCixhmt69OSyo,2980
|
|
@@ -53,8 +53,8 @@ yellowdog_client/images/images_service_proxy.py,sha256=eyP4u6FoIH1WJvNM_m8tacTCs
|
|
|
53
53
|
yellowdog_client/images/page.py,sha256=UIvlxvzdcfnKvbcq2Cn6IB7ZtQMc3dzcBTUfElvVPwQ,391
|
|
54
54
|
yellowdog_client/images/pageable.py,sha256=msD8uGGJ2F5jEqTNDYaFrh6z6drlxOXZ1AmB0T3edM0,296
|
|
55
55
|
yellowdog_client/images/sort.py,sha256=YS05DlIRg1Cm3QLBi6KFjFdB3g-b3WrqFFitlMJUEMM,167
|
|
56
|
-
yellowdog_client/model/__init__.py,sha256=
|
|
57
|
-
yellowdog_client/model/access_delegate.py,sha256=
|
|
56
|
+
yellowdog_client/model/__init__.py,sha256=2SX_I3myr1EI3qxiMc5KEuHtI9JvJ9n4QzSC51gcwk0,26831
|
|
57
|
+
yellowdog_client/model/access_delegate.py,sha256=jIW5P9jWG0LUirmci-rnHW_Lytv7dfKRJjAKwaLwvrU,575
|
|
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
|
|
@@ -132,7 +132,7 @@ yellowdog_client/model/cloud_provider.py,sha256=OXQJco__ZJk-a9lr13BB54AmiTdg64ot
|
|
|
132
132
|
yellowdog_client/model/compute_namespace_filter.py,sha256=ZDq9TrtAtjoW9io8eL2Oe9e6EaQ1SgM4hsHfYu_vDXw,256
|
|
133
133
|
yellowdog_client/model/compute_provision_strategy.py,sha256=AAhCn3zehsvJH9SRr5yJOLtsl_hkhgiD0PRS7MDeQJM,388
|
|
134
134
|
yellowdog_client/model/compute_requirement.py,sha256=j3KLMJF6Fi6RoNHvKyV_wHUAjgJAnYWFk2M6ijqMPFI,2937
|
|
135
|
-
yellowdog_client/model/compute_requirement_dynamic_template.py,sha256=
|
|
135
|
+
yellowdog_client/model/compute_requirement_dynamic_template.py,sha256=tu7t-etOkwZehBGJRVA3jSnqY5ADp0hOP_hCkCQ3-HU,1122
|
|
136
136
|
yellowdog_client/model/compute_requirement_dynamic_template_test_result.py,sha256=8n0F2rY5_KwBy_09T3txyRNQDpXuk1GU6Qua9fnIy5c,623
|
|
137
137
|
yellowdog_client/model/compute_requirement_search.py,sha256=0Eb9I_9N141FscOT9kUQSwj4X1wplmZsdAOGorUU9iA,553
|
|
138
138
|
yellowdog_client/model/compute_requirement_static_template.py,sha256=mBlu2CxRte4kDn55_OKd4nIbc1F9XbV_4O3Xalkjg3Y,715
|
|
@@ -194,8 +194,10 @@ yellowdog_client/model/gcs_namespace_storage_configuration.py,sha256=EqOV-0coFLg
|
|
|
194
194
|
yellowdog_client/model/google_cloud_credential.py,sha256=07zKLvBRwYQOUqIQXRaTDJhOJ6ktvGw8dCF0LpXvtMI,408
|
|
195
195
|
yellowdog_client/model/grant_application_access_request.py,sha256=d4FFwXw1rPSKBuoHhjrEcUV1rHOi35ZuRCV9HQ3LqFg,143
|
|
196
196
|
yellowdog_client/model/grant_user_access_request.py,sha256=p-z4aMPVuAcJMs-rkK25ZkgcZ4lxyklhazfJ2v2o7bI,99
|
|
197
|
+
yellowdog_client/model/granted_permission_scope.py,sha256=ISUvN4_Pq6Wd_s5FXvFqKWWhpPRrPlvWVaTQgfn4oOE,230
|
|
198
|
+
yellowdog_client/model/granted_permissions.py,sha256=b-hS_i_Y67zFjamYv4mxqJN1X6sM6F8uYrOBmWF8aWs,279
|
|
197
199
|
yellowdog_client/model/group.py,sha256=3x1XSB7jYo5mgJvTICAkJVcRSd3GDbHRWfzQkRIj7N0,364
|
|
198
|
-
yellowdog_client/model/group_role.py,sha256=
|
|
200
|
+
yellowdog_client/model/group_role.py,sha256=x3uqdr7hlrRqr9b7w9Di2-YRoeuLMyzgu1rUg6JzVog,220
|
|
199
201
|
yellowdog_client/model/group_search.py,sha256=KHr1_5AQQC39LZz503r_mf5i0BKB652hUnM5xbtlV3I,254
|
|
200
202
|
yellowdog_client/model/group_summary.py,sha256=QQgyJ6fqfNnBsFJEjAoGajQxZ1fKIcP8KmM1VR2CcbA,270
|
|
201
203
|
yellowdog_client/model/identified.py,sha256=bnH2hghJLlDBOJKKSozqmc5QRzQGDwFL2dlmkdL9zJA,182
|
|
@@ -242,6 +244,7 @@ yellowdog_client/model/namespace_autoscaling_capacity_response.py,sha256=p1Z0OUY
|
|
|
242
244
|
yellowdog_client/model/namespace_objects_response.py,sha256=icPFUDS5AaTGd0eJK1uRKt4cBHNE-TDFQVRIuH_ykh4,189
|
|
243
245
|
yellowdog_client/model/namespace_policy.py,sha256=90j_9G5xjMRLzdfjq3BeDOyxOiCECrRRvVoRkx2CEAU,163
|
|
244
246
|
yellowdog_client/model/namespace_policy_search.py,sha256=6RFeLBTccVMKzINijN3tuXEYulHPYkdb2-JSXRZOE2A,318
|
|
247
|
+
yellowdog_client/model/namespace_ref.py,sha256=4JDCK7DHNyx1b7b2kgu-QU6lUxvPQhEkaiPQz_qbSsI,98
|
|
245
248
|
yellowdog_client/model/namespace_search.py,sha256=aMv44U_Op74dItLv5q1YwMqQF_IKd5S7YWFogAbSWGY,349
|
|
246
249
|
yellowdog_client/model/namespace_storage_configuration.py,sha256=6JSDmRbrsWhJqOeqz3skdR8t2hlP40kvPoW0CV4hYbc,139
|
|
247
250
|
yellowdog_client/model/new_password_request.py,sha256=7zJkK_3GJde6QQidaxFaj49DKIQg52FTJrbmgdfTxrE,91
|
|
@@ -285,8 +288,9 @@ yellowdog_client/model/oci_instances_compute_source.py,sha256=p94ErZj4SKyWjs19Ne
|
|
|
285
288
|
yellowdog_client/model/oci_namespace_storage_configuration.py,sha256=YsbDhzC_FT1rQMeHEuYFpfZJSuiQKOwdGs72ksdF69g,408
|
|
286
289
|
yellowdog_client/model/okta_account_authentication_properties.py,sha256=geKiNqQfYaW__U10FjNeNS83Ro54ZdBxo15qj0yWqyw,328
|
|
287
290
|
yellowdog_client/model/operating_system_licence.py,sha256=nYL3U4d8pE1qtQlBrBPxJx7fUq6FWMAj--9lbya-Srs,347
|
|
288
|
-
yellowdog_client/model/permission.py,sha256=
|
|
289
|
-
yellowdog_client/model/permission_detail.py,sha256=
|
|
291
|
+
yellowdog_client/model/permission.py,sha256=IctnnmKiIzd846ZQNl2UTVkhRcfDPHjhR0pcPOehYkI,5891
|
|
292
|
+
yellowdog_client/model/permission_detail.py,sha256=5X8bDfPJCKler68wyRAIcLkkAvhu_899CV7Xa3DfJ50,298
|
|
293
|
+
yellowdog_client/model/permission_scope.py,sha256=PoRpCEQ233Xqgyf55JJNXtghQeefVhX47uPpGG8GmMg,191
|
|
290
294
|
yellowdog_client/model/price.py,sha256=kPZw5VGPg5vKRXL5brX8eZrH_GePvlBhdfMsm5fF6Dc,194
|
|
291
295
|
yellowdog_client/model/processor_architecture.py,sha256=hkbyplz2R5SeVtINaB3CcU86yR64elm5qi9W48LHVms,157
|
|
292
296
|
yellowdog_client/model/provider_node_summary.py,sha256=maYsTKxTR7jNjZDr_BNs23rV91k_WL44Q3BVXGdKFSk,307
|
|
@@ -301,6 +305,8 @@ yellowdog_client/model/requirement_allowance.py,sha256=ovCvZlKFeosV3kNxtJyGD4W7N
|
|
|
301
305
|
yellowdog_client/model/requirements_allowance.py,sha256=qp6MVWChl_RzrzslVrf2bOfUoSNsA3I4jlM0DLnlnJk,1197
|
|
302
306
|
yellowdog_client/model/retry_properties.py,sha256=cccJRb-r1PkUixb-V26GIGf1iOXBnnhl1HGLy_Yr-Q8,559
|
|
303
307
|
yellowdog_client/model/role.py,sha256=EK87THjFL4wYnPlFcV2ind7motMefsDm9aAL9B2PrMI,325
|
|
308
|
+
yellowdog_client/model/role_scope.py,sha256=381xdwSarxxOKR8SkQzTKL6DZk8fOa5whVk3VSon_TA,165
|
|
309
|
+
yellowdog_client/model/role_scope_validator.py,sha256=2u66BxCWJNX3k4DEUm5ixOtoOFupT2d7qsxi9U5k_ow,82
|
|
304
310
|
yellowdog_client/model/role_search.py,sha256=SL8rngS-BWoqaZ4WtwiScS12Y7JOpfG-itbpPk7qxBc,332
|
|
305
311
|
yellowdog_client/model/role_summary.py,sha256=fkyZ_pLapNbQM67bSgX60kt20WN7hYCWA0j-1zwzIPc,202
|
|
306
312
|
yellowdog_client/model/run_specification.py,sha256=btk53yhHWKvTXxhbzTDS0NjXBf25fqjxPwkc303I15M,2711
|
|
@@ -352,7 +358,7 @@ yellowdog_client/model/update_user_request.py,sha256=RpJRi6efqrX1ZE6pRLRC5J6fcNy
|
|
|
352
358
|
yellowdog_client/model/usage_type.py,sha256=vZKtclWVaGLeiHS-CYeDRAIj4hAt_gM-JyXzk8C484w,340
|
|
353
359
|
yellowdog_client/model/user.py,sha256=sS16xGlDC3BsFeCfWRhYUv9Wp3Do8unZMT_VLr1MEd8,253
|
|
354
360
|
yellowdog_client/model/user_login_request.py,sha256=dkDB05LDmX17eglFQu1LMD6LodI9t21OkUw8L_v-K-U,128
|
|
355
|
-
yellowdog_client/model/user_portal_context.py,sha256=
|
|
361
|
+
yellowdog_client/model/user_portal_context.py,sha256=VDkkSm1FpE6_IT0tDvYUy1RYYayg0zsp4B_czOoQ3bw,534
|
|
356
362
|
yellowdog_client/model/user_search.py,sha256=XHEx0_yIqZnvi5A0zgvAnEbZ3oBASjqcWgM9GroVZn0,285
|
|
357
363
|
yellowdog_client/model/waterfall_provision_strategy.py,sha256=1mAIACbWcVrsy3Bjulgh3TaPx83WoqRM443-jQ9FgaQ,727
|
|
358
364
|
yellowdog_client/model/work_requirement.py,sha256=4-kqhjS33HEjf62Z_GjcgVxHZ4Xa5c54TR1DIDgYPuY,1714
|
|
@@ -466,8 +472,8 @@ yellowdog_client/usage/__init__.py,sha256=XQwRJqTdxKZa1QUTsxBEL0TqQJeQHGyPklFeqc
|
|
|
466
472
|
yellowdog_client/usage/allowances_client.py,sha256=H6n63jXjT4OwuWJgFUXSjSmvGTZz9uspy3kj3upinaA,1337
|
|
467
473
|
yellowdog_client/usage/allowances_client_impl.py,sha256=nQPnSzJKhL3WvyCn5fmiDkwE84xZryH9YvV5Z1GjU4M,2061
|
|
468
474
|
yellowdog_client/usage/allowances_service_proxy.py,sha256=uO6LWnpjIzUcZTGdOxPXn7SyYX7NMRqO5KUiHUGr490,1320
|
|
469
|
-
yellowdog_sdk-
|
|
470
|
-
yellowdog_sdk-
|
|
471
|
-
yellowdog_sdk-
|
|
472
|
-
yellowdog_sdk-
|
|
473
|
-
yellowdog_sdk-
|
|
475
|
+
yellowdog_sdk-10.0.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
476
|
+
yellowdog_sdk-10.0.0.dist-info/METADATA,sha256=e_0VtLI1_ngQEN2oiaWM7Eq7Ws--V2RNDy-F2P99I5k,3239
|
|
477
|
+
yellowdog_sdk-10.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
478
|
+
yellowdog_sdk-10.0.0.dist-info/top_level.txt,sha256=6PH16DcoqpYHhQ5A0UJOjf0tg-1rTrNC9C2CLqCMuFo,26
|
|
479
|
+
yellowdog_sdk-10.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|