Skip to content

Commit 4d552fd

Browse files
authored
auto codegen for UK8S
1 parent ce753c6 commit 4d552fd

File tree

3 files changed

+190
-8
lines changed

3 files changed

+190
-8
lines changed

ucloud/services/uk8s/client.py

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,90 @@ def del_uk8s_cluster_node_v2(
284284
resp = self.invoke("DelUK8SClusterNodeV2", d, **kwargs)
285285
return apis.DelUK8SClusterNodeV2ResponseSchema().loads(resp)
286286

287+
def describe_uk8s_cluster(
288+
self, req: typing.Optional[dict] = None, **kwargs
289+
) -> dict:
290+
"""DescribeUK8SCluster - 获取集群信息
291+
292+
**Request**
293+
294+
- **ProjectId** (str) - (Config) 项目id
295+
- **Region** (str) - (Config) 所属区域
296+
- **ClusterId** (str) - (Required) k8s集群ID
297+
298+
**Response**
299+
300+
- **ApiServer** (str) - 集群apiserver地址
301+
- **CACert** (str) - 集群CA根证书
302+
- **ClusterDomain** (str) - 自定义或者默认的clusterdomain
303+
- **ClusterId** (str) - 集群ID
304+
- **ClusterName** (str) - 资源名字
305+
- **CreateTime** (int) - 创建时间
306+
- **EtcdCert** (str) - 集群etcd服务证书
307+
- **EtcdKey** (str) - 集群etcd服务密钥
308+
- **ExternalApiServer** (str) - 集群外部apiserver地址
309+
- **KubeProxy** (dict) - kube-proxy配置
310+
- **MasterCount** (int) - Master 节点数量
311+
- **MasterList** (list) - 见 **UhostInfo** 模型定义
312+
- **NodeCount** (int) - Node节点数量
313+
- **NodeList** (list) - 见 **UhostInfo** 模型定义
314+
- **PodCIDR** (str) - Pod网段
315+
- **ServiceCIDR** (str) - 服务网段
316+
- **Status** (str) - 状态
317+
- **SubnetId** (str) - 所属子网
318+
- **VPCId** (str) - 所属VPC
319+
- **Version** (str) - K8S版本
320+
321+
**Response Model**
322+
323+
**DiskSet**
324+
- **BackupType** (str) - 备份方案,枚举类型:BASIC_SNAPSHOT,普通快照;DATAARK,方舟。无快照则不返回该字段。
325+
- **DiskId** (str) - 磁盘长ID
326+
- **DiskType** (str) - LOCAL_NOMAL| CLOUD_NORMAL| LOCAL_SSD| CLOUD_SSD|EXCLUSIVE_LOCAL_DISK
327+
- **Drive** (str) - 磁盘盘符
328+
- **Encrypted** (str) - Yes: 加密 No: 非加密
329+
- **IOPS** (int) - 当前主机的IOPS值
330+
- **IsBoot** (str) - True| False
331+
- **Name** (str) - UDisk名字(仅当磁盘是UDisk时返回)
332+
- **Size** (int) - 磁盘大小,单位: GB
333+
- **Type** (str) - 磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk
334+
335+
336+
**IPSet**
337+
- **Bandwidth** (int) - IP对应的带宽, 单位: Mb (内网IP不显示带宽信息)
338+
- **Default** (str) - 是否默认的弹性网卡的信息。true: 是默认弹性网卡;其他值:不是。
339+
- **IP** (str) - IP地址
340+
- **IPId** (str) - IP资源ID (内网IP无对应的资源ID)
341+
- **Type** (str) - 国际: Internation,BGP: Bgp,内网: Private
342+
343+
344+
**UhostInfo**
345+
- **CPU** (int) - Cpu数量
346+
- **CreateTime** (int) - 创建时间
347+
- **DiskSet** (list) - 见 **DiskSet** 模型定义
348+
- **ExpireTime** (int) - 到期时间
349+
- **IPSet** (list) - 见 **IPSet** 模型定义
350+
- **Memory** (int) - 内存
351+
- **Name** (str) - 主机名称
352+
- **NodeId** (str) - 主机ID
353+
- **NodeType** (str) - 节点类型:uhost表示云主机;uphost表示物理云主机
354+
- **OsName** (str) - 镜像信息
355+
- **State** (str) - 主机状态
356+
- **Zone** (str) - 所在机房
357+
358+
359+
"""
360+
# build request
361+
d = {
362+
"ProjectId": self.config.project_id,
363+
"Region": self.config.region,
364+
}
365+
req and d.update(req)
366+
d = apis.DescribeUK8SClusterRequestSchema().dumps(d)
367+
368+
resp = self.invoke("DescribeUK8SCluster", d, **kwargs)
369+
return apis.DescribeUK8SClusterResponseSchema().loads(resp)
370+
287371
def describe_uk8s_image(
288372
self, req: typing.Optional[dict] = None, **kwargs
289373
) -> dict:

ucloud/services/uk8s/schemas/apis.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,56 @@ class DelUK8SClusterNodeV2ResponseSchema(schema.ResponseSchema):
297297
}
298298

299299

