yicloud-sdk-python 0.4.0__tar.gz → 0.4.1__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.0/yicloud_sdk_python.egg-info → yicloud_sdk_python-0.4.1}/PKG-INFO +1 -1
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/pyproject.toml +1 -1
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/version.py +1 -1
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/__init__.py +1 -1
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/job/__init__.py +3 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/job/actions.py +32 -4
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/job/models.py +19 -4
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/workspace/actions.py +10 -6
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1/yicloud_sdk_python.egg-info}/PKG-INFO +1 -1
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/LICENSE +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/README.md +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/setup.cfg +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/auth/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/auth/credential.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/auth/sign.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/config.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/errs/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/log/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/log/logger.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/log/std.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/msgs/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/utils/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/utils/helps.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/utils/retry/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/base/utils/retry/retry.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/bc/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/bc/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/bc/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/bc/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/dataset/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/dataset/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/dataset/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/dataset/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/fs/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/fs/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/fs/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/fs/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/iam/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/iam/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/iam/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/iam/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/inferset/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/inferset/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/inferset/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/inferset/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/job/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/mc/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/mc/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/mc/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/mc/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/modelrepo/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/modelrepo/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/modelrepo/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/modelrepo/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/monitor/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/monitor/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/monitor/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/monitor/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/oss/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/oss/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/oss/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/oss/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/ray/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/ray/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/ray/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/ray/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/registry/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/registry/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/registry/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/registry/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/sandbox/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/sandbox/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/sandbox/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/sandbox/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/volume/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/volume/actions.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/volume/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/volume/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/workspace/__init__.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/workspace/client.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/workspace/models.py +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/SOURCES.txt +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/dependency_links.txt +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/not-zip-safe +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/requires.txt +0 -0
- {yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/top_level.txt +0 -0
|
@@ -12,6 +12,7 @@ from .actions import (
|
|
|
12
12
|
edit_job,
|
|
13
13
|
batch_delete_jobs,
|
|
14
14
|
batch_stop_jobs,
|
|
15
|
+
stop_job,
|
|
15
16
|
stop_replica,
|
|
16
17
|
get_logs,
|
|
17
18
|
get_logs_volume,
|
|
@@ -25,6 +26,7 @@ from .actions import (
|
|
|
25
26
|
edit_job_async,
|
|
26
27
|
batch_delete_jobs_async,
|
|
27
28
|
batch_stop_jobs_async,
|
|
29
|
+
stop_job_async,
|
|
28
30
|
stop_replica_async,
|
|
29
31
|
get_logs_async,
|
|
30
32
|
get_logs_volume_async,
|
|
@@ -75,6 +77,7 @@ from .models import (
|
|
|
75
77
|
S3Config,
|
|
76
78
|
CreateJobReqS3Config,
|
|
77
79
|
CreateJobReqSelfHealConfig,
|
|
80
|
+
StopJobReq,
|
|
78
81
|
StopReplicaReq,
|
|
79
82
|
CreateJobReqTaskSpec,
|
|
80
83
|
TaskSpecResponse,
|
|
@@ -109,7 +109,7 @@ JobUid 可从 ListJobs / GetJob 接口返回的 Uid 字段获取。
|
|
|
109
109
|
|
|
110
110
|
def create_job(ctx: Optional[dict], req: models.CreateJobReq) -> models.CreateJobData:
|
|
111
111
|
"""创建 Job
|
|
112
|
-
|
|
112
|
+
创建新的训练任务,支持配置自愈选项、多任务规格和调度策略。创建前会校验租户状态与 SKU 余额,可能返回 1001012、1001013、1001014。
|
|
113
113
|
POST /job/v1alpha1/CreateJob
|
|
114
114
|
Action: CreateJob
|
|
115
115
|
|
|
@@ -124,7 +124,7 @@ def create_job(ctx: Optional[dict], req: models.CreateJobReq) -> models.CreateJo
|
|
|
124
124
|
|
|
125
125
|
async def create_job_async(ctx: Optional[dict], req: models.CreateJobReq) -> models.CreateJobData:
|
|
126
126
|
"""创建 Job(异步)
|
|
127
|
-
|
|
127
|
+
创建新的训练任务,支持配置自愈选项、多任务规格和调度策略。创建前会校验租户状态与 SKU 余额,可能返回 1001012、1001013、1001014。
|
|
128
128
|
POST /job/v1alpha1/CreateJob
|
|
129
129
|
Action: CreateJob
|
|
130
130
|
|
|
@@ -223,6 +223,34 @@ async def batch_stop_jobs_async(ctx: Optional[dict], req: models.BatchStopJobsRe
|
|
|
223
223
|
return rsp.get_typed_data()
|
|
224
224
|
|
|
225
225
|
|
|
226
|
+
def stop_job(ctx: Optional[dict], req: models.StopJobReq):
|
|
227
|
+
"""停止 Job
|
|
228
|
+
停止运行中的 Job
|
|
229
|
+
POST /job/v1alpha1/StopJob
|
|
230
|
+
Action: StopJob
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
Raises YiCloudException on error.
|
|
234
|
+
"""
|
|
235
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/StopJob"
|
|
236
|
+
rsp = msgs.Rsp[None].empty()
|
|
237
|
+
client.base.post(ctx, path, {k: v for k, v in req.__dict__.items() if v is not None}, rsp)
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
async def stop_job_async(ctx: Optional[dict], req: models.StopJobReq):
|
|
241
|
+
"""停止 Job(异步)
|
|
242
|
+
停止运行中的 Job
|
|
243
|
+
POST /job/v1alpha1/StopJob
|
|
244
|
+
Action: StopJob
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
Raises YiCloudException on error.
|
|
248
|
+
"""
|
|
249
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/StopJob"
|
|
250
|
+
rsp = msgs.Rsp[None].empty()
|
|
251
|
+
await client.base.post_async(ctx, path, {k: v for k, v in req.__dict__.items() if v is not None}, rsp)
|
|
252
|
+
|
|
253
|
+
|
|
226
254
|
def stop_replica(ctx: Optional[dict], req: models.StopReplicaReq):
|
|
227
255
|
"""停止单个副本
|
|
228
256
|
停止指定的 Replica,参考 StopWorkspace 实现模式,通过 apiserver subresource 调用。
|
|
@@ -313,7 +341,7 @@ async def get_logs_volume_async(ctx: Optional[dict], req: models.GetLogsVolumeRe
|
|
|
313
341
|
|
|
314
342
|
def list_job_replicas(ctx: Optional[dict], req: models.ListJobReplicasReq) -> models.ListJobReplicasData:
|
|
315
343
|
"""获取副本列表
|
|
316
|
-
获取指定 Job
|
|
344
|
+
获取指定 Job 的副本列表,支持按副本状态过滤
|
|
317
345
|
GET /job/v1alpha1/ListJobReplicas
|
|
318
346
|
Action: ListJobReplicas
|
|
319
347
|
|
|
@@ -328,7 +356,7 @@ def list_job_replicas(ctx: Optional[dict], req: models.ListJobReplicasReq) -> mo
|
|
|
328
356
|
|
|
329
357
|
async def list_job_replicas_async(ctx: Optional[dict], req: models.ListJobReplicasReq) -> models.ListJobReplicasData:
|
|
330
358
|
"""获取副本列表(异步)
|
|
331
|
-
获取指定 Job
|
|
359
|
+
获取指定 Job 的副本列表,支持按副本状态过滤
|
|
332
360
|
GET /job/v1alpha1/ListJobReplicas
|
|
333
361
|
Action: ListJobReplicas
|
|
334
362
|
|
|
@@ -90,6 +90,7 @@ class CreateJobReq:
|
|
|
90
90
|
Name: str # Job 显示名称 json:"Name"
|
|
91
91
|
Project: str # 项目名称 json:"Project"
|
|
92
92
|
TaskSpecs: Dict[str, CreateJobReqTaskSpec] # 任务规格映射,key 为任务名(如 t0),value 为任务规格 json:"TaskSpecs"
|
|
93
|
+
ZoneId: str # 可用区(AZ),必填;RegionId 由网关通过 X-OGW-REGION-ID 请求头注入 json:"ZoneId"
|
|
93
94
|
AutoDeleteDuration: Optional[str] = None # 自动删除时间,如 24h json:"AutoDeleteDuration,omitempty"
|
|
94
95
|
BackoffLimit: Optional[int] = None # 重试次数限制 json:"BackoffLimit,omitempty"
|
|
95
96
|
Creator: Optional[str] = None # 创建者用户名 json:"Creator,omitempty"
|
|
@@ -168,6 +169,7 @@ class GetJobData:
|
|
|
168
169
|
Rank: Optional[int] = 0 # 排序排名(从 1 开始),仅 List 接口返回 json:"Rank,omitempty"
|
|
169
170
|
RealCreator: Optional[str] = "" # 实际创建者用户名(共享场景下与 Creator 不同) json:"RealCreator,omitempty"
|
|
170
171
|
RealCreatorId: Optional[str] = "" # 实际创建者用户 ID(共享场景下与 CreatorId 不同) json:"RealCreatorId,omitempty"
|
|
172
|
+
RegionId: Optional[str] = "" # 地域,从 RJob topology labels 读取;存量数据缺失时回填默认值 cn-shanghai json:"RegionId,omitempty"
|
|
171
173
|
S3Config: Optional[S3Config] = None # json:"S3Config,omitempty"
|
|
172
174
|
SKUPrivate: Optional[bool] = False # 是否使用私有机器 SKU json:"SKUPrivate,omitempty"
|
|
173
175
|
SKUPrivateProject: Optional[bool] = False # 是否为项目级私有 SKU json:"SKUPrivateProject,omitempty"
|
|
@@ -187,6 +189,7 @@ class GetJobData:
|
|
|
187
189
|
Uid: Optional[str] = "" # Job 唯一标识(UID) json:"Uid,omitempty"
|
|
188
190
|
UsePrivateMachine: Optional[bool] = False # 是否使用私有机器 json:"UsePrivateMachine,omitempty"
|
|
189
191
|
WaitTime: Optional[int] = 0 # 等待时间(秒),仅 List 接口返回 json:"WaitTime,omitempty"
|
|
192
|
+
ZoneId: Optional[str] = "" # 可用区,从 RJob topology labels 读取;存量数据缺失时回填默认值 cn-shanghai-b json:"ZoneId,omitempty"
|
|
190
193
|
|
|
191
194
|
@dataclass
|
|
192
195
|
class LogEntry:
|
|
@@ -269,8 +272,10 @@ class GetJobReplicaData:
|
|
|
269
272
|
NodeName: Optional[str] = "" # 运行节点名称 json:"NodeName,omitempty"
|
|
270
273
|
Phase: Optional[str] = None # SDK常量: PhasePending, PhaseStarting, PhaseRunning, PhaseScanning, PhaseSucceeded, PhaseFailed, PhaseRestarting, PhaseStopped, PhaseInqueue, PhaseSelfHealTriggered, PhaseSelfHealRunning, PhaseSelfHealSucceeded, PhaseSelfHealFailed json:"Phase,omitempty"
|
|
271
274
|
PodIP: Optional[str] = "" # Pod IP 地址 json:"PodIP,omitempty"
|
|
275
|
+
RegionId: Optional[str] = "" # 地域,从 Replica topology labels 读取;存量数据缺失时回填默认值 cn-shanghai json:"RegionId,omitempty"
|
|
272
276
|
ReplicaIndex: Optional[int] = 0 # 副本序号 json:"ReplicaIndex,omitempty"
|
|
273
277
|
TaskType: Optional[str] = "" # 副本任务类型(如 worker) json:"TaskType,omitempty"
|
|
278
|
+
ZoneId: Optional[str] = "" # 可用区,从 Replica topology labels 读取;存量数据缺失时回填默认值 cn-shanghai-b json:"ZoneId,omitempty"
|
|
274
279
|
|
|
275
280
|
@dataclass
|
|
276
281
|
class BatchDeleteJobsReqResourceIdentifier:
|
|
@@ -312,13 +317,19 @@ class CreateJobReqS3Config:
|
|
|
312
317
|
|
|
313
318
|
@dataclass
|
|
314
319
|
class CreateJobReqSelfHealConfig:
|
|
315
|
-
AutoReplaceNode: Optional[bool] = None #
|
|
316
|
-
GracePeriodMinutes: Optional[int] = None #
|
|
317
|
-
LimitCount: Optional[int] = None #
|
|
320
|
+
AutoReplaceNode: Optional[bool] = None # 是否开启节点自愈(故障节点自动替换),默认关闭 json:"AutoReplaceNode,omitempty"
|
|
321
|
+
GracePeriodMinutes: Optional[int] = None # 介入等待时间(分钟),默认 15 分钟 json:"GracePeriodMinutes,omitempty"
|
|
322
|
+
LimitCount: Optional[int] = None # 最大重试次数,默认 5 次 json:"LimitCount,omitempty"
|
|
318
323
|
NotifyWebhook: Optional[str] = None # 自愈事件通知 Webhook URL(如飞书机器人) json:"NotifyWebhook,omitempty"
|
|
319
324
|
RetryScope: Optional[str] = None # SDK常量: RetryScopeRjob, RetryScopeTask json:"RetryScope,omitempty"
|
|
320
325
|
SelfHealEnabled: Optional[bool] = None # 是否开启自愈 json:"SelfHealEnabled,omitempty"
|
|
321
|
-
TerminationGracePeriodSeconds: Optional[int] = None #
|
|
326
|
+
TerminationGracePeriodSeconds: Optional[int] = None # 数据回收时间(秒),默认 300 秒 json:"TerminationGracePeriodSeconds,omitempty"
|
|
327
|
+
|
|
328
|
+
@dataclass
|
|
329
|
+
class StopJobReq:
|
|
330
|
+
JobId: str # Job 唯一标识 json:"JobId"
|
|
331
|
+
Project: str # 项目名称 json:"Project"
|
|
332
|
+
ZoneId: Optional[str] = None # 可用区(可选,当前服务端仅接收);RegionId 由网关通过 X-OGW-REGION-ID 请求头注入 json:"ZoneId,omitempty"
|
|
322
333
|
|
|
323
334
|
@dataclass
|
|
324
335
|
class StopReplicaReq:
|
|
@@ -367,11 +378,13 @@ class TaskSpecResponse:
|
|
|
367
378
|
MountGpfsVolumes: Optional[List[MountGpfsVolume]] = None # GPFS 挂载卷列表(结构化),由 MountGPFS 字符串解析而来 json:"MountGpfsVolumes,omitempty"
|
|
368
379
|
NegativeTags: Optional[List[str]] = None # 节点反亲和标签列表 json:"NegativeTags,omitempty"
|
|
369
380
|
PositiveTags: Optional[List[str]] = None # 节点亲和标签列表 json:"PositiveTags,omitempty"
|
|
381
|
+
RegionId: Optional[str] = "" # 地域,从 TaskSpec template labels 读取;缺失时回填默认值 cn-shanghai json:"RegionId,omitempty"
|
|
370
382
|
Replicas: Optional[int] = 0 # 副本数 json:"Replicas,omitempty"
|
|
371
383
|
RootfsSource: Optional[RootfsSourceResponse] = None # Rootfs 数据源配置 json:"RootfsSource,omitempty"
|
|
372
384
|
SKUId: Optional[str] = "" # SKU 规格标识,如 ai.c3m42.r1ir5 json:"SKUId,omitempty"
|
|
373
385
|
UpdatePolicy: Optional[str] = None # SDK常量: UpdatePolicyActive, UpdatePolicyBeforeRunning, UpdatePolicyNone json:"UpdatePolicy,omitempty"
|
|
374
386
|
Volumes: Optional[List[VolumeMount]] = None # 挂载存储卷列表 json:"Volumes,omitempty"
|
|
387
|
+
ZoneId: Optional[str] = "" # 可用区,从 TaskSpec template labels 读取;缺失时回填默认值 cn-shanghai-b json:"ZoneId,omitempty"
|
|
375
388
|
|
|
376
389
|
@dataclass
|
|
377
390
|
class TaskStatusCount:
|
|
@@ -445,10 +458,12 @@ class GetPrecheckStatusReq:
|
|
|
445
458
|
class ListJobReplicasReq:
|
|
446
459
|
JobId: str # Job 唯一标识 query:"JobId"
|
|
447
460
|
Project: str # 项目名称 query:"Project"
|
|
461
|
+
Phases: Optional[str] = None # 按副本状态过滤,多个状态使用逗号分隔;可选值为 Pending、Starting、Running、Stopped、Succeeded、Failed、Unknown query:"Phases,omitempty"
|
|
448
462
|
|
|
449
463
|
@dataclass
|
|
450
464
|
class ListJobsReq:
|
|
451
465
|
Project: str # 项目名称 query:"Project"
|
|
466
|
+
ZoneId: str # 可用区(AZ)过滤,如 cn-shanghai-b;RegionId 由网关通过 X-OGW-REGION-ID 请求头注入 query:"ZoneId"
|
|
452
467
|
Creators: Optional[str] = None # 创建者用户名,逗号分隔 query:"Creators,omitempty"
|
|
453
468
|
JobIds: Optional[str] = None # Job ID 列表,逗号分隔 query:"JobIds,omitempty"
|
|
454
469
|
JobNames: Optional[str] = None # Job 名称过滤(逗号分隔,支持模糊匹配) query:"JobNames,omitempty"
|
|
@@ -71,7 +71,9 @@ async def get_workspace_async(ctx: Optional[dict], req: models.GetWorkspaceReq)
|
|
|
71
71
|
|
|
72
72
|
def create_workspace(ctx: Optional[dict], req: models.CreateWorkspaceReq) -> models.CreateWorkspaceData:
|
|
73
73
|
"""创建开发机
|
|
74
|
-
|
|
74
|
+
创建前会校验租户状态与 SKU 余额,可能返回 1006012、1006013、1006014。
|
|
75
|
+
|
|
76
|
+
支持两种模式:
|
|
75
77
|
- **配额组模式**(默认):设置 QuotaGroup + RuntimeMode + CPU/Memory/GPU
|
|
76
78
|
- **SKU 模式**:设置 SkuId + SkuPublic 或 SkuPrivate(及 SkuTenant/SkuProject),不需要设置 RuntimeMode、QuotaGroup、CPU/Memory/GPU
|
|
77
79
|
|
|
@@ -93,7 +95,9 @@ def create_workspace(ctx: Optional[dict], req: models.CreateWorkspaceReq) -> mod
|
|
|
93
95
|
|
|
94
96
|
async def create_workspace_async(ctx: Optional[dict], req: models.CreateWorkspaceReq) -> models.CreateWorkspaceData:
|
|
95
97
|
"""创建开发机(异步)
|
|
96
|
-
|
|
98
|
+
创建前会校验租户状态与 SKU 余额,可能返回 1006012、1006013、1006014。
|
|
99
|
+
|
|
100
|
+
支持两种模式:
|
|
97
101
|
- **配额组模式**(默认):设置 QuotaGroup + RuntimeMode + CPU/Memory/GPU
|
|
98
102
|
- **SKU 模式**:设置 SkuId + SkuPublic 或 SkuPrivate(及 SkuTenant/SkuProject),不需要设置 RuntimeMode、QuotaGroup、CPU/Memory/GPU
|
|
99
103
|
|
|
@@ -143,7 +147,7 @@ async def delete_workspace_async(ctx: Optional[dict], req: models.DeleteWorkspac
|
|
|
143
147
|
|
|
144
148
|
def start_workspace(ctx: Optional[dict], req: models.StartWorkspaceReq):
|
|
145
149
|
"""启动开发机
|
|
146
|
-
|
|
150
|
+
启动已停止的开发机。启动前会校验租户状态与 SKU 余额,可能返回 1006012、1006013、1006014。
|
|
147
151
|
POST /workspace/v1alpha1/StartWorkspace
|
|
148
152
|
Action: StartWorkspace
|
|
149
153
|
|
|
@@ -157,7 +161,7 @@ def start_workspace(ctx: Optional[dict], req: models.StartWorkspaceReq):
|
|
|
157
161
|
|
|
158
162
|
async def start_workspace_async(ctx: Optional[dict], req: models.StartWorkspaceReq):
|
|
159
163
|
"""启动开发机(异步)
|
|
160
|
-
|
|
164
|
+
启动已停止的开发机。启动前会校验租户状态与 SKU 余额,可能返回 1006012、1006013、1006014。
|
|
161
165
|
POST /workspace/v1alpha1/StartWorkspace
|
|
162
166
|
Action: StartWorkspace
|
|
163
167
|
|
|
@@ -416,7 +420,7 @@ def delete_process(ctx: Optional[dict], req: models.DeleteProcessReq):
|
|
|
416
420
|
"""
|
|
417
421
|
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/DeleteProcess"
|
|
418
422
|
rsp = msgs.Rsp[None].empty()
|
|
419
|
-
client.base.post(ctx, path,
|
|
423
|
+
client.base.post(ctx, path, req, rsp)
|
|
420
424
|
|
|
421
425
|
|
|
422
426
|
async def delete_process_async(ctx: Optional[dict], req: models.DeleteProcessReq):
|
|
@@ -430,7 +434,7 @@ async def delete_process_async(ctx: Optional[dict], req: models.DeleteProcessReq
|
|
|
430
434
|
"""
|
|
431
435
|
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/DeleteProcess"
|
|
432
436
|
rsp = msgs.Rsp[None].empty()
|
|
433
|
-
await client.base.post_async(ctx, path,
|
|
437
|
+
await client.base.post_async(ctx, path, req, rsp)
|
|
434
438
|
|
|
435
439
|
|
|
436
440
|
def get_process_pids(ctx: Optional[dict], req: models.GetProcessPidsReq) -> models.GetProcessPidsData:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/modelrepo/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud/services/workspace/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/requires.txt
RENAMED
|
File without changes
|
{yicloud_sdk_python-0.4.0 → yicloud_sdk_python-0.4.1}/yicloud_sdk_python.egg-info/top_level.txt
RENAMED
|
File without changes
|