yicloud-sdk-python 0.4.2__tar.gz → 0.5.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.
- {yicloud_sdk_python-0.4.2/yicloud_sdk_python.egg-info → yicloud_sdk_python-0.5.0}/PKG-INFO +7 -5
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/README.md +6 -4
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/pyproject.toml +1 -1
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/version.py +1 -1
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/__init__.py +1 -1
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/__init__.py +2 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/fs/actions.py +2 -2
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/job/actions.py +2 -2
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/job/models.py +12 -3
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/mc/__init__.py +8 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/mc/actions.py +136 -10
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/mc/models.py +63 -5
- yicloud_sdk_python-0.5.0/yicloud/services/service/__init__.py +88 -0
- yicloud_sdk_python-0.5.0/yicloud/services/service/actions.py +274 -0
- yicloud_sdk_python-0.5.0/yicloud/services/service/client.py +21 -0
- yicloud_sdk_python-0.5.0/yicloud/services/service/models.py +469 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0/yicloud_sdk_python.egg-info}/PKG-INFO +7 -5
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud_sdk_python.egg-info/SOURCES.txt +4 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/LICENSE +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/setup.cfg +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/auth/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/auth/credential.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/auth/sign.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/config.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/errs/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/log/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/log/logger.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/log/std.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/msgs/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/utils/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/utils/helps.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/utils/retry/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/base/utils/retry/retry.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/bc/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/bc/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/bc/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/bc/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/dataset/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/dataset/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/dataset/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/dataset/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/fs/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/fs/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/fs/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/iam/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/iam/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/iam/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/iam/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/inferset/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/inferset/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/inferset/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/inferset/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/job/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/job/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/mc/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/modelrepo/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/modelrepo/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/modelrepo/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/modelrepo/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/monitor/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/monitor/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/monitor/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/monitor/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/oss/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/oss/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/oss/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/oss/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/ray/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/ray/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/ray/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/ray/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/registry/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/registry/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/registry/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/registry/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/sandbox/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/sandbox/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/sandbox/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/sandbox/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/volume/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/volume/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/volume/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/volume/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/workspace/__init__.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/workspace/actions.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/workspace/client.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud/services/workspace/models.py +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud_sdk_python.egg-info/dependency_links.txt +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud_sdk_python.egg-info/not-zip-safe +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.0}/yicloud_sdk_python.egg-info/requires.txt +0 -0
- {yicloud_sdk_python-0.4.2 → yicloud_sdk_python-0.5.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.
|
|
3
|
+
Version: 0.5.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
|
|
@@ -114,14 +114,15 @@ except base.exc.YiCloudException as e:
|
|
|
114
114
|
| FS | `yicloud.services.fs` | 9 | 文件系统 FS |
|
|
115
115
|
| IAM | `yicloud.services.iam` | 12 | 访问控制 IAM |
|
|
116
116
|
| Inferset | `yicloud.services.inferset` | 21 | 模型推理服务 INFERSET |
|
|
117
|
-
| JOB | `yicloud.services.job` |
|
|
118
|
-
| MC | `yicloud.services.mc` |
|
|
117
|
+
| JOB | `yicloud.services.job` | 14 | 训练任务 JOB |
|
|
118
|
+
| MC | `yicloud.services.mc` | 31 | 管理中心 MC |
|
|
119
119
|
| Modelrepo | `yicloud.services.modelrepo` | 11 | 模型仓库 MODELREPO |
|
|
120
120
|
| Monitor | `yicloud.services.monitor` | 1 | 监控中心 MONITOR |
|
|
121
121
|
| OSS | `yicloud.services.oss` | 5 | 对象存储OSS |
|
|
122
122
|
| RAY | `yicloud.services.ray` | 9 | 分布式计算 Ray |
|
|
123
123
|
| Registry | `yicloud.services.registry` | 9 | 镜像仓库 REGISTRY |
|
|
124
|
-
| Sandbox | `yicloud.services.sandbox` |
|
|
124
|
+
| Sandbox | `yicloud.services.sandbox` | 23 | 沙盒 SANDBOX |
|
|
125
|
+
| Service | `yicloud.services.service` | 9 | 服务 SERVICE |
|
|
125
126
|
| Volume | `yicloud.services.volume` | 12 | 云盘管理 Volume |
|
|
126
127
|
| Workspace | `yicloud.services.workspace` | 20 | 开发机 WS |
|
|
127
128
|
|
|
@@ -137,7 +138,7 @@ yicloud/ # Main package
|
|
|
137
138
|
│ ├── log/ # Logger
|
|
138
139
|
│ ├── msgs/ # Response types (Rsp[T], Header, RspMeta)
|
|
139
140
|
│ └── utils/ # Utilities
|
|
140
|
-
└── services/ # Business services (
|
|
141
|
+
└── services/ # Business services (16 services)
|
|
141
142
|
├── bc/ # 账单管理 BC
|
|
142
143
|
├── dataset/ # 数据集 DATASET
|
|
143
144
|
├── fs/ # 文件系统 FS
|
|
@@ -151,6 +152,7 @@ yicloud/ # Main package
|
|
|
151
152
|
├── ray/ # 分布式计算 Ray
|
|
152
153
|
├── registry/ # 镜像仓库 REGISTRY
|
|
153
154
|
├── sandbox/ # 沙盒 SANDBOX
|
|
155
|
+
├── service/ # 服务 SERVICE
|
|
154
156
|
├── volume/ # 云盘管理 Volume
|
|
155
157
|
├── workspace/ # 开发机 WS
|
|
156
158
|
examples/ # Example code (one per service)
|
|
@@ -75,14 +75,15 @@ except base.exc.YiCloudException as e:
|
|
|
75
75
|
| FS | `yicloud.services.fs` | 9 | 文件系统 FS |
|
|
76
76
|
| IAM | `yicloud.services.iam` | 12 | 访问控制 IAM |
|
|
77
77
|
| Inferset | `yicloud.services.inferset` | 21 | 模型推理服务 INFERSET |
|
|
78
|
-
| JOB | `yicloud.services.job` |
|
|
79
|
-
| MC | `yicloud.services.mc` |
|
|
78
|
+
| JOB | `yicloud.services.job` | 14 | 训练任务 JOB |
|
|
79
|
+
| MC | `yicloud.services.mc` | 31 | 管理中心 MC |
|
|
80
80
|
| Modelrepo | `yicloud.services.modelrepo` | 11 | 模型仓库 MODELREPO |
|
|
81
81
|
| Monitor | `yicloud.services.monitor` | 1 | 监控中心 MONITOR |
|
|
82
82
|
| OSS | `yicloud.services.oss` | 5 | 对象存储OSS |
|
|
83
83
|
| RAY | `yicloud.services.ray` | 9 | 分布式计算 Ray |
|
|
84
84
|
| Registry | `yicloud.services.registry` | 9 | 镜像仓库 REGISTRY |
|
|
85
|
-
| Sandbox | `yicloud.services.sandbox` |
|
|
85
|
+
| Sandbox | `yicloud.services.sandbox` | 23 | 沙盒 SANDBOX |
|
|
86
|
+
| Service | `yicloud.services.service` | 9 | 服务 SERVICE |
|
|
86
87
|
| Volume | `yicloud.services.volume` | 12 | 云盘管理 Volume |
|
|
87
88
|
| Workspace | `yicloud.services.workspace` | 20 | 开发机 WS |
|
|
88
89
|
|
|
@@ -98,7 +99,7 @@ yicloud/ # Main package
|
|
|
98
99
|
│ ├── log/ # Logger
|
|
99
100
|
│ ├── msgs/ # Response types (Rsp[T], Header, RspMeta)
|
|
100
101
|
│ └── utils/ # Utilities
|
|
101
|
-
└── services/ # Business services (
|
|
102
|
+
└── services/ # Business services (16 services)
|
|
102
103
|
├── bc/ # 账单管理 BC
|
|
103
104
|
├── dataset/ # 数据集 DATASET
|
|
104
105
|
├── fs/ # 文件系统 FS
|
|
@@ -112,6 +113,7 @@ yicloud/ # Main package
|
|
|
112
113
|
├── ray/ # 分布式计算 Ray
|
|
113
114
|
├── registry/ # 镜像仓库 REGISTRY
|
|
114
115
|
├── sandbox/ # 沙盒 SANDBOX
|
|
116
|
+
├── service/ # 服务 SERVICE
|
|
115
117
|
├── volume/ # 云盘管理 Volume
|
|
116
118
|
├── workspace/ # 开发机 WS
|
|
117
119
|
examples/ # Example code (one per service)
|
|
@@ -14,6 +14,7 @@ from . import oss
|
|
|
14
14
|
from . import ray
|
|
15
15
|
from . import registry
|
|
16
16
|
from . import sandbox
|
|
17
|
+
from . import service
|
|
17
18
|
from . import volume
|
|
18
19
|
from . import workspace
|
|
19
20
|
|
|
@@ -31,6 +32,7 @@ __all__ = [
|
|
|
31
32
|
"ray",
|
|
32
33
|
"registry",
|
|
33
34
|
"sandbox",
|
|
35
|
+
"service",
|
|
34
36
|
"volume",
|
|
35
37
|
"workspace",
|
|
36
38
|
]
|
|
@@ -98,7 +98,7 @@ async def create_fileset_with_quota_async(ctx: Optional[dict], req: models.Creat
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
def list_available_gpfs_clusters(ctx: Optional[dict], req: models.ListAvailableGpfsClustersReq) -> models.ListAvailableGpfsClustersData:
|
|
101
|
-
"""
|
|
101
|
+
"""查询可用文件存储集群
|
|
102
102
|
根据 RegionId 和 ZoneId 查询该可用区下可挂载的可用文件存储集群
|
|
103
103
|
GET /fs/v1alpha2/ListAvailableGpfsClusters
|
|
104
104
|
Action: ListAvailableGpfsClusters
|
|
@@ -113,7 +113,7 @@ def list_available_gpfs_clusters(ctx: Optional[dict], req: models.ListAvailableG
|
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
async def list_available_gpfs_clusters_async(ctx: Optional[dict], req: models.ListAvailableGpfsClustersReq) -> models.ListAvailableGpfsClustersData:
|
|
116
|
-
"""
|
|
116
|
+
"""查询可用文件存储集群(异步)
|
|
117
117
|
根据 RegionId 和 ZoneId 查询该可用区下可挂载的可用文件存储集群
|
|
118
118
|
GET /fs/v1alpha2/ListAvailableGpfsClusters
|
|
119
119
|
Action: ListAvailableGpfsClusters
|
|
@@ -11,7 +11,7 @@ _LAST_VERSION = "v1alpha1"
|
|
|
11
11
|
|
|
12
12
|
def list_jobs(ctx: Optional[dict], req: models.ListJobsReq) -> models.ListJobsData:
|
|
13
13
|
"""获取 Job 列表
|
|
14
|
-
分页获取 Job
|
|
14
|
+
分页获取 Job 列表,支持按名称、状态、创建者、配额组、资源池等条件过滤
|
|
15
15
|
GET /job/v1alpha1/ListJobs
|
|
16
16
|
Action: ListJobs
|
|
17
17
|
|
|
@@ -26,7 +26,7 @@ def list_jobs(ctx: Optional[dict], req: models.ListJobsReq) -> models.ListJobsDa
|
|
|
26
26
|
|
|
27
27
|
async def list_jobs_async(ctx: Optional[dict], req: models.ListJobsReq) -> models.ListJobsData:
|
|
28
28
|
"""获取 Job 列表(异步)
|
|
29
|
-
分页获取 Job
|
|
29
|
+
分页获取 Job 列表,支持按名称、状态、创建者、配额组、资源池等条件过滤
|
|
30
30
|
GET /job/v1alpha1/ListJobs
|
|
31
31
|
Action: ListJobs
|
|
32
32
|
|
|
@@ -92,19 +92,21 @@ class CreateJobReq:
|
|
|
92
92
|
TaskSpecs: Dict[str, CreateJobReqTaskSpec] # 任务规格映射,key 为任务名(如 t0),value 为任务规格 json:"TaskSpecs"
|
|
93
93
|
ZoneId: str # 可用区(AZ),必填;RegionId 由网关通过 X-OGW-REGION-ID 请求头注入 json:"ZoneId"
|
|
94
94
|
AutoDeleteDuration: Optional[str] = None # 自动删除时间,如 24h json:"AutoDeleteDuration,omitempty"
|
|
95
|
-
BackoffLimit: Optional[int] = None #
|
|
95
|
+
BackoffLimit: Optional[int] = None # 重试次数限制(0-20,默认 5) json:"BackoffLimit,omitempty"
|
|
96
96
|
Creator: Optional[str] = None # 创建者用户名 json:"Creator,omitempty"
|
|
97
97
|
CreatorId: Optional[str] = None # 创建者用户 ID json:"CreatorId,omitempty"
|
|
98
98
|
EnableSSHD: Optional[bool] = None # 是否为所有任务统一启用 SSH;设为 true 时覆盖所有 TaskSpec 的 EnableSSHD json:"EnableSSHD,omitempty"
|
|
99
99
|
FailurePolicy: Optional[str] = None # SDK常量: FailurePolicyNone, FailurePolicyCloseAllTasks json:"FailurePolicy,omitempty"
|
|
100
100
|
JobId: Optional[str] = None # Job 唯一标识 json:"JobId,omitempty"
|
|
101
101
|
Mount: Optional[str] = None # 只读 hostPath 挂载路径 json:"Mount,omitempty"
|
|
102
|
+
PoolName: Optional[str] = None # 资源池名称,可选;写入 RJob 标签 brainpp.machine.cn/pool-name json:"PoolName,omitempty"
|
|
102
103
|
PreCheckConfig: Optional[CreateJobReqPreCheckConfig] = None # 训前检查配置 json:"PreCheckConfig,omitempty"
|
|
103
|
-
Priority: Optional[str] = None # 优先级(整数 1-9
|
|
104
|
+
Priority: Optional[str] = None # 优先级(整数 1-9)。未传时使用资源组 PriorityLimit,无资源组时默认 5;优先级 1-3 为可抢占任务,不允许开启自愈和训前检查 json:"Priority,omitempty"
|
|
104
105
|
Qos: Optional[str] = None # 服务质量等级 json:"Qos,omitempty"
|
|
105
106
|
QuotaGroup: Optional[str] = None # 所在配额组 json:"QuotaGroup,omitempty"
|
|
106
107
|
RealCreator: Optional[str] = None # 实际创建者用户名(共享场景下与 Creator 不同) json:"RealCreator,omitempty"
|
|
107
108
|
RealCreatorId: Optional[str] = None # 实际创建者用户 ID(共享场景下与 CreatorId 不同) json:"RealCreatorId,omitempty"
|
|
109
|
+
RestartPolicy: Optional[str] = None # SDK常量: RestartPolicyAlways, RestartPolicyOnFailure, RestartPolicyNever, RestartPolicyRestartJobOnFailure, RestartPolicyRestartPreferNewMachine json:"RestartPolicy,omitempty"
|
|
108
110
|
S3Config: Optional[CreateJobReqS3Config] = None # json:"S3Config,omitempty"
|
|
109
111
|
SKUPrivate: Optional[bool] = None # 是否使用私有机器 SKU json:"SKUPrivate,omitempty"
|
|
110
112
|
SKUPrivateProject: Optional[bool] = None # 是否为项目级私有 SKU json:"SKUPrivateProject,omitempty"
|
|
@@ -118,6 +120,7 @@ class CreateJobData:
|
|
|
118
120
|
CreationTime: Optional[str] = "" # 创建时间(RFC3339 格式) json:"CreationTime,omitempty"
|
|
119
121
|
JobId: Optional[str] = "" # Job 唯一标识 json:"JobId,omitempty"
|
|
120
122
|
Name: Optional[str] = "" # Job 名称 json:"Name,omitempty"
|
|
123
|
+
PoolName: Optional[str] = "" # 资源池名称,写入 RJob 标签 brainpp.machine.cn/pool-name;未设置时不返回 json:"PoolName,omitempty"
|
|
121
124
|
Project: Optional[str] = "" # 项目名称 json:"Project,omitempty"
|
|
122
125
|
Uid: Optional[str] = "" # Job 唯一标识(UID) json:"Uid,omitempty"
|
|
123
126
|
|
|
@@ -159,10 +162,11 @@ class GetJobData:
|
|
|
159
162
|
Mount: Optional[str] = "" # 只读 hostPath 挂载路径 json:"Mount,omitempty"
|
|
160
163
|
Name: Optional[str] = "" # Job 显示名称 json:"Name,omitempty"
|
|
161
164
|
Phase: Optional[str] = None # SDK常量: PhasePending, PhaseStarting, PhaseRunning, PhaseScanning, PhaseSucceeded, PhaseFailed, PhaseRestarting, PhaseStopped, PhaseInqueue, PhaseSelfHealTriggered, PhaseSelfHealRunning, PhaseSelfHealSucceeded, PhaseSelfHealFailed json:"Phase,omitempty"
|
|
165
|
+
PoolName: Optional[str] = "" # 所在资源池名称,读取 RJob 标签 brainpp.machine.cn/pool-name;未设置时不返回 json:"PoolName,omitempty"
|
|
162
166
|
PreCheckConfig: Optional[PreCheckConfig] = None # 训前检查配置 json:"PreCheckConfig,omitempty"
|
|
163
167
|
PreCheckEnabled: Optional[bool] = False # 是否开启训前检查 json:"PreCheckEnabled,omitempty"
|
|
164
168
|
PrecheckStatus: Optional[str] = "" # 训前检查状态(取自 GetPrecheckStatus 返回的 data.status),仅 ListJobs 接口返回。 仅当 PreCheckEnabled=true 且 JobId/Uid 均非空时才会查询并返回该字段;未开启训前检查的 Job 不返回。 查询时使用 JobId 与 Uid 联合查询(与 GetPrecheckStatus 接口一致)。 查询失败时为 UNScan,表示状态未知。 json:"PrecheckStatus,omitempty"
|
|
165
|
-
Priority: Optional[str] = "" #
|
|
169
|
+
Priority: Optional[str] = "" # 优先级;缺失时按资源组 PriorityLimit 回填,无有效上限时回填 9 json:"Priority,omitempty"
|
|
166
170
|
Project: Optional[str] = "" # 项目名称 json:"Project,omitempty"
|
|
167
171
|
Qos: Optional[str] = "" # 服务质量等级 json:"Qos,omitempty"
|
|
168
172
|
QuotaGroup: Optional[str] = "" # 所在配额组 json:"QuotaGroup,omitempty"
|
|
@@ -170,6 +174,8 @@ class GetJobData:
|
|
|
170
174
|
RealCreator: Optional[str] = "" # 实际创建者用户名(共享场景下与 Creator 不同) json:"RealCreator,omitempty"
|
|
171
175
|
RealCreatorId: Optional[str] = "" # 实际创建者用户 ID(共享场景下与 CreatorId 不同) json:"RealCreatorId,omitempty"
|
|
172
176
|
RegionId: Optional[str] = "" # 地域,从 RJob topology labels 读取;存量数据缺失时回填默认值 cn-shanghai json:"RegionId,omitempty"
|
|
177
|
+
RestartCount: Optional[int] = 0 # 容器重启次数,取自 RJob status.restartCount json:"RestartCount,omitempty"
|
|
178
|
+
RestartPolicy: Optional[str] = None # SDK常量: RestartPolicyAlways, RestartPolicyOnFailure, RestartPolicyNever, RestartPolicyRestartJobOnFailure, RestartPolicyRestartPreferNewMachine json:"RestartPolicy,omitempty"
|
|
173
179
|
S3Config: Optional[S3Config] = None # json:"S3Config,omitempty"
|
|
174
180
|
SKUPrivate: Optional[bool] = False # 是否使用私有机器 SKU json:"SKUPrivate,omitempty"
|
|
175
181
|
SKUPrivateProject: Optional[bool] = False # 是否为项目级私有 SKU json:"SKUPrivateProject,omitempty"
|
|
@@ -181,6 +187,7 @@ class GetJobData:
|
|
|
181
187
|
SelfHealLimitCount: Optional[int] = 0 # 自愈最大重试次数 json:"SelfHealLimitCount,omitempty"
|
|
182
188
|
SelfHealNotifyWebhook: Optional[str] = "" # 自愈事件通知 Webhook URL json:"SelfHealNotifyWebhook,omitempty"
|
|
183
189
|
SelfHealRetryScope: Optional[str] = "" # 自愈重试粒度(rjob/task) json:"SelfHealRetryScope,omitempty"
|
|
190
|
+
SelfHealTerminationGracePeriodSeconds: Optional[int] = 0 # 自愈数据回收时间(秒),读取自愈注解 self-health.brainpp.cn/termination-grace-period-seconds;未设置时不返回 json:"SelfHealTerminationGracePeriodSeconds,omitempty"
|
|
184
191
|
StopTime: Optional[str] = "" # 停止时间(RFC3339 格式) json:"StopTime,omitempty"
|
|
185
192
|
TaskSpecs: Optional[Dict[str, TaskSpecResponse]] = None # 任务规格映射,key 为任务名(如 t0),value 为任务规格 json:"TaskSpecs,omitempty"
|
|
186
193
|
TaskStatusCounts: Optional[Dict[str, TaskStatusCount]] = None # 各任务副本状态数量统计 json:"TaskStatusCounts,omitempty"
|
|
@@ -380,6 +387,7 @@ class TaskSpecResponse:
|
|
|
380
387
|
PositiveTags: Optional[List[str]] = None # 节点亲和标签列表 json:"PositiveTags,omitempty"
|
|
381
388
|
RegionId: Optional[str] = "" # 地域,从 TaskSpec template labels 读取;缺失时回填默认值 cn-shanghai json:"RegionId,omitempty"
|
|
382
389
|
Replicas: Optional[int] = 0 # 副本数 json:"Replicas,omitempty"
|
|
390
|
+
RestartPolicy: Optional[str] = None # SDK常量: RestartPolicyAlways, RestartPolicyOnFailure, RestartPolicyNever, RestartPolicyRestartJobOnFailure, RestartPolicyRestartPreferNewMachine json:"RestartPolicy,omitempty"
|
|
383
391
|
RootfsSource: Optional[RootfsSourceResponse] = None # Rootfs 数据源配置 json:"RootfsSource,omitempty"
|
|
384
392
|
SKUId: Optional[str] = "" # SKU 规格标识,如 ai.c3m42.r1ir5 json:"SKUId,omitempty"
|
|
385
393
|
UpdatePolicy: Optional[str] = None # SDK常量: UpdatePolicyActive, UpdatePolicyBeforeRunning, UpdatePolicyNone json:"UpdatePolicy,omitempty"
|
|
@@ -470,6 +478,7 @@ class ListJobsReq:
|
|
|
470
478
|
Limit: Optional[int] = None # 分页大小,最大值 100 query:"Limit,omitempty"
|
|
471
479
|
Offset: Optional[int] = None # 分页偏移量 query:"Offset,omitempty"
|
|
472
480
|
Phases: Optional[str] = None # 按状态过滤(逗号分隔,如 Pending,Running,Succeeded) query:"Phases,omitempty"
|
|
481
|
+
PoolName: Optional[str] = None # 按资源池名称过滤(逗号分隔多个资源池名称,等值匹配) query:"PoolName,omitempty"
|
|
473
482
|
QuotaGroup: Optional[str] = None # 按配额组过滤(逗号分隔多个配额组) query:"QuotaGroup,omitempty"
|
|
474
483
|
Self: Optional[bool] = None # 是否只看自己创建的任务 query:"Self,omitempty"
|
|
475
484
|
SortBy: Optional[str] = None # 排序字段,如 CreationTime query:"SortBy,omitempty"
|
|
@@ -11,6 +11,7 @@ from .actions import (
|
|
|
11
11
|
create_quota_group,
|
|
12
12
|
delete_project,
|
|
13
13
|
delete_quota_group,
|
|
14
|
+
get_low_priority_usage,
|
|
14
15
|
get_node_quota,
|
|
15
16
|
get_project,
|
|
16
17
|
get_project_quota,
|
|
@@ -28,6 +29,7 @@ from .actions import (
|
|
|
28
29
|
list_projects_with_sku_quotas,
|
|
29
30
|
list_quota_groups,
|
|
30
31
|
list_quota_groups_simple,
|
|
32
|
+
list_quota_groups_under_tenant,
|
|
31
33
|
list_skus,
|
|
32
34
|
list_zones,
|
|
33
35
|
operate_node,
|
|
@@ -40,6 +42,7 @@ from .actions import (
|
|
|
40
42
|
create_quota_group_async,
|
|
41
43
|
delete_project_async,
|
|
42
44
|
delete_quota_group_async,
|
|
45
|
+
get_low_priority_usage_async,
|
|
43
46
|
get_node_quota_async,
|
|
44
47
|
get_project_async,
|
|
45
48
|
get_project_quota_async,
|
|
@@ -57,6 +60,7 @@ from .actions import (
|
|
|
57
60
|
list_projects_with_sku_quotas_async,
|
|
58
61
|
list_quota_groups_async,
|
|
59
62
|
list_quota_groups_simple_async,
|
|
63
|
+
list_quota_groups_under_tenant_async,
|
|
60
64
|
list_skus_async,
|
|
61
65
|
list_zones_async,
|
|
62
66
|
operate_node_async,
|
|
@@ -96,6 +100,7 @@ from .models import (
|
|
|
96
100
|
ListQuotaGroupsSimpleData,
|
|
97
101
|
ListSKUsData,
|
|
98
102
|
ListZonesData,
|
|
103
|
+
GetLowPriorityUsageData,
|
|
99
104
|
Metadata,
|
|
100
105
|
ListNodeConfigurationData,
|
|
101
106
|
NodeData,
|
|
@@ -132,6 +137,7 @@ from .models import (
|
|
|
132
137
|
UpdateQuotaGroupReq,
|
|
133
138
|
ZoneData,
|
|
134
139
|
DeleteQuotaGroupReq,
|
|
140
|
+
GetLowPriorityUsageReq,
|
|
135
141
|
GetNodeQuotaReq,
|
|
136
142
|
GetProjectReq,
|
|
137
143
|
GetProjectQuotaReq,
|
|
@@ -149,7 +155,9 @@ from .models import (
|
|
|
149
155
|
ListProjectsWithSkuQuotasReq,
|
|
150
156
|
ListQuotaGroupsReq,
|
|
151
157
|
ListQuotaGroupsSimpleReq,
|
|
158
|
+
ListQuotaGroupsUnderTenantReq,
|
|
152
159
|
ListSKUsReq,
|
|
153
160
|
ListZonesReq,
|
|
154
161
|
ListQuotaGroupsData,
|
|
162
|
+
ListQuotaGroupsUnderTenantData,
|
|
155
163
|
)
|
|
@@ -95,7 +95,7 @@ async def create_project_async(ctx: Optional[dict], req: models.CreateProjectReq
|
|
|
95
95
|
|
|
96
96
|
def create_quota_group(ctx: Optional[dict], req: models.CreateQuotaGroupReq):
|
|
97
97
|
"""创建配额组
|
|
98
|
-
|
|
98
|
+
创建配额组(v1.9.0 资源池:入参必填 PoolId 挂池;PRD 优先级上限:入参可选 PriorityLimit(1-9,默认 9=不限制);Description/Tags 已按产品要求移除)
|
|
99
99
|
POST /mc/v1alpha1/CreateQuotaGroup
|
|
100
100
|
Action: CreateQuotaGroup
|
|
101
101
|
|
|
@@ -109,7 +109,7 @@ def create_quota_group(ctx: Optional[dict], req: models.CreateQuotaGroupReq):
|
|
|
109
109
|
|
|
110
110
|
async def create_quota_group_async(ctx: Optional[dict], req: models.CreateQuotaGroupReq):
|
|
111
111
|
"""创建配额组(异步)
|
|
112
|
-
|
|
112
|
+
创建配额组(v1.9.0 资源池:入参必填 PoolId 挂池;PRD 优先级上限:入参可选 PriorityLimit(1-9,默认 9=不限制);Description/Tags 已按产品要求移除)
|
|
113
113
|
POST /mc/v1alpha1/CreateQuotaGroup
|
|
114
114
|
Action: CreateQuotaGroup
|
|
115
115
|
|
|
@@ -177,6 +177,36 @@ async def delete_quota_group_async(ctx: Optional[dict], req: models.DeleteQuotaG
|
|
|
177
177
|
await client.base.post_async(ctx, path, req, rsp)
|
|
178
178
|
|
|
179
179
|
|
|
180
|
+
def get_low_priority_usage(ctx: Optional[dict], req: models.GetLowPriorityUsageReq) -> models.GetLowPriorityUsageData:
|
|
181
|
+
"""查询低优资源占用
|
|
182
|
+
查询低优(priority 1-3)Running pod 的资源占用,不计入配额;支持池/组双维度查询
|
|
183
|
+
GET /mc/v1alpha1/GetLowPriorityUsage
|
|
184
|
+
Action: GetLowPriorityUsage
|
|
185
|
+
|
|
186
|
+
Returns GetLowPriorityUsageData on success.
|
|
187
|
+
Raises YiCloudException on error.
|
|
188
|
+
"""
|
|
189
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/GetLowPriorityUsage"
|
|
190
|
+
rsp = msgs.Rsp[models.GetLowPriorityUsageData]()
|
|
191
|
+
client.base.get(ctx, path, req, rsp)
|
|
192
|
+
return rsp.get_typed_data()
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
async def get_low_priority_usage_async(ctx: Optional[dict], req: models.GetLowPriorityUsageReq) -> models.GetLowPriorityUsageData:
|
|
196
|
+
"""查询低优资源占用(异步)
|
|
197
|
+
查询低优(priority 1-3)Running pod 的资源占用,不计入配额;支持池/组双维度查询
|
|
198
|
+
GET /mc/v1alpha1/GetLowPriorityUsage
|
|
199
|
+
Action: GetLowPriorityUsage
|
|
200
|
+
|
|
201
|
+
Returns GetLowPriorityUsageData on success.
|
|
202
|
+
Raises YiCloudException on error.
|
|
203
|
+
"""
|
|
204
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/GetLowPriorityUsage"
|
|
205
|
+
rsp = msgs.Rsp[models.GetLowPriorityUsageData]()
|
|
206
|
+
await client.base.get_async(ctx, path, req, rsp)
|
|
207
|
+
return rsp.get_typed_data()
|
|
208
|
+
|
|
209
|
+
|
|
180
210
|
def get_node_quota(ctx: Optional[dict], req: models.GetNodeQuotaReq) -> models.GetNodeQuotaData:
|
|
181
211
|
"""获取节点配额
|
|
182
212
|
获取节点配额
|
|
@@ -299,7 +329,7 @@ async def get_project_quota_limit_async(ctx: Optional[dict], req: models.GetProj
|
|
|
299
329
|
|
|
300
330
|
def get_quota_group(ctx: Optional[dict], req: models.GetQuotaGroupReq) -> models.GetQuotaGroupData:
|
|
301
331
|
"""获取配额组
|
|
302
|
-
|
|
332
|
+
获取配额组信息(v1.9.0 资源池:出参新增 PoolId/PoolName/MachineCount/GpuModels(始终返回,未挂池为空值)与 PublicNetworks(机器 label 派生);PRD 优先级上限:出参 PriorityLimit(1-9,默认 9))
|
|
303
333
|
GET /mc/v1alpha1/GetQuotaGroup
|
|
304
334
|
Action: GetQuotaGroup
|
|
305
335
|
|
|
@@ -314,7 +344,7 @@ def get_quota_group(ctx: Optional[dict], req: models.GetQuotaGroupReq) -> models
|
|
|
314
344
|
|
|
315
345
|
async def get_quota_group_async(ctx: Optional[dict], req: models.GetQuotaGroupReq) -> models.GetQuotaGroupData:
|
|
316
346
|
"""获取配额组(异步)
|
|
317
|
-
|
|
347
|
+
获取配额组信息(v1.9.0 资源池:出参新增 PoolId/PoolName/MachineCount/GpuModels(始终返回,未挂池为空值)与 PublicNetworks(机器 label 派生);PRD 优先级上限:出参 PriorityLimit(1-9,默认 9))
|
|
318
348
|
GET /mc/v1alpha1/GetQuotaGroup
|
|
319
349
|
Action: GetQuotaGroup
|
|
320
350
|
|
|
@@ -479,7 +509,18 @@ async def list_nodes_async(ctx: Optional[dict], req: models.ListNodesReq) -> mod
|
|
|
479
509
|
|
|
480
510
|
def list_project_quota_groups(ctx: Optional[dict], req: models.ListProjectQuotaGroupsReq) -> models.ListProjectQuotaGroupsData:
|
|
481
511
|
"""查看当前项目下配额组列表
|
|
482
|
-
|
|
512
|
+
列出项目下配额组(v1.9.0 资源池:出参新增 PoolId/PoolName/MachineCount/GpuModels(始终返回,未挂池为空值)与 PublicNetworks(机器 label 派生);PRD 优先级上限:出参 PriorityLimit(1-9,值越大优先级越高,默认 9))
|
|
513
|
+
排序:支持 SortBy 参数(字段大小区分不敏感)
|
|
514
|
+
- PriorityLimit: 按优先级上限排序
|
|
515
|
+
- CreationTime: 按创建时间排序
|
|
516
|
+
- Name: 按配额组名称排序
|
|
517
|
+
- PoolName: 按资源池排序(v1.9.0)
|
|
518
|
+
- Region: 按区域排序(v1.9.0 多 AZ)
|
|
519
|
+
- SchedStrategy: 按调度策略排序
|
|
520
|
+
- MachineCount: 按组可用机器数排序(v1.9.0 资源池;count 相同时按创建时间降序)
|
|
521
|
+
- PodCount: 按组内 Running pod 数排序(v1.9.0;count 相同时按创建时间降序)
|
|
522
|
+
- CPU/GPU/Memory/LocalDisk/DiskHdd/DiskSsd: 按资源总量排序(CPU=核、GPU=卡、Memory/本地盘=Gi;同值按创建时间降序)
|
|
523
|
+
未传 SortBy 时默认按 CreationTime 降序排列
|
|
483
524
|
GET /mc/v1alpha1/ListProjectQuotaGroups
|
|
484
525
|
Action: ListProjectQuotaGroups
|
|
485
526
|
|
|
@@ -494,7 +535,18 @@ def list_project_quota_groups(ctx: Optional[dict], req: models.ListProjectQuotaG
|
|
|
494
535
|
|
|
495
536
|
async def list_project_quota_groups_async(ctx: Optional[dict], req: models.ListProjectQuotaGroupsReq) -> models.ListProjectQuotaGroupsData:
|
|
496
537
|
"""查看当前项目下配额组列表(异步)
|
|
497
|
-
|
|
538
|
+
列出项目下配额组(v1.9.0 资源池:出参新增 PoolId/PoolName/MachineCount/GpuModels(始终返回,未挂池为空值)与 PublicNetworks(机器 label 派生);PRD 优先级上限:出参 PriorityLimit(1-9,值越大优先级越高,默认 9))
|
|
539
|
+
排序:支持 SortBy 参数(字段大小区分不敏感)
|
|
540
|
+
- PriorityLimit: 按优先级上限排序
|
|
541
|
+
- CreationTime: 按创建时间排序
|
|
542
|
+
- Name: 按配额组名称排序
|
|
543
|
+
- PoolName: 按资源池排序(v1.9.0)
|
|
544
|
+
- Region: 按区域排序(v1.9.0 多 AZ)
|
|
545
|
+
- SchedStrategy: 按调度策略排序
|
|
546
|
+
- MachineCount: 按组可用机器数排序(v1.9.0 资源池;count 相同时按创建时间降序)
|
|
547
|
+
- PodCount: 按组内 Running pod 数排序(v1.9.0;count 相同时按创建时间降序)
|
|
548
|
+
- CPU/GPU/Memory/LocalDisk/DiskHdd/DiskSsd: 按资源总量排序(CPU=核、GPU=卡、Memory/本地盘=Gi;同值按创建时间降序)
|
|
549
|
+
未传 SortBy 时默认按 CreationTime 降序排列
|
|
498
550
|
GET /mc/v1alpha1/ListProjectQuotaGroups
|
|
499
551
|
Action: ListProjectQuotaGroups
|
|
500
552
|
|
|
@@ -629,7 +681,18 @@ async def list_projects_with_sku_quotas_async(ctx: Optional[dict], req: models.L
|
|
|
629
681
|
|
|
630
682
|
def list_quota_groups(ctx: Optional[dict], req: models.ListQuotaGroupsReq) -> models.ListQuotaGroupsData:
|
|
631
683
|
"""查看配额组列表
|
|
632
|
-
|
|
684
|
+
列出配额组(v1.9.0 资源池:出参新增 PoolId/PoolName/MachineCount/GpuModels(始终返回,未挂池为空值)与 PublicNetworks(机器 label 派生);PRD 优先级上限:出参 PriorityLimit(1-9,值越大优先级越高,默认 9))
|
|
685
|
+
排序:支持 SortBy 参数(字段大小区分不敏感)
|
|
686
|
+
- PriorityLimit: 按优先级上限排序
|
|
687
|
+
- CreationTime: 按创建时间排序
|
|
688
|
+
- Name: 按配额组名称排序
|
|
689
|
+
- PoolName: 按资源池排序(v1.9.0)
|
|
690
|
+
- Region: 按区域排序(v1.9.0 多 AZ)
|
|
691
|
+
- SchedStrategy: 按调度策略排序
|
|
692
|
+
- MachineCount: 按组可用机器数排序(v1.9.0 资源池;count 相同时按创建时间降序)
|
|
693
|
+
- PodCount: 按组内 Running pod 数排序(v1.9.0;count 相同时按创建时间降序)
|
|
694
|
+
- CPU/GPU/Memory/LocalDisk/DiskHdd/DiskSsd: 按资源总量排序(CPU=核、GPU=卡、Memory/本地盘=Gi;同值按创建时间降序)
|
|
695
|
+
未传 SortBy 时默认按 CreationTime 降序排列
|
|
633
696
|
GET /mc/v1alpha1/ListQuotaGroups
|
|
634
697
|
Action: ListQuotaGroups
|
|
635
698
|
|
|
@@ -644,7 +707,18 @@ def list_quota_groups(ctx: Optional[dict], req: models.ListQuotaGroupsReq) -> mo
|
|
|
644
707
|
|
|
645
708
|
async def list_quota_groups_async(ctx: Optional[dict], req: models.ListQuotaGroupsReq) -> models.ListQuotaGroupsData:
|
|
646
709
|
"""查看配额组列表(异步)
|
|
647
|
-
|
|
710
|
+
列出配额组(v1.9.0 资源池:出参新增 PoolId/PoolName/MachineCount/GpuModels(始终返回,未挂池为空值)与 PublicNetworks(机器 label 派生);PRD 优先级上限:出参 PriorityLimit(1-9,值越大优先级越高,默认 9))
|
|
711
|
+
排序:支持 SortBy 参数(字段大小区分不敏感)
|
|
712
|
+
- PriorityLimit: 按优先级上限排序
|
|
713
|
+
- CreationTime: 按创建时间排序
|
|
714
|
+
- Name: 按配额组名称排序
|
|
715
|
+
- PoolName: 按资源池排序(v1.9.0)
|
|
716
|
+
- Region: 按区域排序(v1.9.0 多 AZ)
|
|
717
|
+
- SchedStrategy: 按调度策略排序
|
|
718
|
+
- MachineCount: 按组可用机器数排序(v1.9.0 资源池;count 相同时按创建时间降序)
|
|
719
|
+
- PodCount: 按组内 Running pod 数排序(v1.9.0;count 相同时按创建时间降序)
|
|
720
|
+
- CPU/GPU/Memory/LocalDisk/DiskHdd/DiskSsd: 按资源总量排序(CPU=核、GPU=卡、Memory/本地盘=Gi;同值按创建时间降序)
|
|
721
|
+
未传 SortBy 时默认按 CreationTime 降序排列
|
|
648
722
|
GET /mc/v1alpha1/ListQuotaGroups
|
|
649
723
|
Action: ListQuotaGroups
|
|
650
724
|
|
|
@@ -687,6 +761,58 @@ async def list_quota_groups_simple_async(ctx: Optional[dict], req: models.ListQu
|
|
|
687
761
|
return rsp.get_typed_data()
|
|
688
762
|
|
|
689
763
|
|
|
764
|
+
def list_quota_groups_under_tenant(ctx: Optional[dict], req: models.ListQuotaGroupsUnderTenantReq) -> models.ListQuotaGroupsUnderTenantData:
|
|
765
|
+
"""查看租户下配额组列表
|
|
766
|
+
列出租户下全部配额组(v1.9.1 新增:跨项目全量;仅租户管理员,非租户管理员 403;过滤/排序/分页与 ListQuotaGroups 同语义)
|
|
767
|
+
排序:支持 SortBy 参数(字段大小区分不敏感)
|
|
768
|
+
- PriorityLimit: 按优先级上限排序
|
|
769
|
+
- CreationTime: 按创建时间排序
|
|
770
|
+
- Name: 按配额组名称排序
|
|
771
|
+
- PoolName: 按资源池排序(v1.9.0)
|
|
772
|
+
- Region: 按区域排序(v1.9.0 多 AZ)
|
|
773
|
+
- SchedStrategy: 按调度策略排序
|
|
774
|
+
- MachineCount: 按组可用机器数排序(v1.9.0 资源池;count 相同时按创建时间降序)
|
|
775
|
+
- PodCount: 按组内 Running pod 数排序(v1.9.0;count 相同时按创建时间降序)
|
|
776
|
+
- CPU/GPU/Memory/LocalDisk/DiskHdd/DiskSsd: 按资源总量排序(CPU=核、GPU=卡、Memory/本地盘=Gi;同值按创建时间降序)
|
|
777
|
+
未传 SortBy 时默认按 CreationTime 降序排列
|
|
778
|
+
GET /mc/v1alpha1/ListQuotaGroupsUnderTenant
|
|
779
|
+
Action: ListQuotaGroupsUnderTenant
|
|
780
|
+
|
|
781
|
+
Returns ListQuotaGroupsUnderTenantData on success.
|
|
782
|
+
Raises YiCloudException on error.
|
|
783
|
+
"""
|
|
784
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/ListQuotaGroupsUnderTenant"
|
|
785
|
+
rsp = msgs.Rsp[models.ListQuotaGroupsUnderTenantData]()
|
|
786
|
+
client.base.get(ctx, path, req, rsp)
|
|
787
|
+
return rsp.get_typed_data()
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
async def list_quota_groups_under_tenant_async(ctx: Optional[dict], req: models.ListQuotaGroupsUnderTenantReq) -> models.ListQuotaGroupsUnderTenantData:
|
|
791
|
+
"""查看租户下配额组列表(异步)
|
|
792
|
+
列出租户下全部配额组(v1.9.1 新增:跨项目全量;仅租户管理员,非租户管理员 403;过滤/排序/分页与 ListQuotaGroups 同语义)
|
|
793
|
+
排序:支持 SortBy 参数(字段大小区分不敏感)
|
|
794
|
+
- PriorityLimit: 按优先级上限排序
|
|
795
|
+
- CreationTime: 按创建时间排序
|
|
796
|
+
- Name: 按配额组名称排序
|
|
797
|
+
- PoolName: 按资源池排序(v1.9.0)
|
|
798
|
+
- Region: 按区域排序(v1.9.0 多 AZ)
|
|
799
|
+
- SchedStrategy: 按调度策略排序
|
|
800
|
+
- MachineCount: 按组可用机器数排序(v1.9.0 资源池;count 相同时按创建时间降序)
|
|
801
|
+
- PodCount: 按组内 Running pod 数排序(v1.9.0;count 相同时按创建时间降序)
|
|
802
|
+
- CPU/GPU/Memory/LocalDisk/DiskHdd/DiskSsd: 按资源总量排序(CPU=核、GPU=卡、Memory/本地盘=Gi;同值按创建时间降序)
|
|
803
|
+
未传 SortBy 时默认按 CreationTime 降序排列
|
|
804
|
+
GET /mc/v1alpha1/ListQuotaGroupsUnderTenant
|
|
805
|
+
Action: ListQuotaGroupsUnderTenant
|
|
806
|
+
|
|
807
|
+
Returns ListQuotaGroupsUnderTenantData on success.
|
|
808
|
+
Raises YiCloudException on error.
|
|
809
|
+
"""
|
|
810
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/ListQuotaGroupsUnderTenant"
|
|
811
|
+
rsp = msgs.Rsp[models.ListQuotaGroupsUnderTenantData]()
|
|
812
|
+
await client.base.get_async(ctx, path, req, rsp)
|
|
813
|
+
return rsp.get_typed_data()
|
|
814
|
+
|
|
815
|
+
|
|
690
816
|
def list_skus(ctx: Optional[dict], req: models.ListSKUsReq) -> models.ListSKUsData:
|
|
691
817
|
"""获取SKU列表
|
|
692
818
|
获取SKU列表
|
|
@@ -833,7 +959,7 @@ async def update_project_async(ctx: Optional[dict], req: models.UpdateProjectReq
|
|
|
833
959
|
|
|
834
960
|
def update_quota_group(ctx: Optional[dict], req: models.UpdateQuotaGroupReq):
|
|
835
961
|
"""更新配额组
|
|
836
|
-
|
|
962
|
+
更新配额组(UpdateOption:quota/user/quota_nodes/all;all 可同时更新配额和用户;池关联字段不可改——请求体无此字段,结构性拒改;PRD 优先级上限:可选 PriorityLimit(1-9,nil=不更新,仅 quota/all 生效))
|
|
837
963
|
POST /mc/v1alpha1/UpdateQuotaGroup
|
|
838
964
|
Action: UpdateQuotaGroup
|
|
839
965
|
|
|
@@ -847,7 +973,7 @@ def update_quota_group(ctx: Optional[dict], req: models.UpdateQuotaGroupReq):
|
|
|
847
973
|
|
|
848
974
|
async def update_quota_group_async(ctx: Optional[dict], req: models.UpdateQuotaGroupReq):
|
|
849
975
|
"""更新配额组(异步)
|
|
850
|
-
|
|
976
|
+
更新配额组(UpdateOption:quota/user/quota_nodes/all;all 可同时更新配额和用户;池关联字段不可改——请求体无此字段,结构性拒改;PRD 优先级上限:可选 PriorityLimit(1-9,nil=不更新,仅 quota/all 生效))
|
|
851
977
|
POST /mc/v1alpha1/UpdateQuotaGroup
|
|
852
978
|
Action: UpdateQuotaGroup
|
|
853
979
|
|