yicloud-sdk-python 0.2.0__tar.gz → 0.3.0__tar.gz

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.
Files changed (88) hide show
  1. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/PKG-INFO +1 -1
  2. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/pyproject.toml +1 -1
  3. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/version.py +1 -1
  4. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/__init__.py +1 -1
  5. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/msgs/__init__.py +2 -2
  6. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/__init__.py +2 -0
  7. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/models.py +25 -6
  8. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/models.py +29 -21
  9. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/models.py +40 -36
  10. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/models.py +48 -32
  11. yicloud_sdk_python-0.3.0/yicloud/services/registry/__init__.py +40 -0
  12. yicloud_sdk_python-0.3.0/yicloud/services/registry/actions.py +114 -0
  13. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/registry/client.py +1 -1
  14. yicloud_sdk_python-0.3.0/yicloud/services/registry/models.py +145 -0
  15. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/__init__.py +1 -0
  16. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/models.py +23 -19
  17. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/models.py +41 -40
  18. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/PKG-INFO +1 -1
  19. yicloud_sdk_python-0.2.0/yicloud/services/registry/__init__.py +0 -47
  20. yicloud_sdk_python-0.2.0/yicloud/services/registry/actions.py +0 -151
  21. yicloud_sdk_python-0.2.0/yicloud/services/registry/models.py +0 -141
  22. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/LICENSE +0 -0
  23. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/README.md +0 -0
  24. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/setup.cfg +0 -0
  25. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/__init__.py +0 -0
  26. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/auth/__init__.py +0 -0
  27. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/auth/credential.py +0 -0
  28. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/auth/sign.py +0 -0
  29. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/client.py +0 -0
  30. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/config.py +0 -0
  31. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/errs/__init__.py +0 -0
  32. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/log/__init__.py +0 -0
  33. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/log/logger.py +0 -0
  34. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/log/std.py +0 -0
  35. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/__init__.py +0 -0
  36. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/helps.py +0 -0
  37. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/retry/__init__.py +0 -0
  38. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/retry/retry.py +0 -0
  39. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/__init__.py +0 -0
  40. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/__init__.py +0 -0
  41. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/actions.py +0 -0
  42. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/client.py +0 -0
  43. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/models.py +0 -0
  44. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/__init__.py +0 -0
  45. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/actions.py +0 -0
  46. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/client.py +0 -0
  47. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/models.py +4 -4
  48. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/actions.py +0 -0
  49. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/client.py +0 -0
  50. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/__init__.py +0 -0
  51. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/actions.py +0 -0
  52. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/client.py +0 -0
  53. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/models.py +0 -0
  54. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/__init__.py +0 -0
  55. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/actions.py +0 -0
  56. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/client.py +0 -0
  57. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/models.py +6 -6
  58. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/job/__init__.py +0 -0
  59. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/job/actions.py +0 -0
  60. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/job/client.py +0 -0
  61. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/job/models.py +18 -18
  62. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/__init__.py +0 -0
  63. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/actions.py +0 -0
  64. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/client.py +0 -0
  65. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/__init__.py +0 -0
  66. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/actions.py +0 -0
  67. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/client.py +0 -0
  68. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/models.py +7 -7
  69. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/__init__.py +0 -0
  70. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/actions.py +0 -0
  71. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/client.py +0 -0
  72. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/models.py +5 -5
  73. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/__init__.py +0 -0
  74. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/actions.py +0 -0
  75. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/client.py +0 -0
  76. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/__init__.py +0 -0
  77. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/actions.py +0 -0
  78. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/client.py +0 -0
  79. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/actions.py +0 -0
  80. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/client.py +0 -0
  81. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/__init__.py +0 -0
  82. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/actions.py +0 -0
  83. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/client.py +0 -0
  84. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/SOURCES.txt +0 -0
  85. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/dependency_links.txt +0 -0
  86. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/not-zip-safe +0 -0
  87. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/requires.txt +0 -0
  88. {yicloud_sdk_python-0.2.0 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yicloud-sdk-python
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: YiCloud OpenAPI SDK for Python
5
5
  Author: YiCloud
6
6
  Project-URL: Homepage, https://gitee.com/yicloud-team/openapi-sdk-python
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "yicloud-sdk-python"
7
- version = "0.2.0"
7
+ version = "0.3.0"
8
8
  description = "YiCloud OpenAPI SDK for Python"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.7"
@@ -1,4 +1,4 @@
1
- __version__ = "0.1.0"
1
+ __version__ = "0.3.0"
2
2
 
3
3
 
4
4
  def Version() -> str:
@@ -4,4 +4,4 @@ YiCloud Python SDK
4
4
  A Python SDK for the YiCloud OpenAPI service.
5
5
  """
6
6
 
7
- __version__ = "0.2.0"
7
+ __version__ = "0.3.0"
@@ -1,5 +1,5 @@
1
1
  import contextvars
2
- from typing import Any, Dict, Generic, Optional, Tuple, TypeVar, Union, get_args, get_origin
2
+ from typing import Any, Dict, Generic, Optional, Tuple, TypeVar, Union, get_args, get_origin, get_type_hints
3
3
  from abc import ABC, abstractmethod
4
4
  from dataclasses import dataclass, fields, is_dataclass
5
5
 
@@ -60,7 +60,7 @@ def _dict_to_dataclass(target_type, data):
60
60
  if not is_dataclass(target_type) or not isinstance(data, dict):
61
61
  return data
62
62
 
63
- field_types = {f.name: f.type for f in fields(target_type)}
63
+ field_types = get_type_hints(target_type)
64
64
 
65
65
  kwargs = {}
66
66
  for key, value in data.items():
@@ -22,10 +22,12 @@ from .models import (
22
22
  Authorization,
23
23
  CreateFilesetWithQuotaReqAuthorization,
24
24
  UpdateFilesetReqAuthorization,
25
+ BucketResponse,
25
26
  CreateFilesetWithQuotaReq,
26
27
  DeleteFilesetReq,
27
28
  GetFileInfoData,
28
29
  GetFilesetData,
30
+ FilesetItem,
29
31
  ListDirData,
30
32
  ListFilesetsWithQuotaInfoData,
31
33
  SetFilesetQuotaReq,
@@ -31,6 +31,20 @@ class UpdateFilesetReqAuthorization:
31
31
  Name: Optional[str] = None # 授权名称 json:"Name,omitempty"
32
32
  Type: Optional[str] = None # 授权类型 json:"Type,omitempty"
33
33
 
34
+ @dataclass
35
+ class BucketResponse:
36
+ Bucket: Optional[str] = "" # 文件集名称 json:"Bucket,omitempty"
37
+ Capacity: Optional[str] = "" # 文件集容量(字节) json:"Capacity,omitempty"
38
+ Created: Optional[str] = "" # 创建时间 json:"Created,omitempty"
39
+ DeletedTime: Optional[str] = "" # 删除时间(回收站中显示) json:"DeletedTime,omitempty"
40
+ Fs: Optional[str] = "" # 文件系统 json:"Fs,omitempty"
41
+ FsCluster: Optional[str] = "" # 文件系统集群 json:"FsCluster,omitempty"
42
+ Owner: Optional[str] = "" # 文件集所有者 json:"Owner,omitempty"
43
+ Permission: Optional[str] = "" # 文件集权限 json:"Permission,omitempty"
44
+ Size: Optional[str] = "" # 已使用容量(字节) json:"Size,omitempty"
45
+ State: Optional[str] = "" # 文件集状态 json:"State,omitempty"
46
+ Tenant: Optional[str] = "" # 租户信息 json:"Tenant,omitempty"
47
+
34
48
  @dataclass
35
49
  class CreateFilesetWithQuotaReq:
36
50
  Capacity: int # 文件集容量,单位字节 json:"Capacity"
@@ -73,16 +87,21 @@ class GetFilesetData:
73
87
  Tenant: Optional[str] = "" # 租户信息 json:"Tenant,omitempty"
74
88
  Used: Optional[str] = "" # 已使用容量(字节) json:"Used,omitempty"
75
89
 
90
+ @dataclass
91
+ class FilesetItem:
92
+ BucketResponse: Optional[BucketResponse] = None # 文件集详情 json:"BucketResponse,omitempty"
93
+ ID: Optional[str] = "" # 文件集ID json:"ID,omitempty"
94
+
76
95
  @dataclass
77
96
  class ListDirData:
78
- Items: Optional[List[GetFileInfoData]] = None # 文件/目录列表 json:"Items,omitempty"
97
+ Files: Optional[List[GetFileInfoData]] = None # 文件/目录列表 json:"Files,omitempty"
79
98
  Limit: Optional[int] = 0 # 每页大小 json:"Limit,omitempty"
80
99
  Offset: Optional[int] = 0 # 当前偏移量 json:"Offset,omitempty"
81
100
  Total: Optional[int] = 0 # 总文件/目录数 json:"Total,omitempty"
82
101
 
83
102
  @dataclass
84
103
  class ListFilesetsWithQuotaInfoData:
85
- Items: Optional[List[GetFilesetData]] = None # 文件集列表 json:"Items,omitempty"
104
+ Items: Optional[List[FilesetItem]] = None # 文件集列表 json:"Items,omitempty"
86
105
  Total: Optional[int] = 0 # 总文件集数 json:"Total,omitempty"
87
106
 
88
107
  @dataclass
@@ -117,18 +136,18 @@ class GetFilesetReq:
117
136
  class ListDirReq:
118
137
  Path: str # 目录路径 query:"Path"
119
138
  CalculateDirSize: Optional[bool] = None # 是否计算目录大小 query:"CalculateDirSize,omitempty"
120
- Offset: Optional[int] = None # 偏移量,从第几条记录开始查询 query:"Offset,omitempty"
121
139
  Limit: Optional[int] = None # 每页数量 query:"Limit,omitempty"
140
+ Offset: Optional[int] = None # 偏移量,从第几条记录开始查询 query:"Offset,omitempty"
122
141
  SortBy: Optional[str] = None # 排序字段 query:"SortBy,omitempty"
123
142
  SortOrder: Optional[str] = None # 排序顺序 query:"SortOrder,omitempty"
124
143
 
125
144
  @dataclass
126
145
  class ListFilesetsWithQuotaInfoReq:
127
- SortBy: Optional[str] = None # 排序字段,格式:字段名:排序方向,如 created:desc query:"SortBy,omitempty"
128
- Offset: Optional[int] = None # 偏移量,从第几条记录开始查询 query:"Offset,omitempty"
129
- Limit: Optional[int] = None # 每页数量 query:"Limit,omitempty"
130
146
  Fs: Optional[str] = None # 文件系统,枚举值: GPFS SDK常量: FsGPFS query:"Fs,omitempty"
131
147
  FsCluster: Optional[str] = None # 文件系统集群,枚举值: gpfs1 SDK常量: FsClustergpfs1 query:"FsCluster,omitempty"
132
148
  Keyword: Optional[str] = None # 关键字搜索 query:"Keyword,omitempty"
149
+ Limit: Optional[int] = None # 每页数量 query:"Limit,omitempty"
150
+ Offset: Optional[int] = None # 偏移量,从第几条记录开始查询 query:"Offset,omitempty"
133
151
  Owner: Optional[str] = None # 所有者 query:"Owner,omitempty"
152
+ SortBy: Optional[str] = None # 排序字段,格式:字段名:排序方向,如 created:desc query:"SortBy,omitempty"
134
153
 
@@ -96,12 +96,12 @@ class CreateProjectReq:
96
96
 
97
97
  @dataclass
98
98
  class CreateQuotaGroupReq:
99
- MachineType: str # SDK常量: MachineTypeCPU, MachineTypeGPU json:"MachineType"
99
+ MachineType: str # 机器类型(CPU/GPU) SDK常量: MachineTypeCPU, MachineTypeGPU json:"MachineType"
100
100
  Project: str # 项目名 json:"Project"
101
101
  QuotaGroup: str # 配额组名 json:"QuotaGroup"
102
- UsageType: str # SDK常量: UsageTypeWorkspace, UsageTypeWorkload json:"UsageType"
102
+ UsageType: str # 使用类型(workspace/workload) SDK常量: UsageTypeWorkspace, UsageTypeWorkload json:"UsageType"
103
103
  AllocateScope: Optional[str] = None # 分配范围(可选,不传则自动推断) SDK常量: AllocateScopePublic, AllocateScopeTenant, AllocateScopeProject, AllocateScopeQuotagroup, AllocateNoValue json:"AllocateScope,omitempty"
104
- NodeNames: Optional[List[str]] = None # json:"NodeNames,omitempty"
104
+ NodeNames: Optional[List[str]] = None # 节点名称列表 json:"NodeNames,omitempty"
105
105
  Quota: Optional[CreateQuotaGroupReqQuota] = None # 配额 json:"Quota,omitempty"
106
106
  QuotaGroupUsers: Optional[List[CreateQuotaGroupReqQuotaGroupUser]] = None # 配额组角色列表(指针用于判断是否传参) json:"QuotaGroupUsers,omitempty"
107
107
 
@@ -143,7 +143,7 @@ class ListNodeInstancesData:
143
143
 
144
144
  @dataclass
145
145
  class ListNodesData:
146
- GpuOccupancyUsers: Optional[Dict[str, int]] = None # json:"GpuOccupancyUsers,omitempty"
146
+ GpuOccupancyUsers: Optional[Dict[str, int]] = None # GPU 占用用户统计(用户名 -> Pod 数) json:"GpuOccupancyUsers,omitempty"
147
147
  Items: Optional[List[NodeData]] = None # 节点列表 json:"Items,omitempty"
148
148
  Limit: Optional[int] = 0 # 分页大小 json:"Limit,omitempty"
149
149
  Offset: Optional[int] = 0 # 分页偏移量 json:"Offset,omitempty"
@@ -188,6 +188,8 @@ class ListQuotaGroupsSimpleData:
188
188
  @dataclass
189
189
  class ListSKUsData:
190
190
  Items: Optional[List[SKUData]] = None # SKU列表 json:"Items,omitempty"
191
+ Limit: Optional[int] = 0 # 分页大小 json:"Limit,omitempty"
192
+ Offset: Optional[int] = 0 # 分页偏移量 json:"Offset,omitempty"
191
193
  Total: Optional[int] = 0 # 总条数 json:"Total,omitempty"
192
194
 
193
195
  @dataclass
@@ -205,13 +207,14 @@ class ListNodeConfigurationData:
205
207
  @dataclass
206
208
  class NodeData:
207
209
  GPUType: Optional[str] = "" # 卡类型 json:"GPUType,omitempty"
208
- MachineType: Optional[str] = None # SDK常量: MachineTypeCPU, MachineTypeGPU json:"MachineType,omitempty"
210
+ Internet: Optional[bool] = False # 是否联网 json:"Internet,omitempty"
211
+ MachineType: Optional[str] = None # 机器类型(CPU/GPU) SDK常量: MachineTypeCPU, MachineTypeGPU json:"MachineType,omitempty"
209
212
  MaintenanceStatus: Optional[str] = "" # 维护状态 json:"MaintenanceStatus,omitempty"
210
213
  NodeId: Optional[str] = "" # 节点UID json:"NodeId,omitempty"
211
214
  NodeName: Optional[str] = "" # 基本信息 json:"NodeName,omitempty"
212
215
  NodeQuota: Optional[NodeQuota] = None # 节点配额 json:"NodeQuota,omitempty"
213
216
  NodeStatus: Optional[str] = "" # 状态信息 json:"NodeStatus,omitempty"
214
- PodCount: Optional[int] = 0 # 系统信息 json:"PodCount,omitempty"
217
+ PodCount: Optional[int] = 0 # Pod个数 json:"PodCount,omitempty"
215
218
  Project: Optional[str] = "" # 项目名称 json:"Project,omitempty"
216
219
  QuotaGroup: Optional[str] = "" # 配额组 json:"QuotaGroup,omitempty"
217
220
  Unschedulable: Optional[bool] = False # 不可调度 json:"Unschedulable,omitempty"
@@ -323,12 +326,12 @@ class UpdateQuotaGroupReqQuota:
323
326
  @dataclass
324
327
  class GetQuotaGroupData:
325
328
  AllocateScope: Optional[str] = None # 分配范围:global_public / tenant_public / project_public / quotagroup_private SDK常量: AllocateScopePublic, AllocateScopeTenant, AllocateScopeProject, AllocateScopeQuotagroup, AllocateNoValue json:"AllocateScope,omitempty"
326
- CpuMemoryLimit: Optional[CpuMemoryLimit] = None # json:"CpuMemoryLimit,omitempty"
329
+ CpuMemoryLimit: Optional[CpuMemoryLimit] = None # CPU/内存限制 json:"CpuMemoryLimit,omitempty"
327
330
  CreationTime: Optional[str] = "" # 创建时间(RFC3339,UTC) json:"CreationTime,omitempty"
328
331
  Creator: Optional[str] = "" # 创建者 json:"Creator,omitempty"
329
332
  IdleStatus: Optional[str] = None # 闲时状态 SDK常量: IdleStatusOpen, IdleStatusClosed json:"IdleStatus,omitempty"
330
- MachineType: Optional[str] = None # SDK常量: MachineTypeCPU, MachineTypeGPU json:"MachineType,omitempty"
331
- NodeNames: Optional[List[str]] = None # json:"NodeNames,omitempty"
333
+ MachineType: Optional[str] = None # 机器类型(CPU/GPU) SDK常量: MachineTypeCPU, MachineTypeGPU json:"MachineType,omitempty"
334
+ NodeNames: Optional[List[str]] = None # 节点名称列表 json:"NodeNames,omitempty"
332
335
  Project: Optional[str] = "" # 项目名 json:"Project,omitempty"
333
336
  QuotaGroup: Optional[str] = "" # 配额组名 json:"QuotaGroup,omitempty"
334
337
  QuotaGroupId: Optional[str] = "" # 配额组ID json:"QuotaGroupId,omitempty"
@@ -336,7 +339,7 @@ class GetQuotaGroupData:
336
339
  QuotaStatus: Optional[QuotaStatus] = None # 配额状态 json:"QuotaStatus,omitempty"
337
340
  SchedStrategy: Optional[str] = None # 调度策略 SDK常量: SchedStrategySoft, SchedStrategyStrict json:"SchedStrategy,omitempty"
338
341
  TenantIdleStatus: Optional[str] = None # 租户闲时状态 SDK常量: IdleStatusOpen, IdleStatusClosed json:"TenantIdleStatus,omitempty"
339
- UsageType: Optional[str] = None # SDK常量: UsageTypeWorkspace, UsageTypeWorkload json:"UsageType,omitempty"
342
+ UsageType: Optional[str] = None # 使用类型(workspace/workload) SDK常量: UsageTypeWorkspace, UsageTypeWorkload json:"UsageType,omitempty"
340
343
 
341
344
  @dataclass
342
345
  class QuotaGroupUser:
@@ -389,6 +392,7 @@ class SKUData:
389
392
  CpuCores: Optional[str] = "" # CPU 核数 json:"CpuCores,omitempty"
390
393
  GpuCores: Optional[str] = "" # GPU 核数 json:"GpuCores,omitempty"
391
394
  GpuMemBytes: Optional[str] = "" # GPU 显存字节数 json:"GpuMemBytes,omitempty"
395
+ Internet: Optional[bool] = False # 是否联网 json:"Internet,omitempty"
392
396
  MemBytes: Optional[str] = "" # 内存字节数 json:"MemBytes,omitempty"
393
397
  SKUId: Optional[str] = "" # SKU ID json:"SKUId,omitempty"
394
398
  Vendor: Optional[str] = "" # 厂商 json:"Vendor,omitempty"
@@ -437,6 +441,7 @@ class GetQuotaGroupReq:
437
441
 
438
442
  @dataclass
439
443
  class ListAuditLogsReq:
444
+ ResourceType: List[str] # 资源类型,支持多个值。枚举:projects(项目), userbindings(用户权限), users(用户), public-dataset(公共数据集), public-codebase(公共Codebase), dataset(数据集), labeltask(标注任务), experiment(训练任务), run(训练实验), workspace(开发机), rjobs(RJob), model(模型), evalhub(评测任务), inference(推理服务), codebase(Codebase), images(镜像), oss(对象存储), quotagroups(配额组), tenants(租户), netpolicies(网络策略), replicas(副本), process(worker), cleanpolicies(清理策略) query:"ResourceType"
440
445
  Limit: Optional[int] = None # 每页数量 query:"Limit,omitempty"
441
446
  Offset: Optional[int] = None # 偏移量 query:"Offset,omitempty"
442
447
  OperationType: Optional[str] = None # 操作类型(如 create, update, delete 等) query:"OperationType,omitempty"
@@ -444,17 +449,18 @@ class ListAuditLogsReq:
444
449
  Project: Optional[str] = None # 项目名 query:"Project,omitempty"
445
450
  ProjectName: Optional[str] = None # 项目名称(可选,用于模糊查询) query:"ProjectName,omitempty"
446
451
  ResourceName: Optional[str] = None # 资源名称(模糊搜索) query:"ResourceName,omitempty"
447
- ResourceType: List[str] # 资源类型,支持多个值。枚举:projects(项目), userbindings(用户权限), users(用户), public-dataset(公共数据集), public-codebase(公共Codebase), dataset(数据集), labeltask(标注任务), experiment(训练任务), run(训练实验), workspace(开发机), rjobs(RJob), model(模型), evalhub(评测任务), inference(推理服务), codebase(Codebase), images(镜像), oss(对象存储), quotagroups(配额组), tenants(租户), netpolicies(网络策略), replicas(副本), process(worker), cleanpolicies(清理策略) query:"ResourceType"
448
452
  Username: Optional[str] = None # 用户名称(模糊搜索) query:"Username,omitempty"
449
453
 
450
454
  @dataclass
451
455
  class ListEventsReq:
452
456
  Kind: str # 对象类型 query:"Kind"
453
- Limit: Optional[int] = None # 分页 query:"Limit,omitempty"
454
457
  Name: str # 对象名称 query:"Name"
455
- Offset: Optional[int] = None # 分页偏移量(可选,默认 0) query:"Offset,omitempty"
456
458
  Project: str # 项目名 (必填) query:"Project"
457
459
  UId: str # UId query:"UId"
460
+ Limit: Optional[int] = None # 分页 query:"Limit,omitempty"
461
+ Offset: Optional[int] = None # 分页偏移量(可选,默认 0) query:"Offset,omitempty"
462
+ Order: Optional[str] = None # 排序方向: asc, desc,默认 desc query:"Order,omitempty"
463
+ SortBy: Optional[str] = None # 排序 query:"SortBy,omitempty"
458
464
 
459
465
  @dataclass
460
466
  class ListNodeConfigurationReq:
@@ -462,11 +468,11 @@ class ListNodeConfigurationReq:
462
468
 
463
469
  @dataclass
464
470
  class ListNodeInstancesReq:
465
- InstanceStatus: Optional[List[str]] = None # Instance 状态筛选 query:"InstanceStatus,omitempty"
466
471
  InstanceType: List[str] # 资源类型筛选(worker, workspace, job, ray, other) query:"InstanceType"
472
+ NodeName: str # 节点名 query:"NodeName"
473
+ InstanceStatus: Optional[List[str]] = None # Instance 状态筛选 query:"InstanceStatus,omitempty"
467
474
  Keyword: Optional[str] = None # 关键字搜索 query:"Keyword,omitempty"
468
475
  Limit: Optional[int] = None # 分页大小(min=1,max=100) 默认10 query:"Limit,omitempty"
469
- NodeName: str # 节点名 query:"NodeName"
470
476
  Offset: Optional[int] = None # 分页偏移量(min=0) 默认0 query:"Offset,omitempty"
471
477
  Order: Optional[str] = None # 排序方向: asc, desc query:"Order,omitempty"
472
478
  SortBy: Optional[str] = None # 排序字段 query:"SortBy,omitempty"
@@ -497,9 +503,9 @@ class ListNodesReq:
497
503
 
498
504
  @dataclass
499
505
  class ListProjectUsersReq:
506
+ Project: str # 项目名 query:"Project"
500
507
  Limit: Optional[int] = None # 分页大小(min=1,max=100) 默认10 query:"Limit,omitempty"
501
508
  Offset: Optional[int] = None # 分页偏移量(min=0) 默认0 query:"Offset,omitempty"
502
- Project: str # 项目名 query:"Project"
503
509
  Role: Optional[str] = None # 角色 枚举值:manager (管理员), operator (操作员) SDK常量: RoleManager, RoleOperator query:"Role,omitempty"
504
510
 
505
511
  @dataclass
@@ -520,29 +526,31 @@ class ListProjectsSimpleReq:
520
526
 
521
527
  @dataclass
522
528
  class ListQuotaGroupsReq:
529
+ Project: str # 项目名 query:"Project"
523
530
  IsBelongsTo: Optional[bool] = None # 是否只获取当前用户所在的配额组 query:"IsBelongsTo,omitempty"
524
531
  Limit: Optional[int] = None # 分页大小(min=1,max=100) 默认10 query:"Limit,omitempty"
525
532
  MachineType: Optional[str] = None # 机器类型筛选 可选CPU,GPU SDK常量: MachineTypeCPU, MachineTypeGPU query:"MachineType,omitempty"
526
533
  Offset: Optional[int] = None # 分页偏移量(min=0) 默认0 query:"Offset,omitempty"
527
534
  Order: Optional[str] = None # 排序方向: asc, desc query:"Order,omitempty"
528
- Project: str # 项目名 query:"Project"
529
535
  QuotaGroup: Optional[str] = None # 按配额组名模糊搜索(子串匹配) query:"QuotaGroup,omitempty"
530
536
  SortBy: Optional[str] = None # 排序字段: CreationTime,空=不排序 query:"SortBy,omitempty"
531
537
  UsageType: Optional[str] = None # 使用类型筛选,可选workspace,workload SDK常量: UsageTypeWorkspace, UsageTypeWorkload query:"UsageType,omitempty"
532
538
 
533
539
  @dataclass
534
540
  class ListQuotaGroupsSimpleReq:
541
+ Project: str # 项目名 query:"Project"
535
542
  Limit: Optional[int] = None # 分页大小(min=1,max=100) 默认10 query:"Limit,omitempty"
536
543
  Offset: Optional[int] = None # 分页偏移量(min=0) 默认0 query:"Offset,omitempty"
537
- Project: str # 项目名 query:"Project"
538
544
  UserName: Optional[str] = None # 用户名 query:"UserName,omitempty"
539
545
 
540
546
  @dataclass
541
547
  class ListSKUsReq:
548
+ SKUType: str # SKU类型:cpu或gpu query:"SKUType"
549
+ Internet: Optional[bool] = None # 是否联网 query:"Internet,omitempty"
542
550
  Keyword: Optional[str] = None # 关键字搜索 query:"Keyword,omitempty"
543
- Limit: Optional[int] = None # 分页大小 query:"Limit,omitempty"
544
- Offset: Optional[int] = None # 分页偏移量 query:"Offset,omitempty"
551
+ Limit: Optional[int] = None # 分页大小(可选,默认 20,最大 100) query:"Limit,omitempty"
552
+ Offset: Optional[int] = None # 分页偏移量(可选,默认 0) query:"Offset,omitempty"
553
+ Project: Optional[str] = None # Scope为project时必填 query:"Project,omitempty"
545
554
  ResourceType: Optional[str] = None # 资源类型:用于过滤SKU适用的资源类型(如job、workspace、ray),空表示所有类型 query:"ResourceType,omitempty"
546
- SKUType: str # SKU类型:cpu或gpu query:"SKUType"
547
555
  Scope: Optional[str] = None # SKU可见范围:public(公域)、tenant(租域)、project(项目域),空默认为public query:"Scope,omitempty"
548
556
 
@@ -34,38 +34,41 @@ class Type:
34
34
  # Models
35
35
  @dataclass
36
36
  class Authorization:
37
- Mode: Optional[str] = None # SDK常量: ModeREADONLY, ModeREADWRITE, ModeFULL_CONTROL json:"Mode,omitempty"
38
- Name: Optional[str] = "" # 被分享对象名字 json:"Name,omitempty"
39
- Type: Optional[str] = None # SDK常量: TypeCanonicalUser, TypeGROUP, TypePROJECT json:"Type,omitempty"
37
+ Mode: str # SDK常量: ModeREADONLY, ModeREADWRITE, ModeFULL_CONTROL json:"Mode"
38
+ Name: str # 被分享者名 json:"Name"
39
+ Type: str # SDK常量: TypeCanonicalUser, TypeGROUP, TypePROJECT json:"Type"
40
40
 
41
41
  @dataclass
42
42
  class CreateBucketReqAuthorization:
43
- Mode: Optional[str] = None # SDK常量: ModeREADONLY, ModeREADWRITE, ModeFULL_CONTROL json:"Mode,omitempty"
44
- Name: Optional[str] = None # 被分享对象名字 json:"Name,omitempty"
45
- Type: Optional[str] = None # SDK常量: TypeCanonicalUser, TypeGROUP, TypePROJECT json:"Type,omitempty"
43
+ Mode: str # SDK常量: ModeREADONLY, ModeREADWRITE, ModeFULL_CONTROL json:"Mode"
44
+ Name: str # 被分享者名 json:"Name"
45
+ Type: str # SDK常量: TypeCanonicalUser, TypeGROUP, TypePROJECT json:"Type"
46
46
 
47
47
  @dataclass
48
48
  class UpdateBucketReqAuthorization:
49
- Mode: Optional[str] = None # SDK常量: ModeREADONLY, ModeREADWRITE, ModeFULL_CONTROL json:"Mode,omitempty"
50
- Name: Optional[str] = None # 被分享对象名字 json:"Name,omitempty"
51
- Type: Optional[str] = None # SDK常量: TypeCanonicalUser, TypeGROUP, TypePROJECT json:"Type,omitempty"
49
+ Mode: str # SDK常量: ModeREADONLY, ModeREADWRITE, ModeFULL_CONTROL json:"Mode"
50
+ Name: str # 被分享者名 json:"Name"
51
+ Type: str # SDK常量: TypeCanonicalUser, TypeGROUP, TypePROJECT json:"Type"
52
52
 
53
53
  @dataclass
54
54
  class BucketResponse:
55
- Authorizations: Optional[List[Authorization]] = None # json:"Authorizations,omitempty"
56
- Bucket: Optional[str] = "" # json:"Bucket,omitempty"
57
- Owner: Optional[str] = "" # json:"Owner,omitempty"
55
+ Authorizations: Optional[List[Authorization]] = None # 权限分享 json:"Authorizations,omitempty"
56
+ Bucket: Optional[str] = "" # 存储桶名 json:"Bucket,omitempty"
57
+ Created: Optional[str] = "" # 创建时间 json:"Created,omitempty"
58
+ DeletedTime: Optional[str] = "" # 删除时间(回收站中显示) json:"DeletedTime,omitempty"
59
+ Owner: Optional[str] = "" # 所有者 json:"Owner,omitempty"
58
60
  Permission: Optional[str] = None # SDK常量: PermissionDENY, PermissionREADONLY, PermissionREADWRITE, PermissionPUBLIC_READ, PermissionADMIN json:"Permission,omitempty"
59
- ProjectID: Optional[str] = "" # json:"ProjectID,omitempty"
60
- ProjectId: Optional[str] = "" # json:"ProjectId,omitempty"
61
- Size: Optional[str] = "" # json:"Size,omitempty"
61
+ Project: Optional[str] = "" # 所属项目 json:"Project,omitempty"
62
+ PublicRead: Optional[bool] = False # 是否公共读 json:"PublicRead,omitempty"
63
+ ReadOnly: Optional[bool] = False # 是否只读 json:"ReadOnly,omitempty"
64
+ Size: Optional[str] = "" # 当前容量 json:"Size,omitempty"
62
65
  State: Optional[str] = None # SDK常量: StateSTATE_PENDING, StateSTATE_READY, StateSTATE_FAILED, StateSTATE_DELETED json:"State,omitempty"
63
- Tenant: Optional[str] = "" # json:"Tenant,omitempty"
66
+ Tenant: Optional[str] = "" # 所属租户 json:"Tenant,omitempty"
64
67
 
65
68
  @dataclass
66
69
  class CreateBucketReq:
67
- Bucket: str # Bucket名,命名规则参照AWS S3存储桶命名规则 json:"Bucket"
68
- Project: str # 所属Project json:"Project"
70
+ Bucket: str # 存储桶名 json:"Bucket"
71
+ Project: str # 所属项目 json:"Project"
69
72
  Authorizations: Optional[List[CreateBucketReqAuthorization]] = None # 权限分享 json:"Authorizations,omitempty"
70
73
  Description: Optional[str] = None # 描述 json:"Description,omitempty"
71
74
 
@@ -75,21 +78,22 @@ class DeleteBucketReq:
75
78
 
76
79
  @dataclass
77
80
  class GetBucketData:
78
- Authorizations: Optional[List[Authorization]] = None # json:"Authorizations,omitempty"
79
- Bucket: Optional[str] = "" # json:"Bucket,omitempty"
80
- Owner: Optional[str] = "" # json:"Owner,omitempty"
81
+ Authorizations: Optional[List[Authorization]] = None # 权限分享 json:"Authorizations,omitempty"
82
+ Bucket: Optional[str] = "" # 存储桶名 json:"Bucket,omitempty"
83
+ Created: Optional[str] = "" # 创建时间 json:"Created,omitempty"
84
+ Owner: Optional[str] = "" # 所有者 json:"Owner,omitempty"
81
85
  Permission: Optional[str] = None # SDK常量: PermissionDENY, PermissionREADONLY, PermissionREADWRITE, PermissionPUBLIC_READ, PermissionADMIN json:"Permission,omitempty"
82
- Project: Optional[str] = "" # json:"Project,omitempty"
83
- ProjectID: Optional[str] = "" # json:"ProjectID,omitempty"
84
- ProjectId: Optional[str] = "" # json:"ProjectId,omitempty"
85
- Size: Optional[str] = "" # json:"Size,omitempty"
86
+ Project: Optional[str] = "" # 所属项目 json:"Project,omitempty"
87
+ PublicRead: Optional[bool] = False # 是否公共读 json:"PublicRead,omitempty"
88
+ ReadOnly: Optional[bool] = False # 是否只读 json:"ReadOnly,omitempty"
89
+ Size: Optional[str] = "" # 当前容量 json:"Size,omitempty"
86
90
  State: Optional[str] = None # SDK常量: StateSTATE_PENDING, StateSTATE_READY, StateSTATE_FAILED, StateSTATE_DELETED json:"State,omitempty"
87
- Tenant: Optional[str] = "" # json:"Tenant,omitempty"
91
+ Tenant: Optional[str] = "" # 所属租户 json:"Tenant,omitempty"
88
92
 
89
93
  @dataclass
90
94
  class ListBucketsData:
91
95
  Items: Optional[List[BucketResponse]] = None # json:"Items,omitempty"
92
- Total: Optional[int] = 0 # json:"Total,omitempty"
96
+ Total: Optional[int] = 0 # 总数 json:"Total,omitempty"
93
97
 
94
98
  @dataclass
95
99
  class CreateBucketData:
@@ -97,12 +101,12 @@ class CreateBucketData:
97
101
 
98
102
  @dataclass
99
103
  class UpdateBucketReq:
100
- Bucket: str # Bucket名 json:"Bucket"
104
+ Bucket: str # 存储桶名 json:"Bucket"
101
105
  Authorizations: Optional[List[UpdateBucketReqAuthorization]] = None # 权限分享 json:"Authorizations,omitempty"
102
- Description: Optional[str] = None # 对该Bucket的描述 json:"Description,omitempty"
103
- Project: Optional[str] = None # Bucket所属项目(只能在Bucket还没有归属某个项目时修改,一旦设置则无法再次更改) json:"Project,omitempty"
104
- PublicRead: Optional[bool] = None # 是否可公共读 json:"PublicRead,omitempty"
105
- ReadOnly: Optional[bool] = None # 是否只读 json:"ReadOnly,omitempty"
106
+ Description: Optional[str] = None # 描述 json:"Description,omitempty"
107
+ Project: Optional[str] = None # 所属项目(当项目一旦被设置则不可更改) json:"Project,omitempty"
108
+ PublicRead: Optional[str] = None # 公共读 json:"PublicRead,omitempty"
109
+ ReadOnly: Optional[str] = None # 只读 json:"ReadOnly,omitempty"
106
110
 
107
111
  @dataclass
108
112
  class GetBucketReq:
@@ -110,12 +114,12 @@ class GetBucketReq:
110
114
 
111
115
  @dataclass
112
116
  class ListBucketsReq:
113
- SortOrder: Optional[str] = None # 排序方向 (asc, desc, 默认asc) query:"SortOrder,omitempty"
114
- Offset: Optional[int] = None # 偏移量 (默认 0, 0 <= Offset) query:"Offset,omitempty"
115
- Limit: Optional[int] = None # 每页数量限制(默认100, 0 < Limit <= 100) query:"Limit,omitempty"
116
- SortBy: Optional[str] = None # 排序规则(created, size, 默认:created) query:"SortBy,omitempty"
117
117
  Keyword: Optional[str] = None # 过滤条件,可以填项目名/桶名/所有者 query:"Keyword,omitempty"
118
+ Limit: Optional[int] = None # 每页数量限制(默认100, 0 < Limit <= 100) query:"Limit,omitempty"
119
+ Offset: Optional[int] = None # 偏移量 (默认 0, 0 <= Offset) query:"Offset,omitempty"
118
120
  Owner: Optional[str] = None # 所有者 query:"Owner,omitempty"
121
+ SortBy: Optional[str] = None # 排序规则(created,size,默认created) query:"SortBy,omitempty"
122
+ SortOrder: Optional[str] = None # 排序方向 (asc, desc, 默认asc) query:"SortOrder,omitempty"
119
123
 
120
124
 
121
125
  DeleteBucketData = CreateBucketData