yellowdog-sdk 9.6.0__py3-none-any.whl → 11.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 -14
- yellowdog_client/model/access_delegate.py +3 -3
- yellowdog_client/model/cloud_provider.py +0 -2
- 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-11.0.0.dist-info}/METADATA +1 -1
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-11.0.0.dist-info}/RECORD +24 -25
- yellowdog_client/model/alibaba_compute_source.py +0 -9
- yellowdog_client/model/alibaba_credential.py +0 -16
- yellowdog_client/model/alibaba_instance.py +0 -40
- yellowdog_client/model/alibaba_instance_charge_type.py +0 -15
- yellowdog_client/model/alibaba_instances_compute_source.py +0 -64
- yellowdog_client/model/alibaba_namespace_storage_configuration.py +0 -12
- yellowdog_client/model/alibaba_spot_strategy.py +0 -16
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-11.0.0.dist-info}/WHEEL +0 -0
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-11.0.0.dist-info}/licenses/LICENSE +0 -0
- {yellowdog_sdk-9.6.0.dist-info → yellowdog_sdk-11.0.0.dist-info}/top_level.txt +0 -0
yellowdog_client/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '
|
|
1
|
+
__version__ = '11.0.0' # YEL-13643
|
|
@@ -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:
|
|
@@ -11,13 +11,6 @@ from .add_group_request import AddGroupRequest
|
|
|
11
11
|
from .add_node_actions_request import AddNodeActionsRequest
|
|
12
12
|
from .add_user_request import AddUserRequest
|
|
13
13
|
from .add_user_response import AddUserResponse
|
|
14
|
-
from .alibaba_compute_source import AlibabaComputeSource
|
|
15
|
-
from .alibaba_credential import AlibabaCredential
|
|
16
|
-
from .alibaba_instance import AlibabaInstance
|
|
17
|
-
from .alibaba_instance_charge_type import AlibabaInstanceChargeType
|
|
18
|
-
from .alibaba_instances_compute_source import AlibabaInstancesComputeSource
|
|
19
|
-
from .alibaba_namespace_storage_configuration import AlibabaNamespaceStorageConfiguration
|
|
20
|
-
from .alibaba_spot_strategy import AlibabaSpotStrategy
|
|
21
14
|
from .allowance import Allowance
|
|
22
15
|
from .allowance_exhausted_notification import AllowanceExhaustedNotification
|
|
23
16
|
from .allowance_limit_enforcement import AllowanceLimitEnforcement
|
|
@@ -138,6 +131,8 @@ from .gcs_namespace_storage_configuration import GcsNamespaceStorageConfiguratio
|
|
|
138
131
|
from .google_cloud_credential import GoogleCloudCredential
|
|
139
132
|
from .grant_application_access_request import GrantApplicationAccessRequest
|
|
140
133
|
from .grant_user_access_request import GrantUserAccessRequest
|
|
134
|
+
from .granted_permission_scope import GrantedPermissionScope
|
|
135
|
+
from .granted_permissions import GrantedPermissions
|
|
141
136
|
from .group import Group
|
|
142
137
|
from .group_role import GroupRole
|
|
143
138
|
from .group_search import GroupSearch
|
|
@@ -186,6 +181,7 @@ from .namespace_autoscaling_capacity_response import NamespaceAutoscalingCapacit
|
|
|
186
181
|
from .namespace_objects_response import NamespaceObjectsResponse
|
|
187
182
|
from .namespace_policy import NamespacePolicy
|
|
188
183
|
from .namespace_policy_search import NamespacePolicySearch
|
|
184
|
+
from .namespace_ref import NamespaceRef
|
|
189
185
|
from .namespace_search import NamespaceSearch
|
|
190
186
|
from .namespace_storage_configuration import NamespaceStorageConfiguration
|
|
191
187
|
from .new_password_request import NewPasswordRequest
|
|
@@ -231,6 +227,7 @@ from .okta_account_authentication_properties import OktaAccountAuthenticationPro
|
|
|
231
227
|
from .operating_system_licence import OperatingSystemLicence
|
|
232
228
|
from .permission import Permission
|
|
233
229
|
from .permission_detail import PermissionDetail
|
|
230
|
+
from .permission_scope import PermissionScope
|
|
234
231
|
from .price import Price
|
|
235
232
|
from .processor_architecture import ProcessorArchitecture
|
|
236
233
|
from .provider_node_summary import ProviderNodeSummary
|
|
@@ -245,6 +242,8 @@ from .requirement_allowance import RequirementAllowance
|
|
|
245
242
|
from .requirements_allowance import RequirementsAllowance
|
|
246
243
|
from .retry_properties import RetryProperties
|
|
247
244
|
from .role import Role
|
|
245
|
+
from .role_scope import RoleScope
|
|
246
|
+
from .role_scope_validator import RoleScopeValidator
|
|
248
247
|
from .role_search import RoleSearch
|
|
249
248
|
from .role_summary import RoleSummary
|
|
250
249
|
from .run_specification import RunSpecification
|
|
@@ -331,13 +330,6 @@ __all__ = [
|
|
|
331
330
|
"AddNodeActionsRequest",
|
|
332
331
|
"AddUserRequest",
|
|
333
332
|
"AddUserResponse",
|
|
334
|
-
"AlibabaComputeSource",
|
|
335
|
-
"AlibabaCredential",
|
|
336
|
-
"AlibabaInstance",
|
|
337
|
-
"AlibabaInstanceChargeType",
|
|
338
|
-
"AlibabaInstancesComputeSource",
|
|
339
|
-
"AlibabaNamespaceStorageConfiguration",
|
|
340
|
-
"AlibabaSpotStrategy",
|
|
341
333
|
"Allowance",
|
|
342
334
|
"AllowanceExhaustedNotification",
|
|
343
335
|
"AllowanceLimitEnforcement",
|
|
@@ -458,6 +450,8 @@ __all__ = [
|
|
|
458
450
|
"GoogleCloudCredential",
|
|
459
451
|
"GrantApplicationAccessRequest",
|
|
460
452
|
"GrantUserAccessRequest",
|
|
453
|
+
"GrantedPermissionScope",
|
|
454
|
+
"GrantedPermissions",
|
|
461
455
|
"Group",
|
|
462
456
|
"GroupRole",
|
|
463
457
|
"GroupSearch",
|
|
@@ -506,6 +500,7 @@ __all__ = [
|
|
|
506
500
|
"NamespaceObjectsResponse",
|
|
507
501
|
"NamespacePolicy",
|
|
508
502
|
"NamespacePolicySearch",
|
|
503
|
+
"NamespaceRef",
|
|
509
504
|
"NamespaceSearch",
|
|
510
505
|
"NamespaceStorageConfiguration",
|
|
511
506
|
"NewPasswordRequest",
|
|
@@ -551,6 +546,7 @@ __all__ = [
|
|
|
551
546
|
"OperatingSystemLicence",
|
|
552
547
|
"Permission",
|
|
553
548
|
"PermissionDetail",
|
|
549
|
+
"PermissionScope",
|
|
554
550
|
"Price",
|
|
555
551
|
"ProcessorArchitecture",
|
|
556
552
|
"ProviderNodeSummary",
|
|
@@ -565,6 +561,8 @@ __all__ = [
|
|
|
565
561
|
"RequirementsAllowance",
|
|
566
562
|
"RetryProperties",
|
|
567
563
|
"Role",
|
|
564
|
+
"RoleScope",
|
|
565
|
+
"RoleScopeValidator",
|
|
568
566
|
"RoleSearch",
|
|
569
567
|
"RoleSummary",
|
|
570
568
|
"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=woGvMtZ-ofaD-N6s1ryptCE1U1EIkVb1-beyfatJhrk,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=ZrVH4oipGF9oqkoqgoZ3YHxKDj9Tq3tmR_BteiNoAIs,26172
|
|
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
|
|
@@ -67,13 +67,6 @@ yellowdog_client/model/add_group_request.py,sha256=9HV_ygW9GNqY25MZcbJJj59iWcV8v
|
|
|
67
67
|
yellowdog_client/model/add_node_actions_request.py,sha256=2jIZay71NiCnm7uyZxHDigdhb-wGulifD1qRKux5JOQ,247
|
|
68
68
|
yellowdog_client/model/add_user_request.py,sha256=xTaZpQ4RhX0iJWXCHPRPnDAXwnOB44Ii8A8rOAf12iY,116
|
|
69
69
|
yellowdog_client/model/add_user_response.py,sha256=_Bh_ria9w24vasFVbOxUEgbsd09u4tGb4mhON2qx6mo,154
|
|
70
|
-
yellowdog_client/model/alibaba_compute_source.py,sha256=rfu1XfwbTuJh-cjDTRDxwbpjuHhfH9ZUGQfmqYZahSk,348
|
|
71
|
-
yellowdog_client/model/alibaba_credential.py,sha256=I9tE0VPU03I5UDX5lGWDvMWBETNdY1pQg5DYBUTntyY,553
|
|
72
|
-
yellowdog_client/model/alibaba_instance.py,sha256=_hX8nbMetWeq4u9QuIliv8OlaINbZ7agQpzuiObYwso,1773
|
|
73
|
-
yellowdog_client/model/alibaba_instance_charge_type.py,sha256=KwKCNj4IXn8cQGTrhbGjyiHualS6kJpDvw0ObLgZkW0,342
|
|
74
|
-
yellowdog_client/model/alibaba_instances_compute_source.py,sha256=3mQG6wFitEtLMckzRQ0uBKDlBMdqqHAzumtqbWomWRs,3584
|
|
75
|
-
yellowdog_client/model/alibaba_namespace_storage_configuration.py,sha256=fSps3B7IUcm0G4C_fc7dR-Uy0xbJhRux1EmD7QtzG6k,392
|
|
76
|
-
yellowdog_client/model/alibaba_spot_strategy.py,sha256=_zZx01-CWKlb-enNnTE7cjf1yL8OtwuGde2B53qyQks,426
|
|
77
70
|
yellowdog_client/model/allowance.py,sha256=9BMKrxuT4UKTgvLhYnlyiXI2wkfcO9GYElbKLuYubcU,167
|
|
78
71
|
yellowdog_client/model/allowance_exhausted_notification.py,sha256=l38uP4l0CmC6v1qsPksCA-go-00Kt1Ec1t_RrhD1fKo,255
|
|
79
72
|
yellowdog_client/model/allowance_limit_enforcement.py,sha256=uvU86l0iY3-lcb3i0YHN3EVF6dxbWOM7ATYGgEPh0XE,436
|
|
@@ -128,11 +121,11 @@ yellowdog_client/model/best_compute_source_report_source_attribute.py,sha256=Yk7
|
|
|
128
121
|
yellowdog_client/model/best_compute_source_report_string_constraint.py,sha256=Yfcm4JasSoi3z2Dx56U8QgunLhNq5gibJEgVkw3WoQ0,477
|
|
129
122
|
yellowdog_client/model/change_password_request.py,sha256=0_pKunaeN94NHEW5zilHntfY7_XX1ken50_UMmQCr14,118
|
|
130
123
|
yellowdog_client/model/check_credentials_result.py,sha256=x_ornFEoN1SIaiyJoX2xL01uFim6it760kklsRqYRPA,554
|
|
131
|
-
yellowdog_client/model/cloud_provider.py,sha256=
|
|
124
|
+
yellowdog_client/model/cloud_provider.py,sha256=KwzhrA2XpI5ua4eSFLxHeLdcNMRXajT2Ee8tzFC1Dmk,689
|
|
132
125
|
yellowdog_client/model/compute_namespace_filter.py,sha256=ZDq9TrtAtjoW9io8eL2Oe9e6EaQ1SgM4hsHfYu_vDXw,256
|
|
133
126
|
yellowdog_client/model/compute_provision_strategy.py,sha256=AAhCn3zehsvJH9SRr5yJOLtsl_hkhgiD0PRS7MDeQJM,388
|
|
134
127
|
yellowdog_client/model/compute_requirement.py,sha256=j3KLMJF6Fi6RoNHvKyV_wHUAjgJAnYWFk2M6ijqMPFI,2937
|
|
135
|
-
yellowdog_client/model/compute_requirement_dynamic_template.py,sha256=
|
|
128
|
+
yellowdog_client/model/compute_requirement_dynamic_template.py,sha256=tu7t-etOkwZehBGJRVA3jSnqY5ADp0hOP_hCkCQ3-HU,1122
|
|
136
129
|
yellowdog_client/model/compute_requirement_dynamic_template_test_result.py,sha256=8n0F2rY5_KwBy_09T3txyRNQDpXuk1GU6Qua9fnIy5c,623
|
|
137
130
|
yellowdog_client/model/compute_requirement_search.py,sha256=0Eb9I_9N141FscOT9kUQSwj4X1wplmZsdAOGorUU9iA,553
|
|
138
131
|
yellowdog_client/model/compute_requirement_static_template.py,sha256=mBlu2CxRte4kDn55_OKd4nIbc1F9XbV_4O3Xalkjg3Y,715
|
|
@@ -194,8 +187,10 @@ yellowdog_client/model/gcs_namespace_storage_configuration.py,sha256=EqOV-0coFLg
|
|
|
194
187
|
yellowdog_client/model/google_cloud_credential.py,sha256=07zKLvBRwYQOUqIQXRaTDJhOJ6ktvGw8dCF0LpXvtMI,408
|
|
195
188
|
yellowdog_client/model/grant_application_access_request.py,sha256=d4FFwXw1rPSKBuoHhjrEcUV1rHOi35ZuRCV9HQ3LqFg,143
|
|
196
189
|
yellowdog_client/model/grant_user_access_request.py,sha256=p-z4aMPVuAcJMs-rkK25ZkgcZ4lxyklhazfJ2v2o7bI,99
|
|
190
|
+
yellowdog_client/model/granted_permission_scope.py,sha256=ISUvN4_Pq6Wd_s5FXvFqKWWhpPRrPlvWVaTQgfn4oOE,230
|
|
191
|
+
yellowdog_client/model/granted_permissions.py,sha256=b-hS_i_Y67zFjamYv4mxqJN1X6sM6F8uYrOBmWF8aWs,279
|
|
197
192
|
yellowdog_client/model/group.py,sha256=3x1XSB7jYo5mgJvTICAkJVcRSd3GDbHRWfzQkRIj7N0,364
|
|
198
|
-
yellowdog_client/model/group_role.py,sha256=
|
|
193
|
+
yellowdog_client/model/group_role.py,sha256=x3uqdr7hlrRqr9b7w9Di2-YRoeuLMyzgu1rUg6JzVog,220
|
|
199
194
|
yellowdog_client/model/group_search.py,sha256=KHr1_5AQQC39LZz503r_mf5i0BKB652hUnM5xbtlV3I,254
|
|
200
195
|
yellowdog_client/model/group_summary.py,sha256=QQgyJ6fqfNnBsFJEjAoGajQxZ1fKIcP8KmM1VR2CcbA,270
|
|
201
196
|
yellowdog_client/model/identified.py,sha256=bnH2hghJLlDBOJKKSozqmc5QRzQGDwFL2dlmkdL9zJA,182
|
|
@@ -242,6 +237,7 @@ yellowdog_client/model/namespace_autoscaling_capacity_response.py,sha256=p1Z0OUY
|
|
|
242
237
|
yellowdog_client/model/namespace_objects_response.py,sha256=icPFUDS5AaTGd0eJK1uRKt4cBHNE-TDFQVRIuH_ykh4,189
|
|
243
238
|
yellowdog_client/model/namespace_policy.py,sha256=90j_9G5xjMRLzdfjq3BeDOyxOiCECrRRvVoRkx2CEAU,163
|
|
244
239
|
yellowdog_client/model/namespace_policy_search.py,sha256=6RFeLBTccVMKzINijN3tuXEYulHPYkdb2-JSXRZOE2A,318
|
|
240
|
+
yellowdog_client/model/namespace_ref.py,sha256=4JDCK7DHNyx1b7b2kgu-QU6lUxvPQhEkaiPQz_qbSsI,98
|
|
245
241
|
yellowdog_client/model/namespace_search.py,sha256=aMv44U_Op74dItLv5q1YwMqQF_IKd5S7YWFogAbSWGY,349
|
|
246
242
|
yellowdog_client/model/namespace_storage_configuration.py,sha256=6JSDmRbrsWhJqOeqz3skdR8t2hlP40kvPoW0CV4hYbc,139
|
|
247
243
|
yellowdog_client/model/new_password_request.py,sha256=7zJkK_3GJde6QQidaxFaj49DKIQg52FTJrbmgdfTxrE,91
|
|
@@ -285,8 +281,9 @@ yellowdog_client/model/oci_instances_compute_source.py,sha256=p94ErZj4SKyWjs19Ne
|
|
|
285
281
|
yellowdog_client/model/oci_namespace_storage_configuration.py,sha256=YsbDhzC_FT1rQMeHEuYFpfZJSuiQKOwdGs72ksdF69g,408
|
|
286
282
|
yellowdog_client/model/okta_account_authentication_properties.py,sha256=geKiNqQfYaW__U10FjNeNS83Ro54ZdBxo15qj0yWqyw,328
|
|
287
283
|
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=
|
|
284
|
+
yellowdog_client/model/permission.py,sha256=IctnnmKiIzd846ZQNl2UTVkhRcfDPHjhR0pcPOehYkI,5891
|
|
285
|
+
yellowdog_client/model/permission_detail.py,sha256=5X8bDfPJCKler68wyRAIcLkkAvhu_899CV7Xa3DfJ50,298
|
|
286
|
+
yellowdog_client/model/permission_scope.py,sha256=PoRpCEQ233Xqgyf55JJNXtghQeefVhX47uPpGG8GmMg,191
|
|
290
287
|
yellowdog_client/model/price.py,sha256=kPZw5VGPg5vKRXL5brX8eZrH_GePvlBhdfMsm5fF6Dc,194
|
|
291
288
|
yellowdog_client/model/processor_architecture.py,sha256=hkbyplz2R5SeVtINaB3CcU86yR64elm5qi9W48LHVms,157
|
|
292
289
|
yellowdog_client/model/provider_node_summary.py,sha256=maYsTKxTR7jNjZDr_BNs23rV91k_WL44Q3BVXGdKFSk,307
|
|
@@ -301,6 +298,8 @@ yellowdog_client/model/requirement_allowance.py,sha256=ovCvZlKFeosV3kNxtJyGD4W7N
|
|
|
301
298
|
yellowdog_client/model/requirements_allowance.py,sha256=qp6MVWChl_RzrzslVrf2bOfUoSNsA3I4jlM0DLnlnJk,1197
|
|
302
299
|
yellowdog_client/model/retry_properties.py,sha256=cccJRb-r1PkUixb-V26GIGf1iOXBnnhl1HGLy_Yr-Q8,559
|
|
303
300
|
yellowdog_client/model/role.py,sha256=EK87THjFL4wYnPlFcV2ind7motMefsDm9aAL9B2PrMI,325
|
|
301
|
+
yellowdog_client/model/role_scope.py,sha256=381xdwSarxxOKR8SkQzTKL6DZk8fOa5whVk3VSon_TA,165
|
|
302
|
+
yellowdog_client/model/role_scope_validator.py,sha256=2u66BxCWJNX3k4DEUm5ixOtoOFupT2d7qsxi9U5k_ow,82
|
|
304
303
|
yellowdog_client/model/role_search.py,sha256=SL8rngS-BWoqaZ4WtwiScS12Y7JOpfG-itbpPk7qxBc,332
|
|
305
304
|
yellowdog_client/model/role_summary.py,sha256=fkyZ_pLapNbQM67bSgX60kt20WN7hYCWA0j-1zwzIPc,202
|
|
306
305
|
yellowdog_client/model/run_specification.py,sha256=btk53yhHWKvTXxhbzTDS0NjXBf25fqjxPwkc303I15M,2711
|
|
@@ -352,7 +351,7 @@ yellowdog_client/model/update_user_request.py,sha256=RpJRi6efqrX1ZE6pRLRC5J6fcNy
|
|
|
352
351
|
yellowdog_client/model/usage_type.py,sha256=vZKtclWVaGLeiHS-CYeDRAIj4hAt_gM-JyXzk8C484w,340
|
|
353
352
|
yellowdog_client/model/user.py,sha256=sS16xGlDC3BsFeCfWRhYUv9Wp3Do8unZMT_VLr1MEd8,253
|
|
354
353
|
yellowdog_client/model/user_login_request.py,sha256=dkDB05LDmX17eglFQu1LMD6LodI9t21OkUw8L_v-K-U,128
|
|
355
|
-
yellowdog_client/model/user_portal_context.py,sha256=
|
|
354
|
+
yellowdog_client/model/user_portal_context.py,sha256=VDkkSm1FpE6_IT0tDvYUy1RYYayg0zsp4B_czOoQ3bw,534
|
|
356
355
|
yellowdog_client/model/user_search.py,sha256=XHEx0_yIqZnvi5A0zgvAnEbZ3oBASjqcWgM9GroVZn0,285
|
|
357
356
|
yellowdog_client/model/waterfall_provision_strategy.py,sha256=1mAIACbWcVrsy3Bjulgh3TaPx83WoqRM443-jQ9FgaQ,727
|
|
358
357
|
yellowdog_client/model/work_requirement.py,sha256=4-kqhjS33HEjf62Z_GjcgVxHZ4Xa5c54TR1DIDgYPuY,1714
|
|
@@ -466,8 +465,8 @@ yellowdog_client/usage/__init__.py,sha256=XQwRJqTdxKZa1QUTsxBEL0TqQJeQHGyPklFeqc
|
|
|
466
465
|
yellowdog_client/usage/allowances_client.py,sha256=H6n63jXjT4OwuWJgFUXSjSmvGTZz9uspy3kj3upinaA,1337
|
|
467
466
|
yellowdog_client/usage/allowances_client_impl.py,sha256=nQPnSzJKhL3WvyCn5fmiDkwE84xZryH9YvV5Z1GjU4M,2061
|
|
468
467
|
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-
|
|
468
|
+
yellowdog_sdk-11.0.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
469
|
+
yellowdog_sdk-11.0.0.dist-info/METADATA,sha256=eDQ38MQIrcLFsPdkPV5K9Be6zADXT728yEJdD7dIe2c,3239
|
|
470
|
+
yellowdog_sdk-11.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
471
|
+
yellowdog_sdk-11.0.0.dist-info/top_level.txt,sha256=6PH16DcoqpYHhQ5A0UJOjf0tg-1rTrNC9C2CLqCMuFo,26
|
|
472
|
+
yellowdog_sdk-11.0.0.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass, field
|
|
2
|
-
|
|
3
|
-
from .compute_source import ComputeSource
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@dataclass
|
|
7
|
-
class AlibabaComputeSource(ComputeSource):
|
|
8
|
-
"""Derives from ComputeSource to provide the interface for all Alibaba Cloud compute source model objects."""
|
|
9
|
-
type: str = field(default="co.yellowdog.platform.model.AlibabaComputeSource", init=False)
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass, field
|
|
2
|
-
from typing import Optional
|
|
3
|
-
|
|
4
|
-
from .credential import Credential
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
@dataclass
|
|
8
|
-
class AlibabaCredential(Credential):
|
|
9
|
-
"""Holds the Access Key ID and Secret Access Key which form a set of credentials for Alibaba Cloud."""
|
|
10
|
-
type: str = field(default="co.yellowdog.platform.account.credentials.AlibabaCredential", init=False)
|
|
11
|
-
name: str
|
|
12
|
-
accessKeyId: str
|
|
13
|
-
"""The Alibaba Cloud Access Key ID"""
|
|
14
|
-
secretAccessKey: str
|
|
15
|
-
"""The Alibaba Cloud Secret Access Key"""
|
|
16
|
-
description: Optional[str] = None
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass, field
|
|
2
|
-
from datetime import datetime
|
|
3
|
-
from typing import Optional
|
|
4
|
-
|
|
5
|
-
from .cloud_provider import CloudProvider
|
|
6
|
-
from .instance import Instance
|
|
7
|
-
from .instance_id import InstanceId
|
|
8
|
-
from .instance_status import InstanceStatus
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@dataclass
|
|
12
|
-
class AlibabaInstance(Instance):
|
|
13
|
-
"""Extends Instance to add fields specific to the Alibaba Cloud compute sources."""
|
|
14
|
-
type: str = field(default="co.yellowdog.platform.model.AlibabaInstance", init=False)
|
|
15
|
-
id: Optional[InstanceId] = None
|
|
16
|
-
"""The unique identifier for this instance formed from the YellowDog Compute Source ID and the provider supplied instance ID"""
|
|
17
|
-
createdTime: Optional[datetime] = None
|
|
18
|
-
"""The date and time when this instance was first created."""
|
|
19
|
-
provider: Optional[CloudProvider] = None
|
|
20
|
-
"""The cloud provider that supplies this instance."""
|
|
21
|
-
instanceType: Optional[str] = None
|
|
22
|
-
"""The machine type of this instance."""
|
|
23
|
-
region: Optional[str] = None
|
|
24
|
-
"""The region where this instance is provisioned."""
|
|
25
|
-
subregion: Optional[str] = None
|
|
26
|
-
"""The subregion where this instance is provisioned."""
|
|
27
|
-
imageId: Optional[str] = None
|
|
28
|
-
"""The machine image ID used for this instance."""
|
|
29
|
-
hostname: Optional[str] = None
|
|
30
|
-
"""The hostname of this instance."""
|
|
31
|
-
privateIpAddress: Optional[str] = None
|
|
32
|
-
"""The private IP address of this instance."""
|
|
33
|
-
publicIpAddress: Optional[str] = None
|
|
34
|
-
"""The public IP address of this instance."""
|
|
35
|
-
spot: bool = False
|
|
36
|
-
"""Indicates if this instance was provisioned via spot pricing vs on-demand."""
|
|
37
|
-
status: Optional[InstanceStatus] = None
|
|
38
|
-
"""The status of this instance."""
|
|
39
|
-
statusChangedTime: Optional[datetime] = None
|
|
40
|
-
"""The date and time when the status last changed"""
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
from enum import Enum
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class AlibabaInstanceChargeType(Enum):
|
|
5
|
-
PRE_PAID = "PRE_PAID", "PrePaid"
|
|
6
|
-
POST_PAID = "POST_PAID", "PostPaid"
|
|
7
|
-
|
|
8
|
-
def __new__(cls, value, code: str):
|
|
9
|
-
obj = object.__new__(cls)
|
|
10
|
-
obj._value_ = value
|
|
11
|
-
obj.code = code
|
|
12
|
-
return obj
|
|
13
|
-
|
|
14
|
-
def __str__(self) -> str:
|
|
15
|
-
return self.name
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass, field
|
|
2
|
-
from typing import Dict, Optional, Set
|
|
3
|
-
|
|
4
|
-
from .alibaba_compute_source import AlibabaComputeSource
|
|
5
|
-
from .alibaba_instance_charge_type import AlibabaInstanceChargeType
|
|
6
|
-
from .alibaba_spot_strategy import AlibabaSpotStrategy
|
|
7
|
-
from .compute_source_exhaustion import ComputeSourceExhaustion
|
|
8
|
-
from .compute_source_status import ComputeSourceStatus
|
|
9
|
-
from .compute_source_traits import ComputeSourceTraits
|
|
10
|
-
from .instance_pricing import InstancePricing
|
|
11
|
-
from .instance_summary import InstanceSummary
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@dataclass
|
|
15
|
-
class AlibabaInstancesComputeSource(AlibabaComputeSource):
|
|
16
|
-
"""Defines a source of compute composed of Alibaba Cloud ECS instances."""
|
|
17
|
-
type: str = field(default="co.yellowdog.platform.model.AlibabaInstancesComputeSource", init=False)
|
|
18
|
-
traits: Optional[ComputeSourceTraits] = field(default=None, init=False)
|
|
19
|
-
instancePricing: Optional[InstancePricing] = field(default=None, init=False)
|
|
20
|
-
credentials: Optional[Set[str]] = field(default=None, init=False)
|
|
21
|
-
supportingResourceCreated: Optional[bool] = field(default=None, init=False)
|
|
22
|
-
id: Optional[str] = field(default=None, init=False)
|
|
23
|
-
createdFromId: Optional[str] = field(default=None, init=False)
|
|
24
|
-
instanceSummary: Optional[InstanceSummary] = field(default=None, init=False)
|
|
25
|
-
status: Optional[ComputeSourceStatus] = field(default=None, init=False)
|
|
26
|
-
statusMessage: Optional[str] = field(default=None, init=False)
|
|
27
|
-
exhaustion: Optional[ComputeSourceExhaustion] = field(default=None, init=False)
|
|
28
|
-
name: str
|
|
29
|
-
"""The name of the compute source. This must be unique within a compute requirement."""
|
|
30
|
-
credential: str
|
|
31
|
-
region: str
|
|
32
|
-
"""The Alibaba Cloud region where instances will be provisioned."""
|
|
33
|
-
vSwitchId: str
|
|
34
|
-
"""The ID of the virtual switch to use for the provisioned instances."""
|
|
35
|
-
securityGroupId: str
|
|
36
|
-
"""The ID of the Alibaba Cloud Security Group for the provisioned instances."""
|
|
37
|
-
instanceType: str
|
|
38
|
-
"""The Alibaba Cloud instance type for the provisioned instances."""
|
|
39
|
-
imageId: str
|
|
40
|
-
"""The region-specific Alibaba Cloud ID for the image to use for the provisioned instances."""
|
|
41
|
-
availabilityZone: Optional[str] = None
|
|
42
|
-
"""The Alibaba Cloud availability zone within the region where instances will be provisioned."""
|
|
43
|
-
userData: Optional[str] = None
|
|
44
|
-
instanceTags: Optional[Dict[str, str]] = None
|
|
45
|
-
ramRoleName: Optional[str] = None
|
|
46
|
-
"""The name of the RAM Role to use for the provisioned instances."""
|
|
47
|
-
keyName: Optional[str] = None
|
|
48
|
-
"""The name of the Alibaba Cloud key pair to use when logging into any instances provisioned from this source."""
|
|
49
|
-
instanceChargeType: Optional[AlibabaInstanceChargeType] = None
|
|
50
|
-
"""The Alibaba Cloud charge type to use for the provisioned instances."""
|
|
51
|
-
assignPublicIp: bool = False
|
|
52
|
-
"""Indicates if provisioned instances should be assigned public IP addresses."""
|
|
53
|
-
spotStrategy: Optional[AlibabaSpotStrategy] = None
|
|
54
|
-
"""The Alibaba Cloud spot strategy to use when provisioning instances."""
|
|
55
|
-
spotPriceLimit: Optional[float] = None
|
|
56
|
-
"""The Alibaba Cloud spot price limit to use with SPOT_WITH_PRICE_LIMIT spot strategy."""
|
|
57
|
-
limit: int = 0
|
|
58
|
-
specifyMinimum: bool = False
|
|
59
|
-
"""
|
|
60
|
-
Indicates if YellowDog Compute should specify the minimum when requesting instances from Alibaba Cloud.
|
|
61
|
-
If true, then no instances are provisioned unless all requested instances are available;
|
|
62
|
-
otherwise, if false, YellowDog Compute will provision as many instances as possible up to the number requested from this compute source.
|
|
63
|
-
"""
|
|
64
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass, field
|
|
2
|
-
|
|
3
|
-
from .namespace_storage_configuration import NamespaceStorageConfiguration
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@dataclass
|
|
7
|
-
class AlibabaNamespaceStorageConfiguration(NamespaceStorageConfiguration):
|
|
8
|
-
type: str = field(default="co.yellowdog.platform.model.AlibabaNamespaceStorageConfiguration", init=False)
|
|
9
|
-
namespace: str
|
|
10
|
-
endpoint: str
|
|
11
|
-
bucketName: str
|
|
12
|
-
credential: str
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
from enum import Enum
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class AlibabaSpotStrategy(Enum):
|
|
5
|
-
NO_SPOT = "NO_SPOT", "NoSpot"
|
|
6
|
-
SPOT_WITH_PRICE_LIMIT = "SPOT_WITH_PRICE_LIMIT", "SpotWithPriceLimit"
|
|
7
|
-
SPOT_AS_PRICE_GO = "SPOT_AS_PRICE_GO", "SpotAsPriceGo"
|
|
8
|
-
|
|
9
|
-
def __new__(cls, value, code: str):
|
|
10
|
-
obj = object.__new__(cls)
|
|
11
|
-
obj._value_ = value
|
|
12
|
-
obj.code = code
|
|
13
|
-
return obj
|
|
14
|
-
|
|
15
|
-
def __str__(self) -> str:
|
|
16
|
-
return self.name
|
|
File without changes
|
|
File without changes
|
|
File without changes
|