300+
"""
301+
API: DescribeUK8SCluster
302+
303+
获取集群信息
304+
"""
305+
306+
307+
class DescribeUK8SClusterRequestSchema(schema.RequestSchema):
308+
"""DescribeUK8SCluster - 获取集群信息"""
309+
310+
fields = {
311+
"ClusterId": fields.Str(required=True, dump_to="ClusterId"),
312+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
313+
"Region": fields.Str(required=True, dump_to="Region"),
314+
}
315+
316+
317+
class DescribeUK8SClusterResponseSchema(schema.ResponseSchema):
318+
"""DescribeUK8SCluster - 获取集群信息"""
319+
320+
fields = {
321+
"ApiServer": fields.Str(required=False, load_from="ApiServer"),
322+
"CACert": fields.Str(required=False, load_from="CACert"),
323+
"ClusterDomain": fields.Str(required=False, load_from="ClusterDomain"),
324+
"ClusterId": fields.Str(required=True, load_from="ClusterId"),
325+
"ClusterName": fields.Str(required=True, load_from="ClusterName"),
326+
"CreateTime": fields.Int(required=False, load_from="CreateTime"),
327+
"EtcdCert": fields.Str(required=False, load_from="EtcdCert"),
328+
"EtcdKey": fields.Str(required=False, load_from="EtcdKey"),
329+
"ExternalApiServer": fields.Str(
330+
required=False, load_from="ExternalApiServer"
331+
),
332+
"KubeProxy": fields.Str(),
333+
"MasterCount": fields.Int(required=True, load_from="MasterCount"),
334+
"MasterList": fields.List(
335+
models.UhostInfoSchema(), required=False, load_from="MasterList"
336+
),
337+
"NodeCount": fields.Int(required=False, load_from="NodeCount"),
338+
"NodeList": fields.List(
339+
models.UhostInfoSchema(), required=False, load_from="NodeList"
340+
),
341+
"PodCIDR": fields.Str(required=True, load_from="PodCIDR"),
342+
"ServiceCIDR": fields.Str(required=True, load_from="ServiceCIDR"),
343+
"Status": fields.Str(required=False, load_from="Status"),
344+
"SubnetId": fields.Str(required=True, load_from="SubnetId"),
345+
"VPCId": fields.Str(required=True, load_from="VPCId"),
346+
"Version": fields.Str(required=False, load_from="Version"),
347+
}
348+
349+
300350
"""
301351
API: DescribeUK8SImage
302352

ucloud/services/uk8s/schemas/models.py

Lines changed: 56 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,54 @@
33
from ucloud.core.typesystem import schema, fields
44

55

6+
class IPSetSchema(schema.ResponseSchema):
7+
"""IPSet - 节点的IP信息"""
8+
9+
fields = {
10+
"Bandwidth": fields.Int(required=False, load_from="Bandwidth"),
11+
"Default": fields.Str(required=False, load_from="Default"),
12+
"IP": fields.Str(required=False, load_from="IP"),
13+
"IPId": fields.Str(required=False, load_from="IPId"),
14+
"Type": fields.Str(required=False, load_from="Type"),
15+
}
16+
17+
18+
class DiskSetSchema(schema.ResponseSchema):
19+
"""DiskSet - 节点磁盘信息"""
20+
21+
fields = {
22+
"BackupType": fields.Str(required=False, load_from="BackupType"),
23+
"DiskId": fields.Str(required=False, load_from="DiskId"),
24+
"DiskType": fields.Str(required=False, load_from="DiskType"),
25+
"Drive": fields.Str(required=False, load_from="Drive"),
26+
"Encrypted": fields.Str(required=False, load_from="Encrypted"),
27+
"IOPS": fields.Int(required=False, load_from="IOPS"),
28+
"IsBoot": fields.Str(required=False, load_from="IsBoot"),
29+
"Name": fields.Str(required=False, load_from="Name"),
30+
"Size": fields.Int(required=False, load_from="Size"),
31+
"Type": fields.Str(required=False, load_from="Type"),
32+
}
33+
34+
35+
class UhostInfoSchema(schema.ResponseSchema):
36+
"""UhostInfo - 机器信息"""
37+
38+
fields = {
39+
"CPU": fields.Int(required=True, load_from="CPU"),
40+
"CreateTime": fields.Int(required=True, load_from="CreateTime"),
41+
"DiskSet": fields.List(DiskSetSchema()),
42+
"ExpireTime": fields.Int(required=True, load_from="ExpireTime"),
43+
"IPSet": fields.List(IPSetSchema()),
44+
"Memory": fields.Int(required=True, load_from="Memory"),
45+
"Name": fields.Str(required=True, load_from="Name"),
46+
"NodeId": fields.Str(required=True, load_from="NodeId"),
47+
"NodeType": fields.Str(required=True, load_from="NodeType"),
48+
"OsName": fields.Str(required=True, load_from="OsName"),
49+
"State": fields.Str(required=True, load_from="State"),
50+
"Zone": fields.Str(required=True, load_from="Zone"),
51+
}
52+
53+
654
class ImageInfoSchema(schema.ResponseSchema):
755
"""ImageInfo - UK8S 可用镜像信息"""
856

@@ -29,6 +77,14 @@ class K8SNodeConditionSchema(schema.ResponseSchema):
2977
}
3078

3179

80+
class KubeProxySchema(schema.ResponseSchema):
81+
"""KubeProxy - KubeProxy信息"""
82+
83+
fields = {
84+
"Mode": fields.Str(required=False, load_from="Mode"),
85+
}
86+
87+
3288
class UHostIPSetSchema(schema.ResponseSchema):
3389
"""UHostIPSet - 云主机IP信息"""
3490

@@ -46,14 +102,6 @@ class UHostIPSetSchema(schema.ResponseSchema):
46102
}
47103

48104

49-
class KubeProxySchema(schema.ResponseSchema):
50-
"""KubeProxy - KubeProxy信息"""
51-
52-
fields = {
53-
"Mode": fields.Str(required=False, load_from="Mode"),
54-
}
55-
56-
57105
class NodeInfoV2Schema(schema.ResponseSchema):
58106
"""NodeInfoV2 - UK8S 节点信息"""
59107

0 commit comments

Comments
 (0)