Skip to content

Commit 753b258

Browse files
authored
auto codegen for Cube
1 parent eeb2928 commit 753b258

File tree

2 files changed

+131
-17
lines changed

2 files changed

+131
-17
lines changed

ucloud/services/cube/client.py

Lines changed: 70 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,8 @@ def create_cube_pod(
7777
7878
**Response**
7979
80-
- **Action** (str) - 操作名称
8180
- **CubeId** (str) - cube的资源Id
8281
- **Pod** (str) - base64编码的yaml
83-
- **RetCode** (int) - 返回码
8482
8583
"""
8684
# build request
@@ -181,6 +179,37 @@ def get_cube_deployment(
181179
resp = self.invoke("GetCubeDeployment", d, **kwargs)
182180
return apis.GetCubeDeploymentResponseSchema().loads(resp)
183181

182+
def get_cube_exec_token(
183+
self, req: typing.Optional[dict] = None, **kwargs
184+
) -> dict:
185+
"""GetCubeExecToken - 获取登录容器的token
186+
187+
**Request**
188+
189+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
190+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
191+
- **ContainerName** (str) - (Required) 容器名称
192+
- **CubeId** (str) - CubeId 和 Uid 中必须填写任意一个。CubeId 是所有 Cube 资源的唯一 ID,如非在 UK8S 通过 Virtual Kubelet 插件创建的 Cube, 则必填 CubeId
193+
- **Uid** (str) - CubeId 和 Uid 中必须填写任意一个。Uid 是在 UK8S 中通过 Virtual Kubelet 插件创建出的 Cube 的唯一标识
194+
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
195+
196+
**Response**
197+
198+
- **TerminalUrl** (str) - terminal的登录连接地址,限单点登录,有效时间5min
199+
- **Token** (str) - 有效时间5min
200+
201+
"""
202+
# build request
203+
d = {
204+
"ProjectId": self.config.project_id,
205+
"Region": self.config.region,
206+
}
207+
req and d.update(req)
208+
d = apis.GetCubeExecTokenRequestSchema().dumps(d)
209+
210+
resp = self.invoke("GetCubeExecToken", d, **kwargs)
211+
return apis.GetCubeExecTokenResponseSchema().loads(resp)
212+
184213
def get_cube_extend_info(
185214
self, req: typing.Optional[dict] = None, **kwargs
186215
) -> dict:
@@ -259,16 +288,16 @@ def get_cube_metrics(
259288
260289
**Response Model**
261290
262-
**ValueSet**
263-
- **Timestamp** (int) -
264-
- **Value** (float) -
265-
266-
267291
**MetricDataSet**
268292
- **MetricName** (str) -
269293
- **Values** (list) - 见 **ValueSet** 模型定义
270294
271295
296+
**ValueSet**
297+
- **Timestamp** (int) -
298+
- **Value** (float) -
299+
300+
272301
"""
273302
# build request
274303
d = {
@@ -326,10 +355,8 @@ def get_cube_price(
326355
327356
**Response**
328357
329-
- **Action** (str) - 操作名称
330358
- **OriginalPrice** (int) - 列表价格,单位为分
331359
- **Price** (int) - 折扣后价格,单位为分
332-
- **RetCode** (int) - 返回码
333360
334361
"""
335362
# build request
@@ -343,21 +370,52 @@ def get_cube_price(
343370
resp = self.invoke("GetCubePrice", d, **kwargs)
344371
return apis.GetCubePriceResponseSchema().loads(resp)
345372

373+
def list_cube_deployment(
374+
self, req: typing.Optional[dict] = None, **kwargs
375+
) -> dict:
376+
"""ListCubeDeployment - 获取Cube的Deployment列表
377+
378+
**Request**
379+
380+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
381+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
382+
- **Limit** (int) - (Required) 默认20
383+
- **Offset** (int) - (Required) 默认0
384+
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
385+
386+
**Response**
387+
388+
- **Deployments** (list) - DeploymentInfo
389+
- **TotalCount** (int) -
390+
391+
"""
392+
# build request
393+
d = {
394+
"ProjectId": self.config.project_id,
395+
"Region": self.config.region,
396+
}
397+
req and d.update(req)
398+
d = apis.ListCubeDeploymentRequestSchema().dumps(d)
399+
400+
resp = self.invoke("ListCubeDeployment", d, **kwargs)
401+
return apis.ListCubeDeploymentResponseSchema().loads(resp)
402+
346403
def list_cube_pod(
347404
self, req: typing.Optional[dict] = None, **kwargs
348405
) -> dict:
349406
"""ListCubePod - 获取Pods列表
350407
351408
**Request**
352409
353-
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
354-
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
410+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
411+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
412+
- **DeploymentId** (str) - Deployment的Id
355413
- **Group** (str) - 组名称
356414
- **Limit** (int) - 默认20
357415
- **Offset** (int) - 默认0
358416
- **SubnetId** (str) - 子网Id
359417
- **VPCId** (str) - VPC的Id
360-
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
418+
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
361419
362420
**Response**
363421

ucloud/services/cube/schemas/apis.py

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,8 @@ class CreateCubePodResponseSchema(schema.ResponseSchema):
7575
"""CreateCubePod - 创建Pod"""
7676

7777
fields = {
78-
"Action": fields.Str(required=True, load_from="Action"),
7978
"CubeId": fields.Str(required=False, load_from="CubeId"),
8079
"Pod": fields.Str(required=True, load_from="Pod"),
81-
"RetCode": fields.Int(required=True, load_from="RetCode"),
8280
}
8381

8482

@@ -158,6 +156,35 @@ class GetCubeDeploymentResponseSchema(schema.ResponseSchema):
158156
}
159157

160158

159+
"""
160+
API: GetCubeExecToken
161+
162+
获取登录容器的token
163+
"""
164+
165+
166+
class GetCubeExecTokenRequestSchema(schema.RequestSchema):
167+
"""GetCubeExecToken - 获取登录容器的token"""
168+
169+
fields = {
170+
"ContainerName": fields.Str(required=True, dump_to="ContainerName"),
171+
"CubeId": fields.Str(required=False, dump_to="CubeId"),
172+
"ProjectId": fields.Str(required=True, dump_to="ProjectId"),
173+
"Region": fields.Str(required=True, dump_to="Region"),
174+
"Uid": fields.Str(required=False, dump_to="Uid"),
175+
"Zone": fields.Str(required=False, dump_to="Zone"),
176+
}
177+
178+
179+
class GetCubeExecTokenResponseSchema(schema.ResponseSchema):
180+
"""GetCubeExecToken - 获取登录容器的token"""
181+
182+
fields = {
183+
"TerminalUrl": fields.Str(required=False, load_from="TerminalUrl"),
184+
"Token": fields.Str(required=True, load_from="Token"),
185+
}
186+
187+
161188
"""
162189
API: GetCubeExtendInfo
163190
@@ -272,10 +299,38 @@ class GetCubePriceResponseSchema(schema.ResponseSchema):
272299
"""GetCubePrice - 获取cube的价格"""
273300

274301
fields = {
275-
"Action": fields.Str(required=True, load_from="Action"),
276302
"OriginalPrice": fields.Int(required=True, load_from="OriginalPrice"),
277303
"Price": fields.Int(required=True, load_from="Price"),
278-
"RetCode": fields.Int(required=True, load_from="RetCode"),
304+
}
305+
306+
307+
"""
308+
API: ListCubeDeployment
309+
310+
获取Cube的Deployment列表
311+
"""
312+
313+
314+
class ListCubeDeploymentRequestSchema(schema.RequestSchema):
315+
"""ListCubeDeployment - 获取Cube的Deployment列表"""
316+
317+
fields = {
318+
"Limit": fields.Int(required=True, dump_to="Limit"),
319+
"Offset": fields.Int(required=True, dump_to="Offset"),
320+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
321+
"Region": fields.Str(required=True, dump_to="Region"),
322+
"Zone": fields.Str(required=False, dump_to="Zone"),
323+
}
324+
325+
326+
class ListCubeDeploymentResponseSchema(schema.ResponseSchema):
327+
"""ListCubeDeployment - 获取Cube的Deployment列表"""
328+
329+
fields = {
330+
"Deployments": fields.List(
331+
fields.Str(), required=True, load_from="Deployments"
332+
),
333+
"TotalCount": fields.Int(required=True, load_from="TotalCount"),
279334
}
280335

281336

@@ -290,10 +345,11 @@ class ListCubePodRequestSchema(schema.RequestSchema):
290345
"""ListCubePod - 获取Pods列表"""
291346

292347
fields = {
348+
"DeploymentId": fields.Str(required=False, dump_to="DeploymentId"),
293349
"Group": fields.Str(required=False, dump_to="Group"),
294350
"Limit": fields.Int(required=False, dump_to="Limit"),
295351
"Offset": fields.Int(required=False, dump_to="Offset"),
296-
"ProjectId": fields.Str(required=True, dump_to="ProjectId"),
352+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
297353
"Region": fields.Str(required=True, dump_to="Region"),
298354
"SubnetId": fields.Str(required=False, dump_to="SubnetId"),
299355
"VPCId": fields.Str(required=False, dump_to="VPCId"),

0 commit comments

Comments
 (0)