yicloud-sdk-python 0.2.1__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.
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/PKG-INFO +1 -1
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/pyproject.toml +1 -1
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/version.py +1 -1
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/__init__.py +1 -1
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/models.py +1 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/models.py +20 -12
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/models.py +10 -9
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/models.py +24 -8
- yicloud_sdk_python-0.3.0/yicloud/services/registry/__init__.py +40 -0
- yicloud_sdk_python-0.3.0/yicloud/services/registry/actions.py +114 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/registry/client.py +1 -1
- yicloud_sdk_python-0.3.0/yicloud/services/registry/models.py +145 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/PKG-INFO +1 -1
- yicloud_sdk_python-0.2.1/yicloud/services/registry/__init__.py +0 -47
- yicloud_sdk_python-0.2.1/yicloud/services/registry/actions.py +0 -151
- yicloud_sdk_python-0.2.1/yicloud/services/registry/models.py +0 -141
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/LICENSE +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/README.md +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/setup.cfg +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/auth/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/auth/credential.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/auth/sign.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/config.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/errs/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/log/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/log/logger.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/log/std.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/msgs/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/helps.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/retry/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/base/utils/retry/retry.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/bc/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/dataset/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/fs/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/iam/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/inferset/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/job/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/job/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/job/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/job/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/mc/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/modelrepo/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/monitor/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/oss/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/ray/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/volume/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/__init__.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/actions.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/client.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud/services/workspace/models.py +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/SOURCES.txt +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/dependency_links.txt +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/not-zip-safe +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/requires.txt +0 -0
- {yicloud_sdk_python-0.2.1 → yicloud_sdk_python-0.3.0}/yicloud_sdk_python.egg-info/top_level.txt +0 -0
|
@@ -36,6 +36,7 @@ class BucketResponse:
|
|
|
36
36
|
Bucket: Optional[str] = "" # 文件集名称 json:"Bucket,omitempty"
|
|
37
37
|
Capacity: Optional[str] = "" # 文件集容量(字节) json:"Capacity,omitempty"
|
|
38
38
|
Created: Optional[str] = "" # 创建时间 json:"Created,omitempty"
|
|
39
|
+
DeletedTime: Optional[str] = "" # 删除时间(回收站中显示) json:"DeletedTime,omitempty"
|
|
39
40
|
Fs: Optional[str] = "" # 文件系统 json:"Fs,omitempty"
|
|
40
41
|
FsCluster: Optional[str] = "" # 文件系统集群 json:"FsCluster,omitempty"
|
|
41
42
|
Owner: Optional[str] = "" # 文件集所有者 json:"Owner,omitempty"
|
|
@@ -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
|
-
|
|
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 #
|
|
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"
|
|
@@ -455,6 +459,8 @@ class ListEventsReq:
|
|
|
455
459
|
UId: str # UId query:"UId"
|
|
456
460
|
Limit: Optional[int] = None # 分页 query:"Limit,omitempty"
|
|
457
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:
|
|
@@ -540,9 +546,11 @@ class ListQuotaGroupsSimpleReq:
|
|
|
540
546
|
@dataclass
|
|
541
547
|
class ListSKUsReq:
|
|
542
548
|
SKUType: str # SKU类型:cpu或gpu query:"SKUType"
|
|
549
|
+
Internet: Optional[bool] = None # 是否联网 query:"Internet,omitempty"
|
|
543
550
|
Keyword: Optional[str] = None # 关键字搜索 query:"Keyword,omitempty"
|
|
544
|
-
Limit: Optional[int] = None #
|
|
545
|
-
Offset: Optional[int] = None #
|
|
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"
|
|
546
554
|
ResourceType: Optional[str] = None # 资源类型:用于过滤SKU适用的资源类型(如job、workspace、ray),空表示所有类型 query:"ResourceType,omitempty"
|
|
547
555
|
Scope: Optional[str] = None # SKU可见范围:public(公域)、tenant(租域)、project(项目域),空默认为public query:"Scope,omitempty"
|
|
548
556
|
|
|
@@ -34,27 +34,28 @@ class Type:
|
|
|
34
34
|
# Models
|
|
35
35
|
@dataclass
|
|
36
36
|
class Authorization:
|
|
37
|
-
Mode:
|
|
38
|
-
Name:
|
|
39
|
-
Type:
|
|
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:
|
|
44
|
-
Name:
|
|
45
|
-
Type:
|
|
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:
|
|
50
|
-
Name:
|
|
51
|
-
Type:
|
|
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
55
|
Authorizations: Optional[List[Authorization]] = None # 权限分享 json:"Authorizations,omitempty"
|
|
56
56
|
Bucket: Optional[str] = "" # 存储桶名 json:"Bucket,omitempty"
|
|
57
57
|
Created: Optional[str] = "" # 创建时间 json:"Created,omitempty"
|
|
58
|
+
DeletedTime: Optional[str] = "" # 删除时间(回收站中显示) json:"DeletedTime,omitempty"
|
|
58
59
|
Owner: Optional[str] = "" # 所有者 json:"Owner,omitempty"
|
|
59
60
|
Permission: Optional[str] = None # SDK常量: PermissionDENY, PermissionREADONLY, PermissionREADWRITE, PermissionPUBLIC_READ, PermissionADMIN json:"Permission,omitempty"
|
|
60
61
|
Project: Optional[str] = "" # 所属项目 json:"Project,omitempty"
|
|
@@ -14,13 +14,14 @@ class CreateRayJobReq:
|
|
|
14
14
|
ActiveDeadlineSeconds: Optional[int] = None # 活动截止时间 json:"ActiveDeadlineSeconds,omitempty"
|
|
15
15
|
BackoffLimit: Optional[int] = None # 重试限制 json:"BackoffLimit,omitempty"
|
|
16
16
|
DeletionPolicy: Optional[str] = None # 删除策略: DeleteCluster, DeleteWorkers, DeleteSelf, DeleteNone json:"DeletionPolicy,omitempty"
|
|
17
|
-
Description: Optional[str] = None # json:"Description,omitempty"
|
|
17
|
+
Description: Optional[str] = None # 描述信息,可选 json:"Description,omitempty"
|
|
18
18
|
Env: Optional[Dict[str, str]] = None # 环境和存储 json:"Env,omitempty"
|
|
19
19
|
HeadSpec: Optional[CreateRayJobReqHeadConfig] = None # 节点配置 json:"HeadSpec,omitempty"
|
|
20
20
|
JobMode: Optional[str] = None # 作业模式: SidecarMode, K8sJobMode json:"JobMode,omitempty"
|
|
21
21
|
PrivateMachine: Optional[str] = None # 私有机器配置 json:"PrivateMachine,omitempty"
|
|
22
|
-
QuotaGroup: Optional[str] = None # 配额和调度 当 QuotaGroup
|
|
22
|
+
QuotaGroup: Optional[str] = None # 配额和调度 当 QuotaGroup 为空且 SkuPublic=false 时,HeadSpec.QuotaGroup 和所有 WorkerGroups[i].QuotaGroup 必须指定 当 SkuPublic=true 时,配额组不是必填项 json:"QuotaGroup,omitempty"
|
|
23
23
|
RayVersion: Optional[str] = None # Ray版本号 json:"RayVersion,omitempty"
|
|
24
|
+
SkuPublic: Optional[bool] = None # SKU 配置 json:"SkuPublic,omitempty"
|
|
24
25
|
TTLSecondsAfterFinished: Optional[int] = None # 作业控制 json:"TTLSecondsAfterFinished,omitempty"
|
|
25
26
|
Volumes: Optional[List[CreateRayJobReqVolumeConfig]] = None # 存储卷配置 json:"Volumes,omitempty"
|
|
26
27
|
WorkerGroups: Optional[List[CreateRayJobReqWorkerGroupConfig]] = None # Worker组配置 json:"WorkerGroups,omitempty"
|
|
@@ -39,16 +40,20 @@ class GetRayJobEventsData:
|
|
|
39
40
|
@dataclass
|
|
40
41
|
class CreateRayJobReqHeadConfig:
|
|
41
42
|
HeadEnv: Optional[Dict[str, str]] = None # 环境变量 json:"HeadEnv,omitempty"
|
|
43
|
+
Internet: Optional[bool] = None # 是否访问公网 json:"Internet,omitempty"
|
|
42
44
|
PrivateMachine: Optional[str] = None # Head独立私有机器配置 json:"PrivateMachine,omitempty"
|
|
43
|
-
QuotaGroup: Optional[str] = None # Head独立配额组(当
|
|
45
|
+
QuotaGroup: Optional[str] = None # Head独立配额组(当 QuotaGroup 为空且 SkuPublic=false 时必填) json:"QuotaGroup,omitempty"
|
|
44
46
|
Resources: Optional[Dict[str, str]] = None # 资源配置 json:"Resources,omitempty"
|
|
47
|
+
SkuId: Optional[str] = None # SKU ID(当 SkuPublic=true 时必填) json:"SkuId,omitempty"
|
|
45
48
|
|
|
46
49
|
@dataclass
|
|
47
50
|
class HeadDetailInfo:
|
|
48
51
|
HeadEnv: Optional[Dict[str, str]] = None # json:"HeadEnv,omitempty"
|
|
52
|
+
Internet: Optional[bool] = False # json:"Internet,omitempty"
|
|
49
53
|
PrivateMachine: Optional[str] = "" # json:"PrivateMachine,omitempty"
|
|
50
54
|
QuotaGroup: Optional[str] = "" # json:"QuotaGroup,omitempty"
|
|
51
55
|
Resources: Optional[Dict[str, str]] = None # json:"Resources,omitempty"
|
|
56
|
+
SkuId: Optional[str] = "" # json:"SkuId,omitempty"
|
|
52
57
|
|
|
53
58
|
@dataclass
|
|
54
59
|
class JobItem:
|
|
@@ -57,14 +62,17 @@ class JobItem:
|
|
|
57
62
|
CreatorName: Optional[str] = "" # 创建者名称 json:"CreatorName,omitempty"
|
|
58
63
|
DisplayName: Optional[str] = "" # 显示名称 json:"DisplayName,omitempty"
|
|
59
64
|
EndTime: Optional[str] = "" # 结束时间 json:"EndTime,omitempty"
|
|
65
|
+
HeadSpec: Optional[HeadDetailInfo] = None # Head和Worker信息 json:"HeadSpec,omitempty"
|
|
60
66
|
Id: Optional[str] = "" # 任务唯一标识 json:"Id,omitempty"
|
|
61
67
|
Namespace: Optional[str] = "" # 命名空间 json:"Namespace,omitempty"
|
|
62
68
|
QuotaGroup: Optional[str] = "" # 配额组 json:"QuotaGroup,omitempty"
|
|
63
69
|
RayClusterStatus: Optional[str] = "" # RayCluster状态 json:"RayClusterStatus,omitempty"
|
|
64
70
|
RayJobName: Optional[str] = "" # 任务名称 json:"RayJobName,omitempty"
|
|
65
71
|
Resources: Optional[ResourcesSummary] = None # 资源信息 json:"Resources,omitempty"
|
|
72
|
+
SkuPublic: Optional[bool] = False # SKU信息 json:"SkuPublic,omitempty"
|
|
66
73
|
StartTime: Optional[str] = "" # 开始时间 json:"StartTime,omitempty"
|
|
67
74
|
Status: Optional[str] = "" # 任务状态 json:"Status,omitempty"
|
|
75
|
+
WorkerGroups: Optional[List[WorkerGroupDetailInfo]] = None # json:"WorkerGroups,omitempty"
|
|
68
76
|
|
|
69
77
|
@dataclass
|
|
70
78
|
class ListRayJobsData:
|
|
@@ -124,6 +132,7 @@ class GetRayJobData:
|
|
|
124
132
|
RayVersion: Optional[str] = "" # json:"RayVersion,omitempty"
|
|
125
133
|
Replicas: Optional[List[ReplicaDetailInfo]] = None # json:"Replicas,omitempty"
|
|
126
134
|
Resources: Optional[ResourceDetailInfo] = None # json:"Resources,omitempty"
|
|
135
|
+
SkuPublic: Optional[bool] = False # json:"SkuPublic,omitempty"
|
|
127
136
|
StartTime: Optional[str] = "" # json:"StartTime,omitempty"
|
|
128
137
|
Status: Optional[str] = "" # json:"Status,omitempty"
|
|
129
138
|
TTLSecondsAfterFinished: Optional[int] = 0 # json:"TTLSecondsAfterFinished,omitempty"
|
|
@@ -148,6 +157,7 @@ class ReplicaDetailInfo:
|
|
|
148
157
|
GroupName: Optional[str] = "" # json:"GroupName,omitempty"
|
|
149
158
|
GroupType: Optional[str] = "" # json:"GroupType,omitempty"
|
|
150
159
|
Id: Optional[str] = "" # json:"Id,omitempty"
|
|
160
|
+
Internet: Optional[bool] = False # json:"Internet,omitempty"
|
|
151
161
|
NodeIP: Optional[str] = "" # json:"NodeIP,omitempty"
|
|
152
162
|
PodIP: Optional[str] = "" # json:"PodIP,omitempty"
|
|
153
163
|
PodName: Optional[str] = "" # json:"PodName,omitempty"
|
|
@@ -162,9 +172,9 @@ class ResourceDetailInfo:
|
|
|
162
172
|
|
|
163
173
|
@dataclass
|
|
164
174
|
class ResourceList:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
175
|
+
cpu: Optional[str] = "" # json:"cpu,omitempty"
|
|
176
|
+
memory: Optional[str] = "" # json:"memory,omitempty"
|
|
177
|
+
nvidia_com_gpu: Optional[str] = "" # json:"nvidia.com/gpu,omitempty"
|
|
168
178
|
|
|
169
179
|
@dataclass
|
|
170
180
|
class ResourcesSummary:
|
|
@@ -201,32 +211,37 @@ class CreateRayJobReqWorkerGroupConfig:
|
|
|
201
211
|
GroupName: str # Worker组名称 json:"GroupName"
|
|
202
212
|
Replicas: int # 副本数 json:"Replicas"
|
|
203
213
|
Env: Optional[Dict[str, str]] = None # 环境变量 json:"Env,omitempty"
|
|
214
|
+
Internet: Optional[bool] = None # 是否访问公网 json:"Internet,omitempty"
|
|
204
215
|
LocalStorage: Optional[str] = None # 本地磁盘(GiB) json:"LocalStorage,omitempty"
|
|
205
216
|
NegativeTags: Optional[List[str]] = None # 反亲和性标签 json:"NegativeTags,omitempty"
|
|
206
217
|
PositiveTags: Optional[List[str]] = None # 亲和性标签 json:"PositiveTags,omitempty"
|
|
207
218
|
PrivateMachine: Optional[str] = None # 私有机器标识 json:"PrivateMachine,omitempty"
|
|
208
|
-
QuotaGroup: Optional[str] = None # WorkerGroup独立配额组(当
|
|
219
|
+
QuotaGroup: Optional[str] = None # WorkerGroup独立配额组(当 QuotaGroup 为空且 SkuPublic=false 时必填) json:"QuotaGroup,omitempty"
|
|
209
220
|
RayStartParams: Optional[Dict[str, str]] = None # Ray启动参数 json:"RayStartParams,omitempty"
|
|
210
221
|
Resources: Optional[Dict[str, str]] = None # 资源配置 json:"Resources,omitempty"
|
|
222
|
+
SkuId: Optional[str] = None # SKU ID(当 SkuPublic=true 时必填) json:"SkuId,omitempty"
|
|
211
223
|
|
|
212
224
|
@dataclass
|
|
213
225
|
class UpdateRayJobWorkerGroupsReqWorkerGroupConfig:
|
|
214
226
|
GroupName: str # Worker组名称 json:"GroupName"
|
|
215
227
|
Replicas: int # 副本数 json:"Replicas"
|
|
216
228
|
Env: Optional[Dict[str, str]] = None # 环境变量 json:"Env,omitempty"
|
|
229
|
+
Internet: Optional[bool] = None # 是否访问公网 json:"Internet,omitempty"
|
|
217
230
|
LocalStorage: Optional[str] = None # 本地磁盘(GiB) json:"LocalStorage,omitempty"
|
|
218
231
|
NegativeTags: Optional[List[str]] = None # 反亲和性标签 json:"NegativeTags,omitempty"
|
|
219
232
|
PositiveTags: Optional[List[str]] = None # 亲和性标签 json:"PositiveTags,omitempty"
|
|
220
233
|
PrivateMachine: Optional[str] = None # 私有机器标识 json:"PrivateMachine,omitempty"
|
|
221
|
-
QuotaGroup: Optional[str] = None # WorkerGroup独立配额组(当
|
|
234
|
+
QuotaGroup: Optional[str] = None # WorkerGroup独立配额组(当 QuotaGroup 为空且 SkuPublic=false 时必填) json:"QuotaGroup,omitempty"
|
|
222
235
|
RayStartParams: Optional[Dict[str, str]] = None # Ray启动参数 json:"RayStartParams,omitempty"
|
|
223
236
|
Resources: Optional[Dict[str, str]] = None # 资源配置 json:"Resources,omitempty"
|
|
237
|
+
SkuId: Optional[str] = None # SKU ID(当 SkuPublic=true 时必填) json:"SkuId,omitempty"
|
|
224
238
|
|
|
225
239
|
@dataclass
|
|
226
240
|
class WorkerGroupDetailInfo:
|
|
227
241
|
EnableAutoscaling: Optional[bool] = False # json:"EnableAutoscaling,omitempty"
|
|
228
242
|
Env: Optional[Dict[str, str]] = None # json:"Env,omitempty"
|
|
229
243
|
GroupName: Optional[str] = "" # json:"GroupName,omitempty"
|
|
244
|
+
Internet: Optional[bool] = False # json:"Internet,omitempty"
|
|
230
245
|
LocalStorage: Optional[str] = "" # json:"LocalStorage,omitempty"
|
|
231
246
|
NegativeTags: Optional[List[str]] = None # json:"NegativeTags,omitempty"
|
|
232
247
|
PositiveTags: Optional[List[str]] = None # json:"PositiveTags,omitempty"
|
|
@@ -235,6 +250,7 @@ class WorkerGroupDetailInfo:
|
|
|
235
250
|
RayStartParams: Optional[Dict[str, str]] = None # json:"RayStartParams,omitempty"
|
|
236
251
|
Replicas: Optional[int] = 0 # json:"Replicas,omitempty"
|
|
237
252
|
Resources: Optional[Dict[str, str]] = None # json:"Resources,omitempty"
|
|
253
|
+
SkuId: Optional[str] = "" # json:"SkuId,omitempty"
|
|
238
254
|
|
|
239
255
|
@dataclass
|
|
240
256
|
class GetRayJobReq:
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code generated by generate_openapi.py. DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
from yicloud.services.registry.client import RegistryClient as Client, client, use_client
|
|
4
|
+
from . import actions, models
|
|
5
|
+
|
|
6
|
+
# Re-export action functions
|
|
7
|
+
from .actions import (
|
|
8
|
+
create_custom_repository,
|
|
9
|
+
delete_custom_repository,
|
|
10
|
+
delete_image,
|
|
11
|
+
list_custom_images,
|
|
12
|
+
list_custom_repositories,
|
|
13
|
+
list_custom_repositories_simple,
|
|
14
|
+
list_public_images,
|
|
15
|
+
list_public_repositories,
|
|
16
|
+
update_custom_repository_visibility,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
# Re-export models
|
|
20
|
+
from .models import (
|
|
21
|
+
Scope,
|
|
22
|
+
CreateCustomRepositoryReq,
|
|
23
|
+
DeleteImageReq,
|
|
24
|
+
DeleteCustomRepositoryReq,
|
|
25
|
+
ListCustomRepositoriesData,
|
|
26
|
+
ListCustomImagesData,
|
|
27
|
+
ListPublicImagesData,
|
|
28
|
+
ListPublicRepositoriesData,
|
|
29
|
+
PublicImageData,
|
|
30
|
+
PublicRepositoryData,
|
|
31
|
+
RegistryImageData,
|
|
32
|
+
RepositoryDataV1,
|
|
33
|
+
UpdateCustomRepositoryVisibilityReq,
|
|
34
|
+
ListCustomImagesReq,
|
|
35
|
+
ListCustomRepositoriesReq,
|
|
36
|
+
ListCustomRepositoriesSimpleReq,
|
|
37
|
+
ListPublicImagesReq,
|
|
38
|
+
ListPublicRepositoriesReq,
|
|
39
|
+
ListCustomRepositoriesSimpleData,
|
|
40
|
+
)
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Code generated by generate_openapi.py. DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from yicloud.base import msgs
|
|
5
|
+
from yicloud.services.registry import models
|
|
6
|
+
from yicloud.services.registry.client import client
|
|
7
|
+
|
|
8
|
+
_PRODUCT_CODE = "registry"
|
|
9
|
+
_LAST_VERSION = "v1alpha2"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def create_custom_repository(ctx: Optional[dict], req: models.CreateCustomRepositoryReq):
|
|
13
|
+
"""POST /registry/v1alpha2/CreateCustomRepository
|
|
14
|
+
Action: CreateCustomRepository
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
Raises YiCloudException on error.
|
|
18
|
+
"""
|
|
19
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/CreateCustomRepository"
|
|
20
|
+
rsp = msgs.Rsp[None].empty()
|
|
21
|
+
client.base.post(ctx, path, {k: v for k, v in req.__dict__.items() if v is not None}, rsp)
|
|
22
|
+
|
|
23
|
+
def delete_custom_repository(ctx: Optional[dict], req: models.DeleteCustomRepositoryReq):
|
|
24
|
+
"""POST /registry/v1alpha2/DeleteCustomRepository
|
|
25
|
+
Action: DeleteCustomRepository
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
Raises YiCloudException on error.
|
|
29
|
+
"""
|
|
30
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/DeleteCustomRepository"
|
|
31
|
+
rsp = msgs.Rsp[None].empty()
|
|
32
|
+
client.base.post(ctx, path, {k: v for k, v in req.__dict__.items() if v is not None}, rsp)
|
|
33
|
+
|
|
34
|
+
def delete_image(ctx: Optional[dict], req: models.DeleteImageReq):
|
|
35
|
+
"""POST /registry/v1alpha2/DeleteImage
|
|
36
|
+
Action: DeleteImage
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Raises YiCloudException on error.
|
|
40
|
+
"""
|
|
41
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/DeleteImage"
|
|
42
|
+
rsp = msgs.Rsp[None].empty()
|
|
43
|
+
client.base.post(ctx, path, {k: v for k, v in req.__dict__.items() if v is not None}, rsp)
|
|
44
|
+
|
|
45
|
+
def list_custom_images(ctx: Optional[dict], req: models.ListCustomImagesReq) -> models.ListCustomImagesData:
|
|
46
|
+
"""GET /registry/v1alpha2/ListCustomImages
|
|
47
|
+
Action: ListCustomImages
|
|
48
|
+
|
|
49
|
+
Returns ListCustomImagesData on success.
|
|
50
|
+
Raises YiCloudException on error.
|
|
51
|
+
"""
|
|
52
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/ListCustomImages"
|
|
53
|
+
rsp = msgs.Rsp[models.ListCustomImagesData]()
|
|
54
|
+
client.base.get(ctx, path, req, rsp)
|
|
55
|
+
return rsp.get_typed_data()
|
|
56
|
+
|
|
57
|
+
def list_custom_repositories(ctx: Optional[dict], req: models.ListCustomRepositoriesReq) -> models.ListCustomRepositoriesData:
|
|
58
|
+
"""GET /registry/v1alpha2/ListCustomRepositories
|
|
59
|
+
Action: ListCustomRepositories
|
|
60
|
+
|
|
61
|
+
Returns ListCustomRepositoriesData on success.
|
|
62
|
+
Raises YiCloudException on error.
|
|
63
|
+
"""
|
|
64
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/ListCustomRepositories"
|
|
65
|
+
rsp = msgs.Rsp[models.ListCustomRepositoriesData]()
|
|
66
|
+
client.base.get(ctx, path, req, rsp)
|
|
67
|
+
return rsp.get_typed_data()
|
|
68
|
+
|
|
69
|
+
def list_custom_repositories_simple(ctx: Optional[dict], req: models.ListCustomRepositoriesSimpleReq) -> models.ListCustomRepositoriesSimpleData:
|
|
70
|
+
"""GET /registry/v1alpha2/ListCustomRepositoriesSimple
|
|
71
|
+
Action: ListCustomRepositoriesSimple
|
|
72
|
+
|
|
73
|
+
Returns ListCustomRepositoriesSimpleData on success.
|
|
74
|
+
Raises YiCloudException on error.
|
|
75
|
+
"""
|
|
76
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/ListCustomRepositoriesSimple"
|
|
77
|
+
rsp = msgs.Rsp[models.ListCustomRepositoriesSimpleData]()
|
|
78
|
+
client.base.get(ctx, path, req, rsp)
|
|
79
|
+
return rsp.get_typed_data()
|
|
80
|
+
|
|
81
|
+
def list_public_images(ctx: Optional[dict], req: models.ListPublicImagesReq) -> models.ListPublicImagesData:
|
|
82
|
+
"""GET /registry/v1alpha2/ListPublicImages
|
|
83
|
+
Action: ListPublicImages
|
|
84
|
+
|
|
85
|
+
Returns ListPublicImagesData on success.
|
|
86
|
+
Raises YiCloudException on error.
|
|
87
|
+
"""
|
|
88
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/ListPublicImages"
|
|
89
|
+
rsp = msgs.Rsp[models.ListPublicImagesData]()
|
|
90
|
+
client.base.get(ctx, path, req, rsp)
|
|
91
|
+
return rsp.get_typed_data()
|
|
92
|
+
|
|
93
|
+
def list_public_repositories(ctx: Optional[dict], req: models.ListPublicRepositoriesReq) -> models.ListPublicRepositoriesData:
|
|
94
|
+
"""GET /registry/v1alpha2/ListPublicRepositories
|
|
95
|
+
Action: ListPublicRepositories
|
|
96
|
+
|
|
97
|
+
Returns ListPublicRepositoriesData on success.
|
|
98
|
+
Raises YiCloudException on error.
|
|
99
|
+
"""
|
|
100
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/ListPublicRepositories"
|
|
101
|
+
rsp = msgs.Rsp[models.ListPublicRepositoriesData]()
|
|
102
|
+
client.base.get(ctx, path, req, rsp)
|
|
103
|
+
return rsp.get_typed_data()
|
|
104
|
+
|
|
105
|
+
def update_custom_repository_visibility(ctx: Optional[dict], req: models.UpdateCustomRepositoryVisibilityReq):
|
|
106
|
+
"""POST /registry/v1alpha2/UpdateCustomRepositoryVisibility
|
|
107
|
+
Action: UpdateCustomRepositoryVisibility
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
Raises YiCloudException on error.
|
|
111
|
+
"""
|
|
112
|
+
path = f"/{_PRODUCT_CODE}/{_LAST_VERSION}/UpdateCustomRepositoryVisibility"
|
|
113
|
+
rsp = msgs.Rsp[None].empty()
|
|
114
|
+
client.base.post(ctx, path, {k: v for k, v in req.__dict__.items() if v is not None}, rsp)
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Code generated by generate_openapi.py. DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from dataclasses import dataclass, field
|
|
5
|
+
from typing import Optional, List, Dict
|
|
6
|
+
|
|
7
|
+
# Scope 枚举值
|
|
8
|
+
class Scope:
|
|
9
|
+
Scopeproject = "project"
|
|
10
|
+
Scopetenant = "tenant"
|
|
11
|
+
|
|
12
|
+
# Models
|
|
13
|
+
@dataclass
|
|
14
|
+
class CreateCustomRepositoryReq:
|
|
15
|
+
Project: str # json:"Project"
|
|
16
|
+
RepoName: str # json:"RepoName"
|
|
17
|
+
|
|
18
|
+
@dataclass
|
|
19
|
+
class DeleteImageReq:
|
|
20
|
+
Project: str # json:"Project"
|
|
21
|
+
RepoName: str # json:"RepoName"
|
|
22
|
+
Tag: str # json:"Tag"
|
|
23
|
+
|
|
24
|
+
@dataclass
|
|
25
|
+
class DeleteCustomRepositoryReq:
|
|
26
|
+
Project: str # json:"Project"
|
|
27
|
+
RepoName: str # json:"RepoName"
|
|
28
|
+
|
|
29
|
+
@dataclass
|
|
30
|
+
class ListCustomRepositoriesData:
|
|
31
|
+
Items: Optional[List[RepositoryDataV1]] = None # json:"Items,omitempty"
|
|
32
|
+
Limit: Optional[int] = 0 # json:"Limit,omitempty"
|
|
33
|
+
Offset: Optional[int] = 0 # json:"Offset,omitempty"
|
|
34
|
+
Total: Optional[int] = 0 # json:"Total,omitempty"
|
|
35
|
+
|
|
36
|
+
@dataclass
|
|
37
|
+
class ListCustomImagesData:
|
|
38
|
+
Items: Optional[List[RegistryImageData]] = None # json:"Items,omitempty"
|
|
39
|
+
Total: Optional[int] = 0 # json:"Total,omitempty"
|
|
40
|
+
|
|
41
|
+
@dataclass
|
|
42
|
+
class ListPublicImagesData:
|
|
43
|
+
Items: Optional[List[PublicImageData]] = None # json:"Items,omitempty"
|
|
44
|
+
Total: Optional[int] = 0 # json:"Total,omitempty"
|
|
45
|
+
|
|
46
|
+
@dataclass
|
|
47
|
+
class ListPublicRepositoriesData:
|
|
48
|
+
Items: Optional[List[PublicRepositoryData]] = None # json:"Items,omitempty"
|
|
49
|
+
Limit: Optional[int] = 0 # json:"Limit,omitempty"
|
|
50
|
+
Offset: Optional[int] = 0 # json:"Offset,omitempty"
|
|
51
|
+
Total: Optional[int] = 0 # json:"Total,omitempty"
|
|
52
|
+
|
|
53
|
+
@dataclass
|
|
54
|
+
class PublicImageData:
|
|
55
|
+
Architecture: Optional[str] = "" # json:"Architecture,omitempty"
|
|
56
|
+
Digest: Optional[str] = "" # json:"Digest,omitempty"
|
|
57
|
+
Frame: Optional[str] = "" # json:"Frame,omitempty"
|
|
58
|
+
ImageName: Optional[str] = "" # json:"ImageName,omitempty"
|
|
59
|
+
Labels: Optional[List[str]] = None # json:"Labels,omitempty"
|
|
60
|
+
Namespace: Optional[str] = "" # json:"Namespace,omitempty"
|
|
61
|
+
OS: Optional[str] = "" # json:"OS,omitempty"
|
|
62
|
+
PushTime: Optional[str] = "" # json:"PushTime,omitempty"
|
|
63
|
+
Python: Optional[str] = "" # json:"Python,omitempty"
|
|
64
|
+
RepositoryId: Optional[str] = "" # json:"RepositoryId,omitempty"
|
|
65
|
+
Size: Optional[int] = 0 # json:"Size,omitempty"
|
|
66
|
+
Tag: Optional[str] = "" # json:"Tag,omitempty"
|
|
67
|
+
|
|
68
|
+
@dataclass
|
|
69
|
+
class PublicRepositoryData:
|
|
70
|
+
CreationTime: Optional[str] = "" # json:"CreationTime,omitempty"
|
|
71
|
+
Labels: Optional[List[str]] = None # json:"Labels,omitempty"
|
|
72
|
+
LongDescription: Optional[str] = "" # json:"LongDescription,omitempty"
|
|
73
|
+
Name: Optional[str] = "" # json:"Name,omitempty"
|
|
74
|
+
ShortDescription: Optional[str] = "" # json:"ShortDescription,omitempty"
|
|
75
|
+
TagsCount: Optional[int] = 0 # json:"TagsCount,omitempty"
|
|
76
|
+
|
|
77
|
+
@dataclass
|
|
78
|
+
class RegistryImageData:
|
|
79
|
+
Architecture: Optional[str] = "" # json:"Architecture,omitempty"
|
|
80
|
+
Digest: Optional[str] = "" # json:"Digest,omitempty"
|
|
81
|
+
ImageName: Optional[str] = "" # json:"ImageName,omitempty"
|
|
82
|
+
Namespace: Optional[str] = "" # json:"Namespace,omitempty"
|
|
83
|
+
OS: Optional[str] = "" # json:"OS,omitempty"
|
|
84
|
+
Project: Optional[str] = "" # json:"Project,omitempty"
|
|
85
|
+
PullTime: Optional[str] = "" # json:"PullTime,omitempty"
|
|
86
|
+
PushTime: Optional[str] = "" # json:"PushTime,omitempty"
|
|
87
|
+
QuotaGroup: Optional[str] = "" # json:"QuotaGroup,omitempty"
|
|
88
|
+
RepositoryId: Optional[str] = "" # json:"RepositoryId,omitempty"
|
|
89
|
+
Size: Optional[int] = 0 # json:"Size,omitempty"
|
|
90
|
+
Tag: Optional[str] = "" # json:"Tag,omitempty"
|
|
91
|
+
|
|
92
|
+
@dataclass
|
|
93
|
+
class RepositoryDataV1:
|
|
94
|
+
CreationTime: Optional[str] = "" # json:"CreationTime,omitempty"
|
|
95
|
+
Creator: Optional[str] = "" # json:"Creator,omitempty"
|
|
96
|
+
CreatorId: Optional[str] = "" # json:"CreatorId,omitempty"
|
|
97
|
+
Name: Optional[str] = "" # json:"Name,omitempty"
|
|
98
|
+
Project: Optional[str] = "" # json:"Project,omitempty"
|
|
99
|
+
PullCount: Optional[int] = 0 # Namespace string `json:"Namespace"` json:"PullCount,omitempty"
|
|
100
|
+
RepositoryId: Optional[str] = "" # json:"RepositoryId,omitempty"
|
|
101
|
+
StarCount: Optional[int] = 0 # json:"StarCount,omitempty"
|
|
102
|
+
TagsCount: Optional[int] = 0 # json:"TagsCount,omitempty"
|
|
103
|
+
Visibility: Optional[str] = "" # json:"Visibility,omitempty"
|
|
104
|
+
|
|
105
|
+
@dataclass
|
|
106
|
+
class UpdateCustomRepositoryVisibilityReq:
|
|
107
|
+
Project: str # json:"Project"
|
|
108
|
+
RepoName: str # json:"RepoName"
|
|
109
|
+
Scope: str # SDK常量: Scopeproject, Scopetenant json:"Scope"
|
|
110
|
+
ProjectName: Optional[str] = None # json:"ProjectName,omitempty"
|
|
111
|
+
|
|
112
|
+
@dataclass
|
|
113
|
+
class ListCustomImagesReq:
|
|
114
|
+
Namespace: str # 命名空间(项目名) query:"Namespace"
|
|
115
|
+
Repository: str # 仓库名 query:"Repository"
|
|
116
|
+
Tag: Optional[str] = None # 标签名(获取单个标签详情) query:"Tag,omitempty"
|
|
117
|
+
|
|
118
|
+
@dataclass
|
|
119
|
+
class ListCustomRepositoriesReq:
|
|
120
|
+
CreatedByMe: Optional[bool] = None # 仅展示当前用户创建的仓库 query:"CreatedByMe,omitempty"
|
|
121
|
+
Limit: Optional[int] = None # 分页大小,默认10,最大100 query:"Limit,omitempty"
|
|
122
|
+
Name: Optional[str] = None # 仓库名(模糊搜索) query:"Name,omitempty"
|
|
123
|
+
Offset: Optional[int] = None # 分页偏移量,默认0 query:"Offset,omitempty"
|
|
124
|
+
Order: Optional[str] = None # 排序方向(asc / desc,默认desc) query:"Order,omitempty"
|
|
125
|
+
ProjectName: Optional[str] = None # 项目名(精确匹配) query:"ProjectName,omitempty"
|
|
126
|
+
SortBy: Optional[str] = None # 排序字段(CreationTime / PullCount) query:"SortBy,omitempty"
|
|
127
|
+
Visibility: Optional[List[str]] = None # 可见性过滤(user / project / tenant,可多选) query:"Visibility,omitempty"
|
|
128
|
+
|
|
129
|
+
@dataclass
|
|
130
|
+
class ListCustomRepositoriesSimpleReq:
|
|
131
|
+
Name: Optional[str] = None # 仓库名(模糊搜索) query:"Name,omitempty"
|
|
132
|
+
|
|
133
|
+
@dataclass
|
|
134
|
+
class ListPublicImagesReq:
|
|
135
|
+
Repository: str # 仓库名(不含 library/ 前缀) query:"Repository"
|
|
136
|
+
Tag: Optional[str] = None # 镜像 Tag(指定则只返回该 Tag 详情) query:"Tag,omitempty"
|
|
137
|
+
|
|
138
|
+
@dataclass
|
|
139
|
+
class ListPublicRepositoriesReq:
|
|
140
|
+
Limit: Optional[int] = None # 分页大小,默认10,最大100 query:"Limit,omitempty"
|
|
141
|
+
Name: Optional[str] = None # 仓库名称(模糊搜索) query:"Name,omitempty"
|
|
142
|
+
Offset: Optional[int] = None # 分页偏移量,默认0 query:"Offset,omitempty"
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
ListCustomRepositoriesSimpleData = ListCustomRepositoriesData
|