Skip to content

Commit 20a1286

Browse files
authored
auto codegen for UDB
1 parent e162d2c commit 20a1286

File tree

3 files changed

+160
-36
lines changed

3 files changed

+160
-36
lines changed

ucloud/services/udb/client.py

Lines changed: 84 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,13 +1037,13 @@ def describe_udb_instance_log(
10371037
10381038
**Request**
10391039
1040-
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
1041-
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
1040+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
1041+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
10421042
- **BeginTime** (int) - (Required) 查询的日志开始的时间戳(Unix Timestamp)。对于实时查询,这个参数应该是上次轮询请求时的时间戳,后台会返回从该值到当前时间的日志内容。
10431043
- **DBId** (str) - (Required) 实例ID
10441044
- **EndTime** (int) - (Required) 查询日志的结束时间戳(Unix Timestamp),对于实时查询不传该值,与BeginTime的差值不超过24小时:(EndTime-BeginTime) < 24*60*60
1045-
- **LogType** (str) - (Required) 查询日志的类型
1046-
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
1045+
- **LogType** (str) - (Required) 查询日志的类型error:错误日志;slow:慢日志
1046+
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
10471047
10481048
**Response**
10491049
@@ -1170,18 +1170,21 @@ def describe_udb_log_backup_url(
11701170
11711171
**Request**
11721172
1173-
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
1173+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
1174+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
11741175
- **BackupId** (int) - (Required) DB实例备份ID
11751176
- **DBId** (str) - (Required) DB实例Id
1176-
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
1177+
- **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
11771178
11781179
**Response**
11791180
1180-
- **BackupPath** (str) - DB实例备份文件的地址
1181+
- **BackupPath** (str) - 备份外网URL
1182+
- **UsernetPath** (str) - 备份用户网URL
11811183
11821184
"""
11831185
# build request
11841186
d = {
1187+
"ProjectId": self.config.project_id,
11851188
"Region": self.config.region,
11861189
}
11871190
req and d.update(req)
@@ -1515,6 +1518,41 @@ def fetch_udb_instance_earliest_recover_time(
15151518
resp
15161519
)
15171520

1521+
def get_udb_client_conn_num(
1522+
self, req: typing.Optional[dict] = None, **kwargs
1523+
) -> dict:
1524+
"""GetUDBClientConnNum - 输入一个DBID,能够获取客户端来源IP以及对应的连接数
1525+
1526+
**Request**
1527+
1528+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
1529+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
1530+
- **DBId** (str) - (Required) DB实例id
1531+
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
1532+
1533+
**Response**
1534+
1535+
- **DataSet** (list) - 见 **ConnNumMap** 模型定义
1536+
1537+
**Response Model**
1538+
1539+
**ConnNumMap**
1540+
- **Ip** (str) - 客户端IP
1541+
- **Num** (int) - 该Ip连接数
1542+
1543+
1544+
"""
1545+
# build request
1546+
d = {
1547+
"ProjectId": self.config.project_id,
1548+
"Region": self.config.region,
1549+
}
1550+
req and d.update(req)
1551+
d = apis.GetUDBClientConnNumRequestSchema().dumps(d)
1552+
1553+
resp = self.invoke("GetUDBClientConnNum", d, **kwargs)
1554+
return apis.GetUDBClientConnNumResponseSchema().loads(resp)
1555+
15181556
def modify_udb_instance_name(
15191557
self, req: typing.Optional[dict] = None, **kwargs
15201558
) -> dict:
@@ -1575,7 +1613,7 @@ def modify_udb_instance_password(
15751613
def promote_udb_instance_to_ha(
15761614
self, req: typing.Optional[dict] = None, **kwargs
15771615
) -> dict:
1578-
"""PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本)
1616+
"""PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,对于NVMe机型的单点升级高可用,虽然也能使用该操作再加上SwitchUDBInstanceToHA,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)
15791617
15801618
**Request**
15811619
@@ -1801,14 +1839,15 @@ def stop_udb_instance(
18011839
def switch_udb_ha_to_sentinel(
18021840
self, req: typing.Optional[dict] = None, **kwargs
18031841
) -> dict:
1804-
"""SwitchUDBHAToSentinel - UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时30-70秒
1842+
"""SwitchUDBHAToSentinel - UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时5-10秒
18051843
18061844
**Request**
18071845
1808-
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
1809-
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
1846+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
1847+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
18101848
- **DBId** (str) - (Required) UDB的实例ID
1811-
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
1849+
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
1850+
- **ForceSwitch** (bool) - 是否跳过预检查强制升级。
18121851
18131852
**Response**
18141853
@@ -1828,13 +1867,16 @@ def switch_udb_ha_to_sentinel(
18281867
def switch_udb_instance_to_ha(
18291868
self, req: typing.Optional[dict] = None, **kwargs
18301869
) -> dict:
1831-
"""SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用改api
1870+
"""SwitchUDBInstanceToHA - 普通UDB切换为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,原db状态为WaitForSwitch时,调用该api; 对于NVMe机型的单点升级高可用,虽然也能使用PromoteUDBInstanceToHA再加上该操作,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)
18321871
18331872
**Request**
18341873
1835-
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
1836-
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
1874+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
1875+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
18371876
- **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取
1877+
- **ChargeType** (str) - Year, Month, Dynamic,Trial,不填则按现在单点计费执行
1878+
- **Quantity** (str) - 购买时长,需要和 ChargeType 搭配使用,否则使用单点计费策略的值
1879+
- **Tag** (str) - 业务组
18381880
18391881
**Response**
18401882
@@ -1946,6 +1988,33 @@ def update_udb_param_group(
19461988
resp = self.invoke("UpdateUDBParamGroup", d, **kwargs)
19471989
return apis.UpdateUDBParamGroupResponseSchema().loads(resp)
19481990

1991+
def upgrade_udb_instance_to_ha(
1992+
self, req: typing.Optional[dict] = None, **kwargs
1993+
) -> dict:
1994+
"""UpgradeUDBInstanceToHA - 快杰普通db升级为高可用(只针对mysql5.5及以上版本Nvme机型的实例)
1995+
1996+
**Request**
1997+
1998+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
1999+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
2000+
- **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取
2001+
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
2002+
2003+
**Response**
2004+
2005+
2006+
"""
2007+
# build request
2008+
d = {
2009+
"ProjectId": self.config.project_id,
2010+
"Region": self.config.region,
2011+
}
2012+
req and d.update(req)
2013+
d = apis.UpgradeUDBInstanceToHARequestSchema().dumps(d)
2014+
2015+
resp = self.invoke("UpgradeUDBInstanceToHA", d, **kwargs)
2016+
return apis.UpgradeUDBInstanceToHAResponseSchema().loads(resp)
2017+
19492018
def upload_udb_param_group(
19502019
self, req: typing.Optional[dict] = None, **kwargs
19512020
) -> dict:

ucloud/services/udb/schemas/apis.py

Lines changed: 67 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -983,6 +983,7 @@ class DescribeUDBLogBackupURLRequestSchema(schema.RequestSchema):
983983
fields = {
984984
"BackupId": fields.Int(required=True, dump_to="BackupId"),
985985
"DBId": fields.Str(required=True, dump_to="DBId"),
986+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
986987
"Region": fields.Str(required=True, dump_to="Region"),
987988
"Zone": fields.Str(required=False, dump_to="Zone"),
988989
}
@@ -993,9 +994,7 @@ class DescribeUDBLogBackupURLResponseSchema(schema.ResponseSchema):
993994

994995
fields = {
995996
"BackupPath": fields.Str(required=False, load_from="BackupPath"),
996-
"UsernetPath": fields.Str(
997-
required=False, load_from="UsernetPath"
998-
), # Deprecated, will be removed at 1.0
997+
"UsernetPath": fields.Str(required=False, load_from="UsernetPath"),
999998
}
1000999

10011000

@@ -1269,6 +1268,34 @@ class FetchUDBInstanceEarliestRecoverTimeResponseSchema(schema.ResponseSchema):
12691268
}
12701269

12711270

1271+
"""
1272+
API: GetUDBClientConnNum
1273+
1274+
输入一个DBID,能够获取客户端来源IP以及对应的连接数
1275+
"""
1276+
1277+
1278+
class GetUDBClientConnNumRequestSchema(schema.RequestSchema):
1279+
"""GetUDBClientConnNum - 输入一个DBID,能够获取客户端来源IP以及对应的连接数"""
1280+
1281+
fields = {
1282+
"DBId": fields.Str(required=True, dump_to="DBId"),
1283+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
1284+
"Region": fields.Str(required=True, dump_to="Region"),
1285+
"Zone": fields.Str(required=True, dump_to="Zone"),
1286+
}
1287+
1288+
1289+
class GetUDBClientConnNumResponseSchema(schema.ResponseSchema):
1290+
"""GetUDBClientConnNum - 输入一个DBID,能够获取客户端来源IP以及对应的连接数"""
1291+
1292+
fields = {
1293+
"DataSet": fields.List(
1294+
models.ConnNumMapSchema(), required=True, load_from="DataSet"
1295+
),
1296+
}
1297+
1298+
12721299
"""
12731300
API: ModifyUDBInstanceName
12741301
@@ -1323,12 +1350,12 @@ class ModifyUDBInstancePasswordResponseSchema(schema.ResponseSchema):
13231350
"""
13241351
API: PromoteUDBInstanceToHA
13251352
1326-
普通db升级为高可用(只针对mysql5.5及以上版本)
1353+
普通db升级为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,对于NVMe机型的单点升级高可用,虽然也能使用该操作再加上SwitchUDBInstanceToHA,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)
13271354
"""
13281355

13291356

13301357
class PromoteUDBInstanceToHARequestSchema(schema.RequestSchema):
1331-
"""PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本)"""
1358+
"""PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,对于NVMe机型的单点升级高可用,虽然也能使用该操作再加上SwitchUDBInstanceToHA,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)"""
13321359

13331360
fields = {
13341361
"DBId": fields.Str(required=True, dump_to="DBId"),
@@ -1338,7 +1365,7 @@ class PromoteUDBInstanceToHARequestSchema(schema.RequestSchema):
13381365

13391366

13401367
class PromoteUDBInstanceToHAResponseSchema(schema.ResponseSchema):
1341-
"""PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本)"""
1368+
"""PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,对于NVMe机型的单点升级高可用,虽然也能使用该操作再加上SwitchUDBInstanceToHA,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)"""
13421369

13431370
fields = {}
13441371

@@ -1529,55 +1556,50 @@ class StopUDBInstanceResponseSchema(schema.ResponseSchema):
15291556
"""
15301557
API: SwitchUDBHAToSentinel
15311558
1532-
UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时30-70秒
1559+
UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时5-10秒
15331560
"""
15341561

15351562

15361563
class SwitchUDBHAToSentinelRequestSchema(schema.RequestSchema):
1537-
"""SwitchUDBHAToSentinel - UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时30-70秒"""
1564+
"""SwitchUDBHAToSentinel - UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时5-10秒"""
15381565

15391566
fields = {
15401567
"DBId": fields.Str(required=True, dump_to="DBId"),
1568+
"ForceSwitch": fields.Bool(required=False, dump_to="ForceSwitch"),
15411569
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
15421570
"Region": fields.Str(required=True, dump_to="Region"),
15431571
"Zone": fields.Str(required=True, dump_to="Zone"),
15441572
}
15451573

15461574

15471575
class SwitchUDBHAToSentinelResponseSchema(schema.ResponseSchema):
1548-
"""SwitchUDBHAToSentinel - UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时30-70秒"""
1576+
"""SwitchUDBHAToSentinel - UDB高可用实例从HAProxy版本升级为Sentinel版本(不带HAProxy)升级耗时5-10秒"""
15491577

15501578
fields = {}
15511579

15521580

15531581
"""
15541582
API: SwitchUDBInstanceToHA
15551583
1556-
普通UDB切换为高可用,原db状态为WaitForSwitch时,调用改api
1584+
普通UDB切换为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,原db状态为WaitForSwitch时,调用该api; 对于NVMe机型的单点升级高可用,虽然也能使用PromoteUDBInstanceToHA再加上该操作,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)
15571585
"""
15581586

15591587

15601588
class SwitchUDBInstanceToHARequestSchema(schema.RequestSchema):
1561-
"""SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用改api"""
1589+
"""SwitchUDBInstanceToHA - 普通UDB切换为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,原db状态为WaitForSwitch时,调用该api; 对于NVMe机型的单点升级高可用,虽然也能使用PromoteUDBInstanceToHA再加上该操作,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)"""
15621590

15631591
fields = {
1564-
"ChargeType": fields.Str(
1565-
required=False, dump_to="ChargeType"
1566-
), # Deprecated, will be removed at 1.0
1592+
"ChargeType": fields.Str(required=False, dump_to="ChargeType"),
15671593
"DBId": fields.Str(required=True, dump_to="DBId"),
15681594
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
1569-
"Quantity": fields.Str(
1570-
required=False, dump_to="Quantity"
1571-
), # Deprecated, will be removed at 1.0
1595+
"Quantity": fields.Str(required=False, dump_to="Quantity"),
15721596
"Region": fields.Str(required=True, dump_to="Region"),
1573-
"Tag": fields.Str(
1574-
required=False, dump_to="Tag"
1575-
), # Deprecated, will be removed at 1.0
1597+
"Tag": fields.Str(required=False, dump_to="Tag"),
15761598
}
15771599

15781600

15791601
class SwitchUDBInstanceToHAResponseSchema(schema.ResponseSchema):
1580-
"""SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用改api"""
1602+
"""SwitchUDBInstanceToHA - 普通UDB切换为高可用(只针对mysql5.5及以上版本SSD机型的实例) ,原db状态为WaitForSwitch时,调用该api; 对于NVMe机型的单点升级高可用,虽然也能使用PromoteUDBInstanceToHA再加上该操作,但是更建议直接调用新的API接口(UpgradeUDBInstanceToHA)"""
15811603

15821604
fields = {
15831605
"DBId": fields.Str(required=False, load_from="DBId"),
@@ -1667,6 +1689,30 @@ class UpdateUDBParamGroupResponseSchema(schema.ResponseSchema):
16671689
fields = {}
16681690

16691691

1692+
"""
1693+
API: UpgradeUDBInstanceToHA
1694+
1695+
快杰普通db升级为高可用(只针对mysql5.5及以上版本Nvme机型的实例)
1696+
"""
1697+
1698+
1699+
class UpgradeUDBInstanceToHARequestSchema(schema.RequestSchema):
1700+
"""UpgradeUDBInstanceToHA - 快杰普通db升级为高可用(只针对mysql5.5及以上版本Nvme机型的实例)"""
1701+
1702+
fields = {
1703+
"DBId": fields.Str(required=True, dump_to="DBId"),
1704+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
1705+
"Region": fields.Str(required=True, dump_to="Region"),
1706+
"Zone": fields.Str(required=True, dump_to="Zone"),
1707+
}
1708+
1709+
1710+
class UpgradeUDBInstanceToHAResponseSchema(schema.ResponseSchema):
1711+
"""UpgradeUDBInstanceToHA - 快杰普通db升级为高可用(只针对mysql5.5及以上版本Nvme机型的实例)"""
1712+
1713+
fields = {}
1714+
1715+
16701716
"""
16711717
API: UploadUDBParamGroup
16721718

ucloud/services/udb/schemas/models.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,3 +231,12 @@ class UDBTypeSetSchema(schema.ResponseSchema):
231231
fields = {
232232
"DBTypeId": fields.Str(required=False, load_from="DBTypeId"),
233233
}
234+
235+
236+
class ConnNumMapSchema(schema.ResponseSchema):
237+
"""ConnNumMap - db实例ip和连接数信息"""
238+
239+
fields = {
240+
"Ip": fields.Str(required=False, load_from="Ip"),
241+
"Num": fields.Int(required=False, load_from="Num"),
242+
}

0 commit comments

Comments
 (0)