diff --git a/ucloud/client.py b/ucloud/client.py index 4b45cd2..7c19b09 100644 --- a/ucloud/client.py +++ b/ucloud/client.py @@ -1,66 +1,66 @@ -# -*- coding: utf-8 -*- - -from ucloud.core import client - - -class Client(client.Client): - def __init__(self, config, transport=None, middleware=None, logger=None): - self._config = config - super(Client, self).__init__(config, transport, middleware, logger) - - def umem(self): - from ucloud.services.umem.client import UMemClient - - return UMemClient(self._config, self.transport, self.middleware, self.logger) - - def unet(self): - from ucloud.services.unet.client import UNetClient - - return UNetClient(self._config, self.transport, self.middleware, self.logger) - - def uaccount(self): - from ucloud.services.uaccount.client import UAccountClient - - return UAccountClient( - self._config, self.transport, self.middleware, self.logger - ) - - def udisk(self): - from ucloud.services.udisk.client import UDiskClient - - return UDiskClient(self._config, self.transport, self.middleware, self.logger) - - def udpn(self): - from ucloud.services.udpn.client import UDPNClient - - return UDPNClient(self._config, self.transport, self.middleware, self.logger) - - def uhost(self): - from ucloud.services.uhost.client import UHostClient - - return UHostClient(self._config, self.transport, self.middleware, self.logger) - - def pathx(self): - from ucloud.services.pathx.client import PathXClient - - return PathXClient(self._config, self.transport, self.middleware, self.logger) - - def uphost(self): - from ucloud.services.uphost.client import UPHostClient - - return UPHostClient(self._config, self.transport, self.middleware, self.logger) - - def vpc(self): - from ucloud.services.vpc.client import VPCClient - - return VPCClient(self._config, self.transport, self.middleware, self.logger) - - def udb(self): - from ucloud.services.udb.client import UDBClient - - return UDBClient(self._config, self.transport, self.middleware, self.logger) - - def ulb(self): - from ucloud.services.ulb.client import ULBClient - - return ULBClient(self._config, self.transport, self.middleware, self.logger) +# -*- coding: utf-8 -*- + +from ucloud.core import client + + +class Client(client.Client): + def __init__(self, config, transport=None, middleware=None): + self._config = config + super(Client, self).__init__(config, transport, middleware) + + def umem(self): + from ucloud.services.umem.client import UMemClient + + return UMemClient(self._config, self.transport, self.middleware, self.logger) + + def unet(self): + from ucloud.services.unet.client import UNetClient + + return UNetClient(self._config, self.transport, self.middleware, self.logger) + + def uaccount(self): + from ucloud.services.uaccount.client import UAccountClient + + return UAccountClient( + self._config, self.transport, self.middleware, self.logger + ) + + def udisk(self): + from ucloud.services.udisk.client import UDiskClient + + return UDiskClient(self._config, self.transport, self.middleware, self.logger) + + def udpn(self): + from ucloud.services.udpn.client import UDPNClient + + return UDPNClient(self._config, self.transport, self.middleware, self.logger) + + def uhost(self): + from ucloud.services.uhost.client import UHostClient + + return UHostClient(self._config, self.transport, self.middleware, self.logger) + + def pathx(self): + from ucloud.services.pathx.client import PathXClient + + return PathXClient(self._config, self.transport, self.middleware, self.logger) + + def uphost(self): + from ucloud.services.uphost.client import UPHostClient + + return UPHostClient(self._config, self.transport, self.middleware, self.logger) + + def vpc(self): + from ucloud.services.vpc.client import VPCClient + + return VPCClient(self._config, self.transport, self.middleware, self.logger) + + def udb(self): + from ucloud.services.udb.client import UDBClient + + return UDBClient(self._config, self.transport, self.middleware, self.logger) + + def ulb(self): + from ucloud.services.ulb.client import ULBClient + + return ULBClient(self._config, self.transport, self.middleware, self.logger) diff --git a/ucloud/core/transport/_requests.py b/ucloud/core/transport/_requests.py index 4afdd80..29d5bf9 100644 --- a/ucloud/core/transport/_requests.py +++ b/ucloud/core/transport/_requests.py @@ -55,9 +55,15 @@ def _send(self, req, **options): adapter = self._load_adapter(options.get("max_retries")) session.mount("http://", adapter=adapter) session.mount("https://", adapter=adapter) - resp = self.convert_response( - session.request(req.method.upper(), url=req.url, json=req.json) + session_resp = session.request( + method=req.method.upper(), + url=req.url, + json=req.json, + data=req.data, + params=req.params, + headers=req.headers, ) + resp = self.convert_response(session_resp) resp.request = req return resp diff --git a/ucloud/services/pathx/client.py b/ucloud/services/pathx/client.py index 0c7aa0d..bea2a51 100644 --- a/ucloud/services/pathx/client.py +++ b/ucloud/services/pathx/client.py @@ -11,15 +11,24 @@ def __init__(self, config, transport=None, middleware=None, logger=None): def create_global_ssh_instance(self, req=None, **kwargs): """ CreateGlobalSSHInstance - 创建GlobalSSH实例 - :param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html) - :param Area: (Required) 填写支持SSH访问IP的地区名称,如“洛杉矶”,“新加坡”,“香港”,“东京”,“华盛顿”,“法兰克福”。Area和AreaCode两者必填一个 - :param AreaCode: (Required) AreaCode, 区域航空港国际通用代码。Area和AreaCode两者必填一个 - :param Port: (Required) SSH端口,1-65535且不能使用80,443端口 - :param TargetIP: (Required) 被SSH访问的IP - :param ChargeType: (Optional) 支付方式,如按月、按年、按时 - :param CouponId: (Optional) 使用代金券可冲抵部分费用 - :param Quantity: (Optional) 购买数量 - :param Remark: (Optional) 备注信息 + **Request** + + - **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 `_ + - **Area** (str) - (Required) 填写支持SSH访问IP的地区名称,如“洛杉矶”,“新加坡”,“香港”,“东京”,“华盛顿”,“法兰克福”。Area和AreaCode两者必填一个 + - **AreaCode** (str) - (Required) AreaCode, 区域航空港国际通用代码。Area和AreaCode两者必填一个 + - **Port** (int) - (Required) SSH端口,1-65535且不能使用80,443端口 + - **TargetIP** (str) - (Required) 被SSH访问的IP + - **ChargeType** (str) - 支付方式,如按月、按年、按时 + - **CouponId** (str) - 使用代金券可冲抵部分费用 + - **Quantity** (int) - 购买数量 + - **Remark** (str) - 备注信息 + + **Response** + + - **InstanceId** (str) - 实例ID,资源唯一标识 + - **AcceleratingDomain** (str) - 加速域名,访问该域名可就近接入 + - **Message** (str) - 提示信息 + """ d = {"ProjectId": self.config.project_id} req and d.update(req) @@ -31,8 +40,15 @@ def create_global_ssh_instance(self, req=None, **kwargs): def delete_global_ssh_instance(self, req=None, **kwargs): """ DeleteGlobalSSHInstance - 删除GlobalSSH实例 - :param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html) - :param InstanceId: (Required) 实例Id,资源的唯一标识 + **Request** + + - **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 `_ + - **InstanceId** (str) - (Required) 实例Id,资源的唯一标识 + + **Response** + + - **Message** (str) - 提示信息 + """ d = {"ProjectId": self.config.project_id} req and d.update(req) @@ -43,8 +59,24 @@ def delete_global_ssh_instance(self, req=None, **kwargs): def describe_global_ssh_area(self, req=None, **kwargs): """ DescribeGlobalSSHArea - 获取GlobalSSH覆盖的地区列表 用于控制显示哪些机房地域可以使用SSH特性 - :param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 机房地域代号,如hk、 us-ca、 us-ws等。不填默认为空,返回所有支持地区。 + **Request** + + - **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 机房地域代号,如hk、 us-ca、 us-ws等。不填默认为空,返回所有支持地区。 + + **Response** + + - **AreaSet** (list) - 见 **GlobalSSHArea** 模型定义 + - **Message** (str) - 提示信息 + + **Response Model** + + **GlobalSSHArea** + + - **AreaCode** (str) - 地区代号,以地区AirPort Code + - **RegionSet** (list) - ucloud机房代号构成的数组,如["hk","us-ca"] + - **Area** (str) - GlobalSSH覆盖的地区,如香港、东京、洛杉矶等 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -55,8 +87,29 @@ def describe_global_ssh_area(self, req=None, **kwargs): def describe_global_ssh_instance(self, req=None, **kwargs): """ DescribeGlobalSSHInstance - 获取GlobalSSH实例列表(传实例ID获取单个实例信息,不传获取项目下全部实例) - :param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html) - :param InstanceId: (Optional) 实例ID,资源唯一标识 + **Request** + + - **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 `_ + - **InstanceId** (str) - 实例ID,资源唯一标识 + + **Response** + + - **InstanceSet** (list) - 见 **GlobalSSHInfo** 模型定义 + + **Response Model** + + **GlobalSSHInfo** + + - **TargetIP** (str) - 被SSH访问的EIP + - **Port** (int) - SSH登陆端口 + - **ChargeType** (str) - 支付周期,如Month,Year等 + - **AcceleratingDomain** (str) - 加速域名 + - **Area** (str) - 被SSH访问的IP所在地区 + - **Remark** (str) - 备注信息 + - **CreateTime** (int) - 资源创建时间戳 + - **ExpireTime** (int) - 资源过期时间戳 + - **InstanceId** (str) - 实例ID,资源唯一标识 + """ d = {"ProjectId": self.config.project_id} req and d.update(req) @@ -67,9 +120,16 @@ def describe_global_ssh_instance(self, req=None, **kwargs): def modify_global_ssh_port(self, req=None, **kwargs): """ ModifyGlobalSSHPort - 修改GlobalSSH端口 - :param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html) - :param InstanceId: (Required) 实例ID,资源唯一标识 - :param Port: (Required) 调整后的SSH登陆端口 + **Request** + + - **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 `_ + - **InstanceId** (str) - (Required) 实例ID,资源唯一标识 + - **Port** (int) - (Required) 调整后的SSH登陆端口 + + **Response** + + - **Message** (str) - 提示信息 + """ d = {"ProjectId": self.config.project_id} req and d.update(req) @@ -80,9 +140,16 @@ def modify_global_ssh_port(self, req=None, **kwargs): def modify_global_ssh_remark(self, req=None, **kwargs): """ ModifyGlobalSSHRemark - 修改GlobalSSH备注 - :param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html) - :param InstanceId: (Required) 实例ID,资源唯一标识 - :param Remark: (Optional) 备注信息,不填默认为空字符串 + **Request** + + - **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 `_ + - **InstanceId** (str) - (Required) 实例ID,资源唯一标识 + - **Remark** (str) - 备注信息,不填默认为空字符串 + + **Response** + + - **Message** (str) - 接口返回消息 + """ d = {"ProjectId": self.config.project_id} req and d.update(req) diff --git a/ucloud/services/pathx/schemas/apis.py b/ucloud/services/pathx/schemas/apis.py index 7f38245..8c9b0af 100644 --- a/ucloud/services/pathx/schemas/apis.py +++ b/ucloud/services/pathx/schemas/apis.py @@ -5,56 +5,6 @@ """ PathX API Schema """ -""" -API: ModifyGlobalSSHPort - -修改GlobalSSH端口 -""" - - -class ModifyGlobalSSHPortRequestSchema(schema.RequestSchema): - """ ModifyGlobalSSHPort - 修改GlobalSSH端口 - """ - - fields = { - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "InstanceId": fields.Str(required=True, dump_to="InstanceId"), - "Port": fields.Int(required=True, dump_to="Port"), - } - - -class ModifyGlobalSSHPortResponseSchema(schema.ResponseSchema): - """ ModifyGlobalSSHPort - 修改GlobalSSH端口 - """ - - fields = {"Message": fields.Str(required=False, load_from="Message")} - - -""" -API: ModifyGlobalSSHRemark - -修改GlobalSSH备注 -""" - - -class ModifyGlobalSSHRemarkRequestSchema(schema.RequestSchema): - """ ModifyGlobalSSHRemark - 修改GlobalSSH备注 - """ - - fields = { - "Remark": fields.Str(required=False, dump_to="Remark"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "InstanceId": fields.Str(required=True, dump_to="InstanceId"), - } - - -class ModifyGlobalSSHRemarkResponseSchema(schema.ResponseSchema): - """ ModifyGlobalSSHRemark - 修改GlobalSSH备注 - """ - - fields = {"Message": fields.Str(required=False, load_from="Message")} - - """ API: CreateGlobalSSHInstance @@ -69,13 +19,13 @@ class CreateGlobalSSHInstanceRequestSchema(schema.RequestSchema): fields = { "Quantity": fields.Int(required=False, dump_to="Quantity"), "CouponId": fields.Str(required=False, dump_to="CouponId"), - "Area": fields.Str(required=True, dump_to="Area"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "Port": fields.Int(required=True, dump_to="Port"), "AreaCode": fields.Str(required=True, dump_to="AreaCode"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "TargetIP": fields.Str(required=True, dump_to="TargetIP"), "Remark": fields.Str(required=False, dump_to="Remark"), + "Area": fields.Str(required=True, dump_to="Area"), + "TargetIP": fields.Str(required=True, dump_to="TargetIP"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), } @@ -171,3 +121,53 @@ class DescribeGlobalSSHInstanceResponseSchema(schema.ResponseSchema): models.GlobalSSHInfoSchema(), required=False, load_from="InstanceSet" ) } + + +""" +API: ModifyGlobalSSHPort + +修改GlobalSSH端口 +""" + + +class ModifyGlobalSSHPortRequestSchema(schema.RequestSchema): + """ ModifyGlobalSSHPort - 修改GlobalSSH端口 + """ + + fields = { + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "InstanceId": fields.Str(required=True, dump_to="InstanceId"), + "Port": fields.Int(required=True, dump_to="Port"), + } + + +class ModifyGlobalSSHPortResponseSchema(schema.ResponseSchema): + """ ModifyGlobalSSHPort - 修改GlobalSSH端口 + """ + + fields = {"Message": fields.Str(required=False, load_from="Message")} + + +""" +API: ModifyGlobalSSHRemark + +修改GlobalSSH备注 +""" + + +class ModifyGlobalSSHRemarkRequestSchema(schema.RequestSchema): + """ ModifyGlobalSSHRemark - 修改GlobalSSH备注 + """ + + fields = { + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "InstanceId": fields.Str(required=True, dump_to="InstanceId"), + "Remark": fields.Str(required=False, dump_to="Remark"), + } + + +class ModifyGlobalSSHRemarkResponseSchema(schema.ResponseSchema): + """ ModifyGlobalSSHRemark - 修改GlobalSSH备注 + """ + + fields = {"Message": fields.Str(required=False, load_from="Message")} diff --git a/ucloud/services/pathx/schemas/models.py b/ucloud/services/pathx/schemas/models.py index db5c3c7..1e0a75f 100644 --- a/ucloud/services/pathx/schemas/models.py +++ b/ucloud/services/pathx/schemas/models.py @@ -3,29 +3,29 @@ from ucloud.core.typesystem import schema, fields -class GlobalSSHInfoSchema(schema.ResponseSchema): - """ GlobalSSHInfo - GlobalSSH实例信息 +class GlobalSSHAreaSchema(schema.ResponseSchema): + """ GlobalSSHArea - GlobalSSH覆盖地区,包括关联的UCloud机房信息 """ fields = { - "CreateTime": fields.Int(required=True, load_from="CreateTime"), - "AcceleratingDomain": fields.Str(required=True, load_from="AcceleratingDomain"), "Area": fields.Str(required=True, load_from="Area"), - "Port": fields.Int(required=True, load_from="Port"), - "ChargeType": fields.Str(required=True, load_from="ChargeType"), - "InstanceId": fields.Str(required=True, load_from="InstanceId"), - "TargetIP": fields.Str(required=True, load_from="TargetIP"), - "Remark": fields.Str(required=True, load_from="Remark"), - "ExpireTime": fields.Int(required=True, load_from="ExpireTime"), + "AreaCode": fields.Str(required=True, load_from="AreaCode"), + "RegionSet": fields.List(fields.Str()), } -class GlobalSSHAreaSchema(schema.ResponseSchema): - """ GlobalSSHArea - GlobalSSH覆盖地区,包括关联的UCloud机房信息 +class GlobalSSHInfoSchema(schema.ResponseSchema): + """ GlobalSSHInfo - GlobalSSH实例信息 """ fields = { + "Port": fields.Int(required=True, load_from="Port"), + "ChargeType": fields.Str(required=True, load_from="ChargeType"), + "CreateTime": fields.Int(required=True, load_from="CreateTime"), + "ExpireTime": fields.Int(required=True, load_from="ExpireTime"), + "InstanceId": fields.Str(required=True, load_from="InstanceId"), + "AcceleratingDomain": fields.Str(required=True, load_from="AcceleratingDomain"), "Area": fields.Str(required=True, load_from="Area"), - "AreaCode": fields.Str(required=True, load_from="AreaCode"), - "RegionSet": fields.List(fields.Str()), + "TargetIP": fields.Str(required=True, load_from="TargetIP"), + "Remark": fields.Str(required=True, load_from="Remark"), } diff --git a/ucloud/services/uaccount/client.py b/ucloud/services/uaccount/client.py index b2e2a48..770883a 100644 --- a/ucloud/services/uaccount/client.py +++ b/ucloud/services/uaccount/client.py @@ -11,7 +11,14 @@ def __init__(self, config, transport=None, middleware=None, logger=None): def create_project(self, req=None, **kwargs): """ CreateProject - 创建项目 - :param ProjectName: (Required) 项目名称 + **Request** + + - **ProjectName** (str) - (Required) 项目名称 + + **Response** + + - **ProjectId** (str) - 所创建项目的Id + """ d = {} req and d.update(req) @@ -23,7 +30,28 @@ def create_project(self, req=None, **kwargs): def get_project_list(self, req=None, **kwargs): """ GetProjectList - 获取项目列表 - :param IsFinance: (Optional) 是否是财务账号(Yes: 是, No: 否) + **Request** + + - **IsFinance** (str) - 是否是财务账号(Yes: 是, No: 否) + + **Response** + + - **ProjectCount** (int) - 项目总数 + - **ProjectSet** (list) - 见 **ProjectListInfo** 模型定义 + + **Response Model** + + **ProjectListInfo** + + - **ResourceCount** (int) - 项目下资源数量 + - **MemberCount** (int) - 项目下成员数量 + - **ProjectId** (str) - 项目ID + - **ProjectName** (str) - 项目名称 + - **ParentId** (str) - 父项目ID + - **ParentName** (str) - 父项目名称 + - **CreateTime** (int) - 创建时间(Unix时间戳) + - **IsDefault** (bool) - 是否为默认项目 + """ d = {} req and d.update(req) @@ -34,6 +62,24 @@ def get_project_list(self, req=None, **kwargs): def get_region(self, req=None, **kwargs): """ GetRegion - 获取用户在各数据中心的权限等信息 + **Request** + + + **Response** + + - **Regions** (list) - 见 **RegionInfo** 模型定义 + + **Response Model** + + **RegionInfo** + + - **Region** (str) - 地域名字,如cn-bj + - **Zone** (str) - 可用区名字,如cn-bj-01 + - **RegionId** (int) - 数据中心ID + - **RegionName** (str) - 数据中心名称 + - **IsDefault** (bool) - 是否用户当前默认数据中心 + - **BitMaps** (str) - 用户在此数据中心的权限位 + """ d = {} req and d.update(req) @@ -44,6 +90,34 @@ def get_region(self, req=None, **kwargs): def get_user_info(self, req=None, **kwargs): """ GetUserInfo - 获取用户信息 + **Request** + + + **Response** + + - **DataSet** (list) - 见 **UserInfo** 模型定义 + + **Response Model** + + **UserInfo** + + - **Admin** (int) - 是否超级管理员 0:否 1:是 + - **Finance** (int) - 是否有财务权限 0:否 1:是 + - **UserEmail** (str) - 用户邮箱 + - **UserType** (int) - 会员类型 + - **Province** (str) - 省份 + - **AuthState** (str) - 实名认证状态 + - **UserId** (int) - 用户Id + - **PhonePrefix** (str) - 国际号码前缀 + - **CompanyName** (str) - 公司名称 + - **IndustryType** (int) - 所属行业 + - **City** (str) - 城市 + - **UserAddress** (str) - 公司地址 + - **UserPhone** (str) - 用户手机 + - **UserName** (str) - 称呼 + - **UserVersion** (int) - 是否子帐户(大于100为子帐户) + - **Administrator** (str) - 管理员 + """ d = {} req and d.update(req) @@ -54,8 +128,14 @@ def get_user_info(self, req=None, **kwargs): def modify_project(self, req=None, **kwargs): """ ModifyProject - 修改项目 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param ProjectName: (Required) 新的项目名称 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **ProjectName** (str) - (Required) 新的项目名称 + + **Response** + + """ d = {"ProjectId": self.config.project_id} req and d.update(req) @@ -66,7 +146,13 @@ def modify_project(self, req=None, **kwargs): def terminate_project(self, req=None, **kwargs): """ TerminateProject - 删除项目 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id} req and d.update(req) diff --git a/ucloud/services/uaccount/schemas/apis.py b/ucloud/services/uaccount/schemas/apis.py index 0152196..4a74615 100644 --- a/ucloud/services/uaccount/schemas/apis.py +++ b/ucloud/services/uaccount/schemas/apis.py @@ -5,51 +5,6 @@ """ UAccount API Schema """ -""" -API: ModifyProject - -修改项目 -""" - - -class ModifyProjectRequestSchema(schema.RequestSchema): - """ ModifyProject - 修改项目 - """ - - fields = { - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "ProjectName": fields.Str(required=True, dump_to="ProjectName"), - } - - -class ModifyProjectResponseSchema(schema.ResponseSchema): - """ ModifyProject - 修改项目 - """ - - fields = {} - - -""" -API: TerminateProject - -删除项目 -""" - - -class TerminateProjectRequestSchema(schema.RequestSchema): - """ TerminateProject - 删除项目 - """ - - fields = {"ProjectId": fields.Str(required=False, dump_to="ProjectId")} - - -class TerminateProjectResponseSchema(schema.ResponseSchema): - """ TerminateProject - 删除项目 - """ - - fields = {} - - """ API: CreateProject @@ -145,3 +100,48 @@ class GetUserInfoResponseSchema(schema.ResponseSchema): models.UserInfoSchema(), required=True, load_from="DataSet" ) } + + +""" +API: ModifyProject + +修改项目 +""" + + +class ModifyProjectRequestSchema(schema.RequestSchema): + """ ModifyProject - 修改项目 + """ + + fields = { + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "ProjectName": fields.Str(required=True, dump_to="ProjectName"), + } + + +class ModifyProjectResponseSchema(schema.ResponseSchema): + """ ModifyProject - 修改项目 + """ + + fields = {} + + +""" +API: TerminateProject + +删除项目 +""" + + +class TerminateProjectRequestSchema(schema.RequestSchema): + """ TerminateProject - 删除项目 + """ + + fields = {"ProjectId": fields.Str(required=False, dump_to="ProjectId")} + + +class TerminateProjectResponseSchema(schema.ResponseSchema): + """ TerminateProject - 删除项目 + """ + + fields = {} diff --git a/ucloud/services/uaccount/schemas/models.py b/ucloud/services/uaccount/schemas/models.py index fc3d97b..a22c6d2 100644 --- a/ucloud/services/uaccount/schemas/models.py +++ b/ucloud/services/uaccount/schemas/models.py @@ -8,14 +8,14 @@ class ProjectListInfoSchema(schema.ResponseSchema): """ fields = { - "ProjectId": fields.Str(required=True, load_from="ProjectId"), - "ProjectName": fields.Str(required=True, load_from="ProjectName"), "ParentId": fields.Str(required=True, load_from="ParentId"), "ParentName": fields.Str(required=True, load_from="ParentName"), "CreateTime": fields.Int(required=True, load_from="CreateTime"), "IsDefault": fields.Bool(required=True, load_from="IsDefault"), "ResourceCount": fields.Int(required=True, load_from="ResourceCount"), "MemberCount": fields.Int(required=True, load_from="MemberCount"), + "ProjectId": fields.Str(required=True, load_from="ProjectId"), + "ProjectName": fields.Str(required=True, load_from="ProjectName"), } @@ -24,12 +24,12 @@ class RegionInfoSchema(schema.ResponseSchema): """ fields = { + "RegionName": fields.Str(required=True, load_from="RegionName"), "IsDefault": fields.Bool(required=True, load_from="IsDefault"), "BitMaps": fields.Str(required=True, load_from="BitMaps"), "Region": fields.Str(required=True, load_from="Region"), "Zone": fields.Str(required=True, load_from="Zone"), "RegionId": fields.Int(required=True, load_from="RegionId"), - "RegionName": fields.Str(required=True, load_from="RegionName"), } @@ -38,20 +38,20 @@ class UserInfoSchema(schema.ResponseSchema): """ fields = { - "Finance": fields.Int(required=True, load_from="Finance"), "UserType": fields.Int(required=True, load_from="UserType"), - "UserName": fields.Str(required=True, load_from="UserName"), - "UserVersion": fields.Int(required=True, load_from="UserVersion"), - "UserId": fields.Int(required=True, load_from="UserId"), - "UserPhone": fields.Str(required=True, load_from="UserPhone"), "City": fields.Str(required=True, load_from="City"), - "IndustryType": fields.Int(required=True, load_from="IndustryType"), - "Province": fields.Str(required=True, load_from="Province"), - "UserAddress": fields.Str(required=True, load_from="UserAddress"), - "Administrator": fields.Str(required=True, load_from="Administrator"), + "UserVersion": fields.Int(required=True, load_from="UserVersion"), "AuthState": fields.Str(required=True, load_from="AuthState"), "UserEmail": fields.Str(required=True, load_from="UserEmail"), + "UserPhone": fields.Str(required=True, load_from="UserPhone"), "PhonePrefix": fields.Str(required=True, load_from="PhonePrefix"), + "UserName": fields.Str(required=True, load_from="UserName"), "CompanyName": fields.Str(required=True, load_from="CompanyName"), "Admin": fields.Int(required=True, load_from="Admin"), + "Administrator": fields.Str(required=True, load_from="Administrator"), + "UserId": fields.Int(required=True, load_from="UserId"), + "IndustryType": fields.Int(required=True, load_from="IndustryType"), + "Province": fields.Str(required=True, load_from="Province"), + "UserAddress": fields.Str(required=True, load_from="UserAddress"), + "Finance": fields.Int(required=True, load_from="Finance"), } diff --git a/ucloud/services/udb/client.py b/ucloud/services/udb/client.py index 5cd7822..62d2d0e 100644 --- a/ucloud/services/udb/client.py +++ b/ucloud/services/udb/client.py @@ -8,378 +8,480 @@ class UDBClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(UDBClient, self).__init__(config, transport, middleware, logger) - def describe_udb_log_backup_url(self, req=None, **kwargs): - """ DescribeUDBLogBackupURL - 获取UDB的slowlog备份地址 + def backup_udb_instance(self, req=None, **kwargs): + """ BackupUDBInstance - 备份UDB实例 - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) DB实例备份ID - :param DBId: (Required) DB实例Id - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupName** (str) - (Required) 备份名称 + - **DBId** (str) - (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 + - **BackupMethod** (str) - 使用的备份方式。(快照备份即物理备份。注意只有SSD版本的mysql实例支持设置为snapshot) + - **Blacklist** (str) - 备份黑名单列表,以 ; 分隔。注意:只有逻辑备份下备份黑名单才生效,快照备份备份黑名单下无效 + - **ForceBackup** (bool) - true表示逻辑备份时是使用 --force 参数,false表示不使用 --force 参数。物理备份此参数无效。 + - **UseBlacklist** (bool) - 是否使用黑名单备份,默认false + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ - d = {"Region": self.config.region} + d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBLogBackupURLRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBLogBackupURL", d, **kwargs) - return apis.DescribeUDBLogBackupURLResponseSchema().loads(resp) + d = apis.BackupUDBInstanceRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("BackupUDBInstance", d, **kwargs) + return apis.BackupUDBInstanceResponseSchema().loads(resp) - def describe_udb_log_package(self, req=None, **kwargs): - """ DescribeUDBLogPackage - 列表UDB实例binlog或slowlog或errorlog备份信息 + def backup_udb_instance_binlog(self, req=None, **kwargs): + """ BackupUDBInstanceBinlog - 备份UDB指定时间段的binlog列表 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Required) 分页显示的条目数,列表操作则指定 - :param Offset: (Required) 分页显示的起始偏移,列表操作则指定 - :param BeginTime: (Optional) 过滤条件:起始时间(时间戳) - :param DBId: (Optional) DB实例Id,如果指定,则只获取该db的备份信息 - :param EndTime: (Optional) 过滤条件:结束时间(时间戳) - :param Type: (Optional) 需要列出的备份文件类型,每种文件的值如下 2 : BINLOG_BACKUP 3 : SLOW_QUERY_BACKUP 4 : ERRORLOG_BACKUP - :param Types: (Optional) Types作为Type的补充,支持多值传入,可以获取多个类型的日志记录,如:Types.0=2&Types.1=3 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeUDBLogPackageRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBLogPackage", d, **kwargs) - return apis.DescribeUDBLogPackageResponseSchema().loads(resp) + **Request** - def describe_udb_param_group(self, req=None, **kwargs): - """ DescribeUDBParamGroup - 获取参数组详细参数信息 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupFile** (str) - (Required) 需要备份文件,可通过DescribeUDBInstanceBinlog获得 如果要传入多个文件名,以空格键分割,用单引号包含. + - **DBId** (str) - (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 + - **BackupName** (str) - DB备份文件名称 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Required) 分页显示的条目数,列表操作则指定 - :param Offset: (Required) 分页显示的起始偏移,列表操作则指定 - :param ClassType: (Optional) 如果未指定GroupId,则可选是否选取特定DB类型的配置(sql, nosql, postgresql, sqlserver) - :param GroupId: (Optional) 参数组id,如果指定则获取描述,否则是列表操作,需要 指定Offset/Limit - :param IsInUDBC: (Optional) 是否选取专区中配置 - :param RegionFlag: (Optional) 当请求没有填写Zone时,如果指定为true,表示只拉取跨可用区的相关配置文件,否则,拉取所有机房的配置文件(包括每个单可用区和跨可用区) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBParamGroupRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBParamGroup", d, **kwargs) - return apis.DescribeUDBParamGroupResponseSchema().loads(resp) + d = apis.BackupUDBInstanceBinlogRequestSchema().dumps(d) + resp = self.invoke("BackupUDBInstanceBinlog", d, **kwargs) + return apis.BackupUDBInstanceBinlogResponseSchema().loads(resp) - def describe_udb_type(self, req=None, **kwargs): - """ DescribeUDBType - 获取UDB支持的类型信息 + def backup_udb_instance_error_log(self, req=None, **kwargs): + """ BackupUDBInstanceErrorLog - 备份UDB指定时间段的errorlog - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param DBClusterType: (Optional) DB实例类型,如mysql,sqlserver,mongo,postgresql - :param DiskType: (Optional) 返回支持某种磁盘类型的DB类型。如果没传,则表示任何磁盘类型均可。 - :param InstanceMode: (Optional) 返回支持某种实例类型的DB类型。如果没传,则表示任何实例类型均可。normal:单点,ha:高可用,sharded_cluster:分片集群 - """ - d = {"Region": self.config.region} - req and d.update(req) - d = apis.DescribeUDBTypeRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBType", d, **kwargs) - return apis.DescribeUDBTypeResponseSchema().loads(resp) + **Request** - def backup_udb_instance_binlog(self, req=None, **kwargs): - """ BackupUDBInstanceBinlog - 备份UDB指定时间段的binlog列表 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupName** (str) - (Required) 备份名称 + - **DBId** (str) - (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupFile: (Required) 需要备份文件,可通过DescribeUDBInstanceBinlog获得 如果要传入多个文件名,以空格键分割,用单引号包含. - :param DBId: (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 - :param BackupName: (Optional) DB备份文件名称 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.BackupUDBInstanceBinlogRequestSchema().dumps(d) - resp = self.invoke("BackupUDBInstanceBinlog", d, **kwargs) - return apis.BackupUDBInstanceBinlogResponseSchema().loads(resp) + d = apis.BackupUDBInstanceErrorLogRequestSchema().dumps(d) + resp = self.invoke("BackupUDBInstanceErrorLog", d, **kwargs) + return apis.BackupUDBInstanceErrorLogResponseSchema().loads(resp) - def delete_udb_log_package(self, req=None, **kwargs): - """ DeleteUDBLogPackage - 删除UDB日志包 + def backup_udb_instance_slow_log(self, req=None, **kwargs): + """ BackupUDBInstanceSlowLog - 备份UDB指定时间段的slowlog分析结果 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) 日志包id,可通过DescribeUDBLogPackage获得 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param BackupZone: (Optional) 跨可用区高可用备库所在可用区 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupName** (str) - (Required) 备份文件名称 + - **BeginTime** (int) - (Required) 过滤条件:起始时间(时间戳) + - **DBId** (str) - (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 + - **EndTime** (int) - (Required) 过滤条件:结束时间(时间戳) + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteUDBLogPackageRequestSchema().dumps(d) - resp = self.invoke("DeleteUDBLogPackage", d, **kwargs) - return apis.DeleteUDBLogPackageResponseSchema().loads(resp) + d = apis.BackupUDBInstanceSlowLogRequestSchema().dumps(d) + resp = self.invoke("BackupUDBInstanceSlowLog", d, **kwargs) + return apis.BackupUDBInstanceSlowLogResponseSchema().loads(resp) - def describe_udb_binlog_backup_url(self, req=None, **kwargs): - """ DescribeUDBBinlogBackupURL - 获取UDB的Binlog备份地址 + def check_recover_udb_instance(self, req=None, **kwargs): + """ CheckRecoverUDBInstance - 核查db是否可以使用回档功能 - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) DB实例备份ID - :param DBId: (Required) DB实例Id - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"Region": self.config.region} - req and d.update(req) - d = apis.DescribeUDBBinlogBackupURLRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBBinlogBackupURL", d, **kwargs) - return apis.DescribeUDBBinlogBackupURLResponseSchema().loads(resp) + **Request** - def fetch_udb_instance_earliest_recover_time(self, req=None, **kwargs): - """ FetchUDBInstanceEarliestRecoverTime - 获取UDB最早可回档的时间点 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SrcDBId** (str) - (Required) 源实例的Id(只支持普通版DB不支持高可用) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) DB实例Id - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **LastestTime** (int) - 核查成功返回值为可以回档到的最近时刻,核查失败不返回 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.FetchUDBInstanceEarliestRecoverTimeRequestSchema().dumps(d) - resp = self.invoke("FetchUDBInstanceEarliestRecoverTime", d, **kwargs) - return apis.FetchUDBInstanceEarliestRecoverTimeResponseSchema().loads(resp) + d = apis.CheckRecoverUDBInstanceRequestSchema().dumps(d) + resp = self.invoke("CheckRecoverUDBInstance", d, **kwargs) + return apis.CheckRecoverUDBInstanceResponseSchema().loads(resp) - def resize_udb_instance(self, req=None, **kwargs): - """ ResizeUDBInstance - 修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 + def check_udb_instance_to_ha_allowance(self, req=None, **kwargs): + """ CheckUDBInstanceToHAAllowance - 核查db是否可以升级为高可用 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id - :param DiskSpace: (Required) 磁盘空间(GB), 暂时支持20G-3000G - :param MemoryLimit: (Required) 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/ 12000M/16000M/ 24000M/32000M/ 48000M/64000M/96000M。 - :param CouponId: (Optional) 使用的代金券id - :param InstanceMode: (Optional) UDB实例模式类型, 可选值如下: "Normal": 普通版UDB实例 "HA": 高可用版UDB实例 默认是"Normal" - :param InstanceType: (Optional) UDB数据库机型: "Normal": "标准机型" , "SATA_SSD": "SSD机型" , "PCIE_SSD": "SSD高性能机型" , "Normal_Volume": "标准大容量机型", "SATA_SSD_Volume": "SSD大容量机型" , "PCIE_SSD_Volume": "SSD高性能大容量机型" - :param SSDType: (Optional) SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 - :param StartAfterUpgrade: (Optional) DB关闭状态下升降级,升降级后是否启动DB,默认为false - :param UDBCId: (Optional) 专区的ID,如果有值表示专区中的DB配置升降级 - :param UseSSD: (Optional) 是否使用SSD,默认为false - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + + **Response** + + - **Allowance** (str) - Yes ,No ,Yes即可以升级,No为不可以升级 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ResizeUDBInstanceRequestSchema().dumps(d) - resp = self.invoke("ResizeUDBInstance", d, **kwargs) - return apis.ResizeUDBInstanceResponseSchema().loads(resp) + d = apis.CheckUDBInstanceToHAAllowanceRequestSchema().dumps(d) + resp = self.invoke("CheckUDBInstanceToHAAllowance", d, **kwargs) + return apis.CheckUDBInstanceToHAAllowanceResponseSchema().loads(resp) - def update_udb_instance_slave_backup_switch(self, req=None, **kwargs): - """ UpdateUDBInstanceSlaveBackupSwitch - 开启或者关闭UDB从库备份 + def clear_udb_log(self, req=None, **kwargs): + """ ClearUDBLog - 清除UDB实例的log + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupSwitch: (Required) 从库的备份开关,范围[0,1],0表示从库备份功能关闭,1 表示从库备份开关打开。 - :param MasterDBId: (Required) 主库的Id - :param SlaveDBId: (Optional) 从库的Id,如果从库备份开关设定为打开,则必须赋值。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) DB实例的id,该值可以通过DescribeUDBInstance获取 + - **LogType** (int) - (Required) 日志类型,10-error(暂不支持)、20-slow(暂不支持 )、30-binlog + - **BeforeTime** (int) - 删除时间点(至少前一天)之前log,采用时间戳(秒),默认当 前时间点前一天 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateUDBInstanceSlaveBackupSwitchRequestSchema().dumps(d) - resp = self.invoke("UpdateUDBInstanceSlaveBackupSwitch", d, **kwargs) - return apis.UpdateUDBInstanceSlaveBackupSwitchResponseSchema().loads(resp) + d = apis.ClearUDBLogRequestSchema().dumps(d) + resp = self.invoke("ClearUDBLog", d, **kwargs) + return apis.ClearUDBLogResponseSchema().loads(resp) - def update_udb_param_group(self, req=None, **kwargs): - """ UpdateUDBParamGroup - 更新UDB配置参数项 + def create_udb_instance(self, req=None, **kwargs): + """ CreateUDBInstance - 创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 配置参数组id,使用DescribeUDBParamGroup获得 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param Description: (Optional) 参数组的描述 - :param Key: (Optional) 参数名称(与Value配合使用) - :param Name: (Optional) 参数组的名字 - :param RegionFlag: (Optional) 该配置文件是否是地域级别配置文件,默认是false - :param Value: (Optional) 参数值(与Key配合使用) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **AdminPassword** (str) - (Required) 管理员密码 + - **DBTypeId** (str) - (Required) DB类型id,mysql/mongodb/postgesql按版本细分 1:mysql-5.1,2:mysql-5.5,3:percona-5.5,4:mysql-5.6,5:percona-5.6,6:mysql-5.7,7:percona-5.7,8:mariadb-10.0,9:mongodb-2.4,10:mongodb-2.6,11:mongodb-3.0,12:mongodb-3.2,13:postgresql-9.4,14:postgresql-9.6,14:postgresql-10.4 + - **DiskSpace** (int) - (Required) 磁盘空间(GB), 暂时支持20G - 3000G + - **MemoryLimit** (int) - (Required) 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M + - **Name** (str) - (Required) 实例名称,至少6位 + - **ParamGroupId** (int) - (Required) DB实例使用的配置参数组id + - **Port** (int) - (Required) 端口号,mysql默认3306,mongodb默认27017,postgresql默认5432 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **AdminUser** (str) - 管理员帐户名,默认root + - **BackupCount** (int) - 备份策略,每周备份数量,默认7次 + - **BackupDuration** (int) - 备份策略,备份时间间隔,单位小时计,默认24小时 + - **BackupId** (int) - 备份id,如果指定,则表明从备份恢复实例 + - **BackupTime** (int) - 备份策略,备份开始时间,单位小时计,默认1点 + - **BackupZone** (str) - 跨可用区高可用备库所在可用区,参见 `可用区列表 `_ + - **CPU** (int) - cpu核数 + - **ChargeType** (str) - Year, Month, Dynamic,Trial,默认: Month + - **ClusterRole** (str) - 当DB类型(DBTypeId)为mongodb时,需要指定mongo的角色,可选值为configsrv (配置节点),shardsrv (数据节点) + - **CouponId** (str) - 使用的代金券id + - **DisableSemisync** (bool) - 是否开启异步高可用,默认不填,可置为true + - **HAArch** (str) - 高可用架构:1) haproxy(默认): 当前仅支持mysql。2) sentinel: 基于vip和哨兵节点的架构,当前支持mysql和pg。 + - **InstanceMode** (str) - UDB实例模式类型, 可选值如下: "Normal": 普通版UDB实例 "HA": 高可用版UDB实例 默认是"Normal" + - **InstanceType** (str) - UDB数据库机型 + - **Quantity** (int) - 购买时长,默认值1 + - **SSDType** (str) - SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 + - **SubnetId** (str) - 子网ID + - **Tag** (str) - + - **UDBCId** (str) - 专区ID信息(如果这个参数存在这说明是在专区中创建DB) + - **UseSSD** (bool) - 是否使用SSD,默认为false。目前主要可用区、海外机房、新机房只提供SSD资源,非SSD资源不再提供。 + - **VPCId** (str) - VPC的ID + + **Response** + + - **DBId** (str) - BD实例id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateUDBParamGroupRequestSchema().dumps(d) - resp = self.invoke("UpdateUDBParamGroup", d, **kwargs) - return apis.UpdateUDBParamGroupResponseSchema().loads(resp) + d = apis.CreateUDBInstanceRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUDBInstance", d, **kwargs) + return apis.CreateUDBInstanceResponseSchema().loads(resp) - def describe_udb_instance(self, req=None, **kwargs): - """ DescribeUDBInstance - 获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 + def create_udb_instance_by_recovery(self, req=None, **kwargs): + """ CreateUDBInstanceByRecovery - 创建db,将新创建的db恢复到指定db某个指定时间点 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ClassType: (Required) DB种类,如果是列表操作,则需要指定,不区分大小写,其取值如下:mysql: SQL;mongo: NOSQL;postgresql: postgresql - :param Limit: (Required) 分页显示数量,列表操作则指定 - :param Offset: (Required) 分页显示起始偏移位置,列表操作则指定 - :param DBId: (Optional) DB实例id,如果指定则获取描述,否则为列表操作, 指定Offset/Limit/ClassType DBId可通过DescribeUDBInstance获取 - :param IncludeSlaves: (Optional) 当只获取这个特定DBId的信息时,如果有该选项,那么把这个DBId实例的所有从库信息一起拉取并返回 - :param IsInUDBC: (Optional) 是否查看专区里面DB - :param UDBCId: (Optional) IsInUDBC为True,UDBCId为空,说明查看整个可用区的专区的db,如果UDBId不为空则只查看此专区下面的db - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 实例名称,至少6位 + - **RecoveryTime** (int) - (Required) 恢复到某个时间点的时间戳(UTC时间格式,默认单位秒) + - **SrcDBId** (str) - (Required) 源实例的Id + - **ChargeType** (str) - Year, Month, Dynamic,Trial,默认: Dynamic + - **CouponId** (str) - 使用的代金券id + - **Quantity** (int) - 购买时长,默认值1 + - **SubnetId** (str) - 子网ID + - **UDBCId** (str) - 专区的Id + - **UseSSD** (bool) - 指定是否是否使用SSD,默认使用主库的配置 + - **VPCId** (str) - VPC的ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DBId** (str) - db实例id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBInstanceRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstance", d, **kwargs) - return apis.DescribeUDBInstanceResponseSchema().loads(resp) + d = apis.CreateUDBInstanceByRecoveryRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUDBInstanceByRecovery", d, **kwargs) + return apis.CreateUDBInstanceByRecoveryResponseSchema().loads(resp) - def describe_udb_instance_backup_state(self, req=None, **kwargs): - """ DescribeUDBInstanceBackupState - 获取UDB实例备份状态 + def create_udb_param_group(self, req=None, **kwargs): + """ CreateUDBParamGroup - 从已有配置文件创建新配置文件 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) 备份记录ID - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param BackupZone: (Optional) 跨可用区高可用备库所在可用区,参见[可用区列表] + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBTypeId** (str) - (Required) DB类型id,mysql/mongodb/postgesql按版本细分 1:mysql-5.1,2:mysql-5.5,3:percona-5.5,4:mysql-5.6,5:percona-5.6,6:mysql-5.7,7:percona-5.7,8:mariadb-10.0,9:mongodb-2.4,10:mongodb-2.6,11:mongodb-3.0,12:mongodb-3.2,13:postgresql-9.4,14:postgresql-9.6 + - **Description** (str) - (Required) 参数组描述 + - **GroupName** (str) - (Required) 新配置参数组名称 + - **SrcGroupId** (int) - (Required) 源参数组id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **RegionFlag** (bool) - 是否是地域级别的配置文件,默认是false + + **Response** + + - **GroupId** (int) - 新配置参数组id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBInstanceBackupStateRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstanceBackupState", d, **kwargs) - return apis.DescribeUDBInstanceBackupStateResponseSchema().loads(resp) + d = apis.CreateUDBParamGroupRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUDBParamGroup", d, **kwargs) + return apis.CreateUDBParamGroupResponseSchema().loads(resp) - def describe_udb_instance_binlog(self, req=None, **kwargs): - """ DescribeUDBInstanceBinlog - 获取UDB指定时间段的binlog列表 + def create_udb_replication_instance(self, req=None, **kwargs): + """ CreateUDBReplicationInstance - 创建MongoDB的副本节点(包括仲裁) - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BeginTime: (Required) 过滤条件:起始时间(时间戳) - :param DBId: (Required) DB实例Id - :param EndTime: (Required) 过滤条件:结束时间(时间戳) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 实例名称,至少6位 + - **SrcId** (str) - (Required) primary节点的DBId,该值可以通过DescribeUDBInstance获取 + - **CouponId** (str) - 使用的代金券id + - **IsArbiter** (bool) - 是否是仲裁节点,默认false,仲裁节点按最小机型创建 + - **Port** (int) - 端口号,默认27017,取值范围3306至65535。 + - **UseSSD** (bool) - 是否使用SSD,默认不使用 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DBId** (str) - 创建从节点的DBId + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBInstanceBinlogRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstanceBinlog", d, **kwargs) - return apis.DescribeUDBInstanceBinlogResponseSchema().loads(resp) + d = apis.CreateUDBReplicationInstanceRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUDBReplicationInstance", d, **kwargs) + return apis.CreateUDBReplicationInstanceResponseSchema().loads(resp) - def switch_udb_instance_to_ha(self, req=None, **kwargs): - """ SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api + def create_udb_route_instance(self, req=None, **kwargs): + """ CreateUDBRouteInstance - 创建mongos实例 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 - :param ChargeType: (Optional) Year, Month, Dynamic,Trial,不填则按现在单点计费执行 - :param Quantity: (Optional) 购买时长,需要和 ChargeType 搭配使用,否则使用单点计费策略的值 - :param Tag: (Optional) 业务组 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ConfigsvrId** (list) - (Required) 配置服务器的dbid,允许一个或者三个。 + - **DBTypeId** (str) - (Required) DB类型id,mongodb按版本细分有1:mongodb-2.4,2:mongodb-2.6,3:mongodb-3.0,4:mongodb-3.2 + - **DiskSpace** (int) - (Required) 磁盘空间(GB), 暂时支持20G - 500G + - **MemoryLimit** (int) - (Required) 内存限制(MB),目前支持以下几档 600M/1500M/3000M /6000M/15000M/30000M + - **Name** (str) - (Required) 实例名称,至少6位 + - **ParamGroupId** (int) - (Required) DB实例使用的配置参数组id + - **Port** (int) - (Required) 端口号,mongodb默认27017 + - **ChargeType** (str) - Year, Month, Dynamic,Trial,默认: Month + - **CouponId** (str) - 使用的代金券id + - **Quantity** (int) - 购买时长,默认值1 + - **UseSSD** (bool) - 是否使用SSD,默认为false + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DBId** (str) - db实例id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.SwitchUDBInstanceToHARequestSchema().dumps(d) - resp = self.invoke("SwitchUDBInstanceToHA", d, **kwargs) - return apis.SwitchUDBInstanceToHAResponseSchema().loads(resp) + d = apis.CreateUDBRouteInstanceRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUDBRouteInstance", d, **kwargs) + return apis.CreateUDBRouteInstanceResponseSchema().loads(resp) - def create_udb_param_group(self, req=None, **kwargs): - """ CreateUDBParamGroup - 从已有配置文件创建新配置文件 + def create_udb_slave(self, req=None, **kwargs): + """ CreateUDBSlave - 创建UDB实例的slave - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBTypeId: (Required) DB类型id,mysql/mongodb/postgesql按版本细分 1:mysql-5.1,2:mysql-5.5,3:percona-5.5,4:mysql-5.6,5:percona-5.6,6:mysql-5.7,7:percona-5.7,8:mariadb-10.0,9:mongodb-2.4,10:mongodb-2.6,11:mongodb-3.0,12:mongodb-3.2,13:postgresql-9.4,14:postgresql-9.6 - :param Description: (Required) 参数组描述 - :param GroupName: (Required) 新配置参数组名称 - :param SrcGroupId: (Required) 源参数组id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param RegionFlag: (Optional) 是否是地域级别的配置文件,默认是false + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 实例名称,至少6位 + - **SrcId** (str) - (Required) master实例的DBId,该值可以通过DescribeUDBInstance获取 + - **CouponId** (str) - 使用的代金券id + - **DiskSpace** (int) - 磁盘空间(GB), 暂时支持20G - 3000G(API支持,前端暂时只开放内存定制) + - **InstanceMode** (str) - UDB实例部署模式,可选值如下:Normal: 普通单点实例HA: 高可用部署实例 + - **InstanceType** (str) - UDB实例类型:Normal和SATA_SSD + - **IsLock** (bool) - 是否锁主库,默认为true + - **MemoryLimit** (int) - 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M + - **Port** (int) - 端口号,mysql默认3306 + - **SSDType** (str) - SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 + - **UseSSD** (bool) - 是否使用SSD,默认为false + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DBId** (str) - 创建slave的DBId + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUDBParamGroupRequestSchema().dumps(d) + d = apis.CreateUDBSlaveRequestSchema().dumps(d) kwargs["max_retries"] = 0 - resp = self.invoke("CreateUDBParamGroup", d, **kwargs) - return apis.CreateUDBParamGroupResponseSchema().loads(resp) + resp = self.invoke("CreateUDBSlave", d, **kwargs) + return apis.CreateUDBSlaveResponseSchema().loads(resp) - def describe_udb_instance_price(self, req=None, **kwargs): - """ DescribeUDBInstancePrice - 获取UDB实例价格信息 + def delete_udb_backup(self, req=None, **kwargs): + """ DeleteUDBBackup - 删除UDB实例备份 - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBTypeId: (Required) UDB实例的DB版本字符串 - :param DiskSpace: (Required) 磁盘空间(GB),暂时支持20(GB) - 3000(GB), 输入不带单位 - :param MemoryLimit: (Required) 内存限制(MB),单位为MB.目前支持:1000-96000 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) Year,按年付费; Month,按月付费 Dynamic,按需付费(需开启权限) Trial,试用(需开启权限)默认为月付 - :param Count: (Optional) 购买DB实例数量,最大数量为10台, 默认为1台 - :param InstanceMode: (Optional) 实例的部署类型。可选值为:Normal: 普通单点实例,Slave: 从库实例,HA: 高可用部署实例,默认是Normal - :param Quantity: (Optional) DB购买多少个"计费时间单位",默认值为1。比如:买2个月,Quantity就是2。如果计费单位是“按月”,并且Quantity为0,表示“购买到月底” - :param SSDType: (Optional) SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必填 - :param UseSSD: (Optional) 是否使用SSD,默认为false - """ - d = {"Region": self.config.region} - req and d.update(req) - d = apis.DescribeUDBInstancePriceRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstancePrice", d, **kwargs) - return apis.DescribeUDBInstancePriceResponseSchema().loads(resp) + **Request** - def promote_udb_slave(self, req=None, **kwargs): - """ PromoteUDBSlave - 从库提升为独立库 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (int) - (Required) 备份id,可通过DescribeUDBBackup获得 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **BackupZone** (str) - 跨可用区高可用备库所在可用区,参见[可用区列表] + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 - :param IsForce: (Optional) 是否强制(如果从库落后可能会禁止提升),默认false 如果落后情况下,强制提升丢失数据 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.PromoteUDBSlaveRequestSchema().dumps(d) - resp = self.invoke("PromoteUDBSlave", d, **kwargs) - return apis.PromoteUDBSlaveResponseSchema().loads(resp) + d = apis.DeleteUDBBackupRequestSchema().dumps(d) + resp = self.invoke("DeleteUDBBackup", d, **kwargs) + return apis.DeleteUDBBackupResponseSchema().loads(resp) - def create_udb_replication_instance(self, req=None, **kwargs): - """ CreateUDBReplicationInstance - 创建MongoDB的副本节点(包括仲裁) + def delete_udb_instance(self, req=None, **kwargs): + """ DeleteUDBInstance - 删除UDB实例 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) DB实例的id,该值可以通过DescribeUDBInstance获取 + - **UDBCId** (str) - 专区ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 实例名称,至少6位 - :param SrcId: (Required) primary节点的DBId,该值可以通过DescribeUDBInstance获取 - :param CouponId: (Optional) 使用的代金券id - :param IsArbiter: (Optional) 是否是仲裁节点,默认false,仲裁节点按最小机型创建 - :param Port: (Optional) 端口号,默认27017,取值范围3306至65535。 - :param UseSSD: (Optional) 是否使用SSD,默认不使用 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUDBReplicationInstanceRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUDBReplicationInstance", d, **kwargs) - return apis.CreateUDBReplicationInstanceResponseSchema().loads(resp) + d = apis.DeleteUDBInstanceRequestSchema().dumps(d) + resp = self.invoke("DeleteUDBInstance", d, **kwargs) + return apis.DeleteUDBInstanceResponseSchema().loads(resp) - def edit_udb_backup_blacklist(self, req=None, **kwargs): - """ EditUDBBackupBlacklist - 编辑UDB实例的备份黑名单 + def delete_udb_log_package(self, req=None, **kwargs): + """ DeleteUDBLogPackage - 删除UDB日志包 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Blacklist: (Required) 黑名单,规范示例,指定库mysql.%;test.%; 指定表city.address; - :param DBId: (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (int) - (Required) 日志包id,可通过DescribeUDBLogPackage获得 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **BackupZone** (str) - 跨可用区高可用备库所在可用区 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.EditUDBBackupBlacklistRequestSchema().dumps(d) - resp = self.invoke("EditUDBBackupBlacklist", d, **kwargs) - return apis.EditUDBBackupBlacklistResponseSchema().loads(resp) + d = apis.DeleteUDBLogPackageRequestSchema().dumps(d) + resp = self.invoke("DeleteUDBLogPackage", d, **kwargs) + return apis.DeleteUDBLogPackageResponseSchema().loads(resp) - def modify_udb_instance_password(self, req=None, **kwargs): - """ ModifyUDBInstancePassword - 修改DB实例的管理员密码 + def delete_udb_param_group(self, req=None, **kwargs): + """ DeleteUDBParamGroup - 删除配置参数组 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的ID,该值可以通过DescribeUDBInstance获取 - :param Password: (Required) 实例的新密码 - :param AccountName: (Optional) sqlserver帐号,仅在sqlserver的情况下填该参数 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (int) - (Required) 参数组id,可通过DescribeUDBParamGroup获取 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **RegionFlag** (bool) - 是否属于地域级别 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ModifyUDBInstancePasswordRequestSchema().dumps(d) - resp = self.invoke("ModifyUDBInstancePassword", d, **kwargs) - return apis.ModifyUDBInstancePasswordResponseSchema().loads(resp) + d = apis.DeleteUDBParamGroupRequestSchema().dumps(d) + resp = self.invoke("DeleteUDBParamGroup", d, **kwargs) + return apis.DeleteUDBParamGroupResponseSchema().loads(resp) def describe_udb_backup(self, req=None, **kwargs): """ DescribeUDBBackup - 列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Required) 分页显示的条目数,列表操作则指定 - :param Offset: (Required) 分页显示的起始偏移,列表操作则指定 - :param BackupId: (Optional) 如果填了BackupId, 那么只拉取这个备份的记录 - :param BackupType: (Optional) 备份类型,取值为0或1,0表示自动,1表示手动 - :param BeginTime: (Optional) 过滤条件:起始时间(Unix时间戳) - :param ClassType: (Optional) 如果未指定GroupId,则可选是否选取特定DB类型的配置(sql, nosql, postgresql, sqlserver) - :param DBId: (Optional) DB实例Id,如果指定,则只获取该db的备份信息 该值可以通过DescribeUDBInstance获取 - :param EndTime: (Optional) 过滤条件:结束时间(Unix时间戳) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - (Required) 分页显示的条目数,列表操作则指定 + - **Offset** (int) - (Required) 分页显示的起始偏移,列表操作则指定 + - **BackupId** (int) - 如果填了BackupId, 那么只拉取这个备份的记录 + - **BackupType** (int) - 备份类型,取值为0或1,0表示自动,1表示手动 + - **BeginTime** (int) - 过滤条件:起始时间(Unix时间戳) + - **ClassType** (str) - 如果未指定GroupId,则可选是否选取特定DB类型的配置(sql, nosql, postgresql, sqlserver) + - **DBId** (str) - DB实例Id,如果指定,则只获取该db的备份信息 该值可以通过DescribeUDBInstance获取 + - **EndTime** (int) - 过滤条件:结束时间(Unix时间戳) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DataSet** (list) - 见 **UDBBackupSet** 模型定义 + - **TotalCount** (int) - 满足条件备份总数,如果指定dbid,则是该db备份总数 + + **Response Model** + + **UDBBackupSet** + + - **DBId** (str) - dbid + - **BackupEndTime** (int) - 备份完成时间(Unix时间戳) + - **BackupTime** (int) - 备份时间(Unix时间戳) + - **BackupSize** (int) - 备份文件大小(字节) + - **BackupType** (int) - 备份类型,取值为0或1,0表示自动,1表示手动 + - **State** (str) - 备份状态 Backuping // 备份中 Success // 备份成功 Failed // 备份失败 Expired // 备份过期 + - **ErrorInfo** (str) - 备份错误信息 + - **DBName** (str) - 对应的db名称 + - **BackupZone** (str) - 跨机房高可用备库所在可用区 + - **Zone** (str) - 备份所在可用区 + - **BackupId** (int) - 备份id + - **BackupName** (str) - 备份名称 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -390,10 +492,17 @@ def describe_udb_backup(self, req=None, **kwargs): def describe_udb_backup_blacklist(self, req=None, **kwargs): """ DescribeUDBBackupBlacklist - 获取UDB实例的备份黑名单 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **Blacklist** (str) - DB的黑名单列表, db.%为指定库 dbname.tablename为指定表 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -401,428 +510,796 @@ def describe_udb_backup_blacklist(self, req=None, **kwargs): resp = self.invoke("DescribeUDBBackupBlacklist", d, **kwargs) return apis.DescribeUDBBackupBlacklistResponseSchema().loads(resp) - def modify_udb_instance_name(self, req=None, **kwargs): - """ ModifyUDBInstanceName - 重命名UDB实例 + def describe_udb_binlog_backup_url(self, req=None, **kwargs): + """ DescribeUDBBinlogBackupURL - 获取UDB的Binlog备份地址 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 - :param Name: (Required) 实例的新名字, 长度要求为6~63位 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.ModifyUDBInstanceNameRequestSchema().dumps(d) - resp = self.invoke("ModifyUDBInstanceName", d, **kwargs) - return apis.ModifyUDBInstanceNameResponseSchema().loads(resp) + **Request** - def restart_udb_instance(self, req=None, **kwargs): - """ RestartUDBInstance - 重启UDB实例 + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (int) - (Required) DB实例备份ID + - **DBId** (str) - (Required) DB实例Id + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **BackupPath** (str) - DB实例备份文件的公网地址 + - **InnerBackupPath** (str) - DB实例备份文件的内网地址 + """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} + d = {"Region": self.config.region} req and d.update(req) - d = apis.RestartUDBInstanceRequestSchema().dumps(d) - resp = self.invoke("RestartUDBInstance", d, **kwargs) - return apis.RestartUDBInstanceResponseSchema().loads(resp) + d = apis.DescribeUDBBinlogBackupURLRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBBinlogBackupURL", d, **kwargs) + return apis.DescribeUDBBinlogBackupURLResponseSchema().loads(resp) - def start_udb_instance(self, req=None, **kwargs): - """ StartUDBInstance - 启动UDB实例 + def describe_udb_instance(self, req=None, **kwargs): + """ DescribeUDBInstance - 获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ClassType** (str) - (Required) DB种类,如果是列表操作,则需要指定,不区分大小写,其取值如下:mysql: SQL;mongo: NOSQL;postgresql: postgresql + - **Limit** (int) - (Required) 分页显示数量,列表操作则指定 + - **Offset** (int) - (Required) 分页显示起始偏移位置,列表操作则指定 + - **DBId** (str) - DB实例id,如果指定则获取描述,否则为列表操作, 指定Offset/Limit/ClassType DBId可通过DescribeUDBInstance获取 + - **IncludeSlaves** (bool) - 当只获取这个特定DBId的信息时,如果有该选项,那么把这个DBId实例的所有从库信息一起拉取并返回 + - **IsInUDBC** (bool) - 是否查看专区里面DB + - **UDBCId** (str) - IsInUDBC为True,UDBCId为空,说明查看整个可用区的专区的db,如果UDBId不为空则只查看此专区下面的db + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DataSet** (list) - 见 **UDBInstanceSet** 模型定义 + - **TotalCount** (int) - 用户db组的数量,对于 mysql: 主从结对数量,没有slave,则只有master mongodb: 副本集数量 + + **Response Model** + + **UDBSlaveInstanceSet** + + - **VirtualIPMac** (str) - DB实例虚ip的mac地址 + - **CreateTime** (int) - DB实例创建时间,采用UTC计时时间戳 + - **SubnetId** (str) - 子网ID + - **BackupBlacklist** (str) - 备份策略,备份黑名单,mongodb则不适用 + - **ModifyTime** (int) - DB实例修改时间,采用UTC计时时间戳 + - **UseSSD** (bool) - 是否使用SSD + - **InstanceTypeId** (int) - UDB数据库机型ID + - **Tag** (str) - 获取资源其他信息 + - **Zone** (str) - 可用区 + - **DBId** (str) - DB实例id + - **BackupCount** (int) - 备份策略,不可修改,备份文件保留的数量,默认7次 + - **SystemFileSize** (float) - DB实例系统文件大小,单位GB + - **VPCId** (str) - VPC的ID + - **State** (str) - DB状态标记 Init:初始化中,Fail:安装失败,Starting:启动中,Running:运行,Shutdown:关闭中,Shutoff:已关闭,Delete:已删除,Upgrading:升级中,Promoting:提升为独库进行中,Recovering:恢复中,Recover fail:恢复失败 + - **SSDType** (str) - SSD类型,SATA/PCI-E + - **Role** (str) - DB实例角色,mysql区分master/slave,mongodb多种角色 + - **ClusterRole** (str) - 当DB类型为mongodb时,返回该实例所在集群中的角色,包括:mongos、configsrv_sccc、configsrv_csrs、shardsrv_datanode、shardsrv_arbiter,其中congfigsrv分为sccc和csrs两种模式,shardsrv分为datanode和arbiter两种模式 + - **ParamGroupId** (int) - DB实例使用的配置参数组id + - **DataFileSize** (float) - DB实例数据文件大小,单位GB + - **BackupDate** (str) - 备份日期标记位。共7位,每一位为一周中一天的备份情况 0表示关闭当天备份,1表示打开当天备份。最右边的一位 为星期天的备份开关,其余从右到左依次为星期一到星期 六的备份配置开关,每周必须至少设置两天备份。 例如:1100000 表示打开星期六和星期五的自动备份功能 + - **DiskUsedSize** (float) - DB实例磁盘已使用空间,单位GB + - **LogFileSize** (float) - DB实例日志文件大小,单位GB + - **InstanceMode** (str) - UDB实例模式类型, 可选值如下: "Normal": 普通版UDB实例;"HA": 高可用版UDB实例 + - **DiskSpace** (int) - 磁盘空间(GB), 默认根据配置机型 + - **InstanceType** (str) - UDB数据库机型 + - **Name** (str) - 实例名称,至少6位 + - **BackupDuration** (int) - 备份策略,一天内备份时间间隔,单位小时,默认24小时 + - **ExpiredTime** (int) - DB实例过期时间,采用UTC计时时间戳 + - **VirtualIP** (str) - DB实例虚ip + - **Port** (int) - 端口号,mysql默认3306,mongodb默认27017 + - **ChargeType** (str) - Year, Month, Dynamic,Trial,默认: Dynamic + - **BackupBeginTime** (int) - 备份策略,不可修改,开始时间,单位小时计,默认3点 + - **MemoryLimit** (int) - 内存限制(MB),默认根据配置机型 + - **DBTypeId** (str) - DB类型id,mysql/mongodb按版本细分各有一个id 目前id的取值范围为[1,7],数值对应的版本如下: 1:mysql-5.5,2:mysql-5.1,3:percona-5.5 4:mongodb-2.4,5:mongodb-2.6,6:mysql-5.6, 7:percona-5.6 + - **AdminUser** (str) - 管理员帐户名,默认root + - **SrcDBId** (str) - 对mysql的slave而言是master的DBId,对master则为空, 对mongodb则是副本集id + + **UDBInstanceSet** + + - **Role** (str) - DB实例角色,mysql区分master/slave,mongodb多种角色 + - **SubnetId** (str) - 子网ID + - **InstanceTypeId** (int) - UDB数据库机型ID + - **DiskSpace** (int) - 磁盘空间(GB), 默认根据配置机型 + - **State** (str) - DB状态标记 Init:初始化中,Fail:安装失败,Starting:启动中,Running:运行,Shutdown:关闭中,Shutoff:已关闭,Delete:已删除,Upgrading:升级中,Promoting:提升为独库进行中,Recovering:恢复中,Recover fail:恢复失败 + - **ModifyTime** (int) - DB实例修改时间,采用UTC计时时间戳 + - **ChargeType** (str) - Year, Month, Dynamic,Trial,默认: Dynamic + - **Port** (int) - 端口号,mysql默认3306,mongodb默认27017 + - **SrcDBId** (str) - 对mysql的slave而言是master的DBId,对master则为空, 对mongodb则是副本集id + - **BackupCount** (int) - 备份策略,不可修改,备份文件保留的数量,默认7次 + - **SystemFileSize** (float) - DB实例系统文件大小,单位GB + - **LogFileSize** (float) - DB实例日志文件大小,单位GB + - **Name** (str) - 实例名称,至少6位 + - **ParamGroupId** (int) - DB实例使用的配置参数组id + - **VPCId** (str) - VPC的ID + - **DataSet** (list) - 见 **UDBSlaveInstanceSet** 模型定义 + - **InstanceType** (str) - UDB数据库机型 + - **ExpiredTime** (int) - DB实例过期时间,采用UTC计时时间戳 + - **InstanceMode** (str) - UDB实例模式类型, 可选值如下: “Normal”: 普通版UDB实例 “HA”: 高可用版UDB实例 + - **BackupDuration** (int) - 备份策略,一天内备份时间间隔,单位小时,默认24小时 + - **BackupDate** (str) - 备份日期标记位。共7位,每一位为一周中一天的备份情况 0表示关闭当天备份,1表示打开当天备份。最右边的一位 为星期天的备份开关,其余从右到左依次为星期一到星期 六的备份配置开关,每周必须至少设置两天备份。 例如:1100000 表示打开星期六和星期五的自动备份功能 + - **BackupZone** (str) - 跨可用区高可用备库所在可用区 + - **Tag** (str) - 获取资源其他信息 + - **BackupBeginTime** (int) - 备份策略,不可修改,开始时间,单位小时计,默认3点 + - **BackupBlacklist** (str) - 备份策略,备份黑名单,mongodb则不适用 + - **CreateTime** (int) - DB实例创建时间,采用UTC计时时间戳 + - **UseSSD** (bool) - 是否使用SSD + - **DBTypeId** (str) - DB类型id,mysql/mongodb按版本细分各有一个id 目前id的取值范围为[1,7],数值对应的版本如下: 1:mysql-5.5,2:mysql-5.1,3:percona-5.5 4:mongodb-2.4,5:mongodb-2.6,6:mysql-5.6, 7:percona-5.6 + - **VirtualIP** (str) - DB实例虚ip + - **VirtualIPMac** (str) - DB实例虚ip的mac地址 + - **SSDType** (str) - SSD类型,SATA/PCI-E + - **DiskUsedSize** (float) - DB实例磁盘已使用空间,单位GB + - **AdminUser** (str) - 管理员帐户名,默认root + - **MemoryLimit** (int) - 内存限制(MB),默认根据配置机型 + - **DataFileSize** (float) - DB实例数据文件大小,单位GB + - **Zone** (str) - DB实例所在可用区 + - **CluserRole** (str) - 当DB类型为mongodb时,返回该实例所在集群中的角色,包括:mongos、configsrv_sccc、configsrv_csrs、shardsrv_datanode、shardsrv_arbiter,其中congfigsrv分为sccc和csrs两种模式,shardsrv分为datanode和arbiter两种模式 + - **DBId** (str) - DB实例id - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.StartUDBInstanceRequestSchema().dumps(d) - resp = self.invoke("StartUDBInstance", d, **kwargs) - return apis.StartUDBInstanceResponseSchema().loads(resp) - - def backup_udb_instance(self, req=None, **kwargs): - """ BackupUDBInstance - 备份UDB实例 + d = apis.DescribeUDBInstanceRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstance", d, **kwargs) + return apis.DescribeUDBInstanceResponseSchema().loads(resp) + + def describe_udb_instance_backup_state(self, req=None, **kwargs): + """ DescribeUDBInstanceBackupState - 获取UDB实例备份状态 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupName: (Required) 备份名称 - :param DBId: (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 - :param BackupMethod: (Optional) 使用的备份方式。(快照备份即物理备份。注意只有SSD版本的mysql实例支持设置为snapshot) - :param Blacklist: (Optional) 备份黑名单列表,以 ; 分隔。注意:只有逻辑备份下备份黑名单才生效,快照备份备份黑名单下无效 - :param ForceBackup: (Optional) true表示逻辑备份时是使用 --force 参数,false表示不使用 --force 参数。物理备份此参数无效。 - :param UseBlacklist: (Optional) 是否使用黑名单备份,默认false - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (int) - (Required) 备份记录ID + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **BackupZone** (str) - 跨可用区高可用备库所在可用区,参见[可用区列表] + + **Response** + + - **State** (str) - 备份状态 0 Backuping // 备份中 1 Success // 备份成功 2 Failed // 备份失败 3 Expired // 备份过期 + - **BackupSize** (int) - + - **BackupEndTime** (int) - + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.BackupUDBInstanceRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("BackupUDBInstance", d, **kwargs) - return apis.BackupUDBInstanceResponseSchema().loads(resp) + d = apis.DescribeUDBInstanceBackupStateRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstanceBackupState", d, **kwargs) + return apis.DescribeUDBInstanceBackupStateResponseSchema().loads(resp) - def create_udb_instance(self, req=None, **kwargs): - """ CreateUDBInstance - 创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) + def describe_udb_instance_backup_url(self, req=None, **kwargs): + """ DescribeUDBInstanceBackupURL - 获取UDB备份下载地址 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param AdminPassword: (Required) 管理员密码 - :param DBTypeId: (Required) DB类型id,mysql/mongodb/postgesql按版本细分 1:mysql-5.1,2:mysql-5.5,3:percona-5.5,4:mysql-5.6,5:percona-5.6,6:mysql-5.7,7:percona-5.7,8:mariadb-10.0,9:mongodb-2.4,10:mongodb-2.6,11:mongodb-3.0,12:mongodb-3.2,13:postgresql-9.4,14:postgresql-9.6,14:postgresql-10.4 - :param DiskSpace: (Required) 磁盘空间(GB), 暂时支持20G - 3000G - :param MemoryLimit: (Required) 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M - :param Name: (Required) 实例名称,至少6位 - :param ParamGroupId: (Required) DB实例使用的配置参数组id - :param Port: (Required) 端口号,mysql默认3306,mongodb默认27017,postgresql默认5432 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param AdminUser: (Optional) 管理员帐户名,默认root - :param BackupCount: (Optional) 备份策略,每周备份数量,默认7次 - :param BackupDuration: (Optional) 备份策略,备份时间间隔,单位小时计,默认24小时 - :param BackupId: (Optional) 备份id,如果指定,则表明从备份恢复实例 - :param BackupTime: (Optional) 备份策略,备份开始时间,单位小时计,默认1点 - :param BackupZone: (Optional) 跨可用区高可用备库所在可用区,参见 [可用区列表](../summary/regionlist.html) - :param CPU: (Optional) cpu核数 - :param ChargeType: (Optional) Year, Month, Dynamic,Trial,默认: Month - :param ClusterRole: (Optional) 当DB类型(DBTypeId)为mongodb时,需要指定mongo的角色,可选值为configsrv (配置节点),shardsrv (数据节点) - :param CouponId: (Optional) 使用的代金券id - :param DisableSemisync: (Optional) 是否开启异步高可用,默认不填,可置为true - :param HAArch: (Optional) 高可用架构:1) haproxy(默认): 当前仅支持mysql。2) sentinel: 基于vip和哨兵节点的架构,当前支持mysql和pg。 - :param InstanceMode: (Optional) UDB实例模式类型, 可选值如下: "Normal": 普通版UDB实例 "HA": 高可用版UDB实例 默认是"Normal" - :param InstanceType: (Optional) UDB数据库机型 - :param Quantity: (Optional) 购买时长,默认值1 - :param SSDType: (Optional) SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 - :param SubnetId: (Optional) 子网ID - :param Tag: (Optional) - :param UDBCId: (Optional) 专区ID信息(如果这个参数存在这说明是在专区中创建DB) - :param UseSSD: (Optional) 是否使用SSD,默认为false。目前主要可用区、海外机房、新机房只提供SSD资源,非SSD资源不再提供。 - :param VPCId: (Optional) VPC的ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (int) - (Required) DB实例备份ID,该值可以通过DescribeUDBBackup获取 + - **DBId** (str) - (Required) DB实例Id,该值可通过DescribeUDBInstance获取 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **BackupPath** (str) - DB实例备份文件公网的地址 + - **InnerBackupPath** (str) - DB实例备份文件内网的地址 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUDBInstanceRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUDBInstance", d, **kwargs) - return apis.CreateUDBInstanceResponseSchema().loads(resp) + d = apis.DescribeUDBInstanceBackupURLRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstanceBackupURL", d, **kwargs) + return apis.DescribeUDBInstanceBackupURLResponseSchema().loads(resp) - def create_udb_instance_by_recovery(self, req=None, **kwargs): - """ CreateUDBInstanceByRecovery - 创建db,将新创建的db恢复到指定db某个指定时间点 + def describe_udb_instance_binlog(self, req=None, **kwargs): + """ DescribeUDBInstanceBinlog - 获取UDB指定时间段的binlog列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BeginTime** (int) - (Required) 过滤条件:起始时间(时间戳) + - **DBId** (str) - (Required) DB实例Id + - **EndTime** (int) - (Required) 过滤条件:结束时间(时间戳) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DataSet** (list) - 见 **UDBInstanceBinlogSet** 模型定义 + + **Response Model** + + **UDBInstanceBinlogSet** + + - **Size** (int) - Binlog文件大小 + - **BeginTime** (int) - Binlog文件生成时间(时间戳) + - **EndTime** (int) - Binlog文件结束时间(时间戳) + - **Name** (str) - Binlog文件名 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 实例名称,至少6位 - :param RecoveryTime: (Required) 恢复到某个时间点的时间戳(UTC时间格式,默认单位秒) - :param SrcDBId: (Required) 源实例的Id - :param ChargeType: (Optional) Year, Month, Dynamic,Trial,默认: Dynamic - :param CouponId: (Optional) 使用的代金券id - :param Quantity: (Optional) 购买时长,默认值1 - :param SubnetId: (Optional) 子网ID - :param UDBCId: (Optional) 专区的Id - :param UseSSD: (Optional) 指定是否是否使用SSD,默认使用主库的配置 - :param VPCId: (Optional) VPC的ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUDBInstanceByRecoveryRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUDBInstanceByRecovery", d, **kwargs) - return apis.CreateUDBInstanceByRecoveryResponseSchema().loads(resp) + d = apis.DescribeUDBInstanceBinlogRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstanceBinlog", d, **kwargs) + return apis.DescribeUDBInstanceBinlogResponseSchema().loads(resp) - def promote_udb_instance_to_ha(self, req=None, **kwargs): - """ PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本) + def describe_udb_instance_binlog_backup_state(self, req=None, **kwargs): + """ DescribeUDBInstanceBinlogBackupState - 获取udb实例备份状态 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (int) - (Required) 备份记录ID + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **BackupZone** (str) - 跨可用区高可用备库所在可用区 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **State** (str) - 备份状态 0 Backuping // 备份中 1 Success // 备份成功 2 Failed // 备份失败 3 Expired // 备份过期 + - **BackupSize** (int) - 备份文件大小(字节) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.PromoteUDBInstanceToHARequestSchema().dumps(d) - resp = self.invoke("PromoteUDBInstanceToHA", d, **kwargs) - return apis.PromoteUDBInstanceToHAResponseSchema().loads(resp) + d = apis.DescribeUDBInstanceBinlogBackupStateRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstanceBinlogBackupState", d, **kwargs) + return apis.DescribeUDBInstanceBinlogBackupStateResponseSchema().loads(resp) - def update_udb_instance_backup_strategy(self, req=None, **kwargs): - """ UpdateUDBInstanceBackupStrategy - 修改UDB自动备份策略 + def describe_udb_instance_price(self, req=None, **kwargs): + """ DescribeUDBInstancePrice - 获取UDB实例价格信息 + + **Request** + + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBTypeId** (str) - (Required) UDB实例的DB版本字符串 + - **DiskSpace** (int) - (Required) 磁盘空间(GB),暂时支持20(GB) - 3000(GB), 输入不带单位 + - **MemoryLimit** (int) - (Required) 内存限制(MB),单位为MB.目前支持:1000-96000 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - Year,按年付费; Month,按月付费 Dynamic,按需付费(需开启权限) Trial,试用(需开启权限)默认为月付 + - **Count** (int) - 购买DB实例数量,最大数量为10台, 默认为1台 + - **InstanceMode** (str) - 实例的部署类型。可选值为:Normal: 普通单点实例,Slave: 从库实例,HA: 高可用部署实例,默认是Normal + - **Quantity** (int) - DB购买多少个"计费时间单位",默认值为1。比如:买2个月,Quantity就是2。如果计费单位是“按月”,并且Quantity为0,表示“购买到月底” + - **SSDType** (str) - SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必填 + - **UseSSD** (bool) - 是否使用SSD,默认为false + + **Response** + + - **DataSet** (list) - 见 **UDBInstancePriceSet** 模型定义 + + **Response Model** + + **UDBInstancePriceSet** + + - **ChargeType** (str) - Year, Month, Dynamic,Trial + - **Price** (float) - 价格,单位为分,保留小数点后两位 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 主节点的Id - :param BackupDate: (Optional) 备份时期标记位。共7位,每一位为一周中一天的备份情况,0表示关闭当天备份,1表示打开当天备份。最右边的一位为星期天的备份开关,其余从右到左依次为星期一到星期六的备份配置开关,每周必须至少设置两天备份。例如:1100000表示打开星期六和星期五的备份功能 - :param BackupMethod: (Optional) 选择默认的备份方式,可选 snapshot 表示使用快照/物理备份,填 logic 表示使用逻辑备份。需要同时设置BackupDate字段。(注意现在只有SSD 版本的 MySQL实例支持物理备份) - :param BackupTime: (Optional) 备份的整点时间,范围[0,23] - :param ForceDump: (Optional) 当导出某些数据遇到问题后,是否强制导出其他剩余数据默认是false需要同时设置BackupDate字段 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ + d = {"Region": self.config.region} + req and d.update(req) + d = apis.DescribeUDBInstancePriceRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstancePrice", d, **kwargs) + return apis.DescribeUDBInstancePriceResponseSchema().loads(resp) + + def describe_udb_instance_state(self, req=None, **kwargs): + """ DescribeUDBInstanceState - 获取UDB实例状态 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **State** (str) - DB状态标记 Init:初始化中;Fail:安装失败; Starting:启动中; Running : 运行 ;Shutdown:关闭中; Shutoff :已关闭; Delete:已删除; Upgrading:升级中; Promoting: 提升为独库进行中; Recovering: 恢复中; Recover fail:恢复失败。 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateUDBInstanceBackupStrategyRequestSchema().dumps(d) - resp = self.invoke("UpdateUDBInstanceBackupStrategy", d, **kwargs) - return apis.UpdateUDBInstanceBackupStrategyResponseSchema().loads(resp) + d = apis.DescribeUDBInstanceStateRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstanceState", d, **kwargs) + return apis.DescribeUDBInstanceStateResponseSchema().loads(resp) - def backup_udb_instance_slow_log(self, req=None, **kwargs): - """ BackupUDBInstanceSlowLog - 备份UDB指定时间段的slowlog分析结果 + def describe_udb_instance_upgrade_price(self, req=None, **kwargs): + """ DescribeUDBInstanceUpgradePrice - 获取UDB实例升降级价格信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupName: (Required) 备份文件名称 - :param BeginTime: (Required) 过滤条件:起始时间(时间戳) - :param DBId: (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 - :param EndTime: (Required) 过滤条件:结束时间(时间戳) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id + - **DiskSpace** (int) - (Required) 磁盘空间(GB), 暂时支持20G - 500G + - **MemoryLimit** (int) - (Required) 内存限制(MB) + - **SSDType** (str) - SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 + - **UseSSD** (bool) - 是否使用SSD,默认为false + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **Price** (float) - 价格,单位分 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.BackupUDBInstanceSlowLogRequestSchema().dumps(d) - resp = self.invoke("BackupUDBInstanceSlowLog", d, **kwargs) - return apis.BackupUDBInstanceSlowLogResponseSchema().loads(resp) + d = apis.DescribeUDBInstanceUpgradePriceRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBInstanceUpgradePrice", d, **kwargs) + return apis.DescribeUDBInstanceUpgradePriceResponseSchema().loads(resp) - def check_udb_instance_to_ha_allowance(self, req=None, **kwargs): - """ CheckUDBInstanceToHAAllowance - 核查db是否可以升级为高可用 + def describe_udb_log_backup_url(self, req=None, **kwargs): + """ DescribeUDBLogBackupURL - 获取UDB的slowlog备份地址 + + **Request** + + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (int) - (Required) DB实例备份ID + - **DBId** (str) - (Required) DB实例Id + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **BackupPath** (str) - 备份外网URL + - **UsernetPath** (str) - 备份用户网URL + + """ + d = {"Region": self.config.region} + req and d.update(req) + d = apis.DescribeUDBLogBackupURLRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBLogBackupURL", d, **kwargs) + return apis.DescribeUDBLogBackupURLResponseSchema().loads(resp) + + def describe_udb_log_package(self, req=None, **kwargs): + """ DescribeUDBLogPackage - 列表UDB实例binlog或slowlog或errorlog备份信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - (Required) 分页显示的条目数,列表操作则指定 + - **Offset** (int) - (Required) 分页显示的起始偏移,列表操作则指定 + - **BeginTime** (int) - 过滤条件:起始时间(时间戳) + - **DBId** (str) - DB实例Id,如果指定,则只获取该db的备份信息 + - **EndTime** (int) - 过滤条件:结束时间(时间戳) + - **Type** (int) - 需要列出的备份文件类型,每种文件的值如下 2 : BINLOG\\_BACKUP 3 : SLOW\\_QUERY\\_BACKUP 4 : ERRORLOG\\_BACKUP + - **Types** (list) - Types作为Type的补充,支持多值传入,可以获取多个类型的日志记录,如:Types.0=2&Types.1=3 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DataSet** (list) - 见 **LogPackageDataSet** 模型定义 + - **TotalCount** (int) - 备份总数,如果指定dbid,则是该db备份总数 + + **Response Model** + + **LogPackageDataSet** + + - **BackupTime** (int) - 备份时间 + - **State** (str) - 备份状态 Backuping // 备份中 Success // 备份成功 Failed // 备份失败 Expired // 备份过期 + - **Zone** (str) - 所在可用区 + - **BackupType** (int) - 备份类型,包括2-binlog备份,3-slowlog备份 + - **DBId** (str) - dbid + - **DBName** (str) - 对应的db名称 + - **BackupZone** (str) - 跨可用区高可用备库所在可用区 + - **BackupId** (int) - 备份id + - **BackupName** (str) - 备份名称 + - **BackupSize** (int) - 备份文件大小 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CheckUDBInstanceToHAAllowanceRequestSchema().dumps(d) - resp = self.invoke("CheckUDBInstanceToHAAllowance", d, **kwargs) - return apis.CheckUDBInstanceToHAAllowanceResponseSchema().loads(resp) + d = apis.DescribeUDBLogPackageRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBLogPackage", d, **kwargs) + return apis.DescribeUDBLogPackageResponseSchema().loads(resp) - def create_udb_route_instance(self, req=None, **kwargs): - """ CreateUDBRouteInstance - 创建mongos实例 + def describe_udb_param_group(self, req=None, **kwargs): + """ DescribeUDBParamGroup - 获取参数组详细参数信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - (Required) 分页显示的条目数,列表操作则指定 + - **Offset** (int) - (Required) 分页显示的起始偏移,列表操作则指定 + - **ClassType** (str) - 如果未指定GroupId,则可选是否选取特定DB类型的配置(sql, nosql, postgresql, sqlserver) + - **GroupId** (int) - 参数组id,如果指定则获取描述,否则是列表操作,需要 指定Offset/Limit + - **IsInUDBC** (bool) - 是否选取专区中配置 + - **RegionFlag** (bool) - 当请求没有填写Zone时,如果指定为true,表示只拉取跨可用区的相关配置文件,否则,拉取所有机房的配置文件(包括每个单可用区和跨可用区) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DataSet** (list) - 见 **UDBParamGroupSet** 模型定义 + - **TotalCount** (int) - 参数组总数,列表操作时才会有该参数 + + **Response Model** + + **UDBParamMemberSet** + + - **Key** (str) - 参数名称 + - **Value** (str) - 参数值 + - **ValueType** (int) - 参数值应用类型,取值范围为{0,10,20,30},各值 代表意义为 0-unknown、10-int、20-string、 30-bool + - **AllowedVal** (str) - 允许的值(根据参数类型,用分隔符表示) + - **ApplyType** (int) - 参数值应用类型,取值范围为{0,10,20},各值代表 意义为0-unknown、10-static、20-dynamic + - **Modifiable** (bool) - 是否可更改,默认为false + - **FormatType** (int) - 允许值的格式类型,取值范围为{0,10,20},意义分 别为PVFT_UNKOWN=0,PVFT_RANGE=10, PVFT_ENUM=20 + + **UDBParamGroupSet** + + - **ParamMember** (list) - 见 **UDBParamMemberSet** 模型定义 + - **Zone** (str) - + - **RegionFlag** (bool) - + - **GroupId** (int) - 参数组id + - **GroupName** (str) - 参数组名称 + - **DBTypeId** (str) - DB类型id,mysql/mongodb按版本细分各有一个id 目前id的取值范围为[1,7],数值对应的版本如下 1:mysql-5.5,2:mysql-5.1,3:percona-5.5 4:mongodb-2.4,5:mongodb-2.6,6:mysql-5.6 7:percona-5.6 + - **Description** (str) - 参数组描述 + - **Modifiable** (bool) - 参数组是否可修改 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ConfigsvrId: (Required) 配置服务器的dbid,允许一个或者三个。 - :param DBTypeId: (Required) DB类型id,mongodb按版本细分有1:mongodb-2.4,2:mongodb-2.6,3:mongodb-3.0,4:mongodb-3.2 - :param DiskSpace: (Required) 磁盘空间(GB), 暂时支持20G - 500G - :param MemoryLimit: (Required) 内存限制(MB),目前支持以下几档 600M/1500M/3000M /6000M/15000M/30000M - :param Name: (Required) 实例名称,至少6位 - :param ParamGroupId: (Required) DB实例使用的配置参数组id - :param Port: (Required) 端口号,mongodb默认27017 - :param ChargeType: (Optional) Year, Month, Dynamic,Trial,默认: Month - :param CouponId: (Optional) 使用的代金券id - :param Quantity: (Optional) 购买时长,默认值1 - :param UseSSD: (Optional) 是否使用SSD,默认为false - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUDBRouteInstanceRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUDBRouteInstance", d, **kwargs) - return apis.CreateUDBRouteInstanceResponseSchema().loads(resp) + d = apis.DescribeUDBParamGroupRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBParamGroup", d, **kwargs) + return apis.DescribeUDBParamGroupResponseSchema().loads(resp) - def describe_udb_instance_binlog_backup_state(self, req=None, **kwargs): - """ DescribeUDBInstanceBinlogBackupState - 获取udb实例备份状态 + def describe_udb_type(self, req=None, **kwargs): + """ DescribeUDBType - 获取UDB支持的类型信息 + + **Request** + + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **DBClusterType** (str) - DB实例类型,如mysql,sqlserver,mongo,postgresql + - **DiskType** (str) - 返回支持某种磁盘类型的DB类型。如果没传,则表示任何磁盘类型均可。 + - **InstanceMode** (str) - 返回支持某种实例类型的DB类型。如果没传,则表示任何实例类型均可。normal:单点,ha:高可用,sharded_cluster:分片集群 + + **Response** + + - **DataSet** (list) - 见 **UDBTypeSet** 模型定义 + + **Response Model** + + **UDBTypeSet** + + - **DBTypeId** (str) - DB类型id,mysql/mongodb按版本细分各有一个id, 目前id的取值范围为[1,7],数值对应的版本如下: 1:mysql-5.5,2:mysql-5.1,3:percona-5.5 4:mongodb-2.4,5:mongodb-2.6,6:mysql-5.6, 7:percona-5.6 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) 备份记录ID - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param BackupZone: (Optional) 跨可用区高可用备库所在可用区 + """ + d = {"Region": self.config.region} + req and d.update(req) + d = apis.DescribeUDBTypeRequestSchema().dumps(d) + resp = self.invoke("DescribeUDBType", d, **kwargs) + return apis.DescribeUDBTypeResponseSchema().loads(resp) + + def edit_udb_backup_blacklist(self, req=None, **kwargs): + """ EditUDBBackupBlacklist - 编辑UDB实例的备份黑名单 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Blacklist** (str) - (Required) 黑名单,规范示例,指定库mysql.%;test.%; 指定表city.address; + - **DBId** (str) - (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBInstanceBinlogBackupStateRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstanceBinlogBackupState", d, **kwargs) - return apis.DescribeUDBInstanceBinlogBackupStateResponseSchema().loads(resp) + d = apis.EditUDBBackupBlacklistRequestSchema().dumps(d) + resp = self.invoke("EditUDBBackupBlacklist", d, **kwargs) + return apis.EditUDBBackupBlacklistResponseSchema().loads(resp) - def describe_udb_instance_state(self, req=None, **kwargs): - """ DescribeUDBInstanceState - 获取UDB实例状态 + def fetch_udb_instance_earliest_recover_time(self, req=None, **kwargs): + """ FetchUDBInstanceEarliestRecoverTime - 获取UDB最早可回档的时间点 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) DB实例Id + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **EarliestTime** (int) - 获取最早可回档时间点 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBInstanceStateRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstanceState", d, **kwargs) - return apis.DescribeUDBInstanceStateResponseSchema().loads(resp) + d = apis.FetchUDBInstanceEarliestRecoverTimeRequestSchema().dumps(d) + resp = self.invoke("FetchUDBInstanceEarliestRecoverTime", d, **kwargs) + return apis.FetchUDBInstanceEarliestRecoverTimeResponseSchema().loads(resp) - def stop_udb_instance(self, req=None, **kwargs): - """ StopUDBInstance - 关闭UDB实例 + def modify_udb_instance_name(self, req=None, **kwargs): + """ ModifyUDBInstanceName - 重命名UDB实例 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **Name** (str) - (Required) 实例的新名字, 长度要求为6~63位 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 - :param ForceToKill: (Optional) 是否使用强制手段关闭DB,默认是false - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.StopUDBInstanceRequestSchema().dumps(d) - resp = self.invoke("StopUDBInstance", d, **kwargs) - return apis.StopUDBInstanceResponseSchema().loads(resp) + d = apis.ModifyUDBInstanceNameRequestSchema().dumps(d) + resp = self.invoke("ModifyUDBInstanceName", d, **kwargs) + return apis.ModifyUDBInstanceNameResponseSchema().loads(resp) - def clear_udb_log(self, req=None, **kwargs): - """ ClearUDBLog - 清除UDB实例的log + def modify_udb_instance_password(self, req=None, **kwargs): + """ ModifyUDBInstancePassword - 修改DB实例的管理员密码 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的ID,该值可以通过DescribeUDBInstance获取 + - **Password** (str) - (Required) 实例的新密码 + - **AccountName** (str) - sqlserver帐号,仅在sqlserver的情况下填该参数 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) DB实例的id,该值可以通过DescribeUDBInstance获取 - :param LogType: (Required) 日志类型,10-error(暂不支持)、20-slow(暂不支持 )、30-binlog - :param BeforeTime: (Optional) 删除时间点(至少前一天)之前log,采用时间戳(秒),默认当 前时间点前一天 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ClearUDBLogRequestSchema().dumps(d) - resp = self.invoke("ClearUDBLog", d, **kwargs) - return apis.ClearUDBLogResponseSchema().loads(resp) + d = apis.ModifyUDBInstancePasswordRequestSchema().dumps(d) + resp = self.invoke("ModifyUDBInstancePassword", d, **kwargs) + return apis.ModifyUDBInstancePasswordResponseSchema().loads(resp) - def create_udb_slave(self, req=None, **kwargs): - """ CreateUDBSlave - 创建UDB实例的slave + def promote_udb_instance_to_ha(self, req=None, **kwargs): + """ PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本) - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 实例名称,至少6位 - :param SrcId: (Required) master实例的DBId,该值可以通过DescribeUDBInstance获取 - :param CouponId: (Optional) 使用的代金券id - :param DiskSpace: (Optional) 磁盘空间(GB), 暂时支持20G - 3000G(API支持,前端暂时只开放内存定制) - :param InstanceMode: (Optional) UDB实例部署模式,可选值如下:Normal: 普通单点实例HA: 高可用部署实例 - :param InstanceType: (Optional) UDB实例类型:Normal和SATA_SSD - :param IsLock: (Optional) 是否锁主库,默认为true - :param MemoryLimit: (Optional) 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M - :param Port: (Optional) 端口号,mysql默认3306 - :param SSDType: (Optional) SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 - :param UseSSD: (Optional) 是否使用SSD,默认为false - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUDBSlaveRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUDBSlave", d, **kwargs) - return apis.CreateUDBSlaveResponseSchema().loads(resp) + d = apis.PromoteUDBInstanceToHARequestSchema().dumps(d) + resp = self.invoke("PromoteUDBInstanceToHA", d, **kwargs) + return apis.PromoteUDBInstanceToHAResponseSchema().loads(resp) - def delete_udb_instance(self, req=None, **kwargs): - """ DeleteUDBInstance - 删除UDB实例 + def promote_udb_slave(self, req=None, **kwargs): + """ PromoteUDBSlave - 从库提升为独立库 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) DB实例的id,该值可以通过DescribeUDBInstance获取 - :param UDBCId: (Optional) 专区ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **IsForce** (bool) - 是否强制(如果从库落后可能会禁止提升),默认false 如果落后情况下,强制提升丢失数据 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteUDBInstanceRequestSchema().dumps(d) - resp = self.invoke("DeleteUDBInstance", d, **kwargs) - return apis.DeleteUDBInstanceResponseSchema().loads(resp) + d = apis.PromoteUDBSlaveRequestSchema().dumps(d) + resp = self.invoke("PromoteUDBSlave", d, **kwargs) + return apis.PromoteUDBSlaveResponseSchema().loads(resp) - def delete_udb_param_group(self, req=None, **kwargs): - """ DeleteUDBParamGroup - 删除配置参数组 + def resize_udb_instance(self, req=None, **kwargs): + """ ResizeUDBInstance - 修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 参数组id,可通过DescribeUDBParamGroup获取 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param RegionFlag: (Optional) 是否属于地域级别 + **Request** + + - **ProjectId** (int) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id + - **DiskSpace** (int) - (Required) 磁盘空间(GB), 暂时支持20G-3000G + - **MemoryLimit** (int) - (Required) 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/ 12000M/16000M/ 24000M/32000M/ 48000M/64000M/96000M。 + - **CouponId** (str) - 使用的代金券id + - **InstanceMode** (str) - UDB实例模式类型, 可选值如下: "Normal": 普通版UDB实例 "HA": 高可用版UDB实例 默认是"Normal" + - **InstanceType** (str) - UDB数据库机型: "Normal": "标准机型" , "SATA_SSD": "SSD机型" , "PCIE_SSD": "SSD高性能机型" , "Normal_Volume": "标准大容量机型", "SATA_SSD_Volume": "SSD大容量机型" , "PCIE_SSD_Volume": "SSD高性能大容量机型" + - **SSDType** (str) - SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 + - **StartAfterUpgrade** (bool) - DB关闭状态下升降级,升降级后是否启动DB,默认为false + - **UDBCId** (str) - 专区的ID,如果有值表示专区中的DB配置升降级 + - **UseSSD** (bool) - 是否使用SSD,默认为false + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteUDBParamGroupRequestSchema().dumps(d) - resp = self.invoke("DeleteUDBParamGroup", d, **kwargs) - return apis.DeleteUDBParamGroupResponseSchema().loads(resp) + d = apis.ResizeUDBInstanceRequestSchema().dumps(d) + resp = self.invoke("ResizeUDBInstance", d, **kwargs) + return apis.ResizeUDBInstanceResponseSchema().loads(resp) - def describe_udb_instance_backup_url(self, req=None, **kwargs): - """ DescribeUDBInstanceBackupURL - 获取UDB备份下载地址 + def restart_udb_instance(self, req=None, **kwargs): + """ RestartUDBInstance - 重启UDB实例 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) DB实例备份ID,该值可以通过DescribeUDBBackup获取 - :param DBId: (Required) DB实例Id,该值可通过DescribeUDBInstance获取 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBInstanceBackupURLRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstanceBackupURL", d, **kwargs) - return apis.DescribeUDBInstanceBackupURLResponseSchema().loads(resp) + d = apis.RestartUDBInstanceRequestSchema().dumps(d) + resp = self.invoke("RestartUDBInstance", d, **kwargs) + return apis.RestartUDBInstanceResponseSchema().loads(resp) - def describe_udb_instance_upgrade_price(self, req=None, **kwargs): - """ DescribeUDBInstanceUpgradePrice - 获取UDB实例升降级价格信息 + def start_udb_instance(self, req=None, **kwargs): + """ StartUDBInstance - 启动UDB实例 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DBId: (Required) 实例的Id - :param DiskSpace: (Required) 磁盘空间(GB), 暂时支持20G - 500G - :param MemoryLimit: (Required) 内存限制(MB) - :param SSDType: (Optional) SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 - :param UseSSD: (Optional) 是否使用SSD,默认为false - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUDBInstanceUpgradePriceRequestSchema().dumps(d) - resp = self.invoke("DescribeUDBInstanceUpgradePrice", d, **kwargs) - return apis.DescribeUDBInstanceUpgradePriceResponseSchema().loads(resp) + d = apis.StartUDBInstanceRequestSchema().dumps(d) + resp = self.invoke("StartUDBInstance", d, **kwargs) + return apis.StartUDBInstanceResponseSchema().loads(resp) - def upload_udb_param_group(self, req=None, **kwargs): - """ UploadUDBParamGroup - 导入UDB配置 + def stop_udb_instance(self, req=None, **kwargs): + """ StopUDBInstance - 关闭UDB实例 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **ForceToKill** (bool) - 是否使用强制手段关闭DB,默认是false + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Content: (Required) 配置内容,导入的配置内容采用base64编码 - :param DBTypeId: (Required) DB类型id,DB类型id,mysql/mongodb/postgesql按版本细分 1:mysql-5.1,2:mysql-5.5,3:percona-5.5,4:mysql-5.6,5:percona-5.6,6:mysql-5.7,7:percona-5.7,8:mariadb-10.0,9:mongodb-2.4,10:mongodb-2.6,11:mongodb-3.0,12:mongodb-3.2,13:postgresql-9.4,14:postgresql-9.6 - :param Description: (Required) 参数组描述 - :param GroupName: (Required) 配置参数组名称 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ParamGroupTypeId: (Optional) 配置文件子类型 0-未知, 1-Shardsvr-MMAPv1, 2-Shardsvr-WiredTiger, 3-Configsvr-MMAPv1, 4-Configsvr-WiredTiger, 5-Mongos - :param RegionFlag: (Optional) 该配置文件是否是地域级别配置文件,默认是false + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UploadUDBParamGroupRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("UploadUDBParamGroup", d, **kwargs) - return apis.UploadUDBParamGroupResponseSchema().loads(resp) + d = apis.StopUDBInstanceRequestSchema().dumps(d) + resp = self.invoke("StopUDBInstance", d, **kwargs) + return apis.StopUDBInstanceResponseSchema().loads(resp) - def backup_udb_instance_error_log(self, req=None, **kwargs): - """ BackupUDBInstanceErrorLog - 备份UDB指定时间段的errorlog + def switch_udb_instance_to_ha(self, req=None, **kwargs): + """ SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupName: (Required) 备份名称 - :param DBId: (Required) DB实例Id,该值可以通过DescribeUDBInstance获取 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 实例的Id,该值可以通过DescribeUDBInstance获取 + - **ChargeType** (str) - Year, Month, Dynamic,Trial,不填则按现在单点计费执行 + - **Quantity** (str) - 购买时长,需要和 ChargeType 搭配使用,否则使用单点计费策略的值 + - **Tag** (str) - 业务组 + + **Response** + + - **DBId** (str) - 切换后高可用db实例的Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.BackupUDBInstanceErrorLogRequestSchema().dumps(d) - resp = self.invoke("BackupUDBInstanceErrorLog", d, **kwargs) - return apis.BackupUDBInstanceErrorLogResponseSchema().loads(resp) + d = apis.SwitchUDBInstanceToHARequestSchema().dumps(d) + resp = self.invoke("SwitchUDBInstanceToHA", d, **kwargs) + return apis.SwitchUDBInstanceToHAResponseSchema().loads(resp) - def check_recover_udb_instance(self, req=None, **kwargs): - """ CheckRecoverUDBInstance - 核查db是否可以使用回档功能 + def update_udb_instance_backup_strategy(self, req=None, **kwargs): + """ UpdateUDBInstanceBackupStrategy - 修改UDB自动备份策略 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SrcDBId: (Required) 源实例的Id(只支持普通版DB不支持高可用) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DBId** (str) - (Required) 主节点的Id + - **BackupDate** (str) - 备份时期标记位。共7位,每一位为一周中一天的备份情况,0表示关闭当天备份,1表示打开当天备份。最右边的一位为星期天的备份开关,其余从右到左依次为星期一到星期六的备份配置开关,每周必须至少设置两天备份。例如:1100000表示打开星期六和星期五的备份功能 + - **BackupMethod** (str) - 选择默认的备份方式,可选 snapshot 表示使用快照/物理备份,填 logic 表示使用逻辑备份。需要同时设置BackupDate字段。(注意现在只有SSD 版本的 MySQL实例支持物理备份) + - **BackupTime** (int) - 备份的整点时间,范围[0,23] + - **ForceDump** (bool) - 当导出某些数据遇到问题后,是否强制导出其他剩余数据默认是false需要同时设置BackupDate字段 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CheckRecoverUDBInstanceRequestSchema().dumps(d) - resp = self.invoke("CheckRecoverUDBInstance", d, **kwargs) - return apis.CheckRecoverUDBInstanceResponseSchema().loads(resp) + d = apis.UpdateUDBInstanceBackupStrategyRequestSchema().dumps(d) + resp = self.invoke("UpdateUDBInstanceBackupStrategy", d, **kwargs) + return apis.UpdateUDBInstanceBackupStrategyResponseSchema().loads(resp) - def delete_udb_backup(self, req=None, **kwargs): - """ DeleteUDBBackup - 删除UDB实例备份 + def update_udb_instance_slave_backup_switch(self, req=None, **kwargs): + """ UpdateUDBInstanceSlaveBackupSwitch - 开启或者关闭UDB从库备份 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) 备份id,可通过DescribeUDBBackup获得 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param BackupZone: (Optional) 跨可用区高可用备库所在可用区,参见[可用区列表] + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupSwitch** (int) - (Required) 从库的备份开关,范围[0,1],0表示从库备份功能关闭,1 表示从库备份开关打开。 + - **MasterDBId** (str) - (Required) 主库的Id + - **SlaveDBId** (str) - 从库的Id,如果从库备份开关设定为打开,则必须赋值。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteUDBBackupRequestSchema().dumps(d) - resp = self.invoke("DeleteUDBBackup", d, **kwargs) - return apis.DeleteUDBBackupResponseSchema().loads(resp) + d = apis.UpdateUDBInstanceSlaveBackupSwitchRequestSchema().dumps(d) + resp = self.invoke("UpdateUDBInstanceSlaveBackupSwitch", d, **kwargs) + return apis.UpdateUDBInstanceSlaveBackupSwitchResponseSchema().loads(resp) + + def update_udb_param_group(self, req=None, **kwargs): + """ UpdateUDBParamGroup - 更新UDB配置参数项 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (int) - (Required) 配置参数组id,使用DescribeUDBParamGroup获得 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **Description** (str) - 参数组的描述 + - **Key** (str) - 参数名称(与Value配合使用) + - **Name** (str) - 参数组的名字 + - **RegionFlag** (bool) - 该配置文件是否是地域级别配置文件,默认是false + - **Value** (str) - 参数值(与Key配合使用) + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.UpdateUDBParamGroupRequestSchema().dumps(d) + resp = self.invoke("UpdateUDBParamGroup", d, **kwargs) + return apis.UpdateUDBParamGroupResponseSchema().loads(resp) + + def upload_udb_param_group(self, req=None, **kwargs): + """ UploadUDBParamGroup - 导入UDB配置 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Content** (str) - (Required) 配置内容,导入的配置内容采用base64编码 + - **DBTypeId** (str) - (Required) DB类型id,DB类型id,mysql/mongodb/postgesql按版本细分 1:mysql-5.1,2:mysql-5.5,3:percona-5.5,4:mysql-5.6,5:percona-5.6,6:mysql-5.7,7:percona-5.7,8:mariadb-10.0,9:mongodb-2.4,10:mongodb-2.6,11:mongodb-3.0,12:mongodb-3.2,13:postgresql-9.4,14:postgresql-9.6 + - **Description** (str) - (Required) 参数组描述 + - **GroupName** (str) - (Required) 配置参数组名称 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ParamGroupTypeId** (int) - 配置文件子类型 0-未知, 1-Shardsvr-MMAPv1, 2-Shardsvr-WiredTiger, 3-Configsvr-MMAPv1, 4-Configsvr-WiredTiger, 5-Mongos + - **RegionFlag** (bool) - 该配置文件是否是地域级别配置文件,默认是false + + **Response** + + - **GroupId** (int) - 配置参数组id + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.UploadUDBParamGroupRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("UploadUDBParamGroup", d, **kwargs) + return apis.UploadUDBParamGroupResponseSchema().loads(resp) diff --git a/ucloud/services/udb/schemas/apis.py b/ucloud/services/udb/schemas/apis.py index 2333558..55bd07e 100644 --- a/ucloud/services/udb/schemas/apis.py +++ b/ucloud/services/udb/schemas/apis.py @@ -6,57 +6,31 @@ """ UDB API Schema """ """ -API: DescribeUDBInstanceUpgradePrice +API: BackupUDBInstance -获取UDB实例升降级价格信息 +备份UDB实例 """ -class DescribeUDBInstanceUpgradePriceRequestSchema(schema.RequestSchema): - """ DescribeUDBInstanceUpgradePrice - 获取UDB实例升降级价格信息 +class BackupUDBInstanceRequestSchema(schema.RequestSchema): + """ BackupUDBInstance - 备份UDB实例 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), - "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), - "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), - "SSDType": fields.Str(required=False, dump_to="SSDType"), - } - - -class DescribeUDBInstanceUpgradePriceResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstanceUpgradePrice - 获取UDB实例升降级价格信息 - """ - - fields = {"Price": fields.Float(required=False, load_from="Price")} - - -""" -API: PromoteUDBSlave - -从库提升为独立库 -""" - - -class PromoteUDBSlaveRequestSchema(schema.RequestSchema): - """ PromoteUDBSlave - 从库提升为独立库 - """ - - fields = { - "IsForce": fields.Bool(required=False, dump_to="IsForce"), - "Region": fields.Str(required=True, dump_to="Region"), + "BackupName": fields.Str(required=True, dump_to="BackupName"), + "Blacklist": fields.Str(required=False, dump_to="Blacklist"), + "ForceBackup": fields.Bool(required=False, dump_to="ForceBackup"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), + "UseBlacklist": fields.Bool(required=False, dump_to="UseBlacklist"), + "BackupMethod": fields.Str(required=False, dump_to="BackupMethod"), } -class PromoteUDBSlaveResponseSchema(schema.ResponseSchema): - """ PromoteUDBSlave - 从库提升为独立库 +class BackupUDBInstanceResponseSchema(schema.ResponseSchema): + """ BackupUDBInstance - 备份UDB实例 """ fields = {} @@ -74,12 +48,12 @@ class BackupUDBInstanceBinlogRequestSchema(schema.RequestSchema): """ fields = { - "DBId": fields.Str(required=True, dump_to="DBId"), - "BackupFile": fields.Str(required=True, dump_to="BackupFile"), - "BackupName": fields.Str(required=False, dump_to="BackupName"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "BackupFile": fields.Str(required=True, dump_to="BackupFile"), + "BackupName": fields.Str(required=False, dump_to="BackupName"), } @@ -91,488 +65,530 @@ class BackupUDBInstanceBinlogResponseSchema(schema.ResponseSchema): """ -API: CreateUDBRouteInstance +API: BackupUDBInstanceErrorLog -创建mongos实例 +备份UDB指定时间段的errorlog """ -class CreateUDBRouteInstanceRequestSchema(schema.RequestSchema): - """ CreateUDBRouteInstance - 创建mongos实例 +class BackupUDBInstanceErrorLogRequestSchema(schema.RequestSchema): + """ BackupUDBInstanceErrorLog - 备份UDB指定时间段的errorlog """ fields = { - "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), - "ConfigsvrId": fields.List(fields.Str()), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), - "Name": fields.Str(required=True, dump_to="Name"), - "Port": fields.Int(required=True, dump_to="Port"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "BackupName": fields.Str(required=True, dump_to="BackupName"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "ParamGroupId": fields.Int(required=True, dump_to="ParamGroupId"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), } -class CreateUDBRouteInstanceResponseSchema(schema.ResponseSchema): - """ CreateUDBRouteInstance - 创建mongos实例 +class BackupUDBInstanceErrorLogResponseSchema(schema.ResponseSchema): + """ BackupUDBInstanceErrorLog - 备份UDB指定时间段的errorlog """ - fields = {"DBId": fields.Str(required=False, load_from="DBId")} + fields = {} """ -API: DescribeUDBInstanceState +API: BackupUDBInstanceSlowLog -获取UDB实例状态 +备份UDB指定时间段的slowlog分析结果 """ -class DescribeUDBInstanceStateRequestSchema(schema.RequestSchema): - """ DescribeUDBInstanceState - 获取UDB实例状态 +class BackupUDBInstanceSlowLogRequestSchema(schema.RequestSchema): + """ BackupUDBInstanceSlowLog - 备份UDB指定时间段的slowlog分析结果 """ fields = { - "Zone": fields.Str(required=False, dump_to="Zone"), + "BeginTime": fields.Int(required=True, dump_to="BeginTime"), + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "BackupName": fields.Str(required=True, dump_to="BackupName"), + "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "Region": fields.Str(required=True, dump_to="Region"), } -class DescribeUDBInstanceStateResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstanceState - 获取UDB实例状态 +class BackupUDBInstanceSlowLogResponseSchema(schema.ResponseSchema): + """ BackupUDBInstanceSlowLog - 备份UDB指定时间段的slowlog分析结果 """ - fields = {"State": fields.Str(required=False, load_from="State")} + fields = {} """ -API: DescribeUDBBackupBlacklist +API: CheckRecoverUDBInstance -获取UDB实例的备份黑名单 +核查db是否可以使用回档功能 """ -class DescribeUDBBackupBlacklistRequestSchema(schema.RequestSchema): - """ DescribeUDBBackupBlacklist - 获取UDB实例的备份黑名单 +class CheckRecoverUDBInstanceRequestSchema(schema.RequestSchema): + """ CheckRecoverUDBInstance - 核查db是否可以使用回档功能 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), + "SrcDBId": fields.Str(required=True, dump_to="SrcDBId"), } -class DescribeUDBBackupBlacklistResponseSchema(schema.ResponseSchema): - """ DescribeUDBBackupBlacklist - 获取UDB实例的备份黑名单 +class CheckRecoverUDBInstanceResponseSchema(schema.ResponseSchema): + """ CheckRecoverUDBInstance - 核查db是否可以使用回档功能 """ - fields = {"Blacklist": fields.Str(required=False, load_from="Blacklist")} + fields = {"LastestTime": fields.Int(required=False, load_from="LastestTime")} """ -API: DescribeUDBInstanceBackupState +API: CheckUDBInstanceToHAAllowance -获取UDB实例备份状态 +核查db是否可以升级为高可用 """ -class DescribeUDBInstanceBackupStateRequestSchema(schema.RequestSchema): - """ DescribeUDBInstanceBackupState - 获取UDB实例备份状态 +class CheckUDBInstanceToHAAllowanceRequestSchema(schema.RequestSchema): + """ CheckUDBInstanceToHAAllowance - 核查db是否可以升级为高可用 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "BackupId": fields.Int(required=True, dump_to="BackupId"), - "BackupZone": fields.Str(required=False, dump_to="BackupZone"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), } -class DescribeUDBInstanceBackupStateResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstanceBackupState - 获取UDB实例备份状态 +class CheckUDBInstanceToHAAllowanceResponseSchema(schema.ResponseSchema): + """ CheckUDBInstanceToHAAllowance - 核查db是否可以升级为高可用 """ - fields = { - "BackupSize": fields.Int(required=False, load_from="BackupSize"), - "BackupEndTime": fields.Int(required=False, load_from="BackupEndTime"), - "State": fields.Str(required=False, load_from="State"), - } + fields = {"Allowance": fields.Str(required=False, load_from="Allowance")} """ -API: EditUDBBackupBlacklist +API: ClearUDBLog -编辑UDB实例的备份黑名单 +清除UDB实例的log """ -class EditUDBBackupBlacklistRequestSchema(schema.RequestSchema): - """ EditUDBBackupBlacklist - 编辑UDB实例的备份黑名单 +class ClearUDBLogRequestSchema(schema.RequestSchema): + """ ClearUDBLog - 清除UDB实例的log """ fields = { "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "Blacklist": fields.Str(required=True, dump_to="Blacklist"), + "LogType": fields.Int(required=True, dump_to="LogType"), + "BeforeTime": fields.Int(required=False, dump_to="BeforeTime"), "Region": fields.Str(required=True, dump_to="Region"), } -class EditUDBBackupBlacklistResponseSchema(schema.ResponseSchema): - """ EditUDBBackupBlacklist - 编辑UDB实例的备份黑名单 +class ClearUDBLogResponseSchema(schema.ResponseSchema): + """ ClearUDBLog - 清除UDB实例的log """ fields = {} """ -API: ModifyUDBInstanceName +API: CreateUDBInstance -重命名UDB实例 +创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) """ -class ModifyUDBInstanceNameRequestSchema(schema.RequestSchema): - """ ModifyUDBInstanceName - 重命名UDB实例 +class CreateUDBInstanceRequestSchema(schema.RequestSchema): + """ CreateUDBInstance - 创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), - "Name": fields.Str(required=True, dump_to="Name"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), + "ParamGroupId": fields.Int(required=True, dump_to="ParamGroupId"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), + "DisableSemisync": fields.Bool(required=False, dump_to="DisableSemisync"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "BackupCount": fields.Int(required=False, dump_to="BackupCount"), + "BackupTime": fields.Int(required=False, dump_to="BackupTime"), + "UDBCId": fields.Str(required=False, dump_to="UDBCId"), + "ClusterRole": fields.Str(required=False, dump_to="ClusterRole"), + "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), + "BackupDuration": fields.Int(required=False, dump_to="BackupDuration"), + "InstanceType": fields.Str(required=False, dump_to="InstanceType"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "Port": fields.Int(required=True, dump_to="Port"), + "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), + "CPU": fields.Int(required=False, dump_to="CPU"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "SSDType": fields.Str(required=False, dump_to="SSDType"), + "BackupZone": fields.Str(required=False, dump_to="BackupZone"), + "Name": fields.Str(required=True, dump_to="Name"), + "AdminPassword": fields.Str(required=True, dump_to="AdminPassword"), + "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), + "BackupId": fields.Int(required=False, dump_to="BackupId"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "AdminUser": fields.Str(required=False, dump_to="AdminUser"), + "HAArch": fields.Str(required=False, dump_to="HAArch"), } -class ModifyUDBInstanceNameResponseSchema(schema.ResponseSchema): - """ ModifyUDBInstanceName - 重命名UDB实例 +class CreateUDBInstanceResponseSchema(schema.ResponseSchema): + """ CreateUDBInstance - 创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) """ - fields = {} + fields = {"DBId": fields.Str(required=False, load_from="DBId")} """ -API: PromoteUDBInstanceToHA +API: CreateUDBInstanceByRecovery -普通db升级为高可用(只针对mysql5.5及以上版本) +创建db,将新创建的db恢复到指定db某个指定时间点 """ -class PromoteUDBInstanceToHARequestSchema(schema.RequestSchema): - """ PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本) +class CreateUDBInstanceByRecoveryRequestSchema(schema.RequestSchema): + """ CreateUDBInstanceByRecovery - 创建db,将新创建的db恢复到指定db某个指定时间点 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), + "Name": fields.Str(required=True, dump_to="Name"), + "UDBCId": fields.Str(required=False, dump_to="UDBCId"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "SrcDBId": fields.Str(required=True, dump_to="SrcDBId"), + "RecoveryTime": fields.Int(required=True, dump_to="RecoveryTime"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), } -class PromoteUDBInstanceToHAResponseSchema(schema.ResponseSchema): - """ PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本) +class CreateUDBInstanceByRecoveryResponseSchema(schema.ResponseSchema): + """ CreateUDBInstanceByRecovery - 创建db,将新创建的db恢复到指定db某个指定时间点 """ - fields = {} + fields = {"DBId": fields.Str(required=False, load_from="DBId")} """ -API: CheckUDBInstanceToHAAllowance +API: CreateUDBParamGroup -核查db是否可以升级为高可用 +从已有配置文件创建新配置文件 """ -class CheckUDBInstanceToHAAllowanceRequestSchema(schema.RequestSchema): - """ CheckUDBInstanceToHAAllowance - 核查db是否可以升级为高可用 +class CreateUDBParamGroupRequestSchema(schema.RequestSchema): + """ CreateUDBParamGroup - 从已有配置文件创建新配置文件 """ fields = { + "GroupName": fields.Str(required=True, dump_to="GroupName"), + "Description": fields.Str(required=True, dump_to="Description"), + "SrcGroupId": fields.Int(required=True, dump_to="SrcGroupId"), + "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), + "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), } -class CheckUDBInstanceToHAAllowanceResponseSchema(schema.ResponseSchema): - """ CheckUDBInstanceToHAAllowance - 核查db是否可以升级为高可用 +class CreateUDBParamGroupResponseSchema(schema.ResponseSchema): + """ CreateUDBParamGroup - 从已有配置文件创建新配置文件 """ - fields = {"Allowance": fields.Str(required=False, load_from="Allowance")} + fields = {"GroupId": fields.Int(required=False, load_from="GroupId")} """ -API: ClearUDBLog +API: CreateUDBReplicationInstance -清除UDB实例的log +创建MongoDB的副本节点(包括仲裁) """ -class ClearUDBLogRequestSchema(schema.RequestSchema): - """ ClearUDBLog - 清除UDB实例的log +class CreateUDBReplicationInstanceRequestSchema(schema.RequestSchema): + """ CreateUDBReplicationInstance - 创建MongoDB的副本节点(包括仲裁) """ fields = { - "DBId": fields.Str(required=True, dump_to="DBId"), - "LogType": fields.Int(required=True, dump_to="LogType"), - "BeforeTime": fields.Int(required=False, dump_to="BeforeTime"), - "Region": fields.Str(required=True, dump_to="Region"), + "Port": fields.Int(required=False, dump_to="Port"), + "IsArbiter": fields.Bool(required=False, dump_to="IsArbiter"), + "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Name": fields.Str(required=True, dump_to="Name"), + "Region": fields.Str(required=True, dump_to="Region"), + "SrcId": fields.Str(required=True, dump_to="SrcId"), } -class ClearUDBLogResponseSchema(schema.ResponseSchema): - """ ClearUDBLog - 清除UDB实例的log +class CreateUDBReplicationInstanceResponseSchema(schema.ResponseSchema): + """ CreateUDBReplicationInstance - 创建MongoDB的副本节点(包括仲裁) """ - fields = {} + fields = {"DBId": fields.Str(required=False, load_from="DBId")} """ -API: DeleteUDBInstance +API: CreateUDBRouteInstance -删除UDB实例 +创建mongos实例 """ -class DeleteUDBInstanceRequestSchema(schema.RequestSchema): - """ DeleteUDBInstance - 删除UDB实例 +class CreateUDBRouteInstanceRequestSchema(schema.RequestSchema): + """ CreateUDBRouteInstance - 创建mongos实例 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), - "UDBCId": fields.Str(required=False, dump_to="UDBCId"), + "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "ConfigsvrId": fields.List(fields.Str()), + "Name": fields.Str(required=True, dump_to="Name"), + "ParamGroupId": fields.Int(required=True, dump_to="ParamGroupId"), + "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), "Region": fields.Str(required=True, dump_to="Region"), + "Port": fields.Int(required=True, dump_to="Port"), + "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), + "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), } -class DeleteUDBInstanceResponseSchema(schema.ResponseSchema): - """ DeleteUDBInstance - 删除UDB实例 +class CreateUDBRouteInstanceResponseSchema(schema.ResponseSchema): + """ CreateUDBRouteInstance - 创建mongos实例 """ - fields = {} + fields = {"DBId": fields.Str(required=False, load_from="DBId")} """ -API: UpdateUDBInstanceBackupStrategy +API: CreateUDBSlave -修改UDB自动备份策略 +创建UDB实例的slave """ -class UpdateUDBInstanceBackupStrategyRequestSchema(schema.RequestSchema): - """ UpdateUDBInstanceBackupStrategy - 修改UDB自动备份策略 +class CreateUDBSlaveRequestSchema(schema.RequestSchema): + """ CreateUDBSlave - 创建UDB实例的slave """ fields = { "Region": fields.Str(required=True, dump_to="Region"), + "SrcId": fields.Str(required=True, dump_to="SrcId"), + "Name": fields.Str(required=True, dump_to="Name"), "Zone": fields.Str(required=False, dump_to="Zone"), + "Port": fields.Int(required=False, dump_to="Port"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "InstanceType": fields.Str(required=False, dump_to="InstanceType"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), - "BackupTime": fields.Int(required=False, dump_to="BackupTime"), - "BackupDate": fields.Str(required=False, dump_to="BackupDate"), - "ForceDump": fields.Bool(required=False, dump_to="ForceDump"), - "BackupMethod": fields.Str(required=False, dump_to="BackupMethod"), + "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), + "SSDType": fields.Str(required=False, dump_to="SSDType"), + "MemoryLimit": fields.Int(required=False, dump_to="MemoryLimit"), + "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), + "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), + "IsLock": fields.Bool(required=False, dump_to="IsLock"), } -class UpdateUDBInstanceBackupStrategyResponseSchema(schema.ResponseSchema): - """ UpdateUDBInstanceBackupStrategy - 修改UDB自动备份策略 +class CreateUDBSlaveResponseSchema(schema.ResponseSchema): + """ CreateUDBSlave - 创建UDB实例的slave """ - fields = {} + fields = {"DBId": fields.Str(required=False, load_from="DBId")} """ -API: DescribeUDBInstanceBinlogBackupState +API: DeleteUDBBackup -获取udb实例备份状态 +删除UDB实例备份 """ -class DescribeUDBInstanceBinlogBackupStateRequestSchema(schema.RequestSchema): - """ DescribeUDBInstanceBinlogBackupState - 获取udb实例备份状态 +class DeleteUDBBackupRequestSchema(schema.RequestSchema): + """ DeleteUDBBackup - 删除UDB实例备份 """ fields = { - "BackupZone": fields.Str(required=False, dump_to="BackupZone"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "BackupId": fields.Int(required=True, dump_to="BackupId"), + "BackupZone": fields.Str(required=False, dump_to="BackupZone"), } -class DescribeUDBInstanceBinlogBackupStateResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstanceBinlogBackupState - 获取udb实例备份状态 +class DeleteUDBBackupResponseSchema(schema.ResponseSchema): + """ DeleteUDBBackup - 删除UDB实例备份 """ - fields = { - "State": fields.Str(required=False, load_from="State"), - "BackupSize": fields.Int(required=False, load_from="BackupSize"), - } + fields = {} """ -API: ModifyUDBInstancePassword +API: DeleteUDBInstance -修改DB实例的管理员密码 +删除UDB实例 """ -class ModifyUDBInstancePasswordRequestSchema(schema.RequestSchema): - """ ModifyUDBInstancePassword - 修改DB实例的管理员密码 +class DeleteUDBInstanceRequestSchema(schema.RequestSchema): + """ DeleteUDBInstance - 删除UDB实例 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), - "Password": fields.Str(required=True, dump_to="Password"), - "AccountName": fields.Str(required=False, dump_to="AccountName"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "UDBCId": fields.Str(required=False, dump_to="UDBCId"), } -class ModifyUDBInstancePasswordResponseSchema(schema.ResponseSchema): - """ ModifyUDBInstancePassword - 修改DB实例的管理员密码 +class DeleteUDBInstanceResponseSchema(schema.ResponseSchema): + """ DeleteUDBInstance - 删除UDB实例 """ fields = {} """ -API: RestartUDBInstance +API: DeleteUDBLogPackage -重启UDB实例 +删除UDB日志包 """ -class RestartUDBInstanceRequestSchema(schema.RequestSchema): - """ RestartUDBInstance - 重启UDB实例 +class DeleteUDBLogPackageRequestSchema(schema.RequestSchema): + """ DeleteUDBLogPackage - 删除UDB日志包 """ fields = { - "DBId": fields.Str(required=True, dump_to="DBId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), + "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "BackupId": fields.Int(required=True, dump_to="BackupId"), + "BackupZone": fields.Str(required=False, dump_to="BackupZone"), } -class RestartUDBInstanceResponseSchema(schema.ResponseSchema): - """ RestartUDBInstance - 重启UDB实例 +class DeleteUDBLogPackageResponseSchema(schema.ResponseSchema): + """ DeleteUDBLogPackage - 删除UDB日志包 """ fields = {} """ -API: UpdateUDBInstanceSlaveBackupSwitch +API: DeleteUDBParamGroup -开启或者关闭UDB从库备份 +删除配置参数组 """ -class UpdateUDBInstanceSlaveBackupSwitchRequestSchema(schema.RequestSchema): - """ UpdateUDBInstanceSlaveBackupSwitch - 开启或者关闭UDB从库备份 +class DeleteUDBParamGroupRequestSchema(schema.RequestSchema): + """ DeleteUDBParamGroup - 删除配置参数组 """ fields = { + "GroupId": fields.Int(required=True, dump_to="GroupId"), + "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), + "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "MasterDBId": fields.Str(required=True, dump_to="MasterDBId"), - "BackupSwitch": fields.Int(required=True, dump_to="BackupSwitch"), - "SlaveDBId": fields.Str(required=False, dump_to="SlaveDBId"), } -class UpdateUDBInstanceSlaveBackupSwitchResponseSchema(schema.ResponseSchema): - """ UpdateUDBInstanceSlaveBackupSwitch - 开启或者关闭UDB从库备份 +class DeleteUDBParamGroupResponseSchema(schema.ResponseSchema): + """ DeleteUDBParamGroup - 删除配置参数组 """ fields = {} """ -API: BackupUDBInstanceErrorLog +API: DescribeUDBBackup -备份UDB指定时间段的errorlog +列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 """ -class BackupUDBInstanceErrorLogRequestSchema(schema.RequestSchema): - """ BackupUDBInstanceErrorLog - 备份UDB指定时间段的errorlog +class DescribeUDBBackupRequestSchema(schema.RequestSchema): + """ DescribeUDBBackup - 列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 """ fields = { - "BackupName": fields.Str(required=True, dump_to="BackupName"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Limit": fields.Int(required=True, dump_to="Limit"), + "ClassType": fields.Str(required=False, dump_to="ClassType"), + "BeginTime": fields.Int(required=False, dump_to="BeginTime"), + "EndTime": fields.Int(required=False, dump_to="EndTime"), + "BackupId": fields.Int(required=False, dump_to="BackupId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), + "Offset": fields.Int(required=True, dump_to="Offset"), + "DBId": fields.Str(required=False, dump_to="DBId"), + "BackupType": fields.Int(required=False, dump_to="BackupType"), } -class BackupUDBInstanceErrorLogResponseSchema(schema.ResponseSchema): - """ BackupUDBInstanceErrorLog - 备份UDB指定时间段的errorlog +class DescribeUDBBackupResponseSchema(schema.ResponseSchema): + """ DescribeUDBBackup - 列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 """ - fields = {} + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSet": fields.List( + models.UDBBackupSetSchema(), required=False, load_from="DataSet" + ), + } """ -API: DescribeUDBBackup +API: DescribeUDBBackupBlacklist -列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 +获取UDB实例的备份黑名单 """ -class DescribeUDBBackupRequestSchema(schema.RequestSchema): - """ DescribeUDBBackup - 列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 +class DescribeUDBBackupBlacklistRequestSchema(schema.RequestSchema): + """ DescribeUDBBackupBlacklist - 获取UDB实例的备份黑名单 """ fields = { "Zone": fields.Str(required=False, dump_to="Zone"), - "BackupType": fields.Int(required=False, dump_to="BackupType"), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ClassType": fields.Str(required=False, dump_to="ClassType"), - "BackupId": fields.Int(required=False, dump_to="BackupId"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Offset": fields.Int(required=True, dump_to="Offset"), - "Limit": fields.Int(required=True, dump_to="Limit"), - "DBId": fields.Str(required=False, dump_to="DBId"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DescribeUDBBackupResponseSchema(schema.ResponseSchema): - """ DescribeUDBBackup - 列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 +class DescribeUDBBackupBlacklistResponseSchema(schema.ResponseSchema): + """ DescribeUDBBackupBlacklist - 获取UDB实例的备份黑名单 """ - fields = { - "DataSet": fields.List( - models.UDBBackupSetSchema(), required=False, load_from="DataSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } + fields = {"Blacklist": fields.Str(required=False, load_from="Blacklist")} """ @@ -587,10 +603,10 @@ class DescribeUDBBinlogBackupURLRequestSchema(schema.RequestSchema): """ fields = { - "DBId": fields.Str(required=True, dump_to="DBId"), - "BackupId": fields.Int(required=True, dump_to="BackupId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "BackupId": fields.Int(required=True, dump_to="BackupId"), } @@ -599,830 +615,814 @@ class DescribeUDBBinlogBackupURLResponseSchema(schema.ResponseSchema): """ fields = { - "InnerBackupPath": fields.Str(required=False, load_from="InnerBackupPath"), "BackupPath": fields.Str(required=False, load_from="BackupPath"), + "InnerBackupPath": fields.Str(required=False, load_from="InnerBackupPath"), } """ -API: CreateUDBInstanceByRecovery +API: DescribeUDBInstance -创建db,将新创建的db恢复到指定db某个指定时间点 +获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 """ -class CreateUDBInstanceByRecoveryRequestSchema(schema.RequestSchema): - """ CreateUDBInstanceByRecovery - 创建db,将新创建的db恢复到指定db某个指定时间点 +class DescribeUDBInstanceRequestSchema(schema.RequestSchema): + """ DescribeUDBInstance - 获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 """ fields = { - "Quantity": fields.Int(required=False, dump_to="Quantity"), + "Offset": fields.Int(required=True, dump_to="Offset"), "UDBCId": fields.Str(required=False, dump_to="UDBCId"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), + "ClassType": fields.Str(required=True, dump_to="ClassType"), + "Limit": fields.Int(required=True, dump_to="Limit"), + "DBId": fields.Str(required=False, dump_to="DBId"), + "IsInUDBC": fields.Bool(required=False, dump_to="IsInUDBC"), + "IncludeSlaves": fields.Bool(required=False, dump_to="IncludeSlaves"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Name": fields.Str(required=True, dump_to="Name"), - "SrcDBId": fields.Str(required=True, dump_to="SrcDBId"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), "Zone": fields.Str(required=False, dump_to="Zone"), - "RecoveryTime": fields.Int(required=True, dump_to="RecoveryTime"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class CreateUDBInstanceByRecoveryResponseSchema(schema.ResponseSchema): - """ CreateUDBInstanceByRecovery - 创建db,将新创建的db恢复到指定db某个指定时间点 +class DescribeUDBInstanceResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstance - 获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 """ - fields = {"DBId": fields.Str(required=False, load_from="DBId")} - - -""" -API: DescribeUDBInstanceBinlog + fields = { + "DataSet": fields.List( + models.UDBInstanceSetSchema(), required=False, load_from="DataSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } + -获取UDB指定时间段的binlog列表 """ +API: DescribeUDBInstanceBackupState +获取UDB实例备份状态 +""" -class DescribeUDBInstanceBinlogRequestSchema(schema.RequestSchema): - """ DescribeUDBInstanceBinlog - 获取UDB指定时间段的binlog列表 + +class DescribeUDBInstanceBackupStateRequestSchema(schema.RequestSchema): + """ DescribeUDBInstanceBackupState - 获取UDB实例备份状态 + """ + + fields = { + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "BackupId": fields.Int(required=True, dump_to="BackupId"), + "BackupZone": fields.Str(required=False, dump_to="BackupZone"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=True, dump_to="Zone"), + } + + +class DescribeUDBInstanceBackupStateResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstanceBackupState - 获取UDB实例备份状态 + """ + + fields = { + "State": fields.Str(required=False, load_from="State"), + "BackupSize": fields.Int(required=False, load_from="BackupSize"), + "BackupEndTime": fields.Int(required=False, load_from="BackupEndTime"), + } + + +""" +API: DescribeUDBInstanceBackupURL + +获取UDB备份下载地址 +""" + + +class DescribeUDBInstanceBackupURLRequestSchema(schema.RequestSchema): + """ DescribeUDBInstanceBackupURL - 获取UDB备份下载地址 """ fields = { "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "BeginTime": fields.Int(required=True, dump_to="BeginTime"), - "EndTime": fields.Int(required=True, dump_to="EndTime"), + "BackupId": fields.Int(required=True, dump_to="BackupId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), } -class DescribeUDBInstanceBinlogResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstanceBinlog - 获取UDB指定时间段的binlog列表 +class DescribeUDBInstanceBackupURLResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstanceBackupURL - 获取UDB备份下载地址 """ fields = { - "DataSet": fields.List( - models.UDBInstanceBinlogSetSchema(), required=False, load_from="DataSet" - ) + "BackupPath": fields.Str(required=False, load_from="BackupPath"), + "InnerBackupPath": fields.Str(required=False, load_from="InnerBackupPath"), } """ -API: DescribeUDBInstancePrice +API: DescribeUDBInstanceBinlog -获取UDB实例价格信息 +获取UDB指定时间段的binlog列表 """ -class DescribeUDBInstancePriceRequestSchema(schema.RequestSchema): - """ DescribeUDBInstancePrice - 获取UDB实例价格信息 +class DescribeUDBInstanceBinlogRequestSchema(schema.RequestSchema): + """ DescribeUDBInstanceBinlog - 获取UDB指定时间段的binlog列表 """ fields = { - "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), - "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), - "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), - "Count": fields.Int(required=False, dump_to="Count"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "BeginTime": fields.Int(required=True, dump_to="BeginTime"), + "EndTime": fields.Int(required=True, dump_to="EndTime"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), - "SSDType": fields.Str(required=False, dump_to="SSDType"), - "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class DescribeUDBInstancePriceResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstancePrice - 获取UDB实例价格信息 +class DescribeUDBInstanceBinlogResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstanceBinlog - 获取UDB指定时间段的binlog列表 """ fields = { "DataSet": fields.List( - models.UDBInstancePriceSetSchema(), required=False, load_from="DataSet" + models.UDBInstanceBinlogSetSchema(), required=False, load_from="DataSet" ) } """ -API: DescribeUDBLogPackage +API: DescribeUDBInstanceBinlogBackupState -列表UDB实例binlog或slowlog或errorlog备份信息 +获取udb实例备份状态 """ -class DescribeUDBLogPackageRequestSchema(schema.RequestSchema): - """ DescribeUDBLogPackage - 列表UDB实例binlog或slowlog或errorlog备份信息 +class DescribeUDBInstanceBinlogBackupStateRequestSchema(schema.RequestSchema): + """ DescribeUDBInstanceBinlogBackupState - 获取udb实例备份状态 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Limit": fields.Int(required=True, dump_to="Limit"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "Offset": fields.Int(required=True, dump_to="Offset"), - "Type": fields.Int(required=False, dump_to="Type"), - "DBId": fields.Str(required=False, dump_to="DBId"), - "Types": fields.List(fields.Int()), + "BackupId": fields.Int(required=True, dump_to="BackupId"), + "BackupZone": fields.Str(required=False, dump_to="BackupZone"), } -class DescribeUDBLogPackageResponseSchema(schema.ResponseSchema): - """ DescribeUDBLogPackage - 列表UDB实例binlog或slowlog或errorlog备份信息 +class DescribeUDBInstanceBinlogBackupStateResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstanceBinlogBackupState - 获取udb实例备份状态 """ fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "DataSet": fields.List( - models.LogPackageDataSetSchema(), required=False, load_from="DataSet" - ), + "State": fields.Str(required=False, load_from="State"), + "BackupSize": fields.Int(required=False, load_from="BackupSize"), } """ -API: DescribeUDBParamGroup +API: DescribeUDBInstancePrice -获取参数组详细参数信息 +获取UDB实例价格信息 """ -class DescribeUDBParamGroupRequestSchema(schema.RequestSchema): - """ DescribeUDBParamGroup - 获取参数组详细参数信息 +class DescribeUDBInstancePriceRequestSchema(schema.RequestSchema): + """ DescribeUDBInstancePrice - 获取UDB实例价格信息 """ fields = { - "ClassType": fields.Str(required=False, dump_to="ClassType"), + "Count": fields.Int(required=False, dump_to="Count"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), + "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), + "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "SSDType": fields.Str(required=False, dump_to="SSDType"), + "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), "Region": fields.Str(required=True, dump_to="Region"), - "Limit": fields.Int(required=True, dump_to="Limit"), - "GroupId": fields.Int(required=False, dump_to="GroupId"), - "IsInUDBC": fields.Bool(required=False, dump_to="IsInUDBC"), - "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Offset": fields.Int(required=True, dump_to="Offset"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), } -class DescribeUDBParamGroupResponseSchema(schema.ResponseSchema): - """ DescribeUDBParamGroup - 获取参数组详细参数信息 +class DescribeUDBInstancePriceResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstancePrice - 获取UDB实例价格信息 """ fields = { "DataSet": fields.List( - models.UDBParamGroupSetSchema(), required=False, load_from="DataSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), + models.UDBInstancePriceSetSchema(), required=False, load_from="DataSet" + ) } """ -API: BackupUDBInstance +API: DescribeUDBInstanceState -备份UDB实例 +获取UDB实例状态 """ -class BackupUDBInstanceRequestSchema(schema.RequestSchema): - """ BackupUDBInstance - 备份UDB实例 +class DescribeUDBInstanceStateRequestSchema(schema.RequestSchema): + """ DescribeUDBInstanceState - 获取UDB实例状态 """ fields = { - "UseBlacklist": fields.Bool(required=False, dump_to="UseBlacklist"), - "Blacklist": fields.Str(required=False, dump_to="Blacklist"), + "DBId": fields.Str(required=True, dump_to="DBId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "BackupName": fields.Str(required=True, dump_to="BackupName"), - "BackupMethod": fields.Str(required=False, dump_to="BackupMethod"), - "ForceBackup": fields.Bool(required=False, dump_to="ForceBackup"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), } -class BackupUDBInstanceResponseSchema(schema.ResponseSchema): - """ BackupUDBInstance - 备份UDB实例 +class DescribeUDBInstanceStateResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstanceState - 获取UDB实例状态 """ - fields = {} + fields = {"State": fields.Str(required=False, load_from="State")} """ -API: BackupUDBInstanceSlowLog +API: DescribeUDBInstanceUpgradePrice -备份UDB指定时间段的slowlog分析结果 +获取UDB实例升降级价格信息 """ -class BackupUDBInstanceSlowLogRequestSchema(schema.RequestSchema): - """ BackupUDBInstanceSlowLog - 备份UDB指定时间段的slowlog分析结果 +class DescribeUDBInstanceUpgradePriceRequestSchema(schema.RequestSchema): + """ DescribeUDBInstanceUpgradePrice - 获取UDB实例升降级价格信息 """ fields = { - "BackupName": fields.Str(required=True, dump_to="BackupName"), - "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "BeginTime": fields.Int(required=True, dump_to="BeginTime"), - "EndTime": fields.Int(required=True, dump_to="EndTime"), + "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), + "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), + "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), + "SSDType": fields.Str(required=False, dump_to="SSDType"), + "Region": fields.Str(required=True, dump_to="Region"), } -class BackupUDBInstanceSlowLogResponseSchema(schema.ResponseSchema): - """ BackupUDBInstanceSlowLog - 备份UDB指定时间段的slowlog分析结果 +class DescribeUDBInstanceUpgradePriceResponseSchema(schema.ResponseSchema): + """ DescribeUDBInstanceUpgradePrice - 获取UDB实例升降级价格信息 """ - fields = {} + fields = {"Price": fields.Float(required=False, load_from="Price")} """ -API: CreateUDBInstance +API: DescribeUDBLogBackupURL -创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) +获取UDB的slowlog备份地址 """ -class CreateUDBInstanceRequestSchema(schema.RequestSchema): - """ CreateUDBInstance - 创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) +class DescribeUDBLogBackupURLRequestSchema(schema.RequestSchema): + """ DescribeUDBLogBackupURL - 获取UDB的slowlog备份地址 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Name": fields.Str(required=True, dump_to="Name"), - "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), - "BackupCount": fields.Int(required=False, dump_to="BackupCount"), - "InstanceType": fields.Str(required=False, dump_to="InstanceType"), - "BackupZone": fields.Str(required=False, dump_to="BackupZone"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "BackupDuration": fields.Int(required=False, dump_to="BackupDuration"), - "SSDType": fields.Str(required=False, dump_to="SSDType"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), - "CPU": fields.Int(required=False, dump_to="CPU"), - "ClusterRole": fields.Str(required=False, dump_to="ClusterRole"), - "HAArch": fields.Str(required=False, dump_to="HAArch"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "Port": fields.Int(required=True, dump_to="Port"), - "AdminUser": fields.Str(required=False, dump_to="AdminUser"), - "DisableSemisync": fields.Bool(required=False, dump_to="DisableSemisync"), - "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), - "BackupId": fields.Int(required=False, dump_to="BackupId"), - "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), "Region": fields.Str(required=True, dump_to="Region"), - "AdminPassword": fields.Str(required=True, dump_to="AdminPassword"), - "ParamGroupId": fields.Int(required=True, dump_to="ParamGroupId"), - "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), - "UDBCId": fields.Str(required=False, dump_to="UDBCId"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "BackupTime": fields.Int(required=False, dump_to="BackupTime"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "BackupId": fields.Int(required=True, dump_to="BackupId"), } -class CreateUDBInstanceResponseSchema(schema.ResponseSchema): - """ CreateUDBInstance - 创建UDB实例(包括创建mysql master节点、mongodb primary/configsvr节点和从备份恢复实例) +class DescribeUDBLogBackupURLResponseSchema(schema.ResponseSchema): + """ DescribeUDBLogBackupURL - 获取UDB的slowlog备份地址 """ - fields = {"DBId": fields.Str(required=False, load_from="DBId")} + fields = { + "BackupPath": fields.Str(required=False, load_from="BackupPath"), + "UsernetPath": fields.Str(required=False, load_from="UsernetPath"), + } """ -API: FetchUDBInstanceEarliestRecoverTime +API: DescribeUDBLogPackage -获取UDB最早可回档的时间点 +列表UDB实例binlog或slowlog或errorlog备份信息 """ -class FetchUDBInstanceEarliestRecoverTimeRequestSchema(schema.RequestSchema): - """ FetchUDBInstanceEarliestRecoverTime - 获取UDB最早可回档的时间点 +class DescribeUDBLogPackageRequestSchema(schema.RequestSchema): + """ DescribeUDBLogPackage - 列表UDB实例binlog或slowlog或errorlog备份信息 """ fields = { + "Limit": fields.Int(required=True, dump_to="Limit"), + "Type": fields.Int(required=False, dump_to="Type"), + "DBId": fields.Str(required=False, dump_to="DBId"), + "Types": fields.List(fields.Int()), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DBId": fields.Str(required=True, dump_to="DBId"), + "Offset": fields.Int(required=True, dump_to="Offset"), + "BeginTime": fields.Int(required=False, dump_to="BeginTime"), + "EndTime": fields.Int(required=False, dump_to="EndTime"), } -class FetchUDBInstanceEarliestRecoverTimeResponseSchema(schema.ResponseSchema): - """ FetchUDBInstanceEarliestRecoverTime - 获取UDB最早可回档的时间点 +class DescribeUDBLogPackageResponseSchema(schema.ResponseSchema): + """ DescribeUDBLogPackage - 列表UDB实例binlog或slowlog或errorlog备份信息 """ - fields = {"EarliestTime": fields.Int(required=False, load_from="EarliestTime")} + fields = { + "DataSet": fields.List( + models.LogPackageDataSetSchema(), required=False, load_from="DataSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } """ -API: SwitchUDBInstanceToHA +API: DescribeUDBParamGroup -普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api +获取参数组详细参数信息 """ -class SwitchUDBInstanceToHARequestSchema(schema.RequestSchema): - """ SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api +class DescribeUDBParamGroupRequestSchema(schema.RequestSchema): + """ DescribeUDBParamGroup - 获取参数组详细参数信息 """ fields = { - "DBId": fields.Str(required=True, dump_to="DBId"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "Quantity": fields.Str(required=False, dump_to="Quantity"), - "Tag": fields.Str(required=False, dump_to="Tag"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "Offset": fields.Int(required=True, dump_to="Offset"), + "IsInUDBC": fields.Bool(required=False, dump_to="IsInUDBC"), + "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), + "ClassType": fields.Str(required=False, dump_to="ClassType"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Limit": fields.Int(required=True, dump_to="Limit"), + "GroupId": fields.Int(required=False, dump_to="GroupId"), } -class SwitchUDBInstanceToHAResponseSchema(schema.ResponseSchema): - """ SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api +class DescribeUDBParamGroupResponseSchema(schema.ResponseSchema): + """ DescribeUDBParamGroup - 获取参数组详细参数信息 """ - fields = {"DBId": fields.Str(required=False, load_from="DBId")} + fields = { + "DataSet": fields.List( + models.UDBParamGroupSetSchema(), required=False, load_from="DataSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } """ -API: UploadUDBParamGroup +API: DescribeUDBType -导入UDB配置 +获取UDB支持的类型信息 """ -class UploadUDBParamGroupRequestSchema(schema.RequestSchema): - """ UploadUDBParamGroup - 导入UDB配置 +class DescribeUDBTypeRequestSchema(schema.RequestSchema): + """ DescribeUDBType - 获取UDB支持的类型信息 """ fields = { - "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), - "Description": fields.Str(required=True, dump_to="Description"), + "DBClusterType": fields.Str(required=False, dump_to="DBClusterType"), + "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), + "DiskType": fields.Str(required=False, dump_to="DiskType"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), - "Content": fields.Str(required=True, dump_to="Content"), - "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), - "ParamGroupTypeId": fields.Int(required=False, dump_to="ParamGroupTypeId"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "GroupName": fields.Str(required=True, dump_to="GroupName"), } -class UploadUDBParamGroupResponseSchema(schema.ResponseSchema): - """ UploadUDBParamGroup - 导入UDB配置 +class DescribeUDBTypeResponseSchema(schema.ResponseSchema): + """ DescribeUDBType - 获取UDB支持的类型信息 """ - fields = {"GroupId": fields.Int(required=False, load_from="GroupId")} + fields = { + "DataSet": fields.List( + models.UDBTypeSetSchema(), required=False, load_from="DataSet" + ) + } """ -API: CheckRecoverUDBInstance +API: EditUDBBackupBlacklist -核查db是否可以使用回档功能 +编辑UDB实例的备份黑名单 """ -class CheckRecoverUDBInstanceRequestSchema(schema.RequestSchema): - """ CheckRecoverUDBInstance - 核查db是否可以使用回档功能 +class EditUDBBackupBlacklistRequestSchema(schema.RequestSchema): + """ EditUDBBackupBlacklist - 编辑UDB实例的备份黑名单 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SrcDBId": fields.Str(required=True, dump_to="SrcDBId"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "Blacklist": fields.Str(required=True, dump_to="Blacklist"), } -class CheckRecoverUDBInstanceResponseSchema(schema.ResponseSchema): - """ CheckRecoverUDBInstance - 核查db是否可以使用回档功能 +class EditUDBBackupBlacklistResponseSchema(schema.ResponseSchema): + """ EditUDBBackupBlacklist - 编辑UDB实例的备份黑名单 """ - fields = {"LastestTime": fields.Int(required=False, load_from="LastestTime")} + fields = {} """ -API: CreateUDBReplicationInstance +API: FetchUDBInstanceEarliestRecoverTime -创建MongoDB的副本节点(包括仲裁) +获取UDB最早可回档的时间点 """ -class CreateUDBReplicationInstanceRequestSchema(schema.RequestSchema): - """ CreateUDBReplicationInstance - 创建MongoDB的副本节点(包括仲裁) +class FetchUDBInstanceEarliestRecoverTimeRequestSchema(schema.RequestSchema): + """ FetchUDBInstanceEarliestRecoverTime - 获取UDB最早可回档的时间点 """ fields = { + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), - "IsArbiter": fields.Bool(required=False, dump_to="IsArbiter"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), + "DBId": fields.Str(required=True, dump_to="DBId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "SrcId": fields.Str(required=True, dump_to="SrcId"), - "Name": fields.Str(required=True, dump_to="Name"), - "Port": fields.Int(required=False, dump_to="Port"), } -class CreateUDBReplicationInstanceResponseSchema(schema.ResponseSchema): - """ CreateUDBReplicationInstance - 创建MongoDB的副本节点(包括仲裁) +class FetchUDBInstanceEarliestRecoverTimeResponseSchema(schema.ResponseSchema): + """ FetchUDBInstanceEarliestRecoverTime - 获取UDB最早可回档的时间点 """ - fields = {"DBId": fields.Str(required=False, load_from="DBId")} + fields = {"EarliestTime": fields.Int(required=False, load_from="EarliestTime")} """ -API: StartUDBInstance +API: ModifyUDBInstanceName -启动UDB实例 +重命名UDB实例 """ -class StartUDBInstanceRequestSchema(schema.RequestSchema): - """ StartUDBInstance - 启动UDB实例 +class ModifyUDBInstanceNameRequestSchema(schema.RequestSchema): + """ ModifyUDBInstanceName - 重命名UDB实例 """ fields = { "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), + "Name": fields.Str(required=True, dump_to="Name"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), } -class StartUDBInstanceResponseSchema(schema.ResponseSchema): - """ StartUDBInstance - 启动UDB实例 +class ModifyUDBInstanceNameResponseSchema(schema.ResponseSchema): + """ ModifyUDBInstanceName - 重命名UDB实例 """ fields = {} """ -API: DescribeUDBType +API: ModifyUDBInstancePassword -获取UDB支持的类型信息 +修改DB实例的管理员密码 """ -class DescribeUDBTypeRequestSchema(schema.RequestSchema): - """ DescribeUDBType - 获取UDB支持的类型信息 +class ModifyUDBInstancePasswordRequestSchema(schema.RequestSchema): + """ ModifyUDBInstancePassword - 修改DB实例的管理员密码 """ fields = { - "DBClusterType": fields.Str(required=False, dump_to="DBClusterType"), - "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), - "DiskType": fields.Str(required=False, dump_to="DiskType"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "Password": fields.Str(required=True, dump_to="Password"), + "AccountName": fields.Str(required=False, dump_to="AccountName"), } -class DescribeUDBTypeResponseSchema(schema.ResponseSchema): - """ DescribeUDBType - 获取UDB支持的类型信息 +class ModifyUDBInstancePasswordResponseSchema(schema.ResponseSchema): + """ ModifyUDBInstancePassword - 修改DB实例的管理员密码 """ - fields = { - "DataSet": fields.List( - models.UDBTypeSetSchema(), required=False, load_from="DataSet" - ) - } + fields = {} """ -API: ResizeUDBInstance +API: PromoteUDBInstanceToHA -修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 +普通db升级为高可用(只针对mysql5.5及以上版本) """ -class ResizeUDBInstanceRequestSchema(schema.RequestSchema): - """ ResizeUDBInstance - 修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 +class PromoteUDBInstanceToHARequestSchema(schema.RequestSchema): + """ PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本) """ fields = { - "ProjectId": fields.Int(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), - "UDBCId": fields.Str(required=False, dump_to="UDBCId"), - "StartAfterUpgrade": fields.Bool(required=False, dump_to="StartAfterUpgrade"), - "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), - "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), - "SSDType": fields.Str(required=False, dump_to="SSDType"), - "InstanceType": fields.Str(required=False, dump_to="InstanceType"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class ResizeUDBInstanceResponseSchema(schema.ResponseSchema): - """ ResizeUDBInstance - 修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 +class PromoteUDBInstanceToHAResponseSchema(schema.ResponseSchema): + """ PromoteUDBInstanceToHA - 普通db升级为高可用(只针对mysql5.5及以上版本) """ fields = {} """ -API: StopUDBInstance +API: PromoteUDBSlave -关闭UDB实例 +从库提升为独立库 """ -class StopUDBInstanceRequestSchema(schema.RequestSchema): - """ StopUDBInstance - 关闭UDB实例 +class PromoteUDBSlaveRequestSchema(schema.RequestSchema): + """ PromoteUDBSlave - 从库提升为独立库 """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "ForceToKill": fields.Bool(required=False, dump_to="ForceToKill"), + "IsForce": fields.Bool(required=False, dump_to="IsForce"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), } -class StopUDBInstanceResponseSchema(schema.ResponseSchema): - """ StopUDBInstance - 关闭UDB实例 +class PromoteUDBSlaveResponseSchema(schema.ResponseSchema): + """ PromoteUDBSlave - 从库提升为独立库 """ fields = {} """ -API: CreateUDBSlave +API: ResizeUDBInstance -创建UDB实例的slave +修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 """ -class CreateUDBSlaveRequestSchema(schema.RequestSchema): - """ CreateUDBSlave - 创建UDB实例的slave +class ResizeUDBInstanceRequestSchema(schema.RequestSchema): + """ ResizeUDBInstance - 修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 """ fields = { + "MemoryLimit": fields.Int(required=True, dump_to="MemoryLimit"), + "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), "UseSSD": fields.Bool(required=False, dump_to="UseSSD"), - "SSDType": fields.Str(required=False, dump_to="SSDType"), "CouponId": fields.Str(required=False, dump_to="CouponId"), "Region": fields.Str(required=True, dump_to="Region"), - "MemoryLimit": fields.Int(required=False, dump_to="MemoryLimit"), - "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Int(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "StartAfterUpgrade": fields.Bool(required=False, dump_to="StartAfterUpgrade"), + "SSDType": fields.Str(required=False, dump_to="SSDType"), + "UDBCId": fields.Str(required=False, dump_to="UDBCId"), "InstanceType": fields.Str(required=False, dump_to="InstanceType"), - "SrcId": fields.Str(required=True, dump_to="SrcId"), - "Name": fields.Str(required=True, dump_to="Name"), - "IsLock": fields.Bool(required=False, dump_to="IsLock"), "InstanceMode": fields.Str(required=False, dump_to="InstanceMode"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Port": fields.Int(required=False, dump_to="Port"), } -class CreateUDBSlaveResponseSchema(schema.ResponseSchema): - """ CreateUDBSlave - 创建UDB实例的slave +class ResizeUDBInstanceResponseSchema(schema.ResponseSchema): + """ ResizeUDBInstance - 修改(升级和降级)UDB实例的配置,包括内存和磁盘的配置,对于内存升级无需关闭实例,其他场景需要事先关闭实例。两套参数可以配置升降机:1.配置UseSSD和SSDType 2.配置InstanceType,不需要配置InstanceMode。这两套第二套参数的优先级更高 """ - fields = {"DBId": fields.Str(required=False, load_from="DBId")} + fields = {} """ -API: DescribeUDBInstance +API: RestartUDBInstance -获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 +重启UDB实例 """ -class DescribeUDBInstanceRequestSchema(schema.RequestSchema): - """ DescribeUDBInstance - 获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 +class RestartUDBInstanceRequestSchema(schema.RequestSchema): + """ RestartUDBInstance - 重启UDB实例 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Limit": fields.Int(required=True, dump_to="Limit"), - "DBId": fields.Str(required=False, dump_to="DBId"), - "UDBCId": fields.Str(required=False, dump_to="UDBCId"), - "IncludeSlaves": fields.Bool(required=False, dump_to="IncludeSlaves"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "ClassType": fields.Str(required=True, dump_to="ClassType"), - "Offset": fields.Int(required=True, dump_to="Offset"), - "IsInUDBC": fields.Bool(required=False, dump_to="IsInUDBC"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), } -class DescribeUDBInstanceResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstance - 获取UDB实例信息,支持两类操作:(1)指定DBId用于获取该db的信息;(2)指定ClassType、Offset、Limit用于列表操作,查询某一个类型db。 +class RestartUDBInstanceResponseSchema(schema.ResponseSchema): + """ RestartUDBInstance - 重启UDB实例 """ - fields = { - "DataSet": fields.List( - models.UDBInstanceSetSchema(), required=False, load_from="DataSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } + fields = {} """ -API: DescribeUDBLogBackupURL +API: StartUDBInstance -获取UDB的slowlog备份地址 +启动UDB实例 """ -class DescribeUDBLogBackupURLRequestSchema(schema.RequestSchema): - """ DescribeUDBLogBackupURL - 获取UDB的slowlog备份地址 +class StartUDBInstanceRequestSchema(schema.RequestSchema): + """ StartUDBInstance - 启动UDB实例 """ fields = { + "DBId": fields.Str(required=True, dump_to="DBId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "DBId": fields.Str(required=True, dump_to="DBId"), - "BackupId": fields.Int(required=True, dump_to="BackupId"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class DescribeUDBLogBackupURLResponseSchema(schema.ResponseSchema): - """ DescribeUDBLogBackupURL - 获取UDB的slowlog备份地址 +class StartUDBInstanceResponseSchema(schema.ResponseSchema): + """ StartUDBInstance - 启动UDB实例 """ - fields = { - "BackupPath": fields.Str(required=False, load_from="BackupPath"), - "UsernetPath": fields.Str(required=False, load_from="UsernetPath"), - } + fields = {} """ -API: DeleteUDBParamGroup +API: StopUDBInstance -删除配置参数组 +关闭UDB实例 """ -class DeleteUDBParamGroupRequestSchema(schema.RequestSchema): - """ DeleteUDBParamGroup - 删除配置参数组 +class StopUDBInstanceRequestSchema(schema.RequestSchema): + """ StopUDBInstance - 关闭UDB实例 """ fields = { - "GroupId": fields.Int(required=True, dump_to="GroupId"), - "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "ForceToKill": fields.Bool(required=False, dump_to="ForceToKill"), } -class DeleteUDBParamGroupResponseSchema(schema.ResponseSchema): - """ DeleteUDBParamGroup - 删除配置参数组 +class StopUDBInstanceResponseSchema(schema.ResponseSchema): + """ StopUDBInstance - 关闭UDB实例 """ fields = {} """ -API: DescribeUDBInstanceBackupURL +API: SwitchUDBInstanceToHA -获取UDB备份下载地址 +普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api """ -class DescribeUDBInstanceBackupURLRequestSchema(schema.RequestSchema): - """ DescribeUDBInstanceBackupURL - 获取UDB备份下载地址 +class SwitchUDBInstanceToHARequestSchema(schema.RequestSchema): + """ SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api """ fields = { - "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "DBId": fields.Str(required=True, dump_to="DBId"), - "BackupId": fields.Int(required=True, dump_to="BackupId"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Str(required=False, dump_to="Quantity"), + "Tag": fields.Str(required=False, dump_to="Tag"), "Region": fields.Str(required=True, dump_to="Region"), } -class DescribeUDBInstanceBackupURLResponseSchema(schema.ResponseSchema): - """ DescribeUDBInstanceBackupURL - 获取UDB备份下载地址 +class SwitchUDBInstanceToHAResponseSchema(schema.ResponseSchema): + """ SwitchUDBInstanceToHA - 普通UDB切换为高可用,原db状态为WaitForSwitch时,调用该api """ - fields = { - "BackupPath": fields.Str(required=False, load_from="BackupPath"), - "InnerBackupPath": fields.Str(required=False, load_from="InnerBackupPath"), - } + fields = {"DBId": fields.Str(required=False, load_from="DBId")} """ -API: UpdateUDBParamGroup +API: UpdateUDBInstanceBackupStrategy -更新UDB配置参数项 +修改UDB自动备份策略 """ -class UpdateUDBParamGroupRequestSchema(schema.RequestSchema): - """ UpdateUDBParamGroup - 更新UDB配置参数项 +class UpdateUDBInstanceBackupStrategyRequestSchema(schema.RequestSchema): + """ UpdateUDBInstanceBackupStrategy - 修改UDB自动备份策略 """ fields = { - "Zone": fields.Str(required=True, dump_to="Zone"), - "Value": fields.Str(required=False, dump_to="Value"), - "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), + "BackupMethod": fields.Str(required=False, dump_to="BackupMethod"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "GroupId": fields.Int(required=True, dump_to="GroupId"), - "Key": fields.Str(required=False, dump_to="Key"), - "Name": fields.Str(required=False, dump_to="Name"), - "Description": fields.Str(required=False, dump_to="Description"), + "DBId": fields.Str(required=True, dump_to="DBId"), + "BackupTime": fields.Int(required=False, dump_to="BackupTime"), + "BackupDate": fields.Str(required=False, dump_to="BackupDate"), + "ForceDump": fields.Bool(required=False, dump_to="ForceDump"), } -class UpdateUDBParamGroupResponseSchema(schema.ResponseSchema): - """ UpdateUDBParamGroup - 更新UDB配置参数项 +class UpdateUDBInstanceBackupStrategyResponseSchema(schema.ResponseSchema): + """ UpdateUDBInstanceBackupStrategy - 修改UDB自动备份策略 """ fields = {} """ -API: CreateUDBParamGroup +API: UpdateUDBInstanceSlaveBackupSwitch -从已有配置文件创建新配置文件 +开启或者关闭UDB从库备份 """ -class CreateUDBParamGroupRequestSchema(schema.RequestSchema): - """ CreateUDBParamGroup - 从已有配置文件创建新配置文件 +class UpdateUDBInstanceSlaveBackupSwitchRequestSchema(schema.RequestSchema): + """ UpdateUDBInstanceSlaveBackupSwitch - 开启或者关闭UDB从库备份 """ fields = { - "GroupName": fields.Str(required=True, dump_to="GroupName"), - "Description": fields.Str(required=True, dump_to="Description"), - "SrcGroupId": fields.Int(required=True, dump_to="SrcGroupId"), - "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), - "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), + "BackupSwitch": fields.Int(required=True, dump_to="BackupSwitch"), + "SlaveDBId": fields.Str(required=False, dump_to="SlaveDBId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "MasterDBId": fields.Str(required=True, dump_to="MasterDBId"), } -class CreateUDBParamGroupResponseSchema(schema.ResponseSchema): - """ CreateUDBParamGroup - 从已有配置文件创建新配置文件 +class UpdateUDBInstanceSlaveBackupSwitchResponseSchema(schema.ResponseSchema): + """ UpdateUDBInstanceSlaveBackupSwitch - 开启或者关闭UDB从库备份 """ - fields = {"GroupId": fields.Int(required=False, load_from="GroupId")} + fields = {} """ -API: DeleteUDBBackup +API: UpdateUDBParamGroup -删除UDB实例备份 +更新UDB配置参数项 """ -class DeleteUDBBackupRequestSchema(schema.RequestSchema): - """ DeleteUDBBackup - 删除UDB实例备份 +class UpdateUDBParamGroupRequestSchema(schema.RequestSchema): + """ UpdateUDBParamGroup - 更新UDB配置参数项 """ fields = { "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "BackupId": fields.Int(required=True, dump_to="BackupId"), - "BackupZone": fields.Str(required=False, dump_to="BackupZone"), + "GroupId": fields.Int(required=True, dump_to="GroupId"), + "Key": fields.Str(required=False, dump_to="Key"), + "Name": fields.Str(required=False, dump_to="Name"), + "Description": fields.Str(required=False, dump_to="Description"), + "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), + "Value": fields.Str(required=False, dump_to="Value"), } -class DeleteUDBBackupResponseSchema(schema.ResponseSchema): - """ DeleteUDBBackup - 删除UDB实例备份 +class UpdateUDBParamGroupResponseSchema(schema.ResponseSchema): + """ UpdateUDBParamGroup - 更新UDB配置参数项 """ fields = {} """ -API: DeleteUDBLogPackage +API: UploadUDBParamGroup -删除UDB日志包 +导入UDB配置 """ -class DeleteUDBLogPackageRequestSchema(schema.RequestSchema): - """ DeleteUDBLogPackage - 删除UDB日志包 +class UploadUDBParamGroupRequestSchema(schema.RequestSchema): + """ UploadUDBParamGroup - 导入UDB配置 """ fields = { + "DBTypeId": fields.Str(required=True, dump_to="DBTypeId"), + "Description": fields.Str(required=True, dump_to="Description"), + "Content": fields.Str(required=True, dump_to="Content"), + "ParamGroupTypeId": fields.Int(required=False, dump_to="ParamGroupTypeId"), + "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "BackupId": fields.Int(required=True, dump_to="BackupId"), - "BackupZone": fields.Str(required=False, dump_to="BackupZone"), - "Region": fields.Str(required=True, dump_to="Region"), + "GroupName": fields.Str(required=True, dump_to="GroupName"), + "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), } -class DeleteUDBLogPackageResponseSchema(schema.ResponseSchema): - """ DeleteUDBLogPackage - 删除UDB日志包 +class UploadUDBParamGroupResponseSchema(schema.ResponseSchema): + """ UploadUDBParamGroup - 导入UDB配置 """ - fields = {} + fields = {"GroupId": fields.Int(required=False, load_from="GroupId")} diff --git a/ucloud/services/udb/schemas/models.py b/ucloud/services/udb/schemas/models.py index 36408f6..846d21a 100644 --- a/ucloud/services/udb/schemas/models.py +++ b/ucloud/services/udb/schemas/models.py @@ -8,18 +8,18 @@ class UDBBackupSetSchema(schema.ResponseSchema): """ fields = { - "BackupZone": fields.Str(required=False, load_from="BackupZone"), - "BackupEndTime": fields.Int(required=False, load_from="BackupEndTime"), + "State": fields.Str(required=False, load_from="State"), + "ErrorInfo": fields.Str(required=False, load_from="ErrorInfo"), "Zone": fields.Str(required=False, load_from="Zone"), "BackupId": fields.Int(required=False, load_from="BackupId"), - "BackupName": fields.Str(required=False, load_from="BackupName"), + "BackupType": fields.Int(required=False, load_from="BackupType"), "DBId": fields.Str(required=False, load_from="DBId"), "DBName": fields.Str(required=False, load_from="DBName"), + "BackupZone": fields.Str(required=False, load_from="BackupZone"), + "BackupEndTime": fields.Int(required=False, load_from="BackupEndTime"), + "BackupName": fields.Str(required=False, load_from="BackupName"), "BackupTime": fields.Int(required=False, load_from="BackupTime"), "BackupSize": fields.Int(required=False, load_from="BackupSize"), - "BackupType": fields.Int(required=False, load_from="BackupType"), - "State": fields.Str(required=False, load_from="State"), - "ErrorInfo": fields.Str(required=False, load_from="ErrorInfo"), } @@ -28,42 +28,42 @@ class UDBSlaveInstanceSetSchema(schema.ResponseSchema): """ fields = { - "Tag": fields.Str(required=False, load_from="Tag"), - "DBTypeId": fields.Str(required=False, load_from="DBTypeId"), - "State": fields.Str(required=False, load_from="State"), - "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"), + "BackupCount": fields.Int(required=False, load_from="BackupCount"), + "MemoryLimit": fields.Int(required=False, load_from="MemoryLimit"), + "UseSSD": fields.Bool(required=False, load_from="UseSSD"), + "DiskUsedSize": fields.Float(required=False, load_from="DiskUsedSize"), + "Zone": fields.Str(required=False, load_from="Zone"), + "ParamGroupId": fields.Int(required=False, load_from="ParamGroupId"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), "SSDType": fields.Str(required=False, load_from="SSDType"), - "SystemFileSize": fields.Float(required=False, load_from="SystemFileSize"), - "ClusterRole": fields.Str(required=False, load_from="ClusterRole"), "VirtualIPMac": fields.Str(required=False, load_from="VirtualIPMac"), - "Port": fields.Int(required=False, load_from="Port"), - "DiskUsedSize": fields.Float(required=False, load_from="DiskUsedSize"), - "DataFileSize": fields.Float(required=False, load_from="DataFileSize"), "SrcDBId": fields.Str(required=False, load_from="SrcDBId"), - "BackupDuration": fields.Int(required=False, load_from="BackupDuration"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), "Role": fields.Str(required=False, load_from="Role"), - "LogFileSize": fields.Float(required=False, load_from="LogFileSize"), - "InstanceMode": fields.Str(required=False, load_from="InstanceMode"), - "ParamGroupId": fields.Int(required=False, load_from="ParamGroupId"), - "AdminUser": fields.Str(required=False, load_from="AdminUser"), - "BackupBlacklist": fields.Str(required=False, load_from="BackupBlacklist"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "VPCId": fields.Str(required=False, load_from="VPCId"), "DBId": fields.Str(required=False, load_from="DBId"), - "InstanceTypeId": fields.Int(required=False, load_from="InstanceTypeId"), - "Name": fields.Str(required=False, load_from="Name"), - "BackupCount": fields.Int(required=False, load_from="BackupCount"), - "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), + "BackupBlacklist": fields.Str(required=False, load_from="BackupBlacklist"), "DiskSpace": fields.Int(required=False, load_from="DiskSpace"), - "UseSSD": fields.Bool(required=False, load_from="UseSSD"), - "SubnetId": fields.Str(required=False, load_from="SubnetId"), + "DataFileSize": fields.Float(required=False, load_from="DataFileSize"), + "SystemFileSize": fields.Float(required=False, load_from="SystemFileSize"), + "LogFileSize": fields.Float(required=False, load_from="LogFileSize"), "InstanceType": fields.Str(required=False, load_from="InstanceType"), - "Zone": fields.Str(required=False, load_from="Zone"), + "DBTypeId": fields.Str(required=False, load_from="DBTypeId"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "State": fields.Str(required=False, load_from="State"), + "InstanceMode": fields.Str(required=False, load_from="InstanceMode"), + "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"), + "Name": fields.Str(required=False, load_from="Name"), "VirtualIP": fields.Str(required=False, load_from="VirtualIP"), - "BackupBeginTime": fields.Int(required=False, load_from="BackupBeginTime"), - "MemoryLimit": fields.Int(required=False, load_from="MemoryLimit"), + "BackupDuration": fields.Int(required=False, load_from="BackupDuration"), "BackupDate": fields.Str(required=False, load_from="BackupDate"), - "VPCId": fields.Str(required=False, load_from="VPCId"), + "AdminUser": fields.Str(required=False, load_from="AdminUser"), + "BackupBeginTime": fields.Int(required=False, load_from="BackupBeginTime"), + "ClusterRole": fields.Str(required=False, load_from="ClusterRole"), + "SubnetId": fields.Str(required=False, load_from="SubnetId"), + "InstanceTypeId": fields.Int(required=False, load_from="InstanceTypeId"), + "Tag": fields.Str(required=False, load_from="Tag"), + "Port": fields.Int(required=False, load_from="Port"), + "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), } @@ -72,44 +72,44 @@ class UDBInstanceSetSchema(schema.ResponseSchema): """ fields = { + "Zone": fields.Str(required=False, load_from="Zone"), + "VirtualIPMac": fields.Str(required=False, load_from="VirtualIPMac"), + "BackupDate": fields.Str(required=False, load_from="BackupDate"), "DataSet": fields.List(UDBSlaveInstanceSetSchema()), - "AdminUser": fields.Str(required=False, load_from="AdminUser"), - "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), - "BackupBeginTime": fields.Int(required=False, load_from="BackupBeginTime"), - "State": fields.Str(required=False, load_from="State"), - "DiskSpace": fields.Int(required=False, load_from="DiskSpace"), + "ParamGroupId": fields.Int(required=False, load_from="ParamGroupId"), + "SubnetId": fields.Str(required=False, load_from="SubnetId"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "SSDType": fields.Str(required=False, load_from="SSDType"), "UseSSD": fields.Bool(required=False, load_from="UseSSD"), - "Tag": fields.Str(required=False, load_from="Tag"), - "SrcDBId": fields.Str(required=False, load_from="SrcDBId"), + "Role": fields.Str(required=False, load_from="Role"), + "SystemFileSize": fields.Float(required=False, load_from="SystemFileSize"), + "BackupCount": fields.Int(required=False, load_from="BackupCount"), "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"), - "LogFileSize": fields.Float(required=False, load_from="LogFileSize"), - "InstanceMode": fields.Str(required=False, load_from="InstanceMode"), - "CluserRole": fields.Str(required=False, load_from="CluserRole"), - "DBId": fields.Str(required=False, load_from="DBId"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "InstanceTypeId": fields.Int(required=False, load_from="InstanceTypeId"), - "Port": fields.Int(required=False, load_from="Port"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), "MemoryLimit": fields.Int(required=False, load_from="MemoryLimit"), - "Zone": fields.Str(required=False, load_from="Zone"), - "InstanceType": fields.Str(required=False, load_from="InstanceType"), + "DiskSpace": fields.Int(required=False, load_from="DiskSpace"), + "BackupBlacklist": fields.Str(required=False, load_from="BackupBlacklist"), "DataFileSize": fields.Float(required=False, load_from="DataFileSize"), - "BackupDate": fields.Str(required=False, load_from="BackupDate"), - "BackupCount": fields.Int(required=False, load_from="BackupCount"), - "SSDType": fields.Str(required=False, load_from="SSDType"), - "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "Role": fields.Str(required=False, load_from="Role"), - "DiskUsedSize": fields.Float(required=False, load_from="DiskUsedSize"), - "VirtualIPMac": fields.Str(required=False, load_from="VirtualIPMac"), - "VPCId": fields.Str(required=False, load_from="VPCId"), - "ParamGroupId": fields.Int(required=False, load_from="ParamGroupId"), "VirtualIP": fields.Str(required=False, load_from="VirtualIP"), + "VPCId": fields.Str(required=False, load_from="VPCId"), + "SrcDBId": fields.Str(required=False, load_from="SrcDBId"), + "BackupBeginTime": fields.Int(required=False, load_from="BackupBeginTime"), + "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), + "LogFileSize": fields.Float(required=False, load_from="LogFileSize"), + "DBTypeId": fields.Str(required=False, load_from="DBTypeId"), + "AdminUser": fields.Str(required=False, load_from="AdminUser"), + "InstanceType": fields.Str(required=False, load_from="InstanceType"), "BackupDuration": fields.Int(required=False, load_from="BackupDuration"), - "BackupBlacklist": fields.Str(required=False, load_from="BackupBlacklist"), - "SystemFileSize": fields.Float(required=False, load_from="SystemFileSize"), + "DiskUsedSize": fields.Float(required=False, load_from="DiskUsedSize"), + "CluserRole": fields.Str(required=False, load_from="CluserRole"), + "InstanceTypeId": fields.Int(required=False, load_from="InstanceTypeId"), + "Port": fields.Int(required=False, load_from="Port"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), "BackupZone": fields.Str(required=False, load_from="BackupZone"), + "DBId": fields.Str(required=False, load_from="DBId"), "Name": fields.Str(required=False, load_from="Name"), - "DBTypeId": fields.Str(required=False, load_from="DBTypeId"), + "Tag": fields.Str(required=False, load_from="Tag"), + "State": fields.Str(required=False, load_from="State"), + "InstanceMode": fields.Str(required=False, load_from="InstanceMode"), } @@ -118,18 +118,21 @@ class UDBInstanceBinlogSetSchema(schema.ResponseSchema): """ fields = { - "Name": fields.Str(required=False, load_from="Name"), "Size": fields.Int(required=False, load_from="Size"), "BeginTime": fields.Int(required=False, load_from="BeginTime"), "EndTime": fields.Int(required=False, load_from="EndTime"), + "Name": fields.Str(required=False, load_from="Name"), } -class UDBTypeSetSchema(schema.ResponseSchema): - """ UDBTypeSet - DescribeUDBType +class UDBInstancePriceSetSchema(schema.ResponseSchema): + """ UDBInstancePriceSet - DescribeUDBInstancePrice """ - fields = {"DBTypeId": fields.Str(required=False, load_from="DBTypeId")} + fields = { + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "Price": fields.Float(required=False, load_from="Price"), + } class LogPackageDataSetSchema(schema.ResponseSchema): @@ -137,26 +140,16 @@ class LogPackageDataSetSchema(schema.ResponseSchema): """ fields = { - "BackupName": fields.Str(required=False, load_from="BackupName"), - "State": fields.Str(required=False, load_from="State"), "DBId": fields.Str(required=False, load_from="DBId"), - "BackupZone": fields.Str(required=False, load_from="BackupZone"), + "Zone": fields.Str(required=False, load_from="Zone"), "BackupId": fields.Int(required=False, load_from="BackupId"), + "BackupName": fields.Str(required=False, load_from="BackupName"), "BackupTime": fields.Int(required=False, load_from="BackupTime"), - "BackupSize": fields.Int(required=False, load_from="BackupSize"), "BackupType": fields.Int(required=False, load_from="BackupType"), + "State": fields.Str(required=False, load_from="State"), + "BackupSize": fields.Int(required=False, load_from="BackupSize"), "DBName": fields.Str(required=False, load_from="DBName"), - "Zone": fields.Str(required=False, load_from="Zone"), - } - - -class UDBInstancePriceSetSchema(schema.ResponseSchema): - """ UDBInstancePriceSet - DescribeUDBInstancePrice - """ - - fields = { - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "Price": fields.Float(required=False, load_from="Price"), + "BackupZone": fields.Str(required=False, load_from="BackupZone"), } @@ -165,13 +158,13 @@ class UDBParamMemberSetSchema(schema.ResponseSchema): """ fields = { + "AllowedVal": fields.Str(required=False, load_from="AllowedVal"), "ApplyType": fields.Int(required=False, load_from="ApplyType"), "Modifiable": fields.Bool(required=False, load_from="Modifiable"), "FormatType": fields.Int(required=False, load_from="FormatType"), "Key": fields.Str(required=False, load_from="Key"), "Value": fields.Str(required=False, load_from="Value"), "ValueType": fields.Int(required=False, load_from="ValueType"), - "AllowedVal": fields.Str(required=False, load_from="AllowedVal"), } @@ -180,12 +173,19 @@ class UDBParamGroupSetSchema(schema.ResponseSchema): """ fields = { + "Modifiable": fields.Bool(required=False, load_from="Modifiable"), + "ParamMember": fields.List(UDBParamMemberSetSchema()), "Zone": fields.Str(required=False, load_from="Zone"), "RegionFlag": fields.Bool(required=False, load_from="RegionFlag"), "GroupId": fields.Int(required=False, load_from="GroupId"), "GroupName": fields.Str(required=False, load_from="GroupName"), "DBTypeId": fields.Str(required=False, load_from="DBTypeId"), "Description": fields.Str(required=False, load_from="Description"), - "Modifiable": fields.Bool(required=False, load_from="Modifiable"), - "ParamMember": fields.List(UDBParamMemberSetSchema()), } + + +class UDBTypeSetSchema(schema.ResponseSchema): + """ UDBTypeSet - DescribeUDBType + """ + + fields = {"DBTypeId": fields.Str(required=False, load_from="DBTypeId")} diff --git a/ucloud/services/udisk/client.py b/ucloud/services/udisk/client.py index d4d148d..48a72d2 100644 --- a/ucloud/services/udisk/client.py +++ b/ucloud/services/udisk/client.py @@ -8,19 +8,50 @@ class UDiskClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(UDiskClient, self).__init__(config, transport, middleware, logger) + def attach_udisk(self, req=None, **kwargs): + """ AttachUDisk - 将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UDiskId** (str) - (Required) 需要挂载的UDisk实例ID. + - **UHostId** (str) - (Required) UHost实例ID + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **MultiAttach** (str) - 是否允许多点挂载(Yes: 允许多点挂载, No: 不允许多点挂载, 不填默认Yes ) + + **Response** + + - **UHostId** (str) - 挂载的UHost实例ID + - **UDiskId** (str) - 挂载的UDisk实例ID + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.AttachUDiskRequestSchema().dumps(d) + resp = self.invoke("AttachUDisk", d, **kwargs) + return apis.AttachUDiskResponseSchema().loads(resp) + def clone_udisk(self, req=None, **kwargs): """ CloneUDisk - 从UDisk创建UDisk克隆 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 实例名称 - :param SourceId: (Required) 克隆父Disk的Id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) Year , Month, Dynamic,Postpay 默认: Dynamic - :param Comment: (Optional) Disk注释 - :param CouponId: (Optional) 使用的代金券id - :param Quantity: (Optional) 购买时长 默认: 1 - :param UDataArkMode: (Optional) 方舟是否开启,"Yes":开启,"No":关闭;默认为"No" + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 实例名称 + - **SourceId** (str) - (Required) 克隆父Disk的Id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - Year , Month, Dynamic,Postpay 默认: Dynamic + - **Comment** (str) - Disk注释 + - **CouponId** (str) - 使用的代金券id + - **Quantity** (int) - 购买时长 默认: 1 + - **UDataArkMode** (str) - 方舟是否开启,"Yes":开启,"No":关闭;默认为"No" + + **Response** + + - **UDiskId** (list) - 创建UDisk Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -32,17 +63,24 @@ def clone_udisk(self, req=None, **kwargs): def clone_udisk_snapshot(self, req=None, **kwargs): """ CloneUDiskSnapshot - 从快照创建UDisk克隆 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 实例名称 - :param Size: (Required) 购买UDisk大小,单位:GB,范围[1~2000], 权限位控制可达8T,若需要请申请开通相关权限。 - :param SourceId: (Required) 克隆父Snapshot的Id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) Year , Month, Dynamic,Postpay 默认: Dynamic - :param Comment: (Optional) Disk注释 - :param CouponId: (Optional) 使用的代金券id - :param Quantity: (Optional) 购买时长 默认: 1 - :param UDataArkMode: (Optional) 是否开启数据方舟 默认:No + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 实例名称 + - **Size** (int) - (Required) 购买UDisk大小,单位:GB,范围[1~2000], 权限位控制可达8T,若需要请申请开通相关权限。 + - **SourceId** (str) - (Required) 克隆父Snapshot的Id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - Year , Month, Dynamic,Postpay 默认: Dynamic + - **Comment** (str) - Disk注释 + - **CouponId** (str) - 使用的代金券id + - **Quantity** (int) - 购买时长 默认: 1 + - **UDataArkMode** (str) - 是否开启数据方舟 默认:No + + **Response** + + - **UDiskId** (list) - 创建UDisk Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -54,19 +92,26 @@ def clone_udisk_snapshot(self, req=None, **kwargs): def create_udisk(self, req=None, **kwargs): """ CreateUDisk - 创建UDisk磁盘 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 实例名称 - :param Size: (Required) 购买UDisk大小,单位:GB,普通盘: 范围[1~2000], 权限位控制可达8T,若需要请申请开通相关权限;SSD盘: 范围[1~4000]。 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) Year , Month, Dynamic, Postpay, Trial 默认: Dynamic - :param CmkId: (Optional) 加密需要的cmk id,UKmsMode为Yes时,必填 - :param CouponId: (Optional) 使用的代金券id - :param DiskType: (Optional) UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),默认值(DataDisk) - :param Quantity: (Optional) 购买时长 默认: 1 - :param Tag: (Optional) 业务组 默认:Default - :param UDataArkMode: (Optional) 是否开启数据方舟 - :param UKmsMode: (Optional) 是否加密。Yes:加密,No:不加密,默认值(No) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 实例名称 + - **Size** (int) - (Required) 购买UDisk大小,单位:GB,普通盘: 范围[1~2000], 权限位控制可达8T,若需要请申请开通相关权限;SSD盘: 范围[1~4000]。 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - Year , Month, Dynamic, Postpay, Trial 默认: Dynamic + - **CmkId** (str) - 加密需要的cmk id,UKmsMode为Yes时,必填 + - **CouponId** (str) - 使用的代金券id + - **DiskType** (str) - UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),默认值(DataDisk) + - **Quantity** (int) - 购买时长 默认: 1 + - **Tag** (str) - 业务组 默认:Default + - **UDataArkMode** (str) - 是否开启数据方舟 + - **UKmsMode** (str) - 是否加密。Yes:加密,No:不加密,默认值(No) + + **Response** + + - **UDiskId** (list) - UDisk实例Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -78,14 +123,21 @@ def create_udisk(self, req=None, **kwargs): def create_udisk_snapshot(self, req=None, **kwargs): """ CreateUDiskSnapshot - 创建snapshot快照 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 快照名称 - :param UDiskId: (Required) 快照的UDisk的Id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) Year , Month, Dynamic 默认: Dynamic - :param Comment: (Optional) 快照描述 - :param Quantity: (Optional) 购买时长 默认: 1 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 快照名称 + - **UDiskId** (str) - (Required) 快照的UDisk的Id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - Year , Month, Dynamic 默认: Dynamic + - **Comment** (str) - 快照描述 + - **Quantity** (int) - 购买时长 默认: 1 + + **Response** + + - **SnapshotId** (list) - 快照Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -97,10 +149,16 @@ def create_udisk_snapshot(self, req=None, **kwargs): def delete_udisk(self, req=None, **kwargs): """ DeleteUDisk - 删除UDisk - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UDiskId: (Required) 要删除的UDisk的Id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UDiskId** (str) - (Required) 要删除的UDisk的Id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -108,17 +166,110 @@ def delete_udisk(self, req=None, **kwargs): resp = self.invoke("DeleteUDisk", d, **kwargs) return apis.DeleteUDiskResponseSchema().loads(resp) + def delete_udisk_snapshot(self, req=None, **kwargs): + """ DeleteUDiskSnapshot - 删除Snapshot + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SnapshotId** (str) - (Required) 快照Id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **UDiskId** (str) - UDisk Id,删除该盘所创建出来的所有快照 + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DeleteUDiskSnapshotRequestSchema().dumps(d) + resp = self.invoke("DeleteUDiskSnapshot", d, **kwargs) + return apis.DeleteUDiskSnapshotResponseSchema().loads(resp) + + def describe_udisk(self, req=None, **kwargs): + """ DescribeUDisk - 获取UDisk实例 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DiskType** (str) - 普通数据盘:DataDisk; 普通系统盘:SystemDisk; SSD数据盘:SSDDataDisk; RSSD数据盘:RSSDDataDisk; 为空拉取所有 + - **Limit** (int) - 返回数据长度, 默认为20 + - **Offset** (int) - 数据偏移量, 默认为0 + - **UDiskId** (str) - UDisk Id(留空返回全部) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DataSet** (list) - 见 **UDiskDataSet** 模型定义 + - **TotalCount** (int) - 根据过滤条件得到的总数 + + **Response Model** + + **UDiskDataSet** + + - **CreateTime** (int) - 创建时间 + - **UHostId** (str) - 挂载的UHost的Id + - **ChargeType** (str) - Year,Month,Dynamic,Trial,Postpay + - **Status** (str) - 状态:Available(可用),Attaching(挂载中), InUse(已挂载), Detaching(卸载中), Initializating(分配中), Failed(创建失败),Cloning(克隆中),Restoring(恢复中),RestoreFailed(恢复失败), + - **ExpiredTime** (int) - 过期时间 + - **ArkSwitchEnable** (int) - 是否支持开启方舟,1支持 ,0不支持 + - **CloneEnable** (int) - 是否支持克隆,1支持 ,0不支持 + - **CmkIdStatus** (str) - 该盘cmk的状态, Enabled(正常),Disabled(失效),Deleted(删除),NoCmkId(非加密盘) + - **Zone** (str) - 可用区 + - **UHostIP** (str) - 挂载的UHost的IP + - **UDiskId** (str) - UDisk实例Id + - **IsExpire** (str) - 资源是否过期,过期:"Yes", 未过期:"No" + - **DiskType** (str) - 云硬盘类型: 普通数据盘:DataDisk,普通系统盘:SystemDisk,SSD数据盘:SSDDataDisk,RSSD数据盘:RSSDDataDisk + - **SnapEnable** (int) - 是否支持快照,1支持 ,0不支持 + - **UKmsMode** (str) - 是否是加密盘,是:"Yes", 否:"No" + - **CmkId** (str) - 该盘的cmk id + - **SnapshotCount** (int) - 该盘快照个数 + - **SnapshotLimit** (int) - 该盘快照上限 + - **Size** (int) - 容量单位GB + - **Tag** (str) - 业务组名称 + - **Version** (str) - 是否支持数据方舟,支持:"2.0", 不支持:"1.0" + - **UDataArkMode** (str) - 是否开启数据方舟,开启:"Yes", 不支持:"No" + - **DataKey** (str) - 该盘的密文密钥 + - **Name** (str) - 实例名称 + - **DeviceName** (str) - 挂载的设备名称 + - **UHostName** (str) - 挂载的UHost的Name + - **CmkIdAlias** (str) - cmk id 别名 + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeUDiskRequestSchema().dumps(d) + resp = self.invoke("DescribeUDisk", d, **kwargs) + return apis.DescribeUDiskResponseSchema().loads(resp) + def describe_udisk_price(self, req=None, **kwargs): """ DescribeUDiskPrice - 获取UDisk实例价格信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 购买UDisk大小,单位:GB,范围[1~1000] - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) Year, Month, Dynamic,Trial,默认: Dynamic 如果不指定,则一次性获取三种计费 - :param DiskType: (Optional) UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),默认值(DataDisk) - :param Quantity: (Optional) 购买UDisk的时长,默认值为1 - :param UDataArkMode: (Optional) 是否打开数据方舟, 打开"Yes",关闭"No", 默认关闭 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 购买UDisk大小,单位:GB,范围[1~1000] + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - Year, Month, Dynamic,Trial,默认: Dynamic 如果不指定,则一次性获取三种计费 + - **DiskType** (str) - UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),默认值(DataDisk) + - **Quantity** (int) - 购买UDisk的时长,默认值为1 + - **UDataArkMode** (str) - 是否打开数据方舟, 打开"Yes",关闭"No", 默认关闭 + + **Response** + + - **DataSet** (list) - 见 **UDiskPriceDataSet** 模型定义 + + **Response Model** + + **UDiskPriceDataSet** + + - **ChargeName** (str) - "UDataArk","UDisk" + - **ChargeType** (str) - Year, Month, Dynamic,Trial + - **Price** (float) - 价格 (单位: 分) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -126,60 +277,94 @@ def describe_udisk_price(self, req=None, **kwargs): resp = self.invoke("DescribeUDiskPrice", d, **kwargs) return apis.DescribeUDiskPriceResponseSchema().loads(resp) - def set_udisk__udataark_mode(self, req=None, **kwargs): - """ SetUDiskUDataArkMode - 设置UDisk数据方舟的状态 + def describe_udisk_snapshot(self, req=None, **kwargs): + """ DescribeUDiskSnapshot - 获取UDisk快照 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - 返回数据长度, 默认为20 + - **Offset** (int) - 数据偏移量, 默认为0 + - **SnapshotId** (str) - 快照id,SnapshotId , UDiskId 同时传SnapshotId优先 + - **UDiskId** (str) - UDiskId,返回该盘所做快照.(必须同时传Zone) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TotalCount** (int) - 根据过滤条件得到的总数 + - **DataSet** (list) - 见 **UDiskSnapshotSet** 模型定义 + + **Response Model** + + **UDiskSnapshotSet** + + - **CmkId** (str) - 该快照的cmk id + - **CmkIdStatus** (str) - 该快照cmk的状态, Enabled(正常),Disabled(失效),Deleted(删除),NoCmkId(非加密盘) + - **Name** (str) - 快照名称 + - **UDiskId** (str) - 快照的源UDisk的Id + - **ExpiredTime** (int) - 过期时间 + - **Size** (int) - 容量单位GB + - **CmkIdAlias** (str) - cmk id 别名 + - **IsUDiskAvailable** (bool) - 对应磁盘是否处于可用状态 + - **UHostId** (str) - 对应磁盘制作快照时所挂载的主机 + - **DataKey** (str) - 该快照的密文密钥 + - **Status** (str) - 快照状态,Normal:正常,Failed:失败,Creating:制作中 + - **DiskType** (int) - 磁盘类型,0:数据盘,1:系统盘 + - **Comment** (str) - 快照描述 + - **Version** (str) - 快照版本 + - **UKmsMode** (str) - 是否是加密盘快照,是:"Yes", 否:"No" + - **SnapshotId** (str) - 快照Id + - **UDiskName** (str) - 快照的源UDisk的Name + - **CreateTime** (int) - 创建时间 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UDataArkMode: (Required) 是否开启数据方舟,开启:"Yes", 不支持:"No" - :param UDiskId: (Required) 需要设置数据方舟的UDisk的Id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.SetUDiskUDataArkModeRequestSchema().dumps(d) - resp = self.invoke("SetUDiskUDataArkMode", d, **kwargs) - return apis.SetUDiskUDataArkModeResponseSchema().loads(resp) + d = apis.DescribeUDiskSnapshotRequestSchema().dumps(d) + resp = self.invoke("DescribeUDiskSnapshot", d, **kwargs) + return apis.DescribeUDiskSnapshotResponseSchema().loads(resp) - def attach_udisk(self, req=None, **kwargs): - """ AttachUDisk - 将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 + def describe_udisk_upgrade_price(self, req=None, **kwargs): + """ DescribeUDiskUpgradePrice - 获取UDisk升级价格信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UDiskId: (Required) 需要挂载的UDisk实例ID. - :param UHostId: (Required) UHost实例ID - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param MultiAttach: (Optional) 是否允许多点挂载(Yes: 允许多点挂载, No: 不允许多点挂载, 不填默认Yes ) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.AttachUDiskRequestSchema().dumps(d) - resp = self.invoke("AttachUDisk", d, **kwargs) - return apis.AttachUDiskResponseSchema().loads(resp) + **Request** - def delete_udisk_snapshot(self, req=None, **kwargs): - """ DeleteUDiskSnapshot - 删除Snapshot + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 购买UDisk大小,单位:GB,范围[1~2000], 权限位控制可达8T,若需要请申请开通相关权限。 + - **SourceId** (str) - (Required) 升级目标UDisk ID + - **UDataArkMode** (str) - (Required) 是否打开数据方舟, 打开"Yes",关闭"No", 默认关闭 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **DiskType** (str) - 磁盘类型,SSDDataDisk:ssd数据盘,DataDisk:普通数据盘,SystemDisk:普通系统盘,SSDSystemDisk:ssd系统盘。默认为DataDisk + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SnapshotId: (Required) 快照Id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param UDiskId: (Optional) UDisk Id,删除该盘所创建出来的所有快照 + - **Price** (float) - 价格 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteUDiskSnapshotRequestSchema().dumps(d) - resp = self.invoke("DeleteUDiskSnapshot", d, **kwargs) - return apis.DeleteUDiskSnapshotResponseSchema().loads(resp) + d = apis.DescribeUDiskUpgradePriceRequestSchema().dumps(d) + resp = self.invoke("DescribeUDiskUpgradePrice", d, **kwargs) + return apis.DescribeUDiskUpgradePriceResponseSchema().loads(resp) def detach_udisk(self, req=None, **kwargs): """ DetachUDisk - 卸载某个已经挂载在指定UHost实例上的UDisk - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UDiskId: (Required) 需要卸载的UDisk实例ID - :param UHostId: (Required) UHost实例ID - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UDiskId** (str) - (Required) 需要卸载的UDisk实例ID + - **UHostId** (str) - (Required) UHost实例ID + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + + **Response** + + - **UHostId** (str) - 卸载的UHost实例ID + - **UDiskId** (str) - 卸载的UDisk实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -187,15 +372,42 @@ def detach_udisk(self, req=None, **kwargs): resp = self.invoke("DetachUDisk", d, **kwargs) return apis.DetachUDiskResponseSchema().loads(resp) + def rename_udisk(self, req=None, **kwargs): + """ RenameUDisk - 重命名UDisk + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UDiskId** (str) - (Required) 重命名的UDisk的Id + - **UDiskName** (str) - (Required) 重命名UDisk的name + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.RenameUDiskRequestSchema().dumps(d) + resp = self.invoke("RenameUDisk", d, **kwargs) + return apis.RenameUDiskResponseSchema().loads(resp) + def resize_udisk(self, req=None, **kwargs): """ ResizeUDisk - 调整UDisk容量 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 调整后大小, 单位:GB, 范围[1~2000],权限位控制可达8000,若需要请申请开通相关权限。 - :param UDiskId: (Required) UDisk Id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param CouponId: (Optional) 使用的代金券id + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 调整后大小, 单位:GB, 范围[1~2000],权限位控制可达8000,若需要请申请开通相关权限。 + - **UDiskId** (str) - (Required) UDisk Id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **CouponId** (str) - 使用的代金券id + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -206,12 +418,18 @@ def resize_udisk(self, req=None, **kwargs): def restore_udisk(self, req=None, **kwargs): """ RestoreUDisk - 从备份恢复数据至UDisk - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UDiskId: (Required) 需要恢复的盘id - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param SnapshotId: (Optional) 从指定的快照恢复 - :param SnapshotTime: (Optional) 指定从方舟恢复的备份时间点 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UDiskId** (str) - (Required) 需要恢复的盘id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **SnapshotId** (str) - 从指定的快照恢复 + - **SnapshotTime** (int) - 指定从方舟恢复的备份时间点 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -219,68 +437,23 @@ def restore_udisk(self, req=None, **kwargs): resp = self.invoke("RestoreUDisk", d, **kwargs) return apis.RestoreUDiskResponseSchema().loads(resp) - def describe_udisk(self, req=None, **kwargs): - """ DescribeUDisk - 获取UDisk实例 - - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DiskType: (Optional) 普通数据盘:DataDisk; 普通系统盘:SystemDisk; SSD数据盘:SSDDataDisk; RSSD数据盘:RSSDDataDisk; 为空拉取所有 - :param Limit: (Optional) 返回数据长度, 默认为20 - :param Offset: (Optional) 数据偏移量, 默认为0 - :param UDiskId: (Optional) UDisk Id(留空返回全部) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeUDiskRequestSchema().dumps(d) - resp = self.invoke("DescribeUDisk", d, **kwargs) - return apis.DescribeUDiskResponseSchema().loads(resp) - - def describe_udisk_snapshot(self, req=None, **kwargs): - """ DescribeUDiskSnapshot - 获取UDisk快照 - - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Optional) 返回数据长度, 默认为20 - :param Offset: (Optional) 数据偏移量, 默认为0 - :param SnapshotId: (Optional) 快照id,SnapshotId , UDiskId 同时传SnapshotId优先 - :param UDiskId: (Optional) UDiskId,返回该盘所做快照.(必须同时传Zone) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeUDiskSnapshotRequestSchema().dumps(d) - resp = self.invoke("DescribeUDiskSnapshot", d, **kwargs) - return apis.DescribeUDiskSnapshotResponseSchema().loads(resp) - - def describe_udisk_upgrade_price(self, req=None, **kwargs): - """ DescribeUDiskUpgradePrice - 获取UDisk升级价格信息 + def set_udisk__udataark_mode(self, req=None, **kwargs): + """ SetUDiskUDataArkMode - 设置UDisk数据方舟的状态 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 购买UDisk大小,单位:GB,范围[1~2000], 权限位控制可达8T,若需要请申请开通相关权限。 - :param SourceId: (Required) 升级目标UDisk ID - :param UDataArkMode: (Required) 是否打开数据方舟, 打开"Yes",关闭"No", 默认关闭 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param DiskType: (Optional) 磁盘类型,SSDDataDisk:ssd数据盘,DataDisk:普通数据盘,SystemDisk:普通系统盘,SSDSystemDisk:ssd系统盘。默认为DataDisk - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeUDiskUpgradePriceRequestSchema().dumps(d) - resp = self.invoke("DescribeUDiskUpgradePrice", d, **kwargs) - return apis.DescribeUDiskUpgradePriceResponseSchema().loads(resp) + **Request** - def rename_udisk(self, req=None, **kwargs): - """ RenameUDisk - 重命名UDisk + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UDataArkMode** (str) - (Required) 是否开启数据方舟,开启:"Yes", 不支持:"No" + - **UDiskId** (str) - (Required) 需要设置数据方舟的UDisk的Id + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UDiskId: (Required) 重命名的UDisk的Id - :param UDiskName: (Required) 重命名UDisk的name - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.RenameUDiskRequestSchema().dumps(d) - resp = self.invoke("RenameUDisk", d, **kwargs) - return apis.RenameUDiskResponseSchema().loads(resp) + d = apis.SetUDiskUDataArkModeRequestSchema().dumps(d) + resp = self.invoke("SetUDiskUDataArkMode", d, **kwargs) + return apis.SetUDiskUDataArkModeResponseSchema().loads(resp) diff --git a/ucloud/services/udisk/schemas/apis.py b/ucloud/services/udisk/schemas/apis.py index b0a2102..727df06 100644 --- a/ucloud/services/udisk/schemas/apis.py +++ b/ucloud/services/udisk/schemas/apis.py @@ -6,36 +6,33 @@ """ UDisk API Schema """ """ -API: DescribeUDiskSnapshot +API: AttachUDisk -获取UDisk快照 +将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 """ -class DescribeUDiskSnapshotRequestSchema(schema.RequestSchema): - """ DescribeUDiskSnapshot - 获取UDisk快照 +class AttachUDiskRequestSchema(schema.RequestSchema): + """ AttachUDisk - 将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 """ fields = { - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "UDiskId": fields.Str(required=False, dump_to="UDiskId"), - "SnapshotId": fields.Str(required=False, dump_to="SnapshotId"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UHostId": fields.Str(required=True, dump_to="UHostId"), + "UDiskId": fields.Str(required=True, dump_to="UDiskId"), + "MultiAttach": fields.Str(required=False, dump_to="MultiAttach"), } -class DescribeUDiskSnapshotResponseSchema(schema.ResponseSchema): - """ DescribeUDiskSnapshot - 获取UDisk快照 +class AttachUDiskResponseSchema(schema.ResponseSchema): + """ AttachUDisk - 将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 """ fields = { - "DataSet": fields.List( - models.UDiskSnapshotSetSchema(), required=False, load_from="DataSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "UHostId": fields.Str(required=False, load_from="UHostId"), + "UDiskId": fields.Str(required=False, load_from="UDiskId"), } @@ -51,16 +48,16 @@ class CloneUDiskRequestSchema(schema.RequestSchema): """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "SourceId": fields.Str(required=True, dump_to="SourceId"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), + "Comment": fields.Str(required=False, dump_to="Comment"), "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "CouponId": fields.Str(required=False, dump_to="CouponId"), + "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "Name": fields.Str(required=True, dump_to="Name"), + "SourceId": fields.Str(required=True, dump_to="SourceId"), + "Zone": fields.Str(required=True, dump_to="Zone"), "UDataArkMode": fields.Str(required=False, dump_to="UDataArkMode"), - "Comment": fields.Str(required=False, dump_to="Comment"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), } @@ -72,267 +69,287 @@ class CloneUDiskResponseSchema(schema.ResponseSchema): """ -API: CreateUDisk +API: CloneUDiskSnapshot -创建UDisk磁盘 +从快照创建UDisk克隆 """ -class CreateUDiskRequestSchema(schema.RequestSchema): - """ CreateUDisk - 创建UDisk磁盘 +class CloneUDiskSnapshotRequestSchema(schema.RequestSchema): + """ CloneUDiskSnapshot - 从快照创建UDisk克隆 """ fields = { "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UDataArkMode": fields.Str(required=False, dump_to="UDataArkMode"), - "DiskType": fields.Str(required=False, dump_to="DiskType"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "UKmsMode": fields.Str(required=False, dump_to="UKmsMode"), - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "Size": fields.Int(required=True, dump_to="Size"), "Name": fields.Str(required=True, dump_to="Name"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Size": fields.Int(required=True, dump_to="Size"), + "Comment": fields.Str(required=False, dump_to="Comment"), "Quantity": fields.Int(required=False, dump_to="Quantity"), - "CmkId": fields.Str(required=False, dump_to="CmkId"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "SourceId": fields.Str(required=True, dump_to="SourceId"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "UDataArkMode": fields.Str(required=False, dump_to="UDataArkMode"), "CouponId": fields.Str(required=False, dump_to="CouponId"), + "Region": fields.Str(required=True, dump_to="Region"), } -class CreateUDiskResponseSchema(schema.ResponseSchema): - """ CreateUDisk - 创建UDisk磁盘 +class CloneUDiskSnapshotResponseSchema(schema.ResponseSchema): + """ CloneUDiskSnapshot - 从快照创建UDisk克隆 """ fields = {"UDiskId": fields.List(fields.Str(), required=False, load_from="UDiskId")} """ -API: DeleteUDiskSnapshot +API: CreateUDisk -删除Snapshot +创建UDisk磁盘 """ -class DeleteUDiskSnapshotRequestSchema(schema.RequestSchema): - """ DeleteUDiskSnapshot - 删除Snapshot +class CreateUDiskRequestSchema(schema.RequestSchema): + """ CreateUDisk - 创建UDisk磁盘 """ fields = { - "UDiskId": fields.Str(required=False, dump_to="UDiskId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), + "Size": fields.Int(required=True, dump_to="Size"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "UKmsMode": fields.Str(required=False, dump_to="UKmsMode"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SnapshotId": fields.Str(required=True, dump_to="SnapshotId"), + "Name": fields.Str(required=True, dump_to="Name"), + "UDataArkMode": fields.Str(required=False, dump_to="UDataArkMode"), + "DiskType": fields.Str(required=False, dump_to="DiskType"), + "CmkId": fields.Str(required=False, dump_to="CmkId"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), } -class DeleteUDiskSnapshotResponseSchema(schema.ResponseSchema): - """ DeleteUDiskSnapshot - 删除Snapshot +class CreateUDiskResponseSchema(schema.ResponseSchema): + """ CreateUDisk - 创建UDisk磁盘 """ - fields = {} + fields = {"UDiskId": fields.List(fields.Str(), required=False, load_from="UDiskId")} """ -API: AttachUDisk +API: CreateUDiskSnapshot -将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 +创建snapshot快照 """ -class AttachUDiskRequestSchema(schema.RequestSchema): - """ AttachUDisk - 将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 +class CreateUDiskSnapshotRequestSchema(schema.RequestSchema): + """ CreateUDiskSnapshot - 创建snapshot快照 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UHostId": fields.Str(required=True, dump_to="UHostId"), - "UDiskId": fields.Str(required=True, dump_to="UDiskId"), - "MultiAttach": fields.Str(required=False, dump_to="MultiAttach"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UDiskId": fields.Str(required=True, dump_to="UDiskId"), + "Name": fields.Str(required=True, dump_to="Name"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "Comment": fields.Str(required=False, dump_to="Comment"), } -class AttachUDiskResponseSchema(schema.ResponseSchema): - """ AttachUDisk - 将一个可用的UDisk挂载到某台主机上,当UDisk挂载成功后,还需要在主机内部进行文件系统操作 +class CreateUDiskSnapshotResponseSchema(schema.ResponseSchema): + """ CreateUDiskSnapshot - 创建snapshot快照 """ fields = { - "UHostId": fields.Str(required=False, load_from="UHostId"), - "UDiskId": fields.Str(required=False, load_from="UDiskId"), + "SnapshotId": fields.List(fields.Str(), required=True, load_from="SnapshotId") } """ -API: DescribeUDiskUpgradePrice +API: DeleteUDisk -获取UDisk升级价格信息 +删除UDisk """ -class DescribeUDiskUpgradePriceRequestSchema(schema.RequestSchema): - """ DescribeUDiskUpgradePrice - 获取UDisk升级价格信息 +class DeleteUDiskRequestSchema(schema.RequestSchema): + """ DeleteUDisk - 删除UDisk """ fields = { - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "Size": fields.Int(required=True, dump_to="Size"), - "SourceId": fields.Str(required=True, dump_to="SourceId"), - "UDataArkMode": fields.Str(required=True, dump_to="UDataArkMode"), - "DiskType": fields.Str(required=False, dump_to="DiskType"), - "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UDiskId": fields.Str(required=True, dump_to="UDiskId"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DescribeUDiskUpgradePriceResponseSchema(schema.ResponseSchema): - """ DescribeUDiskUpgradePrice - 获取UDisk升级价格信息 +class DeleteUDiskResponseSchema(schema.ResponseSchema): + """ DeleteUDisk - 删除UDisk """ - fields = {"Price": fields.Float(required=False, load_from="Price")} + fields = {} """ -API: SetUDiskUDataArkMode +API: DeleteUDiskSnapshot -设置UDisk数据方舟的状态 +删除Snapshot """ -class SetUDiskUDataArkModeRequestSchema(schema.RequestSchema): - """ SetUDiskUDataArkMode - 设置UDisk数据方舟的状态 +class DeleteUDiskSnapshotRequestSchema(schema.RequestSchema): + """ DeleteUDiskSnapshot - 删除Snapshot """ fields = { - "Zone": fields.Str(required=True, dump_to="Zone"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "UDiskId": fields.Str(required=True, dump_to="UDiskId"), - "UDataArkMode": fields.Str(required=True, dump_to="UDataArkMode"), + "SnapshotId": fields.Str(required=True, dump_to="SnapshotId"), + "UDiskId": fields.Str(required=False, dump_to="UDiskId"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class SetUDiskUDataArkModeResponseSchema(schema.ResponseSchema): - """ SetUDiskUDataArkMode - 设置UDisk数据方舟的状态 +class DeleteUDiskSnapshotResponseSchema(schema.ResponseSchema): + """ DeleteUDiskSnapshot - 删除Snapshot """ fields = {} """ -API: RestoreUDisk +API: DescribeUDisk -从备份恢复数据至UDisk +获取UDisk实例 """ -class RestoreUDiskRequestSchema(schema.RequestSchema): - """ RestoreUDisk - 从备份恢复数据至UDisk +class DescribeUDiskRequestSchema(schema.RequestSchema): + """ DescribeUDisk - 获取UDisk实例 """ fields = { + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "DiskType": fields.Str(required=False, dump_to="DiskType"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UDiskId": fields.Str(required=True, dump_to="UDiskId"), - "SnapshotId": fields.Str(required=False, dump_to="SnapshotId"), - "SnapshotTime": fields.Int(required=False, dump_to="SnapshotTime"), + "UDiskId": fields.Str(required=False, dump_to="UDiskId"), } -class RestoreUDiskResponseSchema(schema.ResponseSchema): - """ RestoreUDisk - 从备份恢复数据至UDisk +class DescribeUDiskResponseSchema(schema.ResponseSchema): + """ DescribeUDisk - 获取UDisk实例 """ - fields = {} + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSet": fields.List( + models.UDiskDataSetSchema(), required=False, load_from="DataSet" + ), + } """ -API: DeleteUDisk +API: DescribeUDiskPrice -删除UDisk +获取UDisk实例价格信息 """ -class DeleteUDiskRequestSchema(schema.RequestSchema): - """ DeleteUDisk - 删除UDisk +class DescribeUDiskPriceRequestSchema(schema.RequestSchema): + """ DescribeUDiskPrice - 获取UDisk实例价格信息 """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UDiskId": fields.Str(required=True, dump_to="UDiskId"), + "Size": fields.Int(required=True, dump_to="Size"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "UDataArkMode": fields.Str(required=False, dump_to="UDataArkMode"), + "DiskType": fields.Str(required=False, dump_to="DiskType"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DeleteUDiskResponseSchema(schema.ResponseSchema): - """ DeleteUDisk - 删除UDisk +class DescribeUDiskPriceResponseSchema(schema.ResponseSchema): + """ DescribeUDiskPrice - 获取UDisk实例价格信息 """ - fields = {} + fields = { + "DataSet": fields.List( + models.UDiskPriceDataSetSchema(), required=False, load_from="DataSet" + ) + } """ -API: DescribeUDisk +API: DescribeUDiskSnapshot -获取UDisk实例 +获取UDisk快照 """ -class DescribeUDiskRequestSchema(schema.RequestSchema): - """ DescribeUDisk - 获取UDisk实例 +class DescribeUDiskSnapshotRequestSchema(schema.RequestSchema): + """ DescribeUDiskSnapshot - 获取UDisk快照 """ fields = { "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UDiskId": fields.Str(required=False, dump_to="UDiskId"), "Offset": fields.Int(required=False, dump_to="Offset"), "Limit": fields.Int(required=False, dump_to="Limit"), - "DiskType": fields.Str(required=False, dump_to="DiskType"), + "UDiskId": fields.Str(required=False, dump_to="UDiskId"), + "SnapshotId": fields.Str(required=False, dump_to="SnapshotId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), } -class DescribeUDiskResponseSchema(schema.ResponseSchema): - """ DescribeUDisk - 获取UDisk实例 +class DescribeUDiskSnapshotResponseSchema(schema.ResponseSchema): + """ DescribeUDiskSnapshot - 获取UDisk快照 """ fields = { "DataSet": fields.List( - models.UDiskDataSetSchema(), required=False, load_from="DataSet" + models.UDiskSnapshotSetSchema(), required=False, load_from="DataSet" ), "TotalCount": fields.Int(required=False, load_from="TotalCount"), } """ -API: RenameUDisk +API: DescribeUDiskUpgradePrice -重命名UDisk +获取UDisk升级价格信息 """ -class RenameUDiskRequestSchema(schema.RequestSchema): - """ RenameUDisk - 重命名UDisk +class DescribeUDiskUpgradePriceRequestSchema(schema.RequestSchema): + """ DescribeUDiskUpgradePrice - 获取UDisk升级价格信息 """ fields = { + "DiskType": fields.Str(required=False, dump_to="DiskType"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UDiskId": fields.Str(required=True, dump_to="UDiskId"), - "UDiskName": fields.Str(required=True, dump_to="UDiskName"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Size": fields.Int(required=True, dump_to="Size"), + "SourceId": fields.Str(required=True, dump_to="SourceId"), + "UDataArkMode": fields.Str(required=True, dump_to="UDataArkMode"), } -class RenameUDiskResponseSchema(schema.ResponseSchema): - """ RenameUDisk - 重命名UDisk +class DescribeUDiskUpgradePriceResponseSchema(schema.ResponseSchema): + """ DescribeUDiskUpgradePrice - 获取UDisk升级价格信息 """ - fields = {} + fields = {"Price": fields.Float(required=False, load_from="Price")} """ @@ -347,11 +364,11 @@ class DetachUDiskRequestSchema(schema.RequestSchema): """ fields = { - "UDiskId": fields.Str(required=True, dump_to="UDiskId"), - "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), + "UDiskId": fields.Str(required=True, dump_to="UDiskId"), + "Region": fields.Str(required=True, dump_to="Region"), } @@ -360,133 +377,116 @@ class DetachUDiskResponseSchema(schema.ResponseSchema): """ fields = { - "UDiskId": fields.Str(required=False, load_from="UDiskId"), "UHostId": fields.Str(required=False, load_from="UHostId"), + "UDiskId": fields.Str(required=False, load_from="UDiskId"), } """ -API: ResizeUDisk +API: RenameUDisk -调整UDisk容量 +重命名UDisk """ -class ResizeUDiskRequestSchema(schema.RequestSchema): - """ ResizeUDisk - 调整UDisk容量 +class RenameUDiskRequestSchema(schema.RequestSchema): + """ RenameUDisk - 重命名UDisk """ fields = { + "UDiskName": fields.Str(required=True, dump_to="UDiskName"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UDiskId": fields.Str(required=True, dump_to="UDiskId"), - "Size": fields.Int(required=True, dump_to="Size"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), } -class ResizeUDiskResponseSchema(schema.ResponseSchema): - """ ResizeUDisk - 调整UDisk容量 +class RenameUDiskResponseSchema(schema.ResponseSchema): + """ RenameUDisk - 重命名UDisk """ fields = {} """ -API: CloneUDiskSnapshot +API: ResizeUDisk -从快照创建UDisk克隆 +调整UDisk容量 """ -class CloneUDiskSnapshotRequestSchema(schema.RequestSchema): - """ CloneUDiskSnapshot - 从快照创建UDisk克隆 +class ResizeUDiskRequestSchema(schema.RequestSchema): + """ ResizeUDisk - 调整UDisk容量 """ fields = { + "CouponId": fields.Str(required=False, dump_to="CouponId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SourceId": fields.Str(required=True, dump_to="SourceId"), + "UDiskId": fields.Str(required=True, dump_to="UDiskId"), "Size": fields.Int(required=True, dump_to="Size"), - "UDataArkMode": fields.Str(required=False, dump_to="UDataArkMode"), - "Name": fields.Str(required=True, dump_to="Name"), - "Comment": fields.Str(required=False, dump_to="Comment"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), } -class CloneUDiskSnapshotResponseSchema(schema.ResponseSchema): - """ CloneUDiskSnapshot - 从快照创建UDisk克隆 +class ResizeUDiskResponseSchema(schema.ResponseSchema): + """ ResizeUDisk - 调整UDisk容量 """ - fields = {"UDiskId": fields.List(fields.Str(), required=False, load_from="UDiskId")} + fields = {} """ -API: CreateUDiskSnapshot +API: RestoreUDisk -创建snapshot快照 +从备份恢复数据至UDisk """ -class CreateUDiskSnapshotRequestSchema(schema.RequestSchema): - """ CreateUDiskSnapshot - 创建snapshot快照 +class RestoreUDiskRequestSchema(schema.RequestSchema): + """ RestoreUDisk - 从备份恢复数据至UDisk """ fields = { - "Name": fields.Str(required=True, dump_to="Name"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "Comment": fields.Str(required=False, dump_to="Comment"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UDiskId": fields.Str(required=True, dump_to="UDiskId"), + "SnapshotId": fields.Str(required=False, dump_to="SnapshotId"), + "SnapshotTime": fields.Int(required=False, dump_to="SnapshotTime"), } -class CreateUDiskSnapshotResponseSchema(schema.ResponseSchema): - """ CreateUDiskSnapshot - 创建snapshot快照 +class RestoreUDiskResponseSchema(schema.ResponseSchema): + """ RestoreUDisk - 从备份恢复数据至UDisk """ - fields = { - "SnapshotId": fields.List(fields.Str(), required=True, load_from="SnapshotId") - } + fields = {} """ -API: DescribeUDiskPrice +API: SetUDiskUDataArkMode -获取UDisk实例价格信息 +设置UDisk数据方舟的状态 """ -class DescribeUDiskPriceRequestSchema(schema.RequestSchema): - """ DescribeUDiskPrice - 获取UDisk实例价格信息 +class SetUDiskUDataArkModeRequestSchema(schema.RequestSchema): + """ SetUDiskUDataArkMode - 设置UDisk数据方舟的状态 """ fields = { - "Size": fields.Int(required=True, dump_to="Size"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "UDataArkMode": fields.Str(required=False, dump_to="UDataArkMode"), - "DiskType": fields.Str(required=False, dump_to="DiskType"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=True, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "UDiskId": fields.Str(required=True, dump_to="UDiskId"), + "UDataArkMode": fields.Str(required=True, dump_to="UDataArkMode"), } -class DescribeUDiskPriceResponseSchema(schema.ResponseSchema): - """ DescribeUDiskPrice - 获取UDisk实例价格信息 +class SetUDiskUDataArkModeResponseSchema(schema.ResponseSchema): + """ SetUDiskUDataArkMode - 设置UDisk数据方舟的状态 """ - fields = { - "DataSet": fields.List( - models.UDiskPriceDataSetSchema(), required=False, load_from="DataSet" - ) - } + fields = {} diff --git a/ucloud/services/udisk/schemas/models.py b/ucloud/services/udisk/schemas/models.py index 74796ed..e44f174 100644 --- a/ucloud/services/udisk/schemas/models.py +++ b/ucloud/services/udisk/schemas/models.py @@ -8,33 +8,33 @@ class UDiskDataSetSchema(schema.ResponseSchema): """ fields = { - "CmkIdStatus": fields.Str(required=False, load_from="CmkIdStatus"), - "Zone": fields.Str(required=False, load_from="Zone"), + "SnapshotLimit": fields.Int(required=False, load_from="SnapshotLimit"), + "ArkSwitchEnable": fields.Int(required=False, load_from="ArkSwitchEnable"), + "Status": fields.Str(required=False, load_from="Status"), + "UHostIP": fields.Str(required=False, load_from="UHostIP"), + "SnapshotCount": fields.Int(required=False, load_from="SnapshotCount"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "DiskType": fields.Str(required=False, load_from="DiskType"), + "Tag": fields.Str(required=False, load_from="Tag"), "UDataArkMode": fields.Str(required=False, load_from="UDataArkMode"), - "DataKey": fields.Str(required=False, load_from="DataKey"), - "UDiskId": fields.Str(required=False, load_from="UDiskId"), - "UHostName": fields.Str(required=False, load_from="UHostName"), - "Version": fields.Str(required=False, load_from="Version"), "CmkId": fields.Str(required=False, load_from="CmkId"), + "Size": fields.Int(required=False, load_from="Size"), + "SnapEnable": fields.Int(required=False, load_from="SnapEnable"), "CmkIdAlias": fields.Str(required=False, load_from="CmkIdAlias"), - "DeviceName": fields.Str(required=False, load_from="DeviceName"), + "UDiskId": fields.Str(required=False, load_from="UDiskId"), + "IsExpire": fields.Str(required=False, load_from="IsExpire"), + "Version": fields.Str(required=False, load_from="Version"), "CloneEnable": fields.Int(required=False, load_from="CloneEnable"), + "Zone": fields.Str(required=False, load_from="Zone"), + "UHostName": fields.Str(required=False, load_from="UHostName"), "UKmsMode": fields.Str(required=False, load_from="UKmsMode"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "Size": fields.Int(required=False, load_from="Size"), - "UHostIP": fields.Str(required=False, load_from="UHostIP"), - "SnapshotCount": fields.Int(required=False, load_from="SnapshotCount"), - "ArkSwitchEnable": fields.Int(required=False, load_from="ArkSwitchEnable"), - "Status": fields.Str(required=False, load_from="Status"), - "IsExpire": fields.Str(required=False, load_from="IsExpire"), - "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"), - "Tag": fields.Str(required=False, load_from="Tag"), + "CmkIdStatus": fields.Str(required=False, load_from="CmkIdStatus"), "Name": fields.Str(required=False, load_from="Name"), + "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"), "UHostId": fields.Str(required=False, load_from="UHostId"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "SnapshotLimit": fields.Int(required=False, load_from="SnapshotLimit"), - "DiskType": fields.Str(required=False, load_from="DiskType"), - "SnapEnable": fields.Int(required=False, load_from="SnapEnable"), + "DeviceName": fields.Str(required=False, load_from="DeviceName"), + "DataKey": fields.Str(required=False, load_from="DataKey"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), } @@ -43,9 +43,9 @@ class UDiskPriceDataSetSchema(schema.ResponseSchema): """ fields = { - "ChargeType": fields.Str(required=False, load_from="ChargeType"), "Price": fields.Float(required=False, load_from="Price"), "ChargeName": fields.Str(required=False, load_from="ChargeName"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), } @@ -54,22 +54,22 @@ class UDiskSnapshotSetSchema(schema.ResponseSchema): """ fields = { + "UDiskId": fields.Str(required=True, load_from="UDiskId"), + "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"), + "UHostId": fields.Str(required=False, load_from="UHostId"), + "UKmsMode": fields.Str(required=False, load_from="UKmsMode"), "DataKey": fields.Str(required=False, load_from="DataKey"), "CmkIdAlias": fields.Str(required=False, load_from="CmkIdAlias"), "Name": fields.Str(required=True, load_from="Name"), - "UDiskId": fields.Str(required=True, load_from="UDiskId"), - "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"), - "IsUDiskAvailable": fields.Bool(required=False, load_from="IsUDiskAvailable"), + "Status": fields.Str(required=True, load_from="Status"), + "Comment": fields.Str(required=False, load_from="Comment"), "CmkIdStatus": fields.Str(required=False, load_from="CmkIdStatus"), "UDiskName": fields.Str(required=True, load_from="UDiskName"), - "Comment": fields.Str(required=False, load_from="Comment"), + "DiskType": fields.Int(required=True, load_from="DiskType"), + "IsUDiskAvailable": fields.Bool(required=False, load_from="IsUDiskAvailable"), "Version": fields.Str(required=False, load_from="Version"), "CmkId": fields.Str(required=False, load_from="CmkId"), - "UHostId": fields.Str(required=False, load_from="UHostId"), - "UKmsMode": fields.Str(required=False, load_from="UKmsMode"), "SnapshotId": fields.Str(required=True, load_from="SnapshotId"), - "CreateTime": fields.Int(required=True, load_from="CreateTime"), "Size": fields.Int(required=True, load_from="Size"), - "Status": fields.Str(required=True, load_from="Status"), - "DiskType": fields.Int(required=True, load_from="DiskType"), + "CreateTime": fields.Int(required=True, load_from="CreateTime"), } diff --git a/ucloud/services/udpn/client.py b/ucloud/services/udpn/client.py index 48557a7..97838bf 100644 --- a/ucloud/services/udpn/client.py +++ b/ucloud/services/udpn/client.py @@ -8,14 +8,60 @@ class UDPNClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(UDPNClient, self).__init__(config, transport, middleware, logger) + def allocate_udpn(self, req=None, **kwargs): + """ AllocateUDPN - 分配一条 UDPN 专线 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 带宽 + - **Peer1** (str) - (Required) 专线可用区1,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky + - **Peer2** (str) - (Required) 专线可用区2,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky + - **ChargeType** (str) - 计费类型,枚举值为: Year,按年付费; Month,按月付费; Dynamic,按需付费 + - **CouponId** (str) - 代金劵 + - **Quantity** (int) - 计费时长,默认 1 + + **Response** + + - **UDPNId** (str) - 资源名称 + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.AllocateUDPNRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("AllocateUDPN", d, **kwargs) + return apis.AllocateUDPNResponseSchema().loads(resp) + def describe_udpn(self, req=None, **kwargs): """ DescribeUDPN - 描述 UDPN - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Optional) 返回数据长度,默认为 20 - :param Offset: (Optional) 列表起始位置偏移量,默认为 0 - :param UDPNId: (Optional) 申请到的 UDPN 资源 ID。若为空,则查询该用户在机房所有的专线信息。非默认项目资源,需填写ProjectId + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - 返回数据长度,默认为 20 + - **Offset** (int) - 列表起始位置偏移量,默认为 0 + - **UDPNId** (str) - 申请到的 UDPN 资源 ID。若为空,则查询该用户在机房所有的专线信息。非默认项目资源,需填写ProjectId + + **Response** + + - **TotalCount** (int) - 查询到的总数量 + - **DataSet** (list) - 见 **UDPNData** 模型定义 + + **Response Model** + + **UDPNData** + + - **ExpireTime** (int) - unix 时间戳 到期时间 + - **UDPNId** (str) - UDPN 资源短 ID + - **Peer1** (str) - 可用区域 1 + - **Peer2** (str) - 可用区域 2 + - **ChargeType** (str) - 计费类型 + - **Bandwidth** (int) - 带宽 + - **CreateTime** (int) - unix 时间戳 创建时间 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -26,8 +72,24 @@ def describe_udpn(self, req=None, **kwargs): def get_udpn_line_list(self, req=None, **kwargs): """ GetUDPNLineList - 获取当前支持的专线线路列表 - :param ProjectId: (Config) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + + **Response** + + - **TotalCount** (int) - DataSet中的元素个数 + - **DataSet** (list) - 见 **UDPNLineSet** 模型定义 + + **Response Model** + + **UDPNLineSet** + + - **BandwidthUpperLimit** (int) - 线路带宽上限,单位 M + - **LocalRegion** (str) - 支持UDPN的地域之一,北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 华盛顿:us-ws, 洛杉矶:us-la, 东京:jpn-tky + - **RemoteRegion** (str) - 支持UDPN的地域之一,北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 华盛顿:us-ws, 洛杉矶:us-la, 东京:jpn-tky + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -38,12 +100,20 @@ def get_udpn_line_list(self, req=None, **kwargs): def get_udpn_price(self, req=None, **kwargs): """ GetUDPNPrice - 获取 UDPN 价格 - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 带宽信息 - :param Peer1: (Required) 专线可用区1,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky - :param Peer2: (Required) 专线可用区2,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky - :param ChargeType: (Optional) 计费类型 - :param Quantity: (Optional) 购买时长 + **Request** + + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 带宽信息 + - **Peer1** (str) - (Required) 专线可用区1,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky + - **Peer2** (str) - (Required) 专线可用区2,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky + - **ChargeType** (str) - 计费类型 + - **Quantity** (int) - 购买时长 + + **Response** + + - **PurchaseValue** (int) - 资源有效期 unix 时间戳 + - **Price** (float) - 专线价格 + """ d = {"Region": self.config.region} req and d.update(req) @@ -54,10 +124,17 @@ def get_udpn_price(self, req=None, **kwargs): def get_udpn_upgrade_price(self, req=None, **kwargs): """ GetUDPNUpgradePrice - 获取专线升级价格 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 带宽 - :param UDPNId: (Required) 专线带宽资源 Id + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 带宽 + - **UDPNId** (str) - (Required) 专线带宽资源 Id + + **Response** + + - **Price** (float) - 升级后的价格 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -68,11 +145,17 @@ def get_udpn_upgrade_price(self, req=None, **kwargs): def modify_udpn_bandwidth(self, req=None, **kwargs): """ ModifyUDPNBandwidth - 修改带宽值 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 调整后专线带宽, 单位为Mbps,取值范围为大于等于2且小于等于1000([2-1000])的整数 - :param UDPNId: (Required) UDPN Id - :param CouponId: (Optional) 代金劵 ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 调整后专线带宽, 单位为Mbps,取值范围为大于等于2且小于等于1000([2-1000])的整数 + - **UDPNId** (str) - (Required) UDPN Id + - **CouponId** (str) - 代金劵 ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -83,31 +166,18 @@ def modify_udpn_bandwidth(self, req=None, **kwargs): def release_udpn(self, req=None, **kwargs): """ ReleaseUDPN - 释放 UDPN - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UDPNId: (Required) UDPN 资源 Id + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UDPNId** (str) - (Required) UDPN 资源 Id + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) d = apis.ReleaseUDPNRequestSchema().dumps(d) resp = self.invoke("ReleaseUDPN", d, **kwargs) return apis.ReleaseUDPNResponseSchema().loads(resp) - - def allocate_udpn(self, req=None, **kwargs): - """ AllocateUDPN - 分配一条 UDPN 专线 - - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 带宽 - :param Peer1: (Required) 专线可用区1,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky - :param Peer2: (Required) 专线可用区2,支持地域:北京二:cn-bj2, 上海二:cn-sh2, 广东:cn-gd, 亚太: hk, 上海一:cn-sh1, 法兰克福:ge-fra, 新加坡:sg, 洛杉矶:us-la, 华盛顿:us-ws, 东京:jpn-tky - :param ChargeType: (Optional) 计费类型,枚举值为: Year,按年付费; Month,按月付费; Dynamic,按需付费 - :param CouponId: (Optional) 代金劵 - :param Quantity: (Optional) 计费时长,默认 1 - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.AllocateUDPNRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("AllocateUDPN", d, **kwargs) - return apis.AllocateUDPNResponseSchema().loads(resp) diff --git a/ucloud/services/udpn/schemas/apis.py b/ucloud/services/udpn/schemas/apis.py index a7a9b9c..fc39f6d 100644 --- a/ucloud/services/udpn/schemas/apis.py +++ b/ucloud/services/udpn/schemas/apis.py @@ -17,6 +17,7 @@ class AllocateUDPNRequestSchema(schema.RequestSchema): """ fields = { + "CouponId": fields.Str(required=False, dump_to="CouponId"), "Region": fields.Str(required=False, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "Peer1": fields.Str(required=True, dump_to="Peer1"), @@ -24,7 +25,6 @@ class AllocateUDPNRequestSchema(schema.RequestSchema): "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "Quantity": fields.Int(required=False, dump_to="Quantity"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), } @@ -60,10 +60,10 @@ class DescribeUDPNResponseSchema(schema.ResponseSchema): """ fields = { + "TotalCount": fields.Int(required=True, load_from="TotalCount"), "DataSet": fields.List( models.UDPNDataSchema(), required=False, load_from="DataSet" ), - "TotalCount": fields.Int(required=True, load_from="TotalCount"), } @@ -79,8 +79,8 @@ class GetUDPNLineListRequestSchema(schema.RequestSchema): """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "Region": fields.Str(required=False, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } @@ -108,12 +108,12 @@ class GetUDPNPriceRequestSchema(schema.RequestSchema): """ fields = { - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "Region": fields.Str(required=False, dump_to="Region"), "Peer1": fields.Str(required=True, dump_to="Peer1"), "Peer2": fields.Str(required=True, dump_to="Peer2"), "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "Region": fields.Str(required=False, dump_to="Region"), } @@ -122,8 +122,8 @@ class GetUDPNPriceResponseSchema(schema.ResponseSchema): """ fields = { - "Price": fields.Float(required=True, load_from="Price"), "PurchaseValue": fields.Int(required=True, load_from="PurchaseValue"), + "Price": fields.Float(required=True, load_from="Price"), } @@ -139,10 +139,10 @@ class GetUDPNUpgradePriceRequestSchema(schema.RequestSchema): """ fields = { - "Region": fields.Str(required=False, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UDPNId": fields.Str(required=True, dump_to="UDPNId"), "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), + "Region": fields.Str(required=False, dump_to="Region"), } @@ -165,11 +165,11 @@ class ModifyUDPNBandwidthRequestSchema(schema.RequestSchema): """ fields = { + "Region": fields.Str(required=False, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UDPNId": fields.Str(required=True, dump_to="UDPNId"), "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), "CouponId": fields.Str(required=False, dump_to="CouponId"), - "Region": fields.Str(required=False, dump_to="Region"), } diff --git a/ucloud/services/udpn/schemas/models.py b/ucloud/services/udpn/schemas/models.py index 82164d6..ffb738b 100644 --- a/ucloud/services/udpn/schemas/models.py +++ b/ucloud/services/udpn/schemas/models.py @@ -8,13 +8,13 @@ class UDPNDataSchema(schema.ResponseSchema): """ fields = { - "ExpireTime": fields.Int(required=True, load_from="ExpireTime"), "UDPNId": fields.Str(required=True, load_from="UDPNId"), "Peer1": fields.Str(required=True, load_from="Peer1"), "Peer2": fields.Str(required=True, load_from="Peer2"), "ChargeType": fields.Str(required=True, load_from="ChargeType"), "Bandwidth": fields.Int(required=True, load_from="Bandwidth"), "CreateTime": fields.Int(required=True, load_from="CreateTime"), + "ExpireTime": fields.Int(required=True, load_from="ExpireTime"), } @@ -23,9 +23,9 @@ class UDPNLineSetSchema(schema.ResponseSchema): """ fields = { - "LocalRegion": fields.Str(required=True, load_from="LocalRegion"), - "RemoteRegion": fields.Str(required=True, load_from="RemoteRegion"), "BandwidthUpperLimit": fields.Int( required=True, load_from="BandwidthUpperLimit" ), + "LocalRegion": fields.Str(required=True, load_from="LocalRegion"), + "RemoteRegion": fields.Str(required=True, load_from="RemoteRegion"), } diff --git a/ucloud/services/uhost/client.py b/ucloud/services/uhost/client.py index 4a5d426..5ae7056 100644 --- a/ucloud/services/uhost/client.py +++ b/ucloud/services/uhost/client.py @@ -8,36 +8,24 @@ class UHostClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(UHostClient, self).__init__(config, transport, middleware, logger) - def resize_uhost_instance(self, req=None, **kwargs): - """ ResizeUHostInstance - 修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 - - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param BootDiskSpace: (Optional) 【待废弃】系统盘大小,单位:GB,范围[20,100],步长:10,系统盘不支持缩容,因此不允许输入比当前实例系统盘小的值 - :param CPU: (Optional) 虚拟CPU核数。可选参数:1-32(可选范围与UHostType相关)。默认值为当前实例的CPU核数 - :param DiskSpace: (Optional) 【待废弃】数据盘大小,单位:GB,范围[10,1000]; SSD机型,单位:GB,范围[100,500];步长:10,默认值为当前实例的数据盘大小,数据盘不支持缩容,因此不允许输入比当前实例数据盘大小的值 - :param Memory: (Optional) 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值为当前实例的内存大小。 - :param NetCapValue: (Optional) 网卡升降级(1,表示升级,2表示降级,0表示不变) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.ResizeUHostInstanceRequestSchema().dumps(d) - resp = self.invoke("ResizeUHostInstance", d, **kwargs) - return apis.ResizeUHostInstanceResponseSchema().loads(resp) - def copy_custom_image(self, req=None, **kwargs): """ CopyCustomImage - 复制自制镜像 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SourceImageId: (Required) 源镜像Id, 参见 DescribeImage - :param TargetProjectId: (Required) 目标项目Id, 参见 GetProjectList - :param TargetImageDescription: (Optional) 目标镜像描述 - :param TargetImageName: (Optional) 目标镜像名称 - :param TargetRegion: (Optional) 目标地域,不跨地域不用填 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SourceImageId** (str) - (Required) 源镜像Id, 参见 DescribeImage + - **TargetProjectId** (str) - (Required) 目标项目Id, 参见 GetProjectList + - **TargetImageDescription** (str) - 目标镜像描述 + - **TargetImageName** (str) - 目标镜像名称 + - **TargetRegion** (str) - 目标地域,不跨地域不用填 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TargetImageId** (str) - 目标镜像Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -46,18 +34,163 @@ def copy_custom_image(self, req=None, **kwargs): resp = self.invoke("CopyCustomImage", d, **kwargs) return apis.CopyCustomImageResponseSchema().loads(resp) + def create_custom_image(self, req=None, **kwargs): + """ CreateCustomImage - 从指定UHost实例,生成自定义镜像。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ImageName** (str) - (Required) 镜像名称 + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **ImageDescription** (str) - 镜像描述 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **ImageId** (str) - 镜像Id + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.CreateCustomImageRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateCustomImage", d, **kwargs) + return apis.CreateCustomImageResponseSchema().loads(resp) + + def create_uhost_instance(self, req=None, **kwargs): + """ CreateUHostInstance - 创建UHost实例。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ImageId** (str) - (Required) 镜像ID。 请通过 `DescribeImage `_ 获取 + - **LoginMode** (str) - (Required) 主机登陆模式。密码(默认选项): Password。 + - **Password** (str) - (Required) UHost密码。请遵照 `字段规范 `_ 设定密码。密码需使用base64进行编码,举例如下:# echo -n Password1 | base64UGFzc3dvcmQx。 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **AlarmTemplateId** (int) - 告警模板id,如果传了告警模板id,且告警模板id正确,则绑定告警模板。绑定告警模板失败只会在后台有日志,不会影响创建主机流程,也不会在前端报错。 + - **BootDiskSpace** (int) - 【待废弃,不建议调用】系统盘大小。 单位:GB, 范围[20,100], 步长:10 + - **CPU** (int) - 虚拟CPU核数。可选参数:1-64(可选范围与UHostType相关)。默认值: 4,只有Intel/Cascadelake支持CPU 64。 + - **ChargeType** (str) - 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时付费 \\ 默认为月付;\\ >Postpay ,后付费。 + - **CouponId** (str) - 主机代金券ID。请通过DescribeCoupon接口查询,或登录用户中心查看 + - **DiskPassword** (str) - 【待废弃,不建议调用】加密盘的密码。若输入此字段,自动选择加密盘。加密盘需要权限位。 + - **DiskSpace** (int) - 【待废弃,不建议调用】数据盘大小。 单位:GB, 范围[0,8000], 步长:10, 默认值:20,云盘支持0-8000;本地普通盘支持0-2000;本地SSD盘(包括所有GPU机型)支持100-1000 + - **Disks** (list) - 见 **CreateUHostInstanceParamDisks** 模型定义 + - **GPU** (int) - GPU卡核心数。仅GPU机型支持此字段(可选范围与UHostType相关) + - **GpuType** (str) - GPU类型,枚举值["K80", "P40", "V100"] + - **HostType** (str) - 【已废弃】宿主机类型,N2,N1 + - **HotplugFeature** (bool) - 【待废弃,不建议调用】是否开启热升级特性。True为开启,False为未开启,默认False。仅系列1云主机需要使用此字段,系列2云主机根据镜像是否支持云主机。 + - **InstallAgent** (str) - 【暂不支持】是否安装UGA。'yes': 安装;其他或者不填:不安装。 + - **IsolationGroup** (str) - 硬件隔离组id。可通过DescribeIsolationGroup获取。 + - **KeyPair** (str) - 【暂不支持】Keypair公钥,LoginMode为KeyPair时此项必须 + - **MachineType** (str) - 云主机类型,枚举值["N", "C", "G", "O"] + - **MaxCount** (int) - 【批量创建主机时必填】最大创建主机数量,取值范围是[1,100]; + - **Memory** (int) - 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值:8192 + - **MinimalCpuPlatform** (str) - 最低cpu平台,枚举值["Intel/Auto", "Intel/IvyBridge", "Intel/Haswell", "Intel/Broadwell", "Intel/Skylake", "Intel/Cascadelake"(只有O型云主机可选)] + - **Name** (str) - UHost实例名称。默认:UHost。请遵照 `字段规范 `_ 设定实例名称。 + - **NetCapability** (str) - 网络增强。枚举值:Normal(默认),不开启; Super,开启网络增强1.0; Ultra,开启网络增强2.0(仅支持部分可用区,请参考控制台) + - **NetworkId** (str) - 【已废弃】网络ID(VPC2.0情况下无需填写)。VPC1.0情况下,若不填写,代表优先选择基础网络; 若填写,代表选择子网。参见DescribeSubnet。 + - **NetworkInterface** (list) - 见 **CreateUHostInstanceParamNetworkInterface** 模型定义 + - **PrivateIp** (list) - 【数组】创建云主机时指定内网IP。若不传值,则随机分配当前子网下的IP。调用方式举例:PrivateIp.0=x.x.x.x。当前只支持一个内网IP。 + - **PrivateMac** (str) - 【批量创建该参数无效】【内部字段】创建云主机时指定Mac。调用方式举例:PrivateMac="xx:xx:xx:xx:xx:xx"。 + - **Quantity** (int) - 购买时长。默认:值 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表购买至月末。 + - **ResourceType** (int) - 【内部参数】资源类型 + - **SecurityGroupId** (str) - 防火墙Id,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 `DescribeSecurityGroup `_ 。 + - **SetId** (int) - + - **StorageType** (str) - 【待废弃,不建议调用】磁盘类型,同时设定系统盘和数据盘的磁盘类型。枚举值为:LocalDisk,本地磁盘; UDisk,云硬盘;默认为LocalDisk。仅部分可用区支持云硬盘方式的主机存储方式,具体请查询控制台。 + - **SubnetId** (str) - 子网 ID。默认为当前地域的默认子网。 + - **Tag** (str) - 业务组。默认:Default(Default即为未分组)。请遵照 `字段规范 `_ 设定业务组。 + - **TimemachineFeature** (str) - 【待废弃,不建议调用】是否开启方舟特性。Yes为开启方舟,No为关闭方舟。目前仅选择普通本地盘+普通本地盘 或 SSD云盘+普通云盘的组合支持开启方舟。 + - **UHostType** (str) - 云主机机型。参考 `云主机机型说明 `_ 。【待废弃,不建议调用】 + - **UserDataScript** (str) - 【暂不支持】cloudinit方式下,用户初始化脚本 + - **VPCId** (str) - VPC ID。默认为当前地域的默认VPC。 + + **Response** + + - **UHostIds** (list) - UHost实例Id集合 + - **IPs** (list) - 【批量创建不会返回】IP信息 + + **Request Model** + + **CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSH** + + - **AreaCode** (str) - AreaCode, 区域航空港国际通用代码。Area和AreaCode两者必填一个 + - **Port** (int) - SSH端口,1-65535且不能使用80,443端口 + - **Area** (str) - 填写支持SSH访问IP的地区名称,如“洛杉矶”,“新加坡”,“香港”,“东京”,“华盛顿”,“法兰克福”。Area和AreaCode两者必填一个 + + **CreateUHostInstanceParamNetworkInterfaceEIP** + + - **OperatorName** (str) - 【如果绑定EIP这个参数必填】弹性IP的线路如下: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International + - **PayMode** (str) - 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. "Free":免费带宽模式.默认为 "Bandwidth". + - **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 + - **CouponId** (str) - 当前EIP代金券id。请通过DescribeCoupon接口查询,或登录用户中心查看 + - **Bandwidth** (int) - 【如果绑定EIP这个参数必填】弹性IP的外网带宽, 单位为Mbps. 共享带宽模式必须指定0M带宽, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-300],带宽计费[1-800] + - **GlobalSSH** (dict) - 见 **CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSH** 模型定义 + + **CreateUHostInstanceParamNetworkInterface** + + - **EIP** (dict) - 见 **CreateUHostInstanceParamNetworkInterfaceEIP** 模型定义 + + **CreateUHostInstanceParamDisks** + + - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 + - **Encrypted** (bool) - 加密:true, 不加密: false加密必须传入对应的的KmsKeyId + - **Size** (int) - 磁盘大小,单位GB。请参考 `磁盘类型 `_ 。 + - **KmsKeyId** (str) - kms的id + - **CouponId** (str) - 云盘代金券id。不适用于系统盘/本地盘。请通过DescribeCoupon接口查询,或登录用户中心查看 + - **BackupType** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > DATAARK,数据方舟 \\ 当前磁盘支持的备份模式参考 `磁盘类型 `_ + - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.CreateUHostInstanceRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUHostInstance", d, **kwargs) + return apis.CreateUHostInstanceResponseSchema().loads(resp) + def describe_image(self, req=None, **kwargs): """ DescribeImage - 获取指定数据中心镜像列表,用户可通过指定操作系统类型,镜像Id进行过滤。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ImageId: (Optional) 镜像Id - :param ImageType: (Optional) 镜像类型。标准镜像:Base,镜像市场:Business, 自定义镜像:Custom,默认返回所有类型 - :param Limit: (Optional) 返回数据长度,默认为20 - :param Offset: (Optional) 列表起始位置偏移量,默认为0 - :param OsType: (Optional) 操作系统类型:Linux, Windows 默认返回所有类型 - :param PriceSet: (Optional) 是否返回价格:1返回,0不返回;默认不返回 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ImageId** (str) - 镜像Id + - **ImageType** (str) - 镜像类型。标准镜像:Base,镜像市场:Business, 自定义镜像:Custom,默认返回所有类型 + - **Limit** (int) - 返回数据长度,默认为20 + - **Offset** (int) - 列表起始位置偏移量,默认为0 + - **OsType** (str) - 操作系统类型:Linux, Windows 默认返回所有类型 + - **PriceSet** (int) - 是否返回价格:1返回,0不返回;默认不返回 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TotalCount** (int) - 满足条件的镜像总数 + - **ImageSet** (list) - 见 **UHostImageSet** 模型定义 + + **Response Model** + + **UHostImageSet** + + - **Vendor** (str) - 供应商(仅行业镜像将返回这个值) + - **State** (str) - 镜像状态, 可用:Available,制作中:Making, 不可用:Unavailable + - **OsName** (str) - 操作系统名称 + - **FuncType** (str) - 行业镜像类型(仅行业镜像将返回这个值) + - **ImageDescription** (str) - 镜像描述 + - **Zone** (str) - 可用区,参见 `可用区列表 `_ | + - **ImageId** (str) - 镜像ID + - **ImageName** (str) - 镜像名称 + - **OsType** (str) - 操作系统类型:Liunx,Windows + - **Features** (list) - 特殊状态标识, 目前包含NetEnhnced(网络增强1.0), NetEnhanced_Ultra](网络增强2.0) + - **CreateTime** (int) - 创建时间,格式为Unix时间戳 + - **ImageSize** (int) - 镜像大小 + - **MinimalCPU** (str) - 默认值为空'''。当CentOS 7.3/7.4/7.5等镜像会标记为“Broadwell” + - **ImageType** (str) - 镜像类型 标准镜像:Base, 行业镜像:Business,自定义镜像:Custom + - **IntegratedSoftware** (str) - 集成软件名称(仅行业镜像将返回这个值) + - **Links** (str) - 介绍链接(仅行业镜像将返回这个值) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -65,129 +198,247 @@ def describe_image(self, req=None, **kwargs): resp = self.invoke("DescribeImage", d, **kwargs) return apis.DescribeImageResponseSchema().loads(resp) - def get_uhost_instance_price(self, req=None, **kwargs): - """ GetUHostInstancePrice - 根据UHost实例配置,获取UHost实例的价格。 + def describe_uhost_instance(self, req=None, **kwargs): + """ DescribeUHostInstance - 获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **IsolationGroup** (str) - 硬件隔离组id。通过硬件隔离组筛选主机。 + - **LifeCycle** (int) - 1:普通云主机;2:抢占型云主机;如不传此参数,默认全部获取 + - **Limit** (int) - 返回数据长度,默认为20,最大100 + - **Offset** (int) - 列表起始位置偏移量,默认为0 + - **SubnetId** (str) - 子网id。通过子网筛选主机。北京一地域无效。 + - **Tag** (str) - 要查询的业务组名称 + - **UHostIds** (list) - 【数组】UHost主机的资源ID,例如UHostIds.0代表希望获取信息 的主机1,UHostIds.1代表主机2。 如果不传入,则返回当前Region 所有符合条件的UHost实例。 + - **VPCId** (str) - vpc id。通过VPC筛选主机。北京一地域无效。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TotalCount** (int) - UHostInstance总数 + - **UHostSet** (list) - 见 **UHostInstanceSet** 模型定义 + + **Response Model** + + **UHostDiskSet** + + - **BackupType** (str) - 备份方案。若开通了数据方舟,则为DataArk + - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 + - **Encrypted** (bool) - true: 加密盘 false:非加密盘 + - **Type** (str) - 【建议不再使用】磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk + - **Name** (str) - UDisk名字(仅当磁盘是UDisk时返回) + - **Drive** (str) - 磁盘盘符 + - **DiskType** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 + - **DiskId** (str) - 磁盘ID + - **Size** (int) - 磁盘大小,单位: GB + + **UHostIPSet** + + - **IPId** (str) - IP资源ID (内网IP无对应的资源ID) + - **IP** (str) - IP地址 + - **Bandwidth** (int) - IP对应的带宽, 单位: Mb (内网IP不显示带宽信息) + - **Default** (str) - 是否默认的弹性网卡的信息。true: 是默认弹性网卡;其他值:不是。 + - **VPCId** (str) - IP地址对应的VPC ID(北京一当前字段为空) + - **SubnetId** (str) - IP地址对应的子网 ID(北京一当前字段为空) + - **Type** (str) - 国际: Internation,BGP: Bgp,内网: Private + + **UHostInstanceSet** + + - **UHostType** (str) - 【建议不再使用】云主机机型(旧)。参考 `云主机机型说明 `_ 。 + - **BasicImageName** (str) - 基础镜像名称(指当前自定义镜像的来源镜像) + - **OsName** (str) - 创建主机的最初来源镜像的操作系统名称(若直接通过基础镜像创建,此处返回和BasicImageName一致) + - **ImageId** (str) - 【建议不再使用】主机的系统盘ID。 + - **GPU** (int) - GPU个数 + - **CPU** (int) - 虚拟CPU核数,单位: 个 + - **Memory** (int) - 内存大小,单位: MB + - **TotalDiskSpace** (int) - 总的数据盘存储空间。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + - **Remark** (str) - 备注 + - **ExpireTime** (int) - 到期时间,格式为Unix时间戳 + - **CreateTime** (int) - 创建时间,格式为Unix时间戳 + - **LifeCycle** (str) - 主机的生命周期类型。目前仅支持Normal:普通; + - **ChargeType** (str) - 计费模式,枚举值为: Year,按年付费; Month,按月付费; Dynamic,按需付费(需开启权限); + - **NetCapability** (str) - 网络增强。Normal: 无;Super: 网络增强1.0; Ultra: 网络增强2.0 + - **BootDiskState** (str) - 系统盘状态 Normal表示初始化完成;Initializing表示在初始化。仍在初始化的系统盘无法制作镜像。 + - **IPSet** (list) - 见 **UHostIPSet** 模型定义 + - **SubnetType** (str) - 【建议不再使用】仅北京A的云主机会返回此字段。基础网络模式:Default;子网模式:Private + - **HostType** (str) - 【建议不再使用】主机系列:N2,表示系列2;N1,表示系列1 + - **IsolationGroup** (str) - 隔离组id,不在隔离组则返回"" + - **BasicImageId** (str) - 基础镜像ID(指当前自定义镜像的来源镜像) + - **Tag** (str) - 业务组名称 + - **Name** (str) - UHost实例名称 + - **TimemachineFeature** (str) - 【建议不再使用】数据方舟模式。枚举值:\\ > Yes: 开启方舟; \\ > no,未开启方舟 + - **OsType** (str) - 操作系统类别。返回"Linux"或者"Windows" + - **MachineType** (str) - 云主机机型(新)。参考 `云主机机型说明 `_ 。 + - **StorageType** (str) - 【建议不再使用】主机磁盘类型。 枚举值为:\\ > LocalDisk,本地磁盘; \\ > UDisk 云盘。\\只要有一块磁盘为本地盘,即返回LocalDisk。 + - **AutoRenew** (str) - 是否自动续费,自动续费:“Yes”,不自动续费:“No” + - **NetworkState** (str) - 【建议不再使用】网络状态。 连接:Connected, 断开:NotConnected + - **HotplugFeature** (bool) - true: 开启热升级; false,未开启热升级 + - **UHostId** (str) - UHost实例ID + - **State** (str) - 实例状态,枚举值:\\ >初始化: Initializing; \\ >启动中: Starting; \\> 运行中: Running; \\> 关机中: Stopping; \\ >关机: Stopped \\ >安装失败: Install Fail; \\ >重启中: Rebooting + - **DiskSet** (list) - 见 **UHostDiskSet** 模型定义 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param CPU: (Required) 虚拟CPU核数。可选参数:1-32(可选范围与UHostType相关)。默认值: 4 - :param Count: (Required) 【未启用】购买台数,范围[1,5] - :param ImageId: (Required) 镜像Id,可通过 [DescribeImage](describe_image.html) 获取镜像ID - :param Memory: (Required) 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值:8192 - :param ChargeType: (Optional) 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时付费 \\ 默认为月付。 - :param DiskSpace: (Optional) 【待废弃】数据盘大小,单位: GB,范围[0,1000],步长: 10,默认值: 0 - :param Disks: (Optional) Disks - :param GPU: (Optional) GPU卡核心数。仅GPU机型支持此字段(可选范围与UHostType相关)。 - :param GpuType: (Optional) GPU类型,枚举值["K80", "P40", "V100"] - :param LifeCycle: (Optional) 【未支持】1:普通云主机;2:抢占性云主机;默认普通 - :param MachineType: (Optional) 云主机类型,枚举值["N", "C", "G", "O"] - :param NetCapability: (Optional) 网络增强。枚举值:Normal,不开启; Super,开启网络增强1.0; Ultra,开启网络增强2.0; 默认值为Normal。Normal和Ultra不计费。 - :param Quantity: (Optional) 购买时长。默认: 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表了购买至月末。 - :param StorageType: (Optional) 【待废弃】磁盘类型,同时设定系统盘和数据盘, 枚举值为:LocalDisk,本地磁盘; UDisk,云硬盘; 默认为LocalDisk 仅部分可用区支持云硬盘方式的主机存储方式,具体请查询控制台。 - :param TimemachineFeature: (Optional) 【待废弃】方舟机型。No,Yes。默认是No。 - :param UHostType: (Optional) 云主机机型。参考[[api:uhost-api:uhost_type|云主机机型说明]]。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.GetUHostInstancePriceRequestSchema().dumps(d) - resp = self.invoke("GetUHostInstancePrice", d, **kwargs) - return apis.GetUHostInstancePriceResponseSchema().loads(resp) + d = apis.DescribeUHostInstanceRequestSchema().dumps(d) + resp = self.invoke("DescribeUHostInstance", d, **kwargs) + return apis.DescribeUHostInstanceResponseSchema().loads(resp) - def modify_uhost_instance_remark(self, req=None, **kwargs): - """ ModifyUHostInstanceRemark - 修改指定UHost实例备注信息。 + def describe_uhost_tags(self, req=None, **kwargs): + """ DescribeUHostTags - 获取指定数据中心的业务组列表。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TotalCount** (int) - 已有主机的业务组总个数 + - **TagSet** (list) - 见 **UHostTagSet** 模型定义 + + **Response Model** + + **UHostTagSet** + + - **Zone** (str) - 可用区 + - **Tag** (str) - 业务组名称 + - **TotalCount** (int) - 该业务组中包含的主机个数 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param Remark: (Optional) 备注 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ModifyUHostInstanceRemarkRequestSchema().dumps(d) - resp = self.invoke("ModifyUHostInstanceRemark", d, **kwargs) - return apis.ModifyUHostInstanceRemarkResponseSchema().loads(resp) + d = apis.DescribeUHostTagsRequestSchema().dumps(d) + resp = self.invoke("DescribeUHostTags", d, **kwargs) + return apis.DescribeUHostTagsResponseSchema().loads(resp) - def reboot_uhost_instance(self, req=None, **kwargs): - """ RebootUHostInstance - 重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 + def get_uhost_instance_price(self, req=None, **kwargs): + """ GetUHostInstancePrice - 根据UHost实例配置,获取UHost实例的价格。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **CPU** (int) - (Required) 虚拟CPU核数。可选参数:1-32(可选范围与UHostType相关)。默认值: 4 + - **Count** (int) - (Required) 【未启用】购买台数,范围[1,5] + - **ImageId** (str) - (Required) 镜像Id,可通过 `DescribeImage `_ 获取镜像ID + - **Memory** (int) - (Required) 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值:8192 + - **ChargeType** (str) - 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时付费 \\ 默认为月付。 + - **DiskSpace** (int) - 【待废弃】数据盘大小,单位: GB,范围[0,1000],步长: 10,默认值: 0 + - **Disks** (list) - 见 **GetUHostInstancePriceParamDisks** 模型定义 + - **GPU** (int) - GPU卡核心数。仅GPU机型支持此字段(可选范围与UHostType相关)。 + - **GpuType** (str) - GPU类型,枚举值["K80", "P40", "V100"] + - **LifeCycle** (int) - 【未支持】1:普通云主机;2:抢占性云主机;默认普通 + - **MachineType** (str) - 云主机类型,枚举值["N", "C", "G", "O"] + - **NetCapability** (str) - 网络增强。枚举值:Normal,不开启; Super,开启网络增强1.0; Ultra,开启网络增强2.0; 默认值为Normal。Normal和Ultra不计费。 + - **Quantity** (int) - 购买时长。默认: 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表了购买至月末。 + - **StorageType** (str) - 【待废弃】磁盘类型,同时设定系统盘和数据盘, 枚举值为:LocalDisk,本地磁盘; UDisk,云硬盘; 默认为LocalDisk 仅部分可用区支持云硬盘方式的主机存储方式,具体请查询控制台。 + - **TimemachineFeature** (str) - 【待废弃】方舟机型。No,Yes。默认是No。 + - **UHostType** (str) - 云主机机型。参考 `云主机机型说明 `_ 。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **PriceSet** (list) - 见 **UHostPriceSet** 模型定义 + + **Request Model** + + **GetUHostInstancePriceParamDisks** + + - **Size** (int) - 磁盘大小,单位GB。请参考 `磁盘类型 `_ 。 + - **Type** (str) - 磁盘类型。请参考 `磁盘类型 `_ 。 + - **IsBoot** (str) - 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 + - **BackupType** (str) - 磁盘备份方案。枚举值:\\ > NONE,无备份 \\ > DATAARK,数据方舟 \\ 当前磁盘支持的备份模式参考 `磁盘类型 `_ + + **Response Model** + + **UHostPriceSet** + + - **ChargeType** (str) - 计费类型。Year,Month,Dynamic + - **Price** (float) - 价格,单位: 元,保留小数点后两位有效数字 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param DiskPassword: (Optional) 加密盘密码 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.RebootUHostInstanceRequestSchema().dumps(d) - resp = self.invoke("RebootUHostInstance", d, **kwargs) - return apis.RebootUHostInstanceResponseSchema().loads(resp) + d = apis.GetUHostInstancePriceRequestSchema().dumps(d) + resp = self.invoke("GetUHostInstancePrice", d, **kwargs) + return apis.GetUHostInstancePriceResponseSchema().loads(resp) - def reinstall_uhost_instance(self, req=None, **kwargs): - """ ReinstallUHostInstance - 重新安装指定UHost实例的操作系统 + def get_uhost_instance_vnc_info(self, req=None, **kwargs): + """ GetUHostInstanceVncInfo - 获取指定UHost实例的管理VNC配置详细信息。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例资源ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param BootDiskSpace: (Optional) 系统盘大小。 单位:GB, 范围[20,100], 步长:10 - :param DNSServers: (Optional) 针对非私有子网主机,可自定义DNS。n可为0-2 - :param ImageId: (Optional) 镜像Id,默认使用原镜像 参见 [DescribeImage](describe_image.html) - :param Password: (Optional) 如果创建UHost实例时LoginMode为Password,则必须填写,如果LoginMode为KeyPair,不需要填写 (密码格式使用BASE64编码;LoginMode不可变更) - :param ReserveDisk: (Optional) 是否保留数据盘,保留:Yes,不报留:No, 默认:Yes;如果是从Windows重装为Linux或反之,则无法保留数据盘 - :param ResourceType: (Optional) 云灾备指明191 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.ReinstallUHostInstanceRequestSchema().dumps(d) - resp = self.invoke("ReinstallUHostInstance", d, **kwargs) - return apis.ReinstallUHostInstanceResponseSchema().loads(resp) + **Request** - def reset_uhost_instance_password(self, req=None, **kwargs): - """ ResetUHostInstancePassword - 重置UHost实例的管理员密码。 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Password: (Required) UHost新密码(密码格式使用BASE64编码) - :param UHostId: (Required) UHost实例ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **VncIP** (str) - Vnc登录IP + - **VncPort** (int) - Vnc登录端口 + - **VncPassword** (str) - Vnc 登录密码 + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ResetUHostInstancePasswordRequestSchema().dumps(d) - resp = self.invoke("ResetUHostInstancePassword", d, **kwargs) - return apis.ResetUHostInstancePasswordResponseSchema().loads(resp) - - def create_custom_image(self, req=None, **kwargs): - """ CreateCustomImage - 从指定UHost实例,生成自定义镜像。 + d = apis.GetUHostInstanceVncInfoRequestSchema().dumps(d) + resp = self.invoke("GetUHostInstanceVncInfo", d, **kwargs) + return apis.GetUHostInstanceVncInfoResponseSchema().loads(resp) - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ImageName: (Required) 镜像名称 - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param ImageDescription: (Optional) 镜像描述 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + def get_uhost_upgrade_price(self, req=None, **kwargs): + """ GetUHostUpgradePrice - 获取UHost实例升级配置的价格。可选配置范围请参考 `云主机机型说明 `_ 。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID。 参见 `DescribeUHostInstance `_ 。 + - **BootDiskSpace** (int) - 【待废弃】系统大小,单位: GB,范围[20,100],步长: 10。 + - **CPU** (int) - 虚拟CPU核数。可选参数:1-32(可选范围与UHostType相关)。默认值为当前实例的CPU核数。 + - **DiskSpace** (int) - 【待废弃】数据盘大小,单位: GB,范围[0,1000],步长: 10, 默认值是该主机当前数据盘大小。 + - **HostType** (str) - 【待废弃】主机系列,目前支持N1,N2 + - **Memory** (int) - 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值为当前实例的内存大小。 + - **NetCapValue** (int) - 网卡升降级(1,表示升级,2表示降级,0表示不变) + - **TimemachineFeature** (str) - 方舟机型。No,Yes。默认是No。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **Price** (float) - 规格调整差价。精确到小数点后2位。 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateCustomImageRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateCustomImage", d, **kwargs) - return apis.CreateCustomImageResponseSchema().loads(resp) + d = apis.GetUHostUpgradePriceRequestSchema().dumps(d) + resp = self.invoke("GetUHostUpgradePrice", d, **kwargs) + return apis.GetUHostUpgradePriceResponseSchema().loads(resp) def import_custom_image(self, req=None, **kwargs): """ ImportCustomImage - 把UFile的镜像文件导入到UHost,生成自定义镜像 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Auth: (Required) 是否授权。必须填true - :param Format: (Required) 镜像格式,可选RAW、VHD、VMDK、qcow2 - :param ImageName: (Required) 镜像名称 - :param OsName: (Required) 操作系统详细版本,请参考控制台的镜像版本;OsType为Other时,输入参数为Other - :param OsType: (Required) 操作系统平台,比如CentOS、Ubuntu、Windows、RedHat等,请参考控制台的镜像版本;若导入控制台上没有的操作系统,参数为Other - :param UFileUrl: (Required) UFile私有空间地址 - :param ImageDescription: (Optional) 镜像描述 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Auth** (bool) - (Required) 是否授权。必须填true + - **Format** (str) - (Required) 镜像格式,可选RAW、VHD、VMDK、qcow2 + - **ImageName** (str) - (Required) 镜像名称 + - **OsName** (str) - (Required) 操作系统详细版本,请参考控制台的镜像版本;OsType为Other时,输入参数为Other + - **OsType** (str) - (Required) 操作系统平台,比如CentOS、Ubuntu、Windows、RedHat等,请参考控制台的镜像版本;若导入控制台上没有的操作系统,参数为Other + - **UFileUrl** (str) - (Required) UFile私有空间地址 + - **ImageDescription** (str) - 镜像描述 + + **Response** + + - **ImageId** (str) - 镜像Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -196,14 +447,65 @@ def import_custom_image(self, req=None, **kwargs): resp = self.invoke("ImportCustomImage", d, **kwargs) return apis.ImportCustomImageResponseSchema().loads(resp) + def modify_uhost_instance_name(self, req=None, **kwargs): + """ ModifyUHostInstanceName - 修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **Name** (str) - UHost实例名称 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例ID + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.ModifyUHostInstanceNameRequestSchema().dumps(d) + resp = self.invoke("ModifyUHostInstanceName", d, **kwargs) + return apis.ModifyUHostInstanceNameResponseSchema().loads(resp) + + def modify_uhost_instance_remark(self, req=None, **kwargs): + """ ModifyUHostInstanceRemark - 修改指定UHost实例备注信息。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **Remark** (str) - 备注 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例ID + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.ModifyUHostInstanceRemarkRequestSchema().dumps(d) + resp = self.invoke("ModifyUHostInstanceRemark", d, **kwargs) + return apis.ModifyUHostInstanceRemarkResponseSchema().loads(resp) + def modify_uhost_instance_tag(self, req=None, **kwargs): """ ModifyUHostInstanceTag - 修改指定UHost实例业务组标识。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param Tag: (Optional) 业务组名称 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **Tag** (str) - 业务组名称 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -211,185 +513,183 @@ def modify_uhost_instance_tag(self, req=None, **kwargs): resp = self.invoke("ModifyUHostInstanceTag", d, **kwargs) return apis.ModifyUHostInstanceTagResponseSchema().loads(resp) - def resize_attached_disk(self, req=None, **kwargs): - """ ResizeAttachedDisk - 修改挂载的磁盘大小,包含系统盘和数据盘 + def poweroff_uhost_instance(self, req=None, **kwargs): + """ PoweroffUHostInstance - 直接关闭UHost实例电源,无需等待实例正常关闭。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DiskId: (Required) 磁盘ID。参见 [DescribeUHostInstance](describe_uhost_instance.html)返回值中的DiskSet。 - :param DiskSpace: (Required) 磁盘大小,单位GB,步长为10。取值范围需大于当前磁盘大小,最大值请参考[[api:uhost-api:disk_type|磁盘类型]]。 - :param UHostId: (Required) UHost实例ID。 参见 [DescribeUHostInstance](describe_uhost_instance.html)。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.ResizeAttachedDiskRequestSchema().dumps(d) - resp = self.invoke("ResizeAttachedDisk", d, **kwargs) - return apis.ResizeAttachedDiskResponseSchema().loads(resp) + **Request** - def start_uhost_instance(self, req=None, **kwargs): - """ StartUHostInstance - 启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param DiskPassword: (Optional) 加密盘密码 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.StartUHostInstanceRequestSchema().dumps(d) - resp = self.invoke("StartUHostInstance", d, **kwargs) - return apis.StartUHostInstanceResponseSchema().loads(resp) + d = apis.PoweroffUHostInstanceRequestSchema().dumps(d) + resp = self.invoke("PoweroffUHostInstance", d, **kwargs) + return apis.PoweroffUHostInstanceResponseSchema().loads(resp) - def terminate_uhost_instance(self, req=None, **kwargs): - """ TerminateUHostInstance - 删除指定数据中心的UHost实例。 + def reboot_uhost_instance(self, req=None, **kwargs): + """ RebootUHostInstance - 重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost资源Id 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param Destroy: (Optional) 是否直接删除,0表示按照原来的逻辑(有回收站权限,则进入回收站),1表示直接删除 - :param ReleaseEIP: (Optional) 是否释放绑定的EIP。true: 解绑EIP后,并释放;其他值或不填:解绑EIP。 - :param ReleaseUDisk: (Optional) 是否删除挂载的数据盘。true删除,其他不删除。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **DiskPassword** (str) - 加密盘密码 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.TerminateUHostInstanceRequestSchema().dumps(d) - resp = self.invoke("TerminateUHostInstance", d, **kwargs) - return apis.TerminateUHostInstanceResponseSchema().loads(resp) + d = apis.RebootUHostInstanceRequestSchema().dumps(d) + resp = self.invoke("RebootUHostInstance", d, **kwargs) + return apis.RebootUHostInstanceResponseSchema().loads(resp) - def create_uhost_instance(self, req=None, **kwargs): - """ CreateUHostInstance - 创建UHost实例。 + def reinstall_uhost_instance(self, req=None, **kwargs): + """ ReinstallUHostInstance - 重新安装指定UHost实例的操作系统 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ImageId: (Required) 镜像ID。 请通过 [DescribeImage](describe_image.html)获取 - :param LoginMode: (Required) 主机登陆模式。密码(默认选项): Password。 - :param Password: (Required) UHost密码。请遵照[[api:uhost-api:specification|字段规范]]设定密码。密码需使用base64进行编码,举例如下:# echo -n Password1 | base64UGFzc3dvcmQx。 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param AlarmTemplateId: (Optional) 告警模板id,如果传了告警模板id,且告警模板id正确,则绑定告警模板。绑定告警模板失败只会在后台有日志,不会影响创建主机流程,也不会在前端报错。 - :param BootDiskSpace: (Optional) 【待废弃,不建议调用】系统盘大小。 单位:GB, 范围[20,100], 步长:10 - :param CPU: (Optional) 虚拟CPU核数。可选参数:1-64(可选范围与UHostType相关)。默认值: 4,只有Intel/Cascadelake支持CPU 64。 - :param ChargeType: (Optional) 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时付费 \\ 默认为月付;\\ >Postpay ,后付费。 - :param CouponId: (Optional) 主机代金券ID。请通过DescribeCoupon接口查询,或登录用户中心查看 - :param DiskPassword: (Optional) 【待废弃,不建议调用】加密盘的密码。若输入此字段,自动选择加密盘。加密盘需要权限位。 - :param DiskSpace: (Optional) 【待废弃,不建议调用】数据盘大小。 单位:GB, 范围[0,8000], 步长:10, 默认值:20,云盘支持0-8000;本地普通盘支持0-2000;本地SSD盘(包括所有GPU机型)支持100-1000 - :param Disks: (Optional) Disks - :param GPU: (Optional) GPU卡核心数。仅GPU机型支持此字段(可选范围与UHostType相关) - :param GpuType: (Optional) GPU类型,枚举值["K80", "P40", "V100"] - :param HostType: (Optional) 【已废弃】宿主机类型,N2,N1 - :param HotplugFeature: (Optional) 【待废弃,不建议调用】是否开启热升级特性。True为开启,False为未开启,默认False。仅系列1云主机需要使用此字段,系列2云主机根据镜像是否支持云主机。 - :param InstallAgent: (Optional) 【暂不支持】是否安装UGA。'yes': 安装;其他或者不填:不安装。 - :param IsolationGroup: (Optional) 硬件隔离组id。可通过DescribeIsolationGroup获取。 - :param KeyPair: (Optional) 【暂不支持】Keypair公钥,LoginMode为KeyPair时此项必须 - :param MachineType: (Optional) 云主机类型,枚举值["N", "C", "G", "O"] - :param MaxCount: (Optional) 【批量创建主机时必填】最大创建主机数量,取值范围是[1,100]; - :param Memory: (Optional) 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值:8192 - :param MinimalCpuPlatform: (Optional) 最低cpu平台,枚举值["Intel/Auto", "Intel/IvyBridge", "Intel/Haswell", "Intel/Broadwell", "Intel/Skylake", "Intel/Cascadelake"(只有O型云主机可选)] - :param Name: (Optional) UHost实例名称。默认:UHost。请遵照[[api:uhost-api:specification|字段规范]]设定实例名称。 - :param NetCapability: (Optional) 网络增强。枚举值:Normal(默认),不开启; Super,开启网络增强1.0; Ultra,开启网络增强2.0(仅支持部分可用区,请参考控制台) - :param NetworkId: (Optional) 【已废弃】网络ID(VPC2.0情况下无需填写)。VPC1.0情况下,若不填写,代表优先选择基础网络; 若填写,代表选择子网。参见DescribeSubnet。 - :param NetworkInterface: (Optional) NetworkInterface - :param PrivateIp: (Optional) 【数组】创建云主机时指定内网IP。若不传值,则随机分配当前子网下的IP。调用方式举例:PrivateIp.0=x.x.x.x。当前只支持一个内网IP。 - :param PrivateMac: (Optional) 【批量创建该参数无效】【内部字段】创建云主机时指定Mac。调用方式举例:PrivateMac="xx:xx:xx:xx:xx:xx"。 - :param Quantity: (Optional) 购买时长。默认:值 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表购买至月末。 - :param ResourceType: (Optional) 【内部参数】资源类型 - :param SecurityGroupId: (Optional) 防火墙Id,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 [DescribeSecurityGroup](../unet-api/describe_security_group.html)。 - :param SetId: (Optional) - :param StorageType: (Optional) 【待废弃,不建议调用】磁盘类型,同时设定系统盘和数据盘的磁盘类型。枚举值为:LocalDisk,本地磁盘; UDisk,云硬盘;默认为LocalDisk。仅部分可用区支持云硬盘方式的主机存储方式,具体请查询控制台。 - :param SubnetId: (Optional) 子网 ID。默认为当前地域的默认子网。 - :param Tag: (Optional) 业务组。默认:Default(Default即为未分组)。请遵照[[api:uhost-api:specification|字段规范]]设定业务组。 - :param TimemachineFeature: (Optional) 【待废弃,不建议调用】是否开启方舟特性。Yes为开启方舟,No为关闭方舟。目前仅选择普通本地盘+普通本地盘 或 SSD云盘+普通云盘的组合支持开启方舟。 - :param UHostType: (Optional) 云主机机型。参考[[api:uhost-api:uhost_type|云主机机型说明]]。【待废弃,不建议调用】 - :param UserDataScript: (Optional) 【暂不支持】cloudinit方式下,用户初始化脚本 - :param VPCId: (Optional) VPC ID。默认为当前地域的默认VPC。 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例资源ID 参见 `DescribeUHostInstance `_ + - **BootDiskSpace** (int) - 系统盘大小。 单位:GB, 范围[20,100], 步长:10 + - **DNSServers** (list) - 针对非私有子网主机,可自定义DNS。n可为0-2 + - **ImageId** (str) - 镜像Id,默认使用原镜像 参见 `DescribeImage `_ + - **Password** (str) - 如果创建UHost实例时LoginMode为Password,则必须填写,如果LoginMode为KeyPair,不需要填写 (密码格式使用BASE64编码;LoginMode不可变更) + - **ReserveDisk** (str) - 是否保留数据盘,保留:Yes,不报留:No, 默认:Yes;如果是从Windows重装为Linux或反之,则无法保留数据盘 + - **ResourceType** (int) - 云灾备指明191 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUHostInstanceRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUHostInstance", d, **kwargs) - return apis.CreateUHostInstanceResponseSchema().loads(resp) + d = apis.ReinstallUHostInstanceRequestSchema().dumps(d) + resp = self.invoke("ReinstallUHostInstance", d, **kwargs) + return apis.ReinstallUHostInstanceResponseSchema().loads(resp) - def describe_uhost_instance(self, req=None, **kwargs): - """ DescribeUHostInstance - 获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 + def reset_uhost_instance_password(self, req=None, **kwargs): + """ ResetUHostInstancePassword - 重置UHost实例的管理员密码。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Password** (str) - (Required) UHost新密码(密码格式使用BASE64编码) + - **UHostId** (str) - (Required) UHost实例ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param IsolationGroup: (Optional) 硬件隔离组id。通过硬件隔离组筛选主机。 - :param LifeCycle: (Optional) 1:普通云主机;2:抢占型云主机;如不传此参数,默认全部获取 - :param Limit: (Optional) 返回数据长度,默认为20,最大100 - :param Offset: (Optional) 列表起始位置偏移量,默认为0 - :param SubnetId: (Optional) 子网id。通过子网筛选主机。北京一地域无效。 - :param Tag: (Optional) 要查询的业务组名称 - :param UHostIds: (Optional) 【数组】UHost主机的资源ID,例如UHostIds.0代表希望获取信息 的主机1,UHostIds.1代表主机2。 如果不传入,则返回当前Region 所有符合条件的UHost实例。 - :param VPCId: (Optional) vpc id。通过VPC筛选主机。北京一地域无效。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUHostInstanceRequestSchema().dumps(d) - resp = self.invoke("DescribeUHostInstance", d, **kwargs) - return apis.DescribeUHostInstanceResponseSchema().loads(resp) + d = apis.ResetUHostInstancePasswordRequestSchema().dumps(d) + resp = self.invoke("ResetUHostInstancePassword", d, **kwargs) + return apis.ResetUHostInstancePasswordResponseSchema().loads(resp) - def get_uhost_instance_vnc_info(self, req=None, **kwargs): - """ GetUHostInstanceVncInfo - 获取指定UHost实例的管理VNC配置详细信息。 + def resize_attached_disk(self, req=None, **kwargs): + """ ResizeAttachedDisk - 修改挂载的磁盘大小,包含系统盘和数据盘 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](./describe_uhost_instance.html) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **DiskId** (str) - (Required) 磁盘ID。参见 `DescribeUHostInstance `_ 返回值中的DiskSet。 + - **DiskSpace** (int) - (Required) 磁盘大小,单位GB,步长为10。取值范围需大于当前磁盘大小,最大值请参考 `磁盘类型 `_ 。 + - **UHostId** (str) - (Required) UHost实例ID。 参见 `DescribeUHostInstance `_ 。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DiskId** (str) - 改配成功的磁盘id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.GetUHostInstanceVncInfoRequestSchema().dumps(d) - resp = self.invoke("GetUHostInstanceVncInfo", d, **kwargs) - return apis.GetUHostInstanceVncInfoResponseSchema().loads(resp) + d = apis.ResizeAttachedDiskRequestSchema().dumps(d) + resp = self.invoke("ResizeAttachedDisk", d, **kwargs) + return apis.ResizeAttachedDiskResponseSchema().loads(resp) - def get_uhost_upgrade_price(self, req=None, **kwargs): - """ GetUHostUpgradePrice - 获取UHost实例升级配置的价格。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 - - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID。 参见 [DescribeUHostInstance](describe_uhost_instance.html)。 - :param BootDiskSpace: (Optional) 【待废弃】系统大小,单位: GB,范围[20,100],步长: 10。 - :param CPU: (Optional) 虚拟CPU核数。可选参数:1-32(可选范围与UHostType相关)。默认值为当前实例的CPU核数。 - :param DiskSpace: (Optional) 【待废弃】数据盘大小,单位: GB,范围[0,1000],步长: 10, 默认值是该主机当前数据盘大小。 - :param HostType: (Optional) 【待废弃】主机系列,目前支持N1,N2 - :param Memory: (Optional) 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值为当前实例的内存大小。 - :param NetCapValue: (Optional) 网卡升降级(1,表示升级,2表示降级,0表示不变) - :param TimemachineFeature: (Optional) 方舟机型。No,Yes。默认是No。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + def resize_uhost_instance(self, req=None, **kwargs): + """ ResizeUHostInstance - 修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考 `云主机机型说明 `_ 。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **BootDiskSpace** (int) - 【待废弃】系统盘大小,单位:GB,范围[20,100],步长:10,系统盘不支持缩容,因此不允许输入比当前实例系统盘小的值 + - **CPU** (int) - 虚拟CPU核数。可选参数:1-32(可选范围与UHostType相关)。默认值为当前实例的CPU核数 + - **DiskSpace** (int) - 【待废弃】数据盘大小,单位:GB,范围[10,1000]; SSD机型,单位:GB,范围[100,500];步长:10,默认值为当前实例的数据盘大小,数据盘不支持缩容,因此不允许输入比当前实例数据盘大小的值 + - **Memory** (int) - 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围与UHostType相关)。默认值为当前实例的内存大小。 + - **NetCapValue** (int) - 网卡升降级(1,表示升级,2表示降级,0表示不变) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.GetUHostUpgradePriceRequestSchema().dumps(d) - resp = self.invoke("GetUHostUpgradePrice", d, **kwargs) - return apis.GetUHostUpgradePriceResponseSchema().loads(resp) + d = apis.ResizeUHostInstanceRequestSchema().dumps(d) + resp = self.invoke("ResizeUHostInstance", d, **kwargs) + return apis.ResizeUHostInstanceResponseSchema().loads(resp) - def modify_uhost_instance_name(self, req=None, **kwargs): - """ ModifyUHostInstanceName - 修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 + def start_uhost_instance(self, req=None, **kwargs): + """ StartUHostInstance - 启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param Name: (Optional) UHost实例名称 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **DiskPassword** (str) - 加密盘密码 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ModifyUHostInstanceNameRequestSchema().dumps(d) - resp = self.invoke("ModifyUHostInstanceName", d, **kwargs) - return apis.ModifyUHostInstanceNameResponseSchema().loads(resp) + d = apis.StartUHostInstanceRequestSchema().dumps(d) + resp = self.invoke("StartUHostInstance", d, **kwargs) + return apis.StartUHostInstanceResponseSchema().loads(resp) def stop_uhost_instance(self, req=None, **kwargs): """ StopUHostInstance - 指停止处于运行状态的UHost实例,需指定数据中心及UhostID。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](describe_uhost_instance.html) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost实例ID 参见 `DescribeUHostInstance `_ + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **UhostId** (str) - UHost实例ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -397,53 +697,65 @@ def stop_uhost_instance(self, req=None, **kwargs): resp = self.invoke("StopUHostInstance", d, **kwargs) return apis.StopUHostInstanceResponseSchema().loads(resp) - def describe_uhost_tags(self, req=None, **kwargs): - """ DescribeUHostTags - 获取指定数据中心的业务组列表。 + def terminate_custom_image(self, req=None, **kwargs): + """ TerminateCustomImage - 删除用户自定义镜像 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeUHostTagsRequestSchema().dumps(d) - resp = self.invoke("DescribeUHostTags", d, **kwargs) - return apis.DescribeUHostTagsResponseSchema().loads(resp) + **Request** - def poweroff_uhost_instance(self, req=None, **kwargs): - """ PoweroffUHostInstance - 直接关闭UHost实例电源,无需等待实例正常关闭。 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ImageId** (str) - (Required) 自制镜像ID 参见 `DescribeImage `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostId: (Required) UHost实例ID 参见 [DescribeUHostInstance](./describe_uhost_instance.html) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ImageId** (str) - 自制镜像Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.PoweroffUHostInstanceRequestSchema().dumps(d) - resp = self.invoke("PoweroffUHostInstance", d, **kwargs) - return apis.PoweroffUHostInstanceResponseSchema().loads(resp) + d = apis.TerminateCustomImageRequestSchema().dumps(d) + resp = self.invoke("TerminateCustomImage", d, **kwargs) + return apis.TerminateCustomImageResponseSchema().loads(resp) - def terminate_custom_image(self, req=None, **kwargs): - """ TerminateCustomImage - 删除用户自定义镜像 + def terminate_uhost_instance(self, req=None, **kwargs): + """ TerminateUHostInstance - 删除指定数据中心的UHost实例。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ImageId: (Required) 自制镜像ID 参见 [DescribeImage](describe_image.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostId** (str) - (Required) UHost资源Id 参见 `DescribeUHostInstance `_ + - **Destroy** (int) - 是否直接删除,0表示按照原来的逻辑(有回收站权限,则进入回收站),1表示直接删除 + - **ReleaseEIP** (bool) - 是否释放绑定的EIP。true: 解绑EIP后,并释放;其他值或不填:解绑EIP。 + - **ReleaseUDisk** (bool) - 是否删除挂载的数据盘。true删除,其他不删除。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **InRecycle** (str) - 放入回收站:"Yes", 彻底删除:“No” + - **UHostId** (str) - UHost 实例 Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.TerminateCustomImageRequestSchema().dumps(d) - resp = self.invoke("TerminateCustomImage", d, **kwargs) - return apis.TerminateCustomImageResponseSchema().loads(resp) + d = apis.TerminateUHostInstanceRequestSchema().dumps(d) + resp = self.invoke("TerminateUHostInstance", d, **kwargs) + return apis.TerminateUHostInstanceResponseSchema().loads(resp) def upgrade_to_ark_uhost_instance(self, req=None, **kwargs): """ UpgradeToArkUHostInstance - 普通升级为方舟机型 - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param UHostIds: (Required) UHost主机的资源ID,例如UHostIds.0代表希望升级的主机1,UHostIds.1代表主机2。 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param CouponId: (Optional) 代金券ID 请参考DescribeCoupon接口 + **Request** + + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **UHostIds** (list) - (Required) UHost主机的资源ID,例如UHostIds.0代表希望升级的主机1,UHostIds.1代表主机2。 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **CouponId** (str) - 代金券ID 请参考DescribeCoupon接口 + + **Response** + + - **UHostSet** (list) - UHost主机的资源ID数组 + """ d = {"Region": self.config.region} req and d.update(req) diff --git a/ucloud/services/uhost/schemas/apis.py b/ucloud/services/uhost/schemas/apis.py index d884590..f26293f 100644 --- a/ucloud/services/uhost/schemas/apis.py +++ b/ucloud/services/uhost/schemas/apis.py @@ -6,85 +6,63 @@ """ UHost API Schema """ """ -API: PoweroffUHostInstance +API: CopyCustomImage -直接关闭UHost实例电源,无需等待实例正常关闭。 +复制自制镜像 """ -class PoweroffUHostInstanceRequestSchema(schema.RequestSchema): - """ PoweroffUHostInstance - 直接关闭UHost实例电源,无需等待实例正常关闭。 +class CopyCustomImageRequestSchema(schema.RequestSchema): + """ CopyCustomImage - 复制自制镜像 """ fields = { + "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UHostId": fields.Str(required=True, dump_to="UHostId"), - "Region": fields.Str(required=True, dump_to="Region"), + "SourceImageId": fields.Str(required=True, dump_to="SourceImageId"), + "TargetProjectId": fields.Str(required=True, dump_to="TargetProjectId"), + "TargetRegion": fields.Str(required=False, dump_to="TargetRegion"), + "TargetImageName": fields.Str(required=False, dump_to="TargetImageName"), + "TargetImageDescription": fields.Str( + required=False, dump_to="TargetImageDescription" + ), } -class PoweroffUHostInstanceResponseSchema(schema.ResponseSchema): - """ PoweroffUHostInstance - 直接关闭UHost实例电源,无需等待实例正常关闭。 +class CopyCustomImageResponseSchema(schema.ResponseSchema): + """ CopyCustomImage - 复制自制镜像 """ - fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} + fields = {"TargetImageId": fields.Str(required=False, load_from="TargetImageId")} """ -API: ResizeAttachedDisk +API: CreateCustomImage -修改挂载的磁盘大小,包含系统盘和数据盘 +从指定UHost实例,生成自定义镜像。 """ -class ResizeAttachedDiskRequestSchema(schema.RequestSchema): - """ ResizeAttachedDisk - 修改挂载的磁盘大小,包含系统盘和数据盘 +class CreateCustomImageRequestSchema(schema.RequestSchema): + """ CreateCustomImage - 从指定UHost实例,生成自定义镜像。 """ fields = { + "ImageDescription": fields.Str(required=False, dump_to="ImageDescription"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), - "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), - "DiskId": fields.Str(required=True, dump_to="DiskId"), - } - - -class ResizeAttachedDiskResponseSchema(schema.ResponseSchema): - """ ResizeAttachedDisk - 修改挂载的磁盘大小,包含系统盘和数据盘 - """ - - fields = {"DiskId": fields.Str(required=False, load_from="DiskId")} - - -""" -API: UpgradeToArkUHostInstance - -普通升级为方舟机型 -""" - - -class UpgradeToArkUHostInstanceRequestSchema(schema.RequestSchema): - """ UpgradeToArkUHostInstance - 普通升级为方舟机型 - """ - - fields = { - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "UHostIds": fields.List(fields.Str()), - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), + "ImageName": fields.Str(required=True, dump_to="ImageName"), } -class UpgradeToArkUHostInstanceResponseSchema(schema.ResponseSchema): - """ UpgradeToArkUHostInstance - 普通升级为方舟机型 +class CreateCustomImageResponseSchema(schema.ResponseSchema): + """ CreateCustomImage - 从指定UHost实例,生成自定义镜像。 """ - fields = { - "UHostSet": fields.List(fields.Str(), required=False, load_from="UHostSet") - } + fields = {"ImageId": fields.Str(required=False, load_from="ImageId")} """ @@ -99,9 +77,9 @@ class CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSHSchema(schema.RequestS """ fields = { - "Area": fields.Str(required=False, dump_to="Area"), "AreaCode": fields.Str(required=False, dump_to="AreaCode"), "Port": fields.Int(required=False, dump_to="Port"), + "Area": fields.Str(required=False, dump_to="Area"), } @@ -110,14 +88,14 @@ class CreateUHostInstanceParamNetworkInterfaceEIPSchema(schema.RequestSchema): """ fields = { + "Bandwidth": fields.Int(required=False, dump_to="Bandwidth"), + "ShareBandwidthId": fields.Str(required=False, dump_to="ShareBandwidthId"), + "OperatorName": fields.Str(required=False, dump_to="OperatorName"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), "GlobalSSH": CreateUHostInstanceParamNetworkInterfaceEIPGlobalSSHSchema( required=False, dump_to="GlobalSSH" ), - "ShareBandwidthId": fields.Str(required=False, dump_to="ShareBandwidthId"), - "OperatorName": fields.Str(required=False, dump_to="OperatorName"), "PayMode": fields.Str(required=False, dump_to="PayMode"), - "Bandwidth": fields.Int(required=False, dump_to="Bandwidth"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), } @@ -126,13 +104,13 @@ class CreateUHostInstanceParamDisksSchema(schema.RequestSchema): """ fields = { - "Size": fields.Int(required=True, dump_to="Size"), "IsBoot": fields.Str(required=True, dump_to="IsBoot"), - "BackupType": fields.Str(required=False, dump_to="BackupType"), - "KmsKeyId": fields.Str(required=False, dump_to="KmsKeyId"), "Type": fields.Str(required=True, dump_to="Type"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), + "BackupType": fields.Str(required=False, dump_to="BackupType"), + "Size": fields.Int(required=True, dump_to="Size"), "Encrypted": fields.Bool(required=False, dump_to="Encrypted"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "KmsKeyId": fields.Str(required=False, dump_to="KmsKeyId"), } @@ -152,50 +130,50 @@ class CreateUHostInstanceRequestSchema(schema.RequestSchema): """ fields = { - "BootDiskSpace": fields.Int(required=False, dump_to="BootDiskSpace"), - "IsolationGroup": fields.Str(required=False, dump_to="IsolationGroup"), - "Region": fields.Str(required=True, dump_to="Region"), + "PrivateIp": fields.List(fields.Str()), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "InstallAgent": fields.Str(required=False, dump_to="InstallAgent"), + "StorageType": fields.Str(required=False, dump_to="StorageType"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "ImageId": fields.Str(required=True, dump_to="ImageId"), - "ResourceType": fields.Int(required=False, dump_to="ResourceType"), - "Password": fields.Base64(required=True, dump_to="Password"), - "Memory": fields.Int(required=False, dump_to="Memory"), + "Name": fields.Str(required=False, dump_to="Name"), + "BootDiskSpace": fields.Int(required=False, dump_to="BootDiskSpace"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), "KeyPair": fields.Str(required=False, dump_to="KeyPair"), - "UserDataScript": fields.Str(required=False, dump_to="UserDataScript"), - "UHostType": fields.Str(required=False, dump_to="UHostType"), + "NetCapability": fields.Str(required=False, dump_to="NetCapability"), + "HostType": fields.Str(required=False, dump_to="HostType"), + "SetId": fields.Int(required=False, dump_to="SetId"), + "MachineType": fields.Str(required=False, dump_to="MachineType"), "NetworkInterface": fields.List( CreateUHostInstanceParamNetworkInterfaceSchema() ), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), - "SetId": fields.Int(required=False, dump_to="SetId"), + "Password": fields.Base64(required=True, dump_to="Password"), "CPU": fields.Int(required=False, dump_to="CPU"), - "Disks": fields.List(CreateUHostInstanceParamDisksSchema()), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "VPCId": fields.Str(required=False, dump_to="VPCId"), - "HotplugFeature": fields.Bool(required=False, dump_to="HotplugFeature"), - "SecurityGroupId": fields.Str(required=False, dump_to="SecurityGroupId"), - "HostType": fields.Str(required=False, dump_to="HostType"), - "MinimalCpuPlatform": fields.Str(required=False, dump_to="MinimalCpuPlatform"), - "MachineType": fields.Str(required=False, dump_to="MachineType"), - "PrivateIp": fields.List(fields.Str()), - "GPU": fields.Int(required=False, dump_to="GPU"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "Name": fields.Str(required=False, dump_to="Name"), - "MaxCount": fields.Int(required=False, dump_to="MaxCount"), + "NetworkId": fields.Str(required=False, dump_to="NetworkId"), + "GpuType": fields.Str(required=False, dump_to="GpuType"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "TimemachineFeature": fields.Str(required=False, dump_to="TimemachineFeature"), "DiskPassword": fields.Str(required=False, dump_to="DiskPassword"), + "Memory": fields.Int(required=False, dump_to="Memory"), + "GPU": fields.Int(required=False, dump_to="GPU"), + "IsolationGroup": fields.Str(required=False, dump_to="IsolationGroup"), "CouponId": fields.Str(required=False, dump_to="CouponId"), + "Disks": fields.List(CreateUHostInstanceParamDisksSchema()), + "LoginMode": fields.Str(required=True, dump_to="LoginMode"), + "MinimalCpuPlatform": fields.Str(required=False, dump_to="MinimalCpuPlatform"), "Tag": fields.Str(required=False, dump_to="Tag"), - "TimemachineFeature": fields.Str(required=False, dump_to="TimemachineFeature"), - "InstallAgent": fields.Str(required=False, dump_to="InstallAgent"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Region": fields.Str(required=True, dump_to="Region"), + "UHostType": fields.Str(required=False, dump_to="UHostType"), "AlarmTemplateId": fields.Int(required=False, dump_to="AlarmTemplateId"), - "GpuType": fields.Str(required=False, dump_to="GpuType"), - "StorageType": fields.Str(required=False, dump_to="StorageType"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "NetCapability": fields.Str(required=False, dump_to="NetCapability"), - "NetworkId": fields.Str(required=False, dump_to="NetworkId"), + "UserDataScript": fields.Str(required=False, dump_to="UserDataScript"), + "ResourceType": fields.Int(required=False, dump_to="ResourceType"), + "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), + "HotplugFeature": fields.Bool(required=False, dump_to="HotplugFeature"), "PrivateMac": fields.Str(required=False, dump_to="PrivateMac"), - "LoginMode": fields.Str(required=True, dump_to="LoginMode"), + "SecurityGroupId": fields.Str(required=False, dump_to="SecurityGroupId"), + "MaxCount": fields.Int(required=False, dump_to="MaxCount"), } @@ -209,6 +187,110 @@ class CreateUHostInstanceResponseSchema(schema.ResponseSchema): } +""" +API: DescribeImage + +获取指定数据中心镜像列表,用户可通过指定操作系统类型,镜像Id进行过滤。 +""" + + +class DescribeImageRequestSchema(schema.RequestSchema): + """ DescribeImage - 获取指定数据中心镜像列表,用户可通过指定操作系统类型,镜像Id进行过滤。 + """ + + fields = { + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ImageType": fields.Str(required=False, dump_to="ImageType"), + "ImageId": fields.Str(required=False, dump_to="ImageId"), + "PriceSet": fields.Int(required=False, dump_to="PriceSet"), + "Region": fields.Str(required=True, dump_to="Region"), + "OsType": fields.Str(required=False, dump_to="OsType"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), + } + + +class DescribeImageResponseSchema(schema.ResponseSchema): + """ DescribeImage - 获取指定数据中心镜像列表,用户可通过指定操作系统类型,镜像Id进行过滤。 + """ + + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "ImageSet": fields.List( + models.UHostImageSetSchema(), required=False, load_from="ImageSet" + ), + } + + +""" +API: DescribeUHostInstance + +获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 +""" + + +class DescribeUHostInstanceRequestSchema(schema.RequestSchema): + """ DescribeUHostInstance - 获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 + """ + + fields = { + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "LifeCycle": fields.Int(required=False, dump_to="LifeCycle"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "IsolationGroup": fields.Str(required=False, dump_to="IsolationGroup"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "UHostIds": fields.List(fields.Str()), + } + + +class DescribeUHostInstanceResponseSchema(schema.ResponseSchema): + """ DescribeUHostInstance - 获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 + """ + + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "UHostSet": fields.List( + models.UHostInstanceSetSchema(), required=False, load_from="UHostSet" + ), + } + + +""" +API: DescribeUHostTags + +获取指定数据中心的业务组列表。 +""" + + +class DescribeUHostTagsRequestSchema(schema.RequestSchema): + """ DescribeUHostTags - 获取指定数据中心的业务组列表。 + """ + + fields = { + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + } + + +class DescribeUHostTagsResponseSchema(schema.ResponseSchema): + """ DescribeUHostTags - 获取指定数据中心的业务组列表。 + """ + + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "TagSet": fields.List( + models.UHostTagSetSchema(), required=False, load_from="TagSet" + ), + } + + """ API: GetUHostInstancePrice @@ -222,8 +304,8 @@ class GetUHostInstancePriceParamDisksSchema(schema.RequestSchema): fields = { "BackupType": fields.Str(required=False, dump_to="BackupType"), - "Type": fields.Str(required=True, dump_to="Type"), "IsBoot": fields.Str(required=True, dump_to="IsBoot"), + "Type": fields.Str(required=True, dump_to="Type"), "Size": fields.Int(required=True, dump_to="Size"), } @@ -233,25 +315,25 @@ class GetUHostInstancePriceRequestSchema(schema.RequestSchema): """ fields = { - "Zone": fields.Str(required=False, dump_to="Zone"), - "GPU": fields.Int(required=False, dump_to="GPU"), - "StorageType": fields.Str(required=False, dump_to="StorageType"), - "MachineType": fields.Str(required=False, dump_to="MachineType"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "NetCapability": fields.Str(required=False, dump_to="NetCapability"), - "GpuType": fields.Str(required=False, dump_to="GpuType"), - "Disks": fields.List(GetUHostInstancePriceParamDisksSchema()), + "LifeCycle": fields.Int(required=False, dump_to="LifeCycle"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), "CPU": fields.Int(required=True, dump_to="CPU"), "Memory": fields.Int(required=True, dump_to="Memory"), - "Count": fields.Int(required=True, dump_to="Count"), - "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "TimemachineFeature": fields.Str(required=False, dump_to="TimemachineFeature"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "Region": fields.Str(required=True, dump_to="Region"), + "MachineType": fields.Str(required=False, dump_to="MachineType"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "ImageId": fields.Str(required=True, dump_to="ImageId"), + "StorageType": fields.Str(required=False, dump_to="StorageType"), + "Disks": fields.List(GetUHostInstancePriceParamDisksSchema()), "UHostType": fields.Str(required=False, dump_to="UHostType"), - "LifeCycle": fields.Int(required=False, dump_to="LifeCycle"), + "GpuType": fields.Str(required=False, dump_to="GpuType"), + "Region": fields.Str(required=True, dump_to="Region"), + "Count": fields.Int(required=True, dump_to="Count"), + "GPU": fields.Int(required=False, dump_to="GPU"), + "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), } @@ -267,14 +349,14 @@ class GetUHostInstancePriceResponseSchema(schema.ResponseSchema): """ -API: ModifyUHostInstanceTag +API: GetUHostInstanceVncInfo -修改指定UHost实例业务组标识。 +获取指定UHost实例的管理VNC配置详细信息。 """ -class ModifyUHostInstanceTagRequestSchema(schema.RequestSchema): - """ ModifyUHostInstanceTag - 修改指定UHost实例业务组标识。 +class GetUHostInstanceVncInfoRequestSchema(schema.RequestSchema): + """ GetUHostInstanceVncInfo - 获取指定UHost实例的管理VNC配置详细信息。 """ fields = { @@ -282,15 +364,19 @@ class ModifyUHostInstanceTagRequestSchema(schema.RequestSchema): "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), - "Tag": fields.Str(required=False, dump_to="Tag"), } -class ModifyUHostInstanceTagResponseSchema(schema.ResponseSchema): - """ ModifyUHostInstanceTag - 修改指定UHost实例业务组标识。 +class GetUHostInstanceVncInfoResponseSchema(schema.ResponseSchema): + """ GetUHostInstanceVncInfo - 获取指定UHost实例的管理VNC配置详细信息。 """ - fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} + fields = { + "VncIP": fields.Str(required=False, load_from="VncIP"), + "VncPort": fields.Int(required=False, load_from="VncPort"), + "VncPassword": fields.Str(required=False, load_from="VncPassword"), + "UhostId": fields.Str(required=False, load_from="UhostId"), + } """ @@ -305,17 +391,17 @@ class GetUHostUpgradePriceRequestSchema(schema.RequestSchema): """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "HostType": fields.Str(required=False, dump_to="HostType"), + "UHostId": fields.Str(required=True, dump_to="UHostId"), "CPU": fields.Int(required=False, dump_to="CPU"), + "TimemachineFeature": fields.Str(required=False, dump_to="TimemachineFeature"), + "NetCapValue": fields.Int(required=False, dump_to="NetCapValue"), "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), "BootDiskSpace": fields.Int(required=False, dump_to="BootDiskSpace"), - "HostType": fields.Str(required=False, dump_to="HostType"), + "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "UHostId": fields.Str(required=True, dump_to="UHostId"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "Memory": fields.Int(required=False, dump_to="Memory"), - "TimemachineFeature": fields.Str(required=False, dump_to="TimemachineFeature"), - "NetCapValue": fields.Int(required=False, dump_to="NetCapValue"), } @@ -327,100 +413,72 @@ class GetUHostUpgradePriceResponseSchema(schema.ResponseSchema): """ -API: ReinstallUHostInstance +API: ImportCustomImage -重新安装指定UHost实例的操作系统 +把UFile的镜像文件导入到UHost,生成自定义镜像 """ -class ReinstallUHostInstanceRequestSchema(schema.RequestSchema): - """ ReinstallUHostInstance - 重新安装指定UHost实例的操作系统 +class ImportCustomImageRequestSchema(schema.RequestSchema): + """ ImportCustomImage - 把UFile的镜像文件导入到UHost,生成自定义镜像 """ fields = { - "Zone": fields.Str(required=False, dump_to="Zone"), - "UHostId": fields.Str(required=True, dump_to="UHostId"), - "Password": fields.Base64(required=False, dump_to="Password"), - "ImageId": fields.Str(required=False, dump_to="ImageId"), - "BootDiskSpace": fields.Int(required=False, dump_to="BootDiskSpace"), - "ReserveDisk": fields.Str(required=False, dump_to="ReserveDisk"), - "Region": fields.Str(required=True, dump_to="Region"), - "DNSServers": fields.List(fields.Str()), - "ResourceType": fields.Int(required=False, dump_to="ResourceType"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - } - - -class ReinstallUHostInstanceResponseSchema(schema.ResponseSchema): - """ ReinstallUHostInstance - 重新安装指定UHost实例的操作系统 - """ - - fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} - - -""" -API: ResetUHostInstancePassword - -重置UHost实例的管理员密码。 -""" - - -class ResetUHostInstancePasswordRequestSchema(schema.RequestSchema): - """ ResetUHostInstancePassword - 重置UHost实例的管理员密码。 - """ - - fields = { + "Format": fields.Str(required=True, dump_to="Format"), + "Auth": fields.Bool(required=True, dump_to="Auth"), + "ImageDescription": fields.Str(required=False, dump_to="ImageDescription"), + "OsName": fields.Str(required=True, dump_to="OsName"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UHostId": fields.Str(required=True, dump_to="UHostId"), - "Password": fields.Base64(required=True, dump_to="Password"), + "ImageName": fields.Str(required=True, dump_to="ImageName"), + "UFileUrl": fields.Str(required=True, dump_to="UFileUrl"), + "OsType": fields.Str(required=True, dump_to="OsType"), } -class ResetUHostInstancePasswordResponseSchema(schema.ResponseSchema): - """ ResetUHostInstancePassword - 重置UHost实例的管理员密码。 +class ImportCustomImageResponseSchema(schema.ResponseSchema): + """ ImportCustomImage - 把UFile的镜像文件导入到UHost,生成自定义镜像 """ - fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} + fields = {"ImageId": fields.Str(required=False, load_from="ImageId")} """ -API: StartUHostInstance +API: ModifyUHostInstanceName -启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 +修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 """ -class StartUHostInstanceRequestSchema(schema.RequestSchema): - """ StartUHostInstance - 启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 +class ModifyUHostInstanceNameRequestSchema(schema.RequestSchema): + """ ModifyUHostInstanceName - 修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 """ fields = { - "UHostId": fields.Str(required=True, dump_to="UHostId"), - "DiskPassword": fields.Str(required=False, dump_to="DiskPassword"), + "Name": fields.Str(required=False, dump_to="Name"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UHostId": fields.Str(required=True, dump_to="UHostId"), } -class StartUHostInstanceResponseSchema(schema.ResponseSchema): - """ StartUHostInstance - 启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 +class ModifyUHostInstanceNameResponseSchema(schema.ResponseSchema): + """ ModifyUHostInstanceName - 修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 """ fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: StopUHostInstance +API: ModifyUHostInstanceRemark -指停止处于运行状态的UHost实例,需指定数据中心及UhostID。 +修改指定UHost实例备注信息。 """ -class StopUHostInstanceRequestSchema(schema.RequestSchema): - """ StopUHostInstance - 指停止处于运行状态的UHost实例,需指定数据中心及UhostID。 +class ModifyUHostInstanceRemarkRequestSchema(schema.RequestSchema): + """ ModifyUHostInstanceRemark - 修改指定UHost实例备注信息。 """ fields = { @@ -428,254 +486,224 @@ class StopUHostInstanceRequestSchema(schema.RequestSchema): "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), + "Remark": fields.Str(required=False, dump_to="Remark"), } -class StopUHostInstanceResponseSchema(schema.ResponseSchema): - """ StopUHostInstance - 指停止处于运行状态的UHost实例,需指定数据中心及UhostID。 +class ModifyUHostInstanceRemarkResponseSchema(schema.ResponseSchema): + """ ModifyUHostInstanceRemark - 修改指定UHost实例备注信息。 """ fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: DescribeUHostInstance +API: ModifyUHostInstanceTag -获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 +修改指定UHost实例业务组标识。 """ -class DescribeUHostInstanceRequestSchema(schema.RequestSchema): - """ DescribeUHostInstance - 获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 +class ModifyUHostInstanceTagRequestSchema(schema.RequestSchema): + """ ModifyUHostInstanceTag - 修改指定UHost实例业务组标识。 """ fields = { - "Offset": fields.Int(required=False, dump_to="Offset"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "IsolationGroup": fields.Str(required=False, dump_to="IsolationGroup"), - "UHostIds": fields.List(fields.Str()), - "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UHostId": fields.Str(required=True, dump_to="UHostId"), "Tag": fields.Str(required=False, dump_to="Tag"), - "LifeCycle": fields.Int(required=False, dump_to="LifeCycle"), - "Limit": fields.Int(required=False, dump_to="Limit"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DescribeUHostInstanceResponseSchema(schema.ResponseSchema): - """ DescribeUHostInstance - 获取主机或主机列表信息,并可根据数据中心,主机ID等参数进行过滤。 - """ - - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "UHostSet": fields.List( - models.UHostInstanceSetSchema(), required=False, load_from="UHostSet" - ), - } +class ModifyUHostInstanceTagResponseSchema(schema.ResponseSchema): + """ ModifyUHostInstanceTag - 修改指定UHost实例业务组标识。 + """ + + fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: DescribeUHostTags +API: PoweroffUHostInstance -获取指定数据中心的业务组列表。 +直接关闭UHost实例电源,无需等待实例正常关闭。 """ -class DescribeUHostTagsRequestSchema(schema.RequestSchema): - """ DescribeUHostTags - 获取指定数据中心的业务组列表。 +class PoweroffUHostInstanceRequestSchema(schema.RequestSchema): + """ PoweroffUHostInstance - 直接关闭UHost实例电源,无需等待实例正常关闭。 """ fields = { "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UHostId": fields.Str(required=True, dump_to="UHostId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), } -class DescribeUHostTagsResponseSchema(schema.ResponseSchema): - """ DescribeUHostTags - 获取指定数据中心的业务组列表。 +class PoweroffUHostInstanceResponseSchema(schema.ResponseSchema): + """ PoweroffUHostInstance - 直接关闭UHost实例电源,无需等待实例正常关闭。 """ - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "TagSet": fields.List( - models.UHostTagSetSchema(), required=False, load_from="TagSet" - ), - } + fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: GetUHostInstanceVncInfo +API: RebootUHostInstance -获取指定UHost实例的管理VNC配置详细信息。 +重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 """ -class GetUHostInstanceVncInfoRequestSchema(schema.RequestSchema): - """ GetUHostInstanceVncInfo - 获取指定UHost实例的管理VNC配置详细信息。 +class RebootUHostInstanceRequestSchema(schema.RequestSchema): + """ RebootUHostInstance - 重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), + "DiskPassword": fields.Str(required=False, dump_to="DiskPassword"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class GetUHostInstanceVncInfoResponseSchema(schema.ResponseSchema): - """ GetUHostInstanceVncInfo - 获取指定UHost实例的管理VNC配置详细信息。 +class RebootUHostInstanceResponseSchema(schema.ResponseSchema): + """ RebootUHostInstance - 重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 """ - fields = { - "UhostId": fields.Str(required=False, load_from="UhostId"), - "VncIP": fields.Str(required=False, load_from="VncIP"), - "VncPort": fields.Int(required=False, load_from="VncPort"), - "VncPassword": fields.Str(required=False, load_from="VncPassword"), - } + fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: ResizeUHostInstance +API: ReinstallUHostInstance -修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 +重新安装指定UHost实例的操作系统 """ -class ResizeUHostInstanceRequestSchema(schema.RequestSchema): - """ ResizeUHostInstance - 修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 +class ReinstallUHostInstanceRequestSchema(schema.RequestSchema): + """ ReinstallUHostInstance - 重新安装指定UHost实例的操作系统 """ fields = { - "Memory": fields.Int(required=False, dump_to="Memory"), - "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), + "Password": fields.Base64(required=False, dump_to="Password"), + "ImageId": fields.Str(required=False, dump_to="ImageId"), + "BootDiskSpace": fields.Int(required=False, dump_to="BootDiskSpace"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), - "CPU": fields.Int(required=False, dump_to="CPU"), - "BootDiskSpace": fields.Int(required=False, dump_to="BootDiskSpace"), - "NetCapValue": fields.Int(required=False, dump_to="NetCapValue"), + "ReserveDisk": fields.Str(required=False, dump_to="ReserveDisk"), + "ResourceType": fields.Int(required=False, dump_to="ResourceType"), + "DNSServers": fields.List(fields.Str()), } -class ResizeUHostInstanceResponseSchema(schema.ResponseSchema): - """ ResizeUHostInstance - 修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 +class ReinstallUHostInstanceResponseSchema(schema.ResponseSchema): + """ ReinstallUHostInstance - 重新安装指定UHost实例的操作系统 """ fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: TerminateUHostInstance +API: ResetUHostInstancePassword -删除指定数据中心的UHost实例。 +重置UHost实例的管理员密码。 """ -class TerminateUHostInstanceRequestSchema(schema.RequestSchema): - """ TerminateUHostInstance - 删除指定数据中心的UHost实例。 +class ResetUHostInstancePasswordRequestSchema(schema.RequestSchema): + """ ResetUHostInstancePassword - 重置UHost实例的管理员密码。 """ fields = { - "ReleaseEIP": fields.Bool(required=False, dump_to="ReleaseEIP"), - "ReleaseUDisk": fields.Bool(required=False, dump_to="ReleaseUDisk"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), - "Destroy": fields.Int(required=False, dump_to="Destroy"), + "Password": fields.Base64(required=True, dump_to="Password"), } -class TerminateUHostInstanceResponseSchema(schema.ResponseSchema): - """ TerminateUHostInstance - 删除指定数据中心的UHost实例。 +class ResetUHostInstancePasswordResponseSchema(schema.ResponseSchema): + """ ResetUHostInstancePassword - 重置UHost实例的管理员密码。 """ - fields = { - "UHostId": fields.Str(required=False, load_from="UHostId"), - "InRecycle": fields.Str(required=True, load_from="InRecycle"), - } + fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: DescribeImage +API: ResizeAttachedDisk -获取指定数据中心镜像列表,用户可通过指定操作系统类型,镜像Id进行过滤。 +修改挂载的磁盘大小,包含系统盘和数据盘 """ -class DescribeImageRequestSchema(schema.RequestSchema): - """ DescribeImage - 获取指定数据中心镜像列表,用户可通过指定操作系统类型,镜像Id进行过滤。 +class ResizeAttachedDiskRequestSchema(schema.RequestSchema): + """ ResizeAttachedDisk - 修改挂载的磁盘大小,包含系统盘和数据盘 """ fields = { + "DiskId": fields.Str(required=True, dump_to="DiskId"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ImageType": fields.Str(required=False, dump_to="ImageType"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), "Zone": fields.Str(required=False, dump_to="Zone"), - "OsType": fields.Str(required=False, dump_to="OsType"), - "ImageId": fields.Str(required=False, dump_to="ImageId"), - "PriceSet": fields.Int(required=False, dump_to="PriceSet"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UHostId": fields.Str(required=True, dump_to="UHostId"), + "DiskSpace": fields.Int(required=True, dump_to="DiskSpace"), } -class DescribeImageResponseSchema(schema.ResponseSchema): - """ DescribeImage - 获取指定数据中心镜像列表,用户可通过指定操作系统类型,镜像Id进行过滤。 +class ResizeAttachedDiskResponseSchema(schema.ResponseSchema): + """ ResizeAttachedDisk - 修改挂载的磁盘大小,包含系统盘和数据盘 """ - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "ImageSet": fields.List( - models.UHostImageSetSchema(), required=False, load_from="ImageSet" - ), - } + fields = {"DiskId": fields.Str(required=False, load_from="DiskId")} """ -API: ImportCustomImage +API: ResizeUHostInstance -把UFile的镜像文件导入到UHost,生成自定义镜像 +修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 """ -class ImportCustomImageRequestSchema(schema.RequestSchema): - """ ImportCustomImage - 把UFile的镜像文件导入到UHost,生成自定义镜像 +class ResizeUHostInstanceRequestSchema(schema.RequestSchema): + """ ResizeUHostInstance - 修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 """ fields = { - "OsType": fields.Str(required=True, dump_to="OsType"), - "ImageDescription": fields.Str(required=False, dump_to="ImageDescription"), - "ImageName": fields.Str(required=True, dump_to="ImageName"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UFileUrl": fields.Str(required=True, dump_to="UFileUrl"), - "OsName": fields.Str(required=True, dump_to="OsName"), - "Format": fields.Str(required=True, dump_to="Format"), - "Auth": fields.Bool(required=True, dump_to="Auth"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "CPU": fields.Int(required=False, dump_to="CPU"), + "DiskSpace": fields.Int(required=False, dump_to="DiskSpace"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "UHostId": fields.Str(required=True, dump_to="UHostId"), + "Memory": fields.Int(required=False, dump_to="Memory"), + "BootDiskSpace": fields.Int(required=False, dump_to="BootDiskSpace"), + "NetCapValue": fields.Int(required=False, dump_to="NetCapValue"), } -class ImportCustomImageResponseSchema(schema.ResponseSchema): - """ ImportCustomImage - 把UFile的镜像文件导入到UHost,生成自定义镜像 +class ResizeUHostInstanceResponseSchema(schema.ResponseSchema): + """ ResizeUHostInstance - 修改指定UHost实例的资源配置,如CPU核心数,内存容量大小,网络增强等。可选配置范围请参考[[api:uhost-api:uhost_type|云主机机型说明]]。 """ - fields = {"ImageId": fields.Str(required=False, load_from="ImageId")} + fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: ModifyUHostInstanceRemark +API: StartUHostInstance -修改指定UHost实例备注信息。 +启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 """ -class ModifyUHostInstanceRemarkRequestSchema(schema.RequestSchema): - """ ModifyUHostInstanceRemark - 修改指定UHost实例备注信息。 +class StartUHostInstanceRequestSchema(schema.RequestSchema): + """ StartUHostInstance - 启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 """ fields = { @@ -683,39 +711,38 @@ class ModifyUHostInstanceRemarkRequestSchema(schema.RequestSchema): "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), - "Remark": fields.Str(required=False, dump_to="Remark"), + "DiskPassword": fields.Str(required=False, dump_to="DiskPassword"), } -class ModifyUHostInstanceRemarkResponseSchema(schema.ResponseSchema): - """ ModifyUHostInstanceRemark - 修改指定UHost实例备注信息。 +class StartUHostInstanceResponseSchema(schema.ResponseSchema): + """ StartUHostInstance - 启动处于关闭状态的UHost实例,需要指定数据中心及UHostID两个参数的值。 """ fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} """ -API: RebootUHostInstance +API: StopUHostInstance -重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 +指停止处于运行状态的UHost实例,需指定数据中心及UhostID。 """ -class RebootUHostInstanceRequestSchema(schema.RequestSchema): - """ RebootUHostInstance - 重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 +class StopUHostInstanceRequestSchema(schema.RequestSchema): + """ StopUHostInstance - 指停止处于运行状态的UHost实例,需指定数据中心及UhostID。 """ fields = { - "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "UHostId": fields.Str(required=True, dump_to="UHostId"), - "DiskPassword": fields.Str(required=False, dump_to="DiskPassword"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), } -class RebootUHostInstanceResponseSchema(schema.ResponseSchema): - """ RebootUHostInstance - 重新启动UHost实例,需要指定数据中心及UHostID两个参数的值。 +class StopUHostInstanceResponseSchema(schema.ResponseSchema): + """ StopUHostInstance - 指停止处于运行状态的UHost实例,需指定数据中心及UhostID。 """ fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} @@ -733,9 +760,9 @@ class TerminateCustomImageRequestSchema(schema.RequestSchema): """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "ImageId": fields.Str(required=True, dump_to="ImageId"), + "Region": fields.Str(required=True, dump_to="Region"), } @@ -747,87 +774,60 @@ class TerminateCustomImageResponseSchema(schema.ResponseSchema): """ -API: CopyCustomImage +API: TerminateUHostInstance -复制自制镜像 +删除指定数据中心的UHost实例。 """ -class CopyCustomImageRequestSchema(schema.RequestSchema): - """ CopyCustomImage - 复制自制镜像 +class TerminateUHostInstanceRequestSchema(schema.RequestSchema): + """ TerminateUHostInstance - 删除指定数据中心的UHost实例。 """ fields = { - "TargetProjectId": fields.Str(required=True, dump_to="TargetProjectId"), - "TargetRegion": fields.Str(required=False, dump_to="TargetRegion"), - "TargetImageName": fields.Str(required=False, dump_to="TargetImageName"), - "TargetImageDescription": fields.Str( - required=False, dump_to="TargetImageDescription" - ), + "UHostId": fields.Str(required=True, dump_to="UHostId"), + "Destroy": fields.Int(required=False, dump_to="Destroy"), + "ReleaseEIP": fields.Bool(required=False, dump_to="ReleaseEIP"), + "ReleaseUDisk": fields.Bool(required=False, dump_to="ReleaseUDisk"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SourceImageId": fields.Str(required=True, dump_to="SourceImageId"), } -class CopyCustomImageResponseSchema(schema.ResponseSchema): - """ CopyCustomImage - 复制自制镜像 - """ - - fields = {"TargetImageId": fields.Str(required=False, load_from="TargetImageId")} - - -""" -API: CreateCustomImage - -从指定UHost实例,生成自定义镜像。 -""" - - -class CreateCustomImageRequestSchema(schema.RequestSchema): - """ CreateCustomImage - 从指定UHost实例,生成自定义镜像。 +class TerminateUHostInstanceResponseSchema(schema.ResponseSchema): + """ TerminateUHostInstance - 删除指定数据中心的UHost实例。 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UHostId": fields.Str(required=True, dump_to="UHostId"), - "ImageName": fields.Str(required=True, dump_to="ImageName"), - "ImageDescription": fields.Str(required=False, dump_to="ImageDescription"), - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), + "UHostId": fields.Str(required=False, load_from="UHostId"), + "InRecycle": fields.Str(required=True, load_from="InRecycle"), } -class CreateCustomImageResponseSchema(schema.ResponseSchema): - """ CreateCustomImage - 从指定UHost实例,生成自定义镜像。 - """ - - fields = {"ImageId": fields.Str(required=False, load_from="ImageId")} - - """ -API: ModifyUHostInstanceName +API: UpgradeToArkUHostInstance -修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 +普通升级为方舟机型 """ -class ModifyUHostInstanceNameRequestSchema(schema.RequestSchema): - """ ModifyUHostInstanceName - 修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 +class UpgradeToArkUHostInstanceRequestSchema(schema.RequestSchema): + """ UpgradeToArkUHostInstance - 普通升级为方舟机型 """ fields = { - "Name": fields.Str(required=False, dump_to="Name"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "UHostIds": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UHostId": fields.Str(required=True, dump_to="UHostId"), + "Zone": fields.Str(required=True, dump_to="Zone"), } -class ModifyUHostInstanceNameResponseSchema(schema.ResponseSchema): - """ ModifyUHostInstanceName - 修改指定UHost实例名称,需要给出数据中心,UHostId,及新的实例名称。 +class UpgradeToArkUHostInstanceResponseSchema(schema.ResponseSchema): + """ UpgradeToArkUHostInstance - 普通升级为方舟机型 """ - fields = {"UhostId": fields.Str(required=False, load_from="UhostId")} + fields = { + "UHostSet": fields.List(fields.Str(), required=False, load_from="UHostSet") + } diff --git a/ucloud/services/uhost/schemas/models.py b/ucloud/services/uhost/schemas/models.py index 6194dd1..ceacbd8 100644 --- a/ucloud/services/uhost/schemas/models.py +++ b/ucloud/services/uhost/schemas/models.py @@ -3,20 +3,29 @@ from ucloud.core.typesystem import schema, fields -class UHostDiskSetSchema(schema.ResponseSchema): - """ UHostDiskSet - DescribeUHostInstance +class UHostImageSetSchema(schema.ResponseSchema): + """ UHostImageSet - DescribeImage """ fields = { - "DiskType": fields.Str(required=True, load_from="DiskType"), - "IsBoot": fields.Str(required=True, load_from="IsBoot"), - "DiskId": fields.Str(required=False, load_from="DiskId"), - "Size": fields.Int(required=False, load_from="Size"), - "BackupType": fields.Str(required=False, load_from="BackupType"), - "Encrypted": fields.Bool(required=False, load_from="Encrypted"), - "Type": fields.Str(required=False, load_from="Type"), - "Name": fields.Str(required=False, load_from="Name"), - "Drive": fields.Str(required=False, load_from="Drive"), + "FuncType": fields.Str(required=False, load_from="FuncType"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "ImageSize": fields.Int(required=False, load_from="ImageSize"), + "ImageName": fields.Str(required=False, load_from="ImageName"), + "ImageId": fields.Str(required=False, load_from="ImageId"), + "OsName": fields.Str(required=False, load_from="OsName"), + "Features": fields.List(fields.Str()), + "State": fields.Str(required=False, load_from="State"), + "MinimalCPU": fields.Str(required=False, load_from="MinimalCPU"), + "Zone": fields.Str(required=False, load_from="Zone"), + "Links": fields.Str(required=False, load_from="Links"), + "OsType": fields.Str(required=False, load_from="OsType"), + "IntegratedSoftware": fields.Str( + required=False, load_from="IntegratedSoftware" + ), + "Vendor": fields.Str(required=False, load_from="Vendor"), + "ImageDescription": fields.Str(required=False, load_from="ImageDescription"), + "ImageType": fields.Str(required=False, load_from="ImageType"), } @@ -25,13 +34,30 @@ class UHostIPSetSchema(schema.ResponseSchema): """ fields = { + "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), + "Default": fields.Str(required=False, load_from="Default"), "VPCId": fields.Str(required=False, load_from="VPCId"), "SubnetId": fields.Str(required=False, load_from="SubnetId"), "Type": fields.Str(required=False, load_from="Type"), "IPId": fields.Str(required=False, load_from="IPId"), "IP": fields.Str(required=False, load_from="IP"), - "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), - "Default": fields.Str(required=False, load_from="Default"), + } + + +class UHostDiskSetSchema(schema.ResponseSchema): + """ UHostDiskSet - DescribeUHostInstance + """ + + fields = { + "DiskId": fields.Str(required=False, load_from="DiskId"), + "Size": fields.Int(required=False, load_from="Size"), + "DiskType": fields.Str(required=True, load_from="DiskType"), + "Type": fields.Str(required=False, load_from="Type"), + "Name": fields.Str(required=False, load_from="Name"), + "Drive": fields.Str(required=False, load_from="Drive"), + "BackupType": fields.Str(required=False, load_from="BackupType"), + "IsBoot": fields.Str(required=True, load_from="IsBoot"), + "Encrypted": fields.Bool(required=False, load_from="Encrypted"), } @@ -40,51 +66,41 @@ class UHostInstanceSetSchema(schema.ResponseSchema): """ fields = { - "HostType": fields.Str(required=False, load_from="HostType"), - "GPU": fields.Int(required=False, load_from="GPU"), - "UHostType": fields.Str(required=False, load_from="UHostType"), - "Memory": fields.Int(required=False, load_from="Memory"), - "BootDiskState": fields.Str(required=False, load_from="BootDiskState"), - "IsolationGroup": fields.Str(required=False, load_from="IsolationGroup"), - "Remark": fields.Str(required=False, load_from="Remark"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "CPU": fields.Int(required=False, load_from="CPU"), "AutoRenew": fields.Str(required=False, load_from="AutoRenew"), - "SubnetType": fields.Str(required=False, load_from="SubnetType"), + "HotplugFeature": fields.Bool(required=False, load_from="HotplugFeature"), "LifeCycle": fields.Str(required=False, load_from="LifeCycle"), - "UHostId": fields.Str(required=False, load_from="UHostId"), + "IsolationGroup": fields.Str(required=False, load_from="IsolationGroup"), + "MachineType": fields.Str(required=False, load_from="MachineType"), "ImageId": fields.Str(required=False, load_from="ImageId"), - "BasicImageId": fields.Str(required=False, load_from="BasicImageId"), - "BasicImageName": fields.Str(required=False, load_from="BasicImageName"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), - "NetworkState": fields.Str(required=False, load_from="NetworkState"), "TimemachineFeature": fields.Str( required=False, load_from="TimemachineFeature" ), + "SubnetType": fields.Str(required=False, load_from="SubnetType"), + "GPU": fields.Int(required=False, load_from="GPU"), + "Zone": fields.Str(required=False, load_from="Zone"), + "BasicImageName": fields.Str(required=False, load_from="BasicImageName"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "CPU": fields.Int(required=False, load_from="CPU"), "OsName": fields.Str(required=False, load_from="OsName"), - "TotalDiskSpace": fields.Int(required=False, load_from="TotalDiskSpace"), - "Tag": fields.Str(required=False, load_from="Tag"), - "DiskSet": fields.List(UHostDiskSetSchema()), + "UHostId": fields.Str(required=False, load_from="UHostId"), + "State": fields.Str(required=False, load_from="State"), "IPSet": fields.List(UHostIPSetSchema()), - "NetCapability": fields.Str(required=False, load_from="NetCapability"), - "OsType": fields.Str(required=False, load_from="OsType"), - "Zone": fields.Str(required=False, load_from="Zone"), - "MachineType": fields.Str(required=False, load_from="MachineType"), + "NetworkState": fields.Str(required=False, load_from="NetworkState"), + "BootDiskState": fields.Str(required=False, load_from="BootDiskState"), "StorageType": fields.Str(required=False, load_from="StorageType"), - "State": fields.Str(required=False, load_from="State"), + "BasicImageId": fields.Str(required=False, load_from="BasicImageId"), + "Remark": fields.Str(required=False, load_from="Remark"), + "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), + "DiskSet": fields.List(UHostDiskSetSchema()), + "TotalDiskSpace": fields.Int(required=False, load_from="TotalDiskSpace"), + "UHostType": fields.Str(required=False, load_from="UHostType"), "Name": fields.Str(required=False, load_from="Name"), - "HotplugFeature": fields.Bool(required=False, load_from="HotplugFeature"), - } - - -class UHostPriceSetSchema(schema.ResponseSchema): - """ UHostPriceSet - 主机价格 - """ - - fields = { - "ChargeType": fields.Str(required=True, load_from="ChargeType"), - "Price": fields.Float(required=True, load_from="Price"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "NetCapability": fields.Str(required=False, load_from="NetCapability"), + "Tag": fields.Str(required=False, load_from="Tag"), + "Memory": fields.Int(required=False, load_from="Memory"), + "OsType": fields.Str(required=False, load_from="OsType"), + "HostType": fields.Str(required=False, load_from="HostType"), } @@ -99,27 +115,11 @@ class UHostTagSetSchema(schema.ResponseSchema): } -class UHostImageSetSchema(schema.ResponseSchema): - """ UHostImageSet - DescribeImage +class UHostPriceSetSchema(schema.ResponseSchema): + """ UHostPriceSet - 主机价格 """ fields = { - "Zone": fields.Str(required=False, load_from="Zone"), - "ImageId": fields.Str(required=False, load_from="ImageId"), - "State": fields.Str(required=False, load_from="State"), - "MinimalCPU": fields.Str(required=False, load_from="MinimalCPU"), - "ImageName": fields.Str(required=False, load_from="ImageName"), - "FuncType": fields.Str(required=False, load_from="FuncType"), - "IntegratedSoftware": fields.Str( - required=False, load_from="IntegratedSoftware" - ), - "Vendor": fields.Str(required=False, load_from="Vendor"), - "OsType": fields.Str(required=False, load_from="OsType"), - "OsName": fields.Str(required=False, load_from="OsName"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "ImageType": fields.Str(required=False, load_from="ImageType"), - "Features": fields.List(fields.Str()), - "Links": fields.Str(required=False, load_from="Links"), - "ImageDescription": fields.Str(required=False, load_from="ImageDescription"), - "ImageSize": fields.Int(required=False, load_from="ImageSize"), + "ChargeType": fields.Str(required=True, load_from="ChargeType"), + "Price": fields.Float(required=True, load_from="Price"), } diff --git a/ucloud/services/ulb/client.py b/ucloud/services/ulb/client.py index e96bfe3..a8d9307 100644 --- a/ucloud/services/ulb/client.py +++ b/ucloud/services/ulb/client.py @@ -11,15 +11,22 @@ def __init__(self, config, transport=None, middleware=None, logger=None): def allocate_backend(self, req=None, **kwargs): """ AllocateBackend - 添加ULB后端资源实例 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ResourceId: (Required) 所添加的后端资源的资源ID - :param ResourceType: (Required) 所添加的后端资源的类型,枚举值:UHost -> 云主机;UPM -> 物理云主机; UDHost -> 私有专区主机;UDocker -> 容器,默认值为“UHost” - :param ULBId: (Required) 负载均衡实例的ID - :param VServerId: (Required) VServer实例的ID - :param Enabled: (Optional) 后端实例状态开关,枚举值: 1:启用; 0:禁用 默认为启用 - :param Port: (Optional) 所添加的后端资源服务端口,取值范围[1-65535],默认80 - :param Weight: (Optional) 所添加的后端RS权重(在加权轮询算法下有效),取值范围[0-100],默认为1 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ResourceId** (str) - (Required) 所添加的后端资源的资源ID + - **ResourceType** (str) - (Required) 所添加的后端资源的类型,枚举值:UHost -> 云主机;UPM -> 物理云主机; UDHost -> 私有专区主机;UDocker -> 容器,默认值为“UHost” + - **ULBId** (str) - (Required) 负载均衡实例的ID + - **VServerId** (str) - (Required) VServer实例的ID + - **Enabled** (int) - 后端实例状态开关,枚举值: 1:启用; 0:禁用 默认为启用 + - **Port** (int) - 所添加的后端资源服务端口,取值范围[1-65535],默认80 + - **Weight** (int) - 所添加的后端RS权重(在加权轮询算法下有效),取值范围[0-100],默认为1 + + **Response** + + - **BackendId** (str) - 所添加的后端资源在ULB中的对象ID,(为ULB系统中使用,与资源自身ID无关),可用于 UpdateBackendAttribute/UpdateBackendAttributeBatch/ReleaseBackend + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -30,12 +37,26 @@ def allocate_backend(self, req=None, **kwargs): def allocate_backend_batch(self, req=None, **kwargs): """ AllocateBackendBatch - 批量添加VServer后端节点 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Backends: (Required) 用| 分割字段,格式:ResourceId| ResourceType| Port| Enabled|IP| Weight。ResourceId:所添加的后端资源的资源ID;ResourceType:所添加的后端资源的类型,枚举值:UHost -> 云主机;UPM -> 物理云主机; UDHost -> 私有专区主机;UDocker -> 容器,默认值为“UHost”;Port:所添加的后端资源服务端口,取值范围[1-65535];Enabled:后端实例状态开关,枚举值: 1:启用; 0:禁用;IP:后端资源内网ip;Weight:所添加的后端RS权重(在加权轮询算法下有效),取值范围[0-100],默认为1 - :param ULBId: (Required) 负载均衡实例的ID - :param VServerId: (Required) VServer实例的ID - :param ApiVersion: (Optional) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Backends** (list) - (Required) 用| 分割字段,格式:ResourceId| ResourceType| Port| Enabled|IP| Weight。ResourceId:所添加的后端资源的资源ID;ResourceType:所添加的后端资源的类型,枚举值:UHost -> 云主机;UPM -> 物理云主机; UDHost -> 私有专区主机;UDocker -> 容器,默认值为“UHost”;Port:所添加的后端资源服务端口,取值范围[1-65535];Enabled:后端实例状态开关,枚举值: 1:启用; 0:禁用;IP:后端资源内网ip;Weight:所添加的后端RS权重(在加权轮询算法下有效),取值范围[0-100],默认为1 + - **ULBId** (str) - (Required) 负载均衡实例的ID + - **VServerId** (str) - (Required) VServer实例的ID + - **ApiVersion** (int) - + + **Response** + + - **BackendSet** (list) - 见 **BackendSet** 模型定义 + + **Response Model** + + **BackendSet** + + - **BackendId** (str) - rs的资源ID + - **ResourceId** (str) - rs对应的UHost ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -43,147 +64,195 @@ def allocate_backend_batch(self, req=None, **kwargs): resp = self.invoke("AllocateBackendBatch", d, **kwargs) return apis.AllocateBackendBatchResponseSchema().loads(resp) - def delete_ssl(self, req=None, **kwargs): - """ DeleteSSL - 删除SSL证书 + def bind_ssl(self, req=None, **kwargs): + """ BindSSL - 将SSL证书绑定到VServer - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SSLId: (Required) SSL证书的ID - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DeleteSSLRequestSchema().dumps(d) - resp = self.invoke("DeleteSSL", d, **kwargs) - return apis.DeleteSSLResponseSchema().loads(resp) + **Request** - def describe_ssl(self, req=None, **kwargs): - """ DescribeSSL - 获取SSL证书信息 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SSLId** (str) - (Required) SSL证书的Id + - **ULBId** (str) - (Required) 所绑定ULB实例ID + - **VServerId** (str) - (Required) 所绑定VServer实例ID + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Optional) 数据分页值,默认为20 - :param Offset: (Optional) 数据偏移量,默认值为0 - :param SSLId: (Optional) SSL证书的Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeSSLRequestSchema().dumps(d) - resp = self.invoke("DescribeSSL", d, **kwargs) - return apis.DescribeSSLResponseSchema().loads(resp) + d = apis.BindSSLRequestSchema().dumps(d) + resp = self.invoke("BindSSL", d, **kwargs) + return apis.BindSSLResponseSchema().loads(resp) - def describe_vserver(self, req=None, **kwargs): - """ DescribeVServer - 获取ULB下的VServer的详细信息 + def create_policy(self, req=None, **kwargs): + """ CreatePolicy - 创建VServer内容转发策略 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackendId** (list) - (Required) 内容转发策略应用的后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId + - **Match** (str) - (Required) 内容转发匹配字段 + - **ULBId** (str) - (Required) 需要添加内容转发策略的负载均衡实例ID + - **VServerId** (str) - (Required) 需要添加内容转发策略的VServer实例ID + - **Type** (str) - 内容转发匹配字段的类型 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ULBId: (Required) 负载均衡实例的Id - :param Limit: (Optional) 数据分页值 - :param Offset: (Optional) 数据偏移量 - :param VServerId: (Optional) VServer实例的Id;若指定则返回指定的VServer实例的信息; 若不指定则返回当前负载均衡实例下所有VServer的信息 + - **PolicyId** (str) - 内容转发策略ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeVServerRequestSchema().dumps(d) - resp = self.invoke("DescribeVServer", d, **kwargs) - return apis.DescribeVServerResponseSchema().loads(resp) + d = apis.CreatePolicyRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreatePolicy", d, **kwargs) + return apis.CreatePolicyResponseSchema().loads(resp) - def update_policy(self, req=None, **kwargs): - """ UpdatePolicy - 更新内容转发规则,包括转发规则后的服务节点 + def create_ssl(self, req=None, **kwargs): + """ CreateSSL - 创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackendId: (Required) 内容转发策略应用的后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId - :param Match: (Required) 内容转发匹配字段 - :param PolicyId: (Required) 转发规则的ID - :param ULBId: (Required) 需要添加内容转发策略的负载均衡实例ID - :param VServerId: (Required) 需要添加内容转发策略的VServer实例ID - :param Type: (Optional) 内容转发匹配字段的类型 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SSLName** (str) - (Required) SSL证书的名字,默认值为空 + - **CaCert** (str) - CA证书 + - **PrivateKey** (str) - 加密证书的私钥 + - **SSLContent** (str) - SSL证书的完整内容,包括用户证书、加密证书的私钥、CA证书 + - **SSLType** (str) - 所添加的SSL证书类型,目前只支持Pem格式 + - **UserCert** (str) - 用户的证书 + + **Response** + + - **SSLId** (str) - SSL证书的Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdatePolicyRequestSchema().dumps(d) - resp = self.invoke("UpdatePolicy", d, **kwargs) - return apis.UpdatePolicyResponseSchema().loads(resp) + d = apis.CreateSSLRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateSSL", d, **kwargs) + return apis.CreateSSLResponseSchema().loads(resp) - def update_ulb_attribute(self, req=None, **kwargs): - """ UpdateULBAttribute - 更新ULB名字业务组备注等属性字段 + def create_ulb(self, req=None, **kwargs): + """ CreateULB - 创建负载均衡实例,可以选择内网或者外网 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ULBId: (Required) ULB资源ID - :param Name: (Optional) 名字 - :param Remark: (Optional) 备注 - :param Tag: (Optional) 业务 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BusinessId** (str) - ULB 所属的业务组ID,如果不传则使用默认的业务组 + - **ChargeType** (str) - 付费方式 + - **IPVersion** (str) - ULB ip类型,枚举值:IPv6 / IPv4 (内部测试,暂未对外开放) + - **InnerMode** (str) - 创建的ULB是否为内网模式 + - **ListenType** (str) - ULB 监听器类型,枚举值:RequestProxy / PacketsTransmit (内部测试,暂未对外开放) + - **OuterMode** (str) - 创建的ULB是否为外网模式,默认即为外网模式 + - **PrivateIp** (str) - 创建内网ULB时指定内网IP。若不传值,则随机分配当前子网下的IP(暂时不对外开放,创建外网ULB该字段会忽略) + - **Remark** (str) - 备注 + - **SubnetId** (str) - 内网ULB 所属的子网ID,如果不传则使用默认的子网 + - **Tag** (str) - 业务组 + - **ULBName** (str) - 负载均衡的名字,默认值为“ULB” + - **VPCId** (str) - ULB所在的VPC的ID, 如果不传则使用默认的VPC + + **Response** + + - **ULBId** (str) - 负载均衡实例的Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateULBAttributeRequestSchema().dumps(d) - resp = self.invoke("UpdateULBAttribute", d, **kwargs) - return apis.UpdateULBAttributeResponseSchema().loads(resp) + d = apis.CreateULBRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateULB", d, **kwargs) + return apis.CreateULBResponseSchema().loads(resp) - def update_vserver_attribute(self, req=None, **kwargs): - """ UpdateVServerAttribute - 更新VServer实例属性 + def create_vserver(self, req=None, **kwargs): + """ CreateVServer - 创建VServer实例,定义监听的协议和端口以及负载均衡算法 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ULBId: (Required) 负载均衡实例ID - :param VServerId: (Required) VServer实例ID - :param ClientTimeout: (Optional) 请求代理的VServer下表示空闲连接的回收时间,单位:秒,取值范围:时(0,86400],默认值为60;报文转发的VServer下表示回话保持的时间,单位:秒,取值范围:[60,900],0 表示禁用连接保持 - :param Domain: (Optional) MonitorType 为 Path 时指定健康检查发送请求时HTTP HEADER 里的域名 - :param Method: (Optional) VServer负载均衡模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口); WeightRoundrobin -> 加权轮询; Leastconn -> 最小连接数。ConsistentHash,SourcePort,ConsistentHashPort 只在报文转发中使用;Leastconn只在请求代理中使用;Roundrobin、Source和WeightRoundrobin在请求代理和报文转发中使用。默认为:"Roundrobin" - :param MonitorType: (Optional) 健康检查的类型,Port:端口,Path:路径 - :param Path: (Optional) MonitorType 为 Path 时指定健康检查发送请求时的路径,默认为 / - :param PersistenceInfo: (Optional) 根据PersistenceType确定: None或ServerInsert, 此字段无意义; UserDefined, 则此字段传入用户自定义会话保持String. 若无此字段则不做修改 - :param PersistenceType: (Optional) VServer会话保持模式,若无此字段则不做修改。枚举值:None:关闭;ServerInsert:自动生成KEY;UserDefined:用户自定义KEY。 - :param Protocol: (Optional) VServer协议类型,请求代理只支持修改为 HTTP/HTTPS,报文转发VServer只支持修改为 TCP/UDP - :param VServerName: (Optional) VServer实例名称,若无此字段则不做修改 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ULBId** (str) - (Required) 负载均衡实例ID + - **ClientTimeout** (int) - ListenType为RequestProxy时表示空闲连接的回收时间,单位:秒,取值范围:时(0,86400],默认值为60;ListenType为PacketsTransmit时表示连接保持的时间,单位:秒,取值范围:[60,900],0 表示禁用连接保持 + - **Domain** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查路径 + - **FrontendPort** (int) - VServer后端端口,取值范围[1-65535];默认值为80 + - **ListenType** (str) - 监听器类型,枚举值为:RequestProxy -> 请求代理;PacketsTransmit -> 报文转发;默认为"RequestProxy" + - **Method** (str) - VServer负载均衡模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口); WeightRoundrobin -> 加权轮询; Leastconn -> 最小连接数。ConsistentHash,SourcePort,ConsistentHashPort 只在报文转发中使用;Leastconn只在请求代理中使用;Roundrobin、Source和WeightRoundrobin在请求代理和报文转发中使用。默认为:"Roundrobin" + - **MonitorType** (str) - 健康检查类型,枚举值:Port -> 端口检查;Path -> 路径检查; + - **Path** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查域名 + - **PersistenceInfo** (str) - 根据PersistenceType确认; None和ServerInsert: 此字段无意义; UserDefined:此字段传入自定义会话保持String + - **PersistenceType** (str) - VServer会话保持方式,默认关闭会话保持。枚举值:None -> 关闭;ServerInsert -> 自动生成KEY;UserDefined -> 用户自定义KEY。 + - **Protocol** (str) - VServer实例的协议,请求代理模式下有 HTTP、HTTPS、TCP,报文转发下有 TCP,UDP。默认为“HTTP" + - **VServerName** (str) - VServer实例名称,默认为"VServer" + + **Response** + + - **VServerId** (str) - VServer实例的Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateVServerAttributeRequestSchema().dumps(d) - resp = self.invoke("UpdateVServerAttribute", d, **kwargs) - return apis.UpdateVServerAttributeResponseSchema().loads(resp) + d = apis.CreateVServerRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateVServer", d, **kwargs) + return apis.CreateVServerResponseSchema().loads(resp) - def bind_ssl(self, req=None, **kwargs): - """ BindSSL - 将SSL证书绑定到VServer + def delete_policy(self, req=None, **kwargs): + """ DeletePolicy - 删除内容转发策略 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SSLId: (Required) SSL证书的Id - :param ULBId: (Required) 所绑定ULB实例ID - :param VServerId: (Required) 所绑定VServer实例ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **PolicyId** (str) - (Required) 内容转发策略ID + - **GroupId** (str) - 内容转发策略组ID + - **VServerId** (str) - VServer 资源ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.BindSSLRequestSchema().dumps(d) - resp = self.invoke("BindSSL", d, **kwargs) - return apis.BindSSLResponseSchema().loads(resp) + d = apis.DeletePolicyRequestSchema().dumps(d) + resp = self.invoke("DeletePolicy", d, **kwargs) + return apis.DeletePolicyResponseSchema().loads(resp) - def create_policy(self, req=None, **kwargs): - """ CreatePolicy - 创建VServer内容转发策略 + def delete_ssl(self, req=None, **kwargs): + """ DeleteSSL - 删除SSL证书 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackendId: (Required) 内容转发策略应用的后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId - :param Match: (Required) 内容转发匹配字段 - :param ULBId: (Required) 需要添加内容转发策略的负载均衡实例ID - :param VServerId: (Required) 需要添加内容转发策略的VServer实例ID - :param Type: (Optional) 内容转发匹配字段的类型 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SSLId** (str) - (Required) SSL证书的ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreatePolicyRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreatePolicy", d, **kwargs) - return apis.CreatePolicyResponseSchema().loads(resp) + d = apis.DeleteSSLRequestSchema().dumps(d) + resp = self.invoke("DeleteSSL", d, **kwargs) + return apis.DeleteSSLResponseSchema().loads(resp) def delete_ulb(self, req=None, **kwargs): """ DeleteULB - 删除负载均衡实例 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ULBId: (Required) 负载均衡实例的ID - :param ReleaseEip: (Optional) 删除ulb时是否释放绑定的EIP,false标识只解绑EIP,true表示会释放绑定的EIP,默认是false + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ULBId** (str) - (Required) 负载均衡实例的ID + - **ReleaseEip** (bool) - 删除ulb时是否释放绑定的EIP,false标识只解绑EIP,true表示会释放绑定的EIP,默认是false + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -191,82 +260,166 @@ def delete_ulb(self, req=None, **kwargs): resp = self.invoke("DeleteULB", d, **kwargs) return apis.DeleteULBResponseSchema().loads(resp) - def create_ulb(self, req=None, **kwargs): - """ CreateULB - 创建负载均衡实例,可以选择内网或者外网 + def delete_vserver(self, req=None, **kwargs): + """ DeleteVServer - 删除VServer实例 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BusinessId: (Optional) ULB 所属的业务组ID,如果不传则使用默认的业务组 - :param ChargeType: (Optional) 付费方式 - :param IPVersion: (Optional) ULB ip类型,枚举值:IPv6 / IPv4 (内部测试,暂未对外开放) - :param InnerMode: (Optional) 创建的ULB是否为内网模式 - :param ListenType: (Optional) ULB 监听器类型,枚举值:RequestProxy / PacketsTransmit (内部测试,暂未对外开放) - :param OuterMode: (Optional) 创建的ULB是否为外网模式,默认即为外网模式 - :param PrivateIp: (Optional) 创建内网ULB时指定内网IP。若不传值,则随机分配当前子网下的IP(暂时不对外开放,创建外网ULB该字段会忽略) - :param Remark: (Optional) 备注 - :param SubnetId: (Optional) 内网ULB 所属的子网ID,如果不传则使用默认的子网 - :param Tag: (Optional) 业务组 - :param ULBName: (Optional) 负载均衡的名字,默认值为“ULB” - :param VPCId: (Optional) ULB所在的VPC的ID, 如果不传则使用默认的VPC - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.CreateULBRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateULB", d, **kwargs) - return apis.CreateULBResponseSchema().loads(resp) + **Request** - def create_vserver(self, req=None, **kwargs): - """ CreateVServer - 创建VServer实例,定义监听的协议和端口以及负载均衡算法 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ULBId** (str) - (Required) 负载均衡实例的ID + - **VServerId** (str) - (Required) VServer实例的ID + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ULBId: (Required) 负载均衡实例ID - :param ClientTimeout: (Optional) ListenType为RequestProxy时表示空闲连接的回收时间,单位:秒,取值范围:时(0,86400],默认值为60;ListenType为PacketsTransmit时表示连接保持的时间,单位:秒,取值范围:[60,900],0 表示禁用连接保持 - :param Domain: (Optional) 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查路径 - :param FrontendPort: (Optional) VServer后端端口,取值范围[1-65535];默认值为80 - :param ListenType: (Optional) 监听器类型,枚举值为:RequestProxy -> 请求代理;PacketsTransmit -> 报文转发;默认为"RequestProxy" - :param Method: (Optional) VServer负载均衡模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口); WeightRoundrobin -> 加权轮询; Leastconn -> 最小连接数。ConsistentHash,SourcePort,ConsistentHashPort 只在报文转发中使用;Leastconn只在请求代理中使用;Roundrobin、Source和WeightRoundrobin在请求代理和报文转发中使用。默认为:"Roundrobin" - :param MonitorType: (Optional) 健康检查类型,枚举值:Port -> 端口检查;Path -> 路径检查; - :param Path: (Optional) 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查域名 - :param PersistenceInfo: (Optional) 根据PersistenceType确认; None和ServerInsert: 此字段无意义; UserDefined:此字段传入自定义会话保持String - :param PersistenceType: (Optional) VServer会话保持方式,默认关闭会话保持。枚举值:None -> 关闭;ServerInsert -> 自动生成KEY;UserDefined -> 用户自定义KEY。 - :param Protocol: (Optional) VServer实例的协议,请求代理模式下有 HTTP、HTTPS、TCP,报文转发下有 TCP,UDP。默认为“HTTP" - :param VServerName: (Optional) VServer实例名称,默认为"VServer" + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateVServerRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateVServer", d, **kwargs) - return apis.CreateVServerResponseSchema().loads(resp) + d = apis.DeleteVServerRequestSchema().dumps(d) + resp = self.invoke("DeleteVServer", d, **kwargs) + return apis.DeleteVServerResponseSchema().loads(resp) - def delete_policy(self, req=None, **kwargs): - """ DeletePolicy - 删除内容转发策略 + def describe_ssl(self, req=None, **kwargs): + """ DescribeSSL - 获取SSL证书信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - 数据分页值,默认为20 + - **Offset** (int) - 数据偏移量,默认值为0 + - **SSLId** (str) - SSL证书的Id + + **Response** + + - **TotalCount** (int) - 满足条件的SSL证书总数 + - **DataSet** (list) - 见 **ULBSSLSet** 模型定义 + + **Response Model** + + **ULBSSLSet** + + - **SSLName** (str) - SSL证书的名字 + - **HashValue** (str) - + - **SSLId** (str) - SSL证书的Id - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param PolicyId: (Required) 内容转发策略ID - :param GroupId: (Optional) 内容转发策略组ID - :param VServerId: (Optional) VServer 资源ID """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeletePolicyRequestSchema().dumps(d) - resp = self.invoke("DeletePolicy", d, **kwargs) - return apis.DeletePolicyResponseSchema().loads(resp) + d = apis.DescribeSSLRequestSchema().dumps(d) + resp = self.invoke("DescribeSSL", d, **kwargs) + return apis.DescribeSSLResponseSchema().loads(resp) def describe_ulb(self, req=None, **kwargs): """ DescribeULB - 获取ULB详细信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BusinessId: (Optional) ULB所属的业务组ID - :param Limit: (Optional) 数据分页值,默认为20 - :param Offset: (Optional) 数据偏移量,默认为0 - :param SubnetId: (Optional) ULB所属的子网ID - :param ULBId: (Optional) 负载均衡实例的Id。 若指定则返回指定的负载均衡实例的信息; 若不指定则返回当前数据中心中所有的负载均衡实例的信息 - :param VPCId: (Optional) ULB所属的VPC + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BusinessId** (str) - ULB所属的业务组ID + - **Limit** (int) - 数据分页值,默认为20 + - **Offset** (int) - 数据偏移量,默认为0 + - **SubnetId** (str) - ULB所属的子网ID + - **ULBId** (str) - 负载均衡实例的Id。 若指定则返回指定的负载均衡实例的信息; 若不指定则返回当前数据中心中所有的负载均衡实例的信息 + - **VPCId** (str) - ULB所属的VPC + + **Response** + + - **TotalCount** (int) - 满足条件的ULB总数 + - **DataSet** (list) - 见 **ULBSet** 模型定义 + + **Response Model** + + **PolicyBackendSet** + + - **PrivateIP** (str) - 后端资源的内网IP + - **ResourceName** (str) - 后端资源的实例名称 + - **BackendId** (str) - 所添加的后端资源在ULB中的对象ID,(为ULB系统中使用,与资源自身ID无关 + - **ObjectId** (str) - 后端资源的对象ID + - **Port** (int) - 所添加的后端资源服务端口 + + **ULBPolicySet** + + - **PolicyId** (str) - 内容转发Id,默认内容转发类型下为空。 + - **PolicyType** (str) - 内容类型,枚举值:Custom -> 客户自定义;Default -> 默认内容转发 + - **Type** (str) - 内容转发匹配字段的类型,枚举值:Domain -> 域名;Path -> 路径; 默认内容转发类型下为空 + - **Match** (str) - 内容转发匹配字段;默认内容转发类型下为空。 + - **PolicyPriority** (int) - 内容转发优先级,范围[1,9999],数字越大优先级越高。默认内容转发规则下为0。 + - **VServerId** (str) - 所属VServerId + - **TotalCount** (int) - 默认内容转发类型下返回当前rs总数 + - **BackendSet** (list) - 见 **PolicyBackendSet** 模型定义 + + **ULBBackendSet** + + - **ResourceId** (str) - 资源实例的资源Id + - **SubResourceId** (str) - 资源绑定的虚拟网卡实例的资源Id + - **SubResourceName** (str) - 资源绑定的虚拟网卡实例的资源名称 + - **SubnetId** (str) - 后端提供服务的资源所在的子网的ID + - **PrivateIP** (str) - 后端提供服务的内网IP + - **Port** (int) - 后端提供服务的端口 + - **Enabled** (int) - 后端提供服务的实例启用与否,枚举值:0 禁用 1 启用 + - **Status** (int) - 后端提供服务的实例运行状态,枚举值:0健康检查健康状态 1 健康检查异常 + - **BackendId** (str) - 后端资源实例的Id + - **ResourceType** (str) - 资源实例的类型 + - **ResourceName** (str) - 资源实例的资源名称 + - **SubResourceType** (str) - 资源绑定的虚拟网卡实例的类型 + - **Weight** (int) - + + **ULBSSLSet** + + - **SSLId** (str) - SSL证书的Id + - **SSLName** (str) - SSL证书的名字 + - **HashValue** (str) - + + **ULBVServerSet** + + - **Path** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查域名 + - **ClientTimeout** (int) - 空闲连接的回收时间,单位:秒。 + - **VServerId** (str) - VServer实例的Id + - **Protocol** (str) - VServer实例的协议。 枚举值为:HTTP,TCP,UDP,HTTPS。 + - **PersistenceInfo** (str) - 根据PersistenceType确定: None或ServerInsert,此字段为空; UserDefined,此字段展示用户自定义会话string。 + - **Method** (str) - VServer负载均衡的模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口)。 + - **PersistenceType** (str) - VServer会话保持方式。枚举值为: None -> 关闭会话保持; ServerInsert -> 自动生成; UserDefined -> 用户自定义。 + - **Status** (int) - VServer的运行状态。枚举值: 0 -> rs全部运行正常;1 -> rs全部运行异常;2 -> rs部分运行异常。 + - **SSLSet** (list) - 见 **ULBSSLSet** 模型定义 + - **BackendSet** (list) - 见 **ULBBackendSet** 模型定义 + - **MonitorType** (str) - 健康检查类型,枚举值:Port -> 端口检查;Path -> 路径检查; + - **VServerName** (str) - VServer实例的名字 + - **FrontendPort** (int) - VServer服务端口 + - **Domain** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查路径 + - **ListenType** (str) - 监听器类型,枚举值为: RequestProxy -> 请求代理;PacketsTransmit -> 报文转发 + - **PolicySet** (list) - 见 **ULBPolicySet** 模型定义 + + **ULBIPSet** + + - **BandwidthType** (int) - 弹性IP的带宽类型,枚举值:1 表示是共享带宽,0 普通带宽类型(暂未对外开放) + - **Bandwidth** (int) - 弹性IP的带宽值(暂未对外开放) + - **OperatorName** (str) - 弹性IP的运营商信息,枚举值为: Bgp:BGP IP International:国际IP + - **EIP** (str) - 弹性IP地址 + - **EIPId** (str) - 弹性IP的ID + + **ULBSet** + + - **Tag** (str) - 负载均衡的业务组名称,缺省值“Default” + - **Bandwidth** (int) - 带宽 + - **CreateTime** (int) - ULB的创建时间,格式为Unix Timestamp + - **ExpireTime** (int) - ULB的到期时间,格式为Unix Timestamp + - **Resource** (list) - ULB的详细信息列表(废弃) + - **VPCId** (str) - ULB所在的VPC的ID + - **SubnetId** (str) - ULB 为 InnerMode 时,ULB 所属的子网ID,默认为空 + - **PrivateIP** (str) - ULB的内网IP,当ULBType为OuterMode时,该值为空 + - **Remark** (str) - 负载均衡的备注,缺省值“” + - **BandwidthType** (int) - 带宽类型,枚举值为: 0,非共享带宽; 1,共享带宽 + - **IPSet** (list) - 见 **ULBIPSet** 模型定义 + - **VServerSet** (list) - 见 **ULBVServerSet** 模型定义 + - **ULBType** (str) - ULB 的类型 + - **BusinessId** (str) - ULB 所属的业务组ID + - **ULBId** (str) - 负载均衡的资源ID + - **ULBName** (str) - 负载均衡的资源名称(内部记载,废弃) + - **Name** (str) - 负载均衡的资源名称(资源系统中),缺省值“ULB” + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -274,13 +427,105 @@ def describe_ulb(self, req=None, **kwargs): resp = self.invoke("DescribeULB", d, **kwargs) return apis.DescribeULBResponseSchema().loads(resp) + def describe_vserver(self, req=None, **kwargs): + """ DescribeVServer - 获取ULB下的VServer的详细信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ULBId** (str) - (Required) 负载均衡实例的Id + - **Limit** (int) - 数据分页值 + - **Offset** (int) - 数据偏移量 + - **VServerId** (str) - VServer实例的Id;若指定则返回指定的VServer实例的信息; 若不指定则返回当前负载均衡实例下所有VServer的信息 + + **Response** + + - **TotalCount** (int) - 满足条件的VServer总数 + - **DataSet** (list) - 见 **ULBVServerSet** 模型定义 + + **Response Model** + + **PolicyBackendSet** + + - **ObjectId** (str) - 后端资源的对象ID + - **Port** (int) - 所添加的后端资源服务端口 + - **PrivateIP** (str) - 后端资源的内网IP + - **ResourceName** (str) - 后端资源的实例名称 + - **BackendId** (str) - 所添加的后端资源在ULB中的对象ID,(为ULB系统中使用,与资源自身ID无关 + + **ULBBackendSet** + + - **ResourceId** (str) - 资源实例的资源Id + - **SubResourceId** (str) - 资源绑定的虚拟网卡实例的资源Id + - **SubResourceName** (str) - 资源绑定的虚拟网卡实例的资源名称 + - **SubnetId** (str) - 后端提供服务的资源所在的子网的ID + - **Status** (int) - 后端提供服务的实例运行状态,枚举值:0健康检查健康状态 1 健康检查异常 + - **BackendId** (str) - 后端资源实例的Id + - **ResourceType** (str) - 资源实例的类型 + - **ResourceName** (str) - 资源实例的资源名称 + - **SubResourceType** (str) - 资源绑定的虚拟网卡实例的类型 + - **PrivateIP** (str) - 后端提供服务的内网IP + - **Port** (int) - 后端提供服务的端口 + - **Enabled** (int) - 后端提供服务的实例启用与否,枚举值:0 禁用 1 启用 + - **Weight** (int) - + + **ULBSSLSet** + + - **SSLId** (str) - SSL证书的Id + - **SSLName** (str) - SSL证书的名字 + - **HashValue** (str) - + + **ULBPolicySet** + + - **Type** (str) - 内容转发匹配字段的类型,枚举值:Domain -> 域名;Path -> 路径; 默认内容转发类型下为空 + - **Match** (str) - 内容转发匹配字段;默认内容转发类型下为空。 + - **PolicyPriority** (int) - 内容转发优先级,范围[1,9999],数字越大优先级越高。默认内容转发规则下为0。 + - **VServerId** (str) - 所属VServerId + - **TotalCount** (int) - 默认内容转发类型下返回当前rs总数 + - **BackendSet** (list) - 见 **PolicyBackendSet** 模型定义 + - **PolicyId** (str) - 内容转发Id,默认内容转发类型下为空。 + - **PolicyType** (str) - 内容类型,枚举值:Custom -> 客户自定义;Default -> 默认内容转发 + + **ULBVServerSet** + + - **BackendSet** (list) - 见 **ULBBackendSet** 模型定义 + - **MonitorType** (str) - 健康检查类型,枚举值:Port -> 端口检查;Path -> 路径检查; + - **VServerName** (str) - VServer实例的名字 + - **FrontendPort** (int) - VServer服务端口 + - **Method** (str) - VServer负载均衡的模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口)。 + - **PersistenceType** (str) - VServer会话保持方式。枚举值为: None -> 关闭会话保持; ServerInsert -> 自动生成; UserDefined -> 用户自定义。 + - **Status** (int) - VServer的运行状态。枚举值: 0 -> rs全部运行正常;1 -> rs全部运行异常;2 -> rs部分运行异常。 + - **SSLSet** (list) - 见 **ULBSSLSet** 模型定义 + - **Domain** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查路径 + - **ListenType** (str) - 监听器类型,枚举值为: RequestProxy -> 请求代理;PacketsTransmit -> 报文转发 + - **PolicySet** (list) - 见 **ULBPolicySet** 模型定义 + - **Path** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查域名 + - **VServerId** (str) - VServer实例的Id + - **Protocol** (str) - VServer实例的协议。 枚举值为:HTTP,TCP,UDP,HTTPS。 + - **PersistenceInfo** (str) - 根据PersistenceType确定: None或ServerInsert,此字段为空; UserDefined,此字段展示用户自定义会话string。 + - **ClientTimeout** (int) - 空闲连接的回收时间,单位:秒。 + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeVServerRequestSchema().dumps(d) + resp = self.invoke("DescribeVServer", d, **kwargs) + return apis.DescribeVServerResponseSchema().loads(resp) + def release_backend(self, req=None, **kwargs): """ ReleaseBackend - 从VServer释放后端资源实例 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackendId: (Required) 后端资源实例的ID(ULB后端ID,非资源自身ID) - :param ULBId: (Required) 负载均衡实例的ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackendId** (str) - (Required) 后端资源实例的ID(ULB后端ID,非资源自身ID) + - **ULBId** (str) - (Required) 负载均衡实例的ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -291,11 +536,17 @@ def release_backend(self, req=None, **kwargs): def unbind_ssl(self, req=None, **kwargs): """ UnbindSSL - 从VServer解绑SSL证书 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SSLId: (Required) SSL证书的Id - :param ULBId: (Required) 所绑定ULB实例ID - :param VServerId: (Required) 所绑定VServer实例ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SSLId** (str) - (Required) SSL证书的Id + - **ULBId** (str) - (Required) 所绑定ULB实例ID + - **VServerId** (str) - (Required) 所绑定VServer实例ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -306,13 +557,19 @@ def unbind_ssl(self, req=None, **kwargs): def update_backend_attribute(self, req=None, **kwargs): """ UpdateBackendAttribute - 更新ULB后端资源实例(服务节点)属性 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackendId: (Required) 后端资源实例的ID(ULB后端ID,非资源自身ID) - :param ULBId: (Required) 负载均衡资源ID - :param Enabled: (Optional) 后端实例状态开关 - :param Port: (Optional) 后端资源服务端口,取值范围[1-65535] - :param Weight: (Optional) 所添加的后端RS权重(在加权轮询算法下有效),取值范围[0-100],默认为1 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackendId** (str) - (Required) 后端资源实例的ID(ULB后端ID,非资源自身ID) + - **ULBId** (str) - (Required) 负载均衡资源ID + - **Enabled** (int) - 后端实例状态开关 + - **Port** (int) - 后端资源服务端口,取值范围[1-65535] + - **Weight** (int) - 所添加的后端RS权重(在加权轮询算法下有效),取值范围[0-100],默认为1 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -320,35 +577,78 @@ def update_backend_attribute(self, req=None, **kwargs): resp = self.invoke("UpdateBackendAttribute", d, **kwargs) return apis.UpdateBackendAttributeResponseSchema().loads(resp) - def create_ssl(self, req=None, **kwargs): - """ CreateSSL - 创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 + def update_policy(self, req=None, **kwargs): + """ UpdatePolicy - 更新内容转发规则,包括转发规则后的服务节点 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SSLName: (Required) SSL证书的名字,默认值为空 - :param CaCert: (Optional) CA证书 - :param PrivateKey: (Optional) 加密证书的私钥 - :param SSLContent: (Optional) SSL证书的完整内容,包括用户证书、加密证书的私钥、CA证书 - :param SSLType: (Optional) 所添加的SSL证书类型,目前只支持Pem格式 - :param UserCert: (Optional) 用户的证书 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackendId** (list) - (Required) 内容转发策略应用的后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId + - **Match** (str) - (Required) 内容转发匹配字段 + - **PolicyId** (str) - (Required) 转发规则的ID + - **ULBId** (str) - (Required) 需要添加内容转发策略的负载均衡实例ID + - **VServerId** (str) - (Required) 需要添加内容转发策略的VServer实例ID + - **Type** (str) - 内容转发匹配字段的类型 + + **Response** + + - **PolicyId** (str) - 转发规则的ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateSSLRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateSSL", d, **kwargs) - return apis.CreateSSLResponseSchema().loads(resp) + d = apis.UpdatePolicyRequestSchema().dumps(d) + resp = self.invoke("UpdatePolicy", d, **kwargs) + return apis.UpdatePolicyResponseSchema().loads(resp) - def delete_vserver(self, req=None, **kwargs): - """ DeleteVServer - 删除VServer实例 + def update_ulb_attribute(self, req=None, **kwargs): + """ UpdateULBAttribute - 更新ULB名字业务组备注等属性字段 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ULBId: (Required) 负载均衡实例的ID - :param VServerId: (Required) VServer实例的ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ULBId** (str) - (Required) ULB资源ID + - **Name** (str) - 名字 + - **Remark** (str) - 备注 + - **Tag** (str) - 业务 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteVServerRequestSchema().dumps(d) - resp = self.invoke("DeleteVServer", d, **kwargs) - return apis.DeleteVServerResponseSchema().loads(resp) + d = apis.UpdateULBAttributeRequestSchema().dumps(d) + resp = self.invoke("UpdateULBAttribute", d, **kwargs) + return apis.UpdateULBAttributeResponseSchema().loads(resp) + + def update_vserver_attribute(self, req=None, **kwargs): + """ UpdateVServerAttribute - 更新VServer实例属性 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ULBId** (str) - (Required) 负载均衡实例ID + - **VServerId** (str) - (Required) VServer实例ID + - **ClientTimeout** (int) - 请求代理的VServer下表示空闲连接的回收时间,单位:秒,取值范围:时(0,86400],默认值为60;报文转发的VServer下表示回话保持的时间,单位:秒,取值范围:[60,900],0 表示禁用连接保持 + - **Domain** (str) - MonitorType 为 Path 时指定健康检查发送请求时HTTP HEADER 里的域名 + - **Method** (str) - VServer负载均衡模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口); WeightRoundrobin -> 加权轮询; Leastconn -> 最小连接数。ConsistentHash,SourcePort,ConsistentHashPort 只在报文转发中使用;Leastconn只在请求代理中使用;Roundrobin、Source和WeightRoundrobin在请求代理和报文转发中使用。默认为:"Roundrobin" + - **MonitorType** (str) - 健康检查的类型,Port:端口,Path:路径 + - **Path** (str) - MonitorType 为 Path 时指定健康检查发送请求时的路径,默认为 / + - **PersistenceInfo** (str) - 根据PersistenceType确定: None或ServerInsert, 此字段无意义; UserDefined, 则此字段传入用户自定义会话保持String. 若无此字段则不做修改 + - **PersistenceType** (str) - VServer会话保持模式,若无此字段则不做修改。枚举值:None:关闭;ServerInsert:自动生成KEY;UserDefined:用户自定义KEY。 + - **Protocol** (str) - VServer协议类型,请求代理只支持修改为 HTTP/HTTPS,报文转发VServer只支持修改为 TCP/UDP + - **VServerName** (str) - VServer实例名称,若无此字段则不做修改 + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.UpdateVServerAttributeRequestSchema().dumps(d) + resp = self.invoke("UpdateVServerAttribute", d, **kwargs) + return apis.UpdateVServerAttributeResponseSchema().loads(resp) diff --git a/ucloud/services/ulb/schemas/apis.py b/ucloud/services/ulb/schemas/apis.py index 6c82527..3ffaa61 100644 --- a/ucloud/services/ulb/schemas/apis.py +++ b/ucloud/services/ulb/schemas/apis.py @@ -6,65 +6,66 @@ """ ULB API Schema """ """ -API: DeletePolicy +API: AllocateBackend -删除内容转发策略 +添加ULB后端资源实例 """ -class DeletePolicyRequestSchema(schema.RequestSchema): - """ DeletePolicy - 删除内容转发策略 +class AllocateBackendRequestSchema(schema.RequestSchema): + """ AllocateBackend - 添加ULB后端资源实例 """ fields = { + "ResourceType": fields.Str(required=True, dump_to="ResourceType"), + "Port": fields.Int(required=False, dump_to="Port"), + "Weight": fields.Int(required=False, dump_to="Weight"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "PolicyId": fields.Str(required=True, dump_to="PolicyId"), - "GroupId": fields.Str(required=False, dump_to="GroupId"), - "VServerId": fields.Str(required=False, dump_to="VServerId"), + "ULBId": fields.Str(required=True, dump_to="ULBId"), + "VServerId": fields.Str(required=True, dump_to="VServerId"), + "ResourceId": fields.Str(required=True, dump_to="ResourceId"), + "Enabled": fields.Int(required=False, dump_to="Enabled"), } -class DeletePolicyResponseSchema(schema.ResponseSchema): - """ DeletePolicy - 删除内容转发策略 +class AllocateBackendResponseSchema(schema.ResponseSchema): + """ AllocateBackend - 添加ULB后端资源实例 """ - fields = {} + fields = {"BackendId": fields.Str(required=False, load_from="BackendId")} """ -API: UpdateVServerAttribute +API: AllocateBackendBatch -更新VServer实例属性 +批量添加VServer后端节点 """ -class UpdateVServerAttributeRequestSchema(schema.RequestSchema): - """ UpdateVServerAttribute - 更新VServer实例属性 +class AllocateBackendBatchRequestSchema(schema.RequestSchema): + """ AllocateBackendBatch - 批量添加VServer后端节点 """ fields = { - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "VServerName": fields.Str(required=False, dump_to="VServerName"), - "PersistenceType": fields.Str(required=False, dump_to="PersistenceType"), - "PersistenceInfo": fields.Str(required=False, dump_to="PersistenceInfo"), - "MonitorType": fields.Str(required=False, dump_to="MonitorType"), - "Path": fields.Str(required=False, dump_to="Path"), + "Backends": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), "VServerId": fields.Str(required=True, dump_to="VServerId"), - "Protocol": fields.Str(required=False, dump_to="Protocol"), - "Method": fields.Str(required=False, dump_to="Method"), - "ClientTimeout": fields.Int(required=False, dump_to="ClientTimeout"), - "Domain": fields.Str(required=False, dump_to="Domain"), + "ApiVersion": fields.Int(required=False, dump_to="ApiVersion"), } -class UpdateVServerAttributeResponseSchema(schema.ResponseSchema): - """ UpdateVServerAttribute - 更新VServer实例属性 +class AllocateBackendBatchResponseSchema(schema.ResponseSchema): + """ AllocateBackendBatch - 批量添加VServer后端节点 """ - fields = {} + fields = { + "BackendSet": fields.List( + models.BackendSetSchema(), required=False, load_from="BackendSet" + ) + } """ @@ -79,11 +80,11 @@ class BindSSLRequestSchema(schema.RequestSchema): """ fields = { + "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), "VServerId": fields.Str(required=True, dump_to="VServerId"), "SSLId": fields.Str(required=True, dump_to="SSLId"), - "Region": fields.Str(required=True, dump_to="Region"), } @@ -95,511 +96,510 @@ class BindSSLResponseSchema(schema.ResponseSchema): """ -API: CreateVServer +API: CreatePolicy -创建VServer实例,定义监听的协议和端口以及负载均衡算法 +创建VServer内容转发策略 """ -class CreateVServerRequestSchema(schema.RequestSchema): - """ CreateVServer - 创建VServer实例,定义监听的协议和端口以及负载均衡算法 +class CreatePolicyRequestSchema(schema.RequestSchema): + """ CreatePolicy - 创建VServer内容转发策略 """ fields = { - "Method": fields.Str(required=False, dump_to="Method"), - "PersistenceInfo": fields.Str(required=False, dump_to="PersistenceInfo"), - "MonitorType": fields.Str(required=False, dump_to="MonitorType"), - "VServerName": fields.Str(required=False, dump_to="VServerName"), - "FrontendPort": fields.Int(required=False, dump_to="FrontendPort"), - "PersistenceType": fields.Str(required=False, dump_to="PersistenceType"), - "ClientTimeout": fields.Int(required=False, dump_to="ClientTimeout"), - "Path": fields.Str(required=False, dump_to="Path"), - "Protocol": fields.Str(required=False, dump_to="Protocol"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ListenType": fields.Str(required=False, dump_to="ListenType"), + "Match": fields.Str(required=True, dump_to="Match"), + "Type": fields.Str(required=False, dump_to="Type"), + "BackendId": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), - "Domain": fields.Str(required=False, dump_to="Domain"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), + "VServerId": fields.Str(required=True, dump_to="VServerId"), } -class CreateVServerResponseSchema(schema.ResponseSchema): - """ CreateVServer - 创建VServer实例,定义监听的协议和端口以及负载均衡算法 +class CreatePolicyResponseSchema(schema.ResponseSchema): + """ CreatePolicy - 创建VServer内容转发策略 """ - fields = {"VServerId": fields.Str(required=False, load_from="VServerId")} + fields = {"PolicyId": fields.Str(required=False, load_from="PolicyId")} """ -API: DeleteSSL +API: CreateSSL -删除SSL证书 +创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 """ -class DeleteSSLRequestSchema(schema.RequestSchema): - """ DeleteSSL - 删除SSL证书 +class CreateSSLRequestSchema(schema.RequestSchema): + """ CreateSSL - 创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 """ fields = { - "SSLId": fields.Str(required=True, dump_to="SSLId"), - "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "SSLName": fields.Str(required=True, dump_to="SSLName"), + "SSLType": fields.Str(required=False, dump_to="SSLType"), + "SSLContent": fields.Str(required=False, dump_to="SSLContent"), + "UserCert": fields.Str(required=False, dump_to="UserCert"), + "PrivateKey": fields.Str(required=False, dump_to="PrivateKey"), + "CaCert": fields.Str(required=False, dump_to="CaCert"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DeleteSSLResponseSchema(schema.ResponseSchema): - """ DeleteSSL - 删除SSL证书 +class CreateSSLResponseSchema(schema.ResponseSchema): + """ CreateSSL - 创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 """ - fields = {} + fields = {"SSLId": fields.Str(required=False, load_from="SSLId")} """ -API: DeleteULB +API: CreateULB -删除负载均衡实例 +创建负载均衡实例,可以选择内网或者外网 """ -class DeleteULBRequestSchema(schema.RequestSchema): - """ DeleteULB - 删除负载均衡实例 +class CreateULBRequestSchema(schema.RequestSchema): + """ CreateULB - 创建负载均衡实例,可以选择内网或者外网 """ fields = { - "ReleaseEip": fields.Bool(required=False, dump_to="ReleaseEip"), "Region": fields.Str(required=True, dump_to="Region"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), + "InnerMode": fields.Str(required=False, dump_to="InnerMode"), + "ListenType": fields.Str(required=False, dump_to="ListenType"), + "ULBName": fields.Str(required=False, dump_to="ULBName"), + "OuterMode": fields.Str(required=False, dump_to="OuterMode"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "BusinessId": fields.Str(required=False, dump_to="BusinessId"), + "IPVersion": fields.Str(required=False, dump_to="IPVersion"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "ULBId": fields.Str(required=True, dump_to="ULBId"), + "PrivateIp": fields.Str(required=False, dump_to="PrivateIp"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), } -class DeleteULBResponseSchema(schema.ResponseSchema): - """ DeleteULB - 删除负载均衡实例 +class CreateULBResponseSchema(schema.ResponseSchema): + """ CreateULB - 创建负载均衡实例,可以选择内网或者外网 """ - fields = {} + fields = {"ULBId": fields.Str(required=False, load_from="ULBId")} """ -API: DescribeSSL +API: CreateVServer -获取SSL证书信息 +创建VServer实例,定义监听的协议和端口以及负载均衡算法 """ -class DescribeSSLRequestSchema(schema.RequestSchema): - """ DescribeSSL - 获取SSL证书信息 +class CreateVServerRequestSchema(schema.RequestSchema): + """ CreateVServer - 创建VServer实例,定义监听的协议和端口以及负载均衡算法 """ fields = { - "Offset": fields.Int(required=False, dump_to="Offset"), + "VServerName": fields.Str(required=False, dump_to="VServerName"), + "Protocol": fields.Str(required=False, dump_to="Protocol"), + "PersistenceType": fields.Str(required=False, dump_to="PersistenceType"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "SSLId": fields.Str(required=False, dump_to="SSLId"), - "Limit": fields.Int(required=False, dump_to="Limit"), + "ULBId": fields.Str(required=True, dump_to="ULBId"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ListenType": fields.Str(required=False, dump_to="ListenType"), + "FrontendPort": fields.Int(required=False, dump_to="FrontendPort"), + "Method": fields.Str(required=False, dump_to="Method"), + "PersistenceInfo": fields.Str(required=False, dump_to="PersistenceInfo"), + "ClientTimeout": fields.Int(required=False, dump_to="ClientTimeout"), + "MonitorType": fields.Str(required=False, dump_to="MonitorType"), + "Domain": fields.Str(required=False, dump_to="Domain"), + "Path": fields.Str(required=False, dump_to="Path"), } -class DescribeSSLResponseSchema(schema.ResponseSchema): - """ DescribeSSL - 获取SSL证书信息 +class CreateVServerResponseSchema(schema.ResponseSchema): + """ CreateVServer - 创建VServer实例,定义监听的协议和端口以及负载均衡算法 """ - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "DataSet": fields.List( - models.ULBSSLSetSchema(), required=False, load_from="DataSet" - ), - } + fields = {"VServerId": fields.Str(required=False, load_from="VServerId")} """ -API: DescribeULB +API: DeletePolicy -获取ULB详细信息 +删除内容转发策略 """ -class DescribeULBRequestSchema(schema.RequestSchema): - """ DescribeULB - 获取ULB详细信息 +class DeletePolicyRequestSchema(schema.RequestSchema): + """ DeletePolicy - 删除内容转发策略 """ fields = { + "PolicyId": fields.Str(required=True, dump_to="PolicyId"), + "GroupId": fields.Str(required=False, dump_to="GroupId"), + "VServerId": fields.Str(required=False, dump_to="VServerId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "ULBId": fields.Str(required=False, dump_to="ULBId"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "BusinessId": fields.Str(required=False, dump_to="BusinessId"), } -class DescribeULBResponseSchema(schema.ResponseSchema): - """ DescribeULB - 获取ULB详细信息 +class DeletePolicyResponseSchema(schema.ResponseSchema): + """ DeletePolicy - 删除内容转发策略 """ - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "DataSet": fields.List( - models.ULBSetSchema(), required=False, load_from="DataSet" - ), - } + fields = {} """ -API: UpdateBackendAttribute +API: DeleteSSL -更新ULB后端资源实例(服务节点)属性 +删除SSL证书 """ -class UpdateBackendAttributeRequestSchema(schema.RequestSchema): - """ UpdateBackendAttribute - 更新ULB后端资源实例(服务节点)属性 +class DeleteSSLRequestSchema(schema.RequestSchema): + """ DeleteSSL - 删除SSL证书 """ fields = { + "SSLId": fields.Str(required=True, dump_to="SSLId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "ULBId": fields.Str(required=True, dump_to="ULBId"), - "BackendId": fields.Str(required=True, dump_to="BackendId"), - "Port": fields.Int(required=False, dump_to="Port"), - "Weight": fields.Int(required=False, dump_to="Weight"), - "Enabled": fields.Int(required=False, dump_to="Enabled"), } -class UpdateBackendAttributeResponseSchema(schema.ResponseSchema): - """ UpdateBackendAttribute - 更新ULB后端资源实例(服务节点)属性 +class DeleteSSLResponseSchema(schema.ResponseSchema): + """ DeleteSSL - 删除SSL证书 """ fields = {} """ -API: UpdatePolicy +API: DeleteULB -更新内容转发规则,包括转发规则后的服务节点 +删除负载均衡实例 """ -class UpdatePolicyRequestSchema(schema.RequestSchema): - """ UpdatePolicy - 更新内容转发规则,包括转发规则后的服务节点 +class DeleteULBRequestSchema(schema.RequestSchema): + """ DeleteULB - 删除负载均衡实例 """ fields = { - "Type": fields.Str(required=False, dump_to="Type"), - "BackendId": fields.List(fields.Str()), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), - "VServerId": fields.Str(required=True, dump_to="VServerId"), - "Match": fields.Str(required=True, dump_to="Match"), + "ReleaseEip": fields.Bool(required=False, dump_to="ReleaseEip"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "PolicyId": fields.Str(required=True, dump_to="PolicyId"), } -class UpdatePolicyResponseSchema(schema.ResponseSchema): - """ UpdatePolicy - 更新内容转发规则,包括转发规则后的服务节点 +class DeleteULBResponseSchema(schema.ResponseSchema): + """ DeleteULB - 删除负载均衡实例 """ - fields = {"PolicyId": fields.Str(required=False, load_from="PolicyId")} + fields = {} """ -API: AllocateBackend +API: DeleteVServer -添加ULB后端资源实例 +删除VServer实例 """ -class AllocateBackendRequestSchema(schema.RequestSchema): - """ AllocateBackend - 添加ULB后端资源实例 +class DeleteVServerRequestSchema(schema.RequestSchema): + """ DeleteVServer - 删除VServer实例 """ fields = { - "ResourceId": fields.Str(required=True, dump_to="ResourceId"), - "ULBId": fields.Str(required=True, dump_to="ULBId"), - "VServerId": fields.Str(required=True, dump_to="VServerId"), - "ResourceType": fields.Str(required=True, dump_to="ResourceType"), - "Weight": fields.Int(required=False, dump_to="Weight"), - "Enabled": fields.Int(required=False, dump_to="Enabled"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "Port": fields.Int(required=False, dump_to="Port"), + "ULBId": fields.Str(required=True, dump_to="ULBId"), + "VServerId": fields.Str(required=True, dump_to="VServerId"), } -class AllocateBackendResponseSchema(schema.ResponseSchema): - """ AllocateBackend - 添加ULB后端资源实例 +class DeleteVServerResponseSchema(schema.ResponseSchema): + """ DeleteVServer - 删除VServer实例 """ - fields = {"BackendId": fields.Str(required=False, load_from="BackendId")} + fields = {} """ -API: AllocateBackendBatch +API: DescribeSSL -批量添加VServer后端节点 +获取SSL证书信息 """ -class AllocateBackendBatchRequestSchema(schema.RequestSchema): - """ AllocateBackendBatch - 批量添加VServer后端节点 +class DescribeSSLRequestSchema(schema.RequestSchema): + """ DescribeSSL - 获取SSL证书信息 """ fields = { - "Backends": fields.List(fields.Str()), + "Offset": fields.Int(required=False, dump_to="Offset"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "ULBId": fields.Str(required=True, dump_to="ULBId"), - "VServerId": fields.Str(required=True, dump_to="VServerId"), - "ApiVersion": fields.Int(required=False, dump_to="ApiVersion"), + "SSLId": fields.Str(required=False, dump_to="SSLId"), + "Limit": fields.Int(required=False, dump_to="Limit"), } -class AllocateBackendBatchResponseSchema(schema.ResponseSchema): - """ AllocateBackendBatch - 批量添加VServer后端节点 +class DescribeSSLResponseSchema(schema.ResponseSchema): + """ DescribeSSL - 获取SSL证书信息 """ fields = { - "BackendSet": fields.List( - models.BackendSetSchema(), required=False, load_from="BackendSet" - ) + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSet": fields.List( + models.ULBSSLSetSchema(), required=False, load_from="DataSet" + ), } """ -API: UpdateULBAttribute +API: DescribeULB -更新ULB名字业务组备注等属性字段 +获取ULB详细信息 """ -class UpdateULBAttributeRequestSchema(schema.RequestSchema): - """ UpdateULBAttribute - 更新ULB名字业务组备注等属性字段 +class DescribeULBRequestSchema(schema.RequestSchema): + """ DescribeULB - 获取ULB详细信息 """ fields = { + "ULBId": fields.Str(required=False, dump_to="ULBId"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "BusinessId": fields.Str(required=False, dump_to="BusinessId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "ULBId": fields.Str(required=True, dump_to="ULBId"), - "Name": fields.Str(required=False, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Remark": fields.Str(required=False, dump_to="Remark"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), } -class UpdateULBAttributeResponseSchema(schema.ResponseSchema): - """ UpdateULBAttribute - 更新ULB名字业务组备注等属性字段 +class DescribeULBResponseSchema(schema.ResponseSchema): + """ DescribeULB - 获取ULB详细信息 """ - fields = {} + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSet": fields.List( + models.ULBSetSchema(), required=False, load_from="DataSet" + ), + } """ -API: DeleteVServer +API: DescribeVServer -删除VServer实例 +获取ULB下的VServer的详细信息 """ -class DeleteVServerRequestSchema(schema.RequestSchema): - """ DeleteVServer - 删除VServer实例 +class DescribeVServerRequestSchema(schema.RequestSchema): + """ DescribeVServer - 获取ULB下的VServer的详细信息 """ fields = { - "VServerId": fields.Str(required=True, dump_to="VServerId"), - "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), + "VServerId": fields.Str(required=False, dump_to="VServerId"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DeleteVServerResponseSchema(schema.ResponseSchema): - """ DeleteVServer - 删除VServer实例 +class DescribeVServerResponseSchema(schema.ResponseSchema): + """ DescribeVServer - 获取ULB下的VServer的详细信息 """ - fields = {} + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSet": fields.List( + models.ULBVServerSetSchema(), required=False, load_from="DataSet" + ), + } """ -API: UnbindSSL +API: ReleaseBackend -从VServer解绑SSL证书 +从VServer释放后端资源实例 """ -class UnbindSSLRequestSchema(schema.RequestSchema): - """ UnbindSSL - 从VServer解绑SSL证书 +class ReleaseBackendRequestSchema(schema.RequestSchema): + """ ReleaseBackend - 从VServer释放后端资源实例 """ fields = { "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), - "VServerId": fields.Str(required=True, dump_to="VServerId"), - "SSLId": fields.Str(required=True, dump_to="SSLId"), + "BackendId": fields.Str(required=True, dump_to="BackendId"), "Region": fields.Str(required=True, dump_to="Region"), } -class UnbindSSLResponseSchema(schema.ResponseSchema): - """ UnbindSSL - 从VServer解绑SSL证书 +class ReleaseBackendResponseSchema(schema.ResponseSchema): + """ ReleaseBackend - 从VServer释放后端资源实例 """ fields = {} """ -API: CreateULB +API: UnbindSSL -创建负载均衡实例,可以选择内网或者外网 +从VServer解绑SSL证书 """ -class CreateULBRequestSchema(schema.RequestSchema): - """ CreateULB - 创建负载均衡实例,可以选择内网或者外网 +class UnbindSSLRequestSchema(schema.RequestSchema): + """ UnbindSSL - 从VServer解绑SSL证书 """ fields = { - "Tag": fields.Str(required=False, dump_to="Tag"), - "PrivateIp": fields.Str(required=False, dump_to="PrivateIp"), - "OuterMode": fields.Str(required=False, dump_to="OuterMode"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "BusinessId": fields.Str(required=False, dump_to="BusinessId"), - "ULBName": fields.Str(required=False, dump_to="ULBName"), - "Remark": fields.Str(required=False, dump_to="Remark"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), - "IPVersion": fields.Str(required=False, dump_to="IPVersion"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "InnerMode": fields.Str(required=False, dump_to="InnerMode"), - "ListenType": fields.Str(required=False, dump_to="ListenType"), + "ULBId": fields.Str(required=True, dump_to="ULBId"), + "VServerId": fields.Str(required=True, dump_to="VServerId"), + "SSLId": fields.Str(required=True, dump_to="SSLId"), } -class CreateULBResponseSchema(schema.ResponseSchema): - """ CreateULB - 创建负载均衡实例,可以选择内网或者外网 +class UnbindSSLResponseSchema(schema.ResponseSchema): + """ UnbindSSL - 从VServer解绑SSL证书 """ - fields = {"ULBId": fields.Str(required=False, load_from="ULBId")} + fields = {} """ -API: DescribeVServer +API: UpdateBackendAttribute -获取ULB下的VServer的详细信息 +更新ULB后端资源实例(服务节点)属性 """ -class DescribeVServerRequestSchema(schema.RequestSchema): - """ DescribeVServer - 获取ULB下的VServer的详细信息 +class UpdateBackendAttributeRequestSchema(schema.RequestSchema): + """ UpdateBackendAttribute - 更新ULB后端资源实例(服务节点)属性 """ fields = { + "Weight": fields.Int(required=False, dump_to="Weight"), + "Enabled": fields.Int(required=False, dump_to="Enabled"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), - "VServerId": fields.Str(required=False, dump_to="VServerId"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), + "BackendId": fields.Str(required=True, dump_to="BackendId"), + "Port": fields.Int(required=False, dump_to="Port"), } -class DescribeVServerResponseSchema(schema.ResponseSchema): - """ DescribeVServer - 获取ULB下的VServer的详细信息 +class UpdateBackendAttributeResponseSchema(schema.ResponseSchema): + """ UpdateBackendAttribute - 更新ULB后端资源实例(服务节点)属性 """ - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "DataSet": fields.List( - models.ULBVServerSetSchema(), required=False, load_from="DataSet" - ), - } + fields = {} """ -API: ReleaseBackend +API: UpdatePolicy -从VServer释放后端资源实例 +更新内容转发规则,包括转发规则后的服务节点 """ -class ReleaseBackendRequestSchema(schema.RequestSchema): - """ ReleaseBackend - 从VServer释放后端资源实例 +class UpdatePolicyRequestSchema(schema.RequestSchema): + """ UpdatePolicy - 更新内容转发规则,包括转发规则后的服务节点 """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "ULBId": fields.Str(required=True, dump_to="ULBId"), - "BackendId": fields.Str(required=True, dump_to="BackendId"), + "VServerId": fields.Str(required=True, dump_to="VServerId"), + "Match": fields.Str(required=True, dump_to="Match"), + "Type": fields.Str(required=False, dump_to="Type"), + "Region": fields.Str(required=True, dump_to="Region"), + "BackendId": fields.List(fields.Str()), + "PolicyId": fields.Str(required=True, dump_to="PolicyId"), } -class ReleaseBackendResponseSchema(schema.ResponseSchema): - """ ReleaseBackend - 从VServer释放后端资源实例 +class UpdatePolicyResponseSchema(schema.ResponseSchema): + """ UpdatePolicy - 更新内容转发规则,包括转发规则后的服务节点 """ - fields = {} + fields = {"PolicyId": fields.Str(required=False, load_from="PolicyId")} """ -API: CreatePolicy +API: UpdateULBAttribute -创建VServer内容转发策略 +更新ULB名字业务组备注等属性字段 """ -class CreatePolicyRequestSchema(schema.RequestSchema): - """ CreatePolicy - 创建VServer内容转发策略 +class UpdateULBAttributeRequestSchema(schema.RequestSchema): + """ UpdateULBAttribute - 更新ULB名字业务组备注等属性字段 """ fields = { - "Match": fields.Str(required=True, dump_to="Match"), - "Type": fields.Str(required=False, dump_to="Type"), - "BackendId": fields.List(fields.Str()), + "ULBId": fields.Str(required=True, dump_to="ULBId"), + "Name": fields.Str(required=False, dump_to="Name"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "ULBId": fields.Str(required=True, dump_to="ULBId"), - "VServerId": fields.Str(required=True, dump_to="VServerId"), } -class CreatePolicyResponseSchema(schema.ResponseSchema): - """ CreatePolicy - 创建VServer内容转发策略 +class UpdateULBAttributeResponseSchema(schema.ResponseSchema): + """ UpdateULBAttribute - 更新ULB名字业务组备注等属性字段 """ - fields = {"PolicyId": fields.Str(required=False, load_from="PolicyId")} + fields = {} """ -API: CreateSSL +API: UpdateVServerAttribute -创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 +更新VServer实例属性 """ -class CreateSSLRequestSchema(schema.RequestSchema): - """ CreateSSL - 创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 +class UpdateVServerAttributeRequestSchema(schema.RequestSchema): + """ UpdateVServerAttribute - 更新VServer实例属性 """ fields = { - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "SSLName": fields.Str(required=True, dump_to="SSLName"), - "SSLType": fields.Str(required=False, dump_to="SSLType"), - "SSLContent": fields.Str(required=False, dump_to="SSLContent"), - "UserCert": fields.Str(required=False, dump_to="UserCert"), - "PrivateKey": fields.Str(required=False, dump_to="PrivateKey"), - "CaCert": fields.Str(required=False, dump_to="CaCert"), "Region": fields.Str(required=True, dump_to="Region"), + "Method": fields.Str(required=False, dump_to="Method"), + "PersistenceInfo": fields.Str(required=False, dump_to="PersistenceInfo"), + "ClientTimeout": fields.Int(required=False, dump_to="ClientTimeout"), + "MonitorType": fields.Str(required=False, dump_to="MonitorType"), + "Domain": fields.Str(required=False, dump_to="Domain"), + "Path": fields.Str(required=False, dump_to="Path"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "ULBId": fields.Str(required=True, dump_to="ULBId"), + "VServerId": fields.Str(required=True, dump_to="VServerId"), + "VServerName": fields.Str(required=False, dump_to="VServerName"), + "Protocol": fields.Str(required=False, dump_to="Protocol"), + "PersistenceType": fields.Str(required=False, dump_to="PersistenceType"), } -class CreateSSLResponseSchema(schema.ResponseSchema): - """ CreateSSL - 创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 +class UpdateVServerAttributeResponseSchema(schema.ResponseSchema): + """ UpdateVServerAttribute - 更新VServer实例属性 """ - fields = {"SSLId": fields.Str(required=False, load_from="SSLId")} + fields = {} diff --git a/ucloud/services/ulb/schemas/models.py b/ucloud/services/ulb/schemas/models.py index e906500..20fa5af 100644 --- a/ucloud/services/ulb/schemas/models.py +++ b/ucloud/services/ulb/schemas/models.py @@ -13,27 +13,27 @@ class BackendSetSchema(schema.ResponseSchema): } -class PolicyBackendSetSchema(schema.ResponseSchema): - """ PolicyBackendSet - 内容转发下rs详细信息 +class ULBSSLSetSchema(schema.ResponseSchema): + """ ULBSSLSet - DescribeULB """ fields = { - "BackendId": fields.Str(required=False, load_from="BackendId"), - "ObjectId": fields.Str(required=False, load_from="ObjectId"), - "Port": fields.Int(required=False, load_from="Port"), - "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), - "ResourceName": fields.Str(required=False, load_from="ResourceName"), + "SSLId": fields.Str(required=False, load_from="SSLId"), + "SSLName": fields.Str(required=False, load_from="SSLName"), + "HashValue": fields.Str(required=False, load_from="HashValue"), } -class ULBSSLSetSchema(schema.ResponseSchema): - """ ULBSSLSet - DescribeULB +class PolicyBackendSetSchema(schema.ResponseSchema): + """ PolicyBackendSet - 内容转发下rs详细信息 """ fields = { - "SSLId": fields.Str(required=False, load_from="SSLId"), - "SSLName": fields.Str(required=False, load_from="SSLName"), - "HashValue": fields.Str(required=False, load_from="HashValue"), + "Port": fields.Int(required=False, load_from="Port"), + "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), + "ResourceName": fields.Str(required=False, load_from="ResourceName"), + "BackendId": fields.Str(required=False, load_from="BackendId"), + "ObjectId": fields.Str(required=False, load_from="ObjectId"), } @@ -43,18 +43,18 @@ class ULBBackendSetSchema(schema.ResponseSchema): fields = { "SubResourceType": fields.Str(required=False, load_from="SubResourceType"), - "SubResourceName": fields.Str(required=False, load_from="SubResourceName"), + "SubResourceId": fields.Str(required=False, load_from="SubResourceId"), + "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), "Port": fields.Int(required=False, load_from="Port"), "Enabled": fields.Int(required=False, load_from="Enabled"), - "Status": fields.Int(required=False, load_from="Status"), "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "BackendId": fields.Str(required=False, load_from="BackendId"), - "ResourceId": fields.Str(required=False, load_from="ResourceId"), - "ResourceName": fields.Str(required=False, load_from="ResourceName"), - "SubResourceId": fields.Str(required=False, load_from="SubResourceId"), - "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), "Weight": fields.Int(required=False, load_from="Weight"), "ResourceType": fields.Str(required=False, load_from="ResourceType"), + "ResourceId": fields.Str(required=False, load_from="ResourceId"), + "ResourceName": fields.Str(required=False, load_from="ResourceName"), + "SubResourceName": fields.Str(required=False, load_from="SubResourceName"), + "Status": fields.Int(required=False, load_from="Status"), + "BackendId": fields.Str(required=False, load_from="BackendId"), } @@ -63,7 +63,6 @@ class ULBPolicySetSchema(schema.ResponseSchema): """ fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), "BackendSet": fields.List(PolicyBackendSetSchema()), "PolicyId": fields.Str(required=False, load_from="PolicyId"), "PolicyType": fields.Str(required=False, load_from="PolicyType"), @@ -71,6 +70,7 @@ class ULBPolicySetSchema(schema.ResponseSchema): "Match": fields.Str(required=False, load_from="Match"), "PolicyPriority": fields.Int(required=False, load_from="PolicyPriority"), "VServerId": fields.Str(required=False, load_from="VServerId"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), } @@ -79,22 +79,22 @@ class ULBVServerSetSchema(schema.ResponseSchema): """ fields = { - "PolicySet": fields.List(ULBPolicySetSchema()), + "SSLSet": fields.List(ULBSSLSetSchema()), + "BackendSet": fields.List(ULBBackendSetSchema()), + "ListenType": fields.Str(required=False, load_from="ListenType"), "MonitorType": fields.Str(required=True, load_from="MonitorType"), "Path": fields.Str(required=True, load_from="Path"), - "Protocol": fields.Str(required=False, load_from="Protocol"), - "ClientTimeout": fields.Int(required=False, load_from="ClientTimeout"), - "Status": fields.Int(required=False, load_from="Status"), - "Domain": fields.Str(required=True, load_from="Domain"), - "VServerId": fields.Str(required=False, load_from="VServerId"), - "VServerName": fields.Str(required=False, load_from="VServerName"), - "FrontendPort": fields.Int(required=False, load_from="FrontendPort"), "Method": fields.Str(required=False, load_from="Method"), "PersistenceInfo": fields.Str(required=False, load_from="PersistenceInfo"), - "BackendSet": fields.List(ULBBackendSetSchema()), - "ListenType": fields.Str(required=False, load_from="ListenType"), + "Domain": fields.Str(required=True, load_from="Domain"), "PersistenceType": fields.Str(required=False, load_from="PersistenceType"), - "SSLSet": fields.List(ULBSSLSetSchema()), + "Status": fields.Int(required=False, load_from="Status"), + "VServerName": fields.Str(required=False, load_from="VServerName"), + "Protocol": fields.Str(required=False, load_from="Protocol"), + "FrontendPort": fields.Int(required=False, load_from="FrontendPort"), + "ClientTimeout": fields.Int(required=False, load_from="ClientTimeout"), + "VServerId": fields.Str(required=False, load_from="VServerId"), + "PolicySet": fields.List(ULBPolicySetSchema()), } @@ -103,11 +103,11 @@ class ULBIPSetSchema(schema.ResponseSchema): """ fields = { - "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), - "OperatorName": fields.Str(required=False, load_from="OperatorName"), "EIP": fields.Str(required=False, load_from="EIP"), "EIPId": fields.Str(required=False, load_from="EIPId"), "BandwidthType": fields.Int(required=False, load_from="BandwidthType"), + "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), + "OperatorName": fields.Str(required=False, load_from="OperatorName"), } @@ -116,21 +116,21 @@ class ULBSetSchema(schema.ResponseSchema): """ fields = { - "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), - "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), - "ULBId": fields.Str(required=False, load_from="ULBId"), - "ULBName": fields.Str(required=False, load_from="ULBName"), - "Name": fields.Str(required=False, load_from="Name"), + "Tag": fields.Str(required=False, load_from="Tag"), + "VServerSet": fields.List(ULBVServerSetSchema()), + "VPCId": fields.Str(required=False, load_from="VPCId"), "Remark": fields.Str(required=False, load_from="Remark"), "BandwidthType": fields.Int(required=False, load_from="BandwidthType"), "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "VServerSet": fields.List(ULBVServerSetSchema()), - "Tag": fields.Str(required=False, load_from="Tag"), - "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), - "IPSet": fields.List(ULBIPSetSchema()), - "VPCId": fields.Str(required=False, load_from="VPCId"), "SubnetId": fields.Str(required=False, load_from="SubnetId"), + "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), + "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), "Resource": fields.List(fields.Str()), + "ULBId": fields.Str(required=False, load_from="ULBId"), + "ULBName": fields.Str(required=False, load_from="ULBName"), + "Name": fields.Str(required=False, load_from="Name"), + "IPSet": fields.List(ULBIPSetSchema()), "ULBType": fields.Str(required=False, load_from="ULBType"), "BusinessId": fields.Str(required=False, load_from="BusinessId"), + "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), } diff --git a/ucloud/services/umem/client.py b/ucloud/services/umem/client.py index 03d43bc..ef5c879 100644 --- a/ucloud/services/umem/client.py +++ b/ucloud/services/umem/client.py @@ -8,126 +8,160 @@ class UMemClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(UMemClient, self).__init__(config, transport, middleware, logger) - def describe_umem_upgrade_price(self, req=None, **kwargs): - """ DescribeUMemUpgradePrice - 获取UMem升级价格信息 + def create_umem_space(self, req=None, **kwargs): + """ CreateUMemSpace - 创建UMem内存空间 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 购买UMem大小,单位:GB - :param SpaceId: (Required) 需要升级的空间的SpaceId - :param Type: (Required) 空间类型:single(无热备),double(热备)(默认: double) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 空间名称,长度(6<=size<=63) + - **Size** (int) - (Required) 内存大小, 单位:GB, 范围[1~1024] + - **ChargeType** (str) - Year , Month, Dynamic, Trial 默认: Month + - **CouponId** (str) - 使用的代金券id + - **Password** (str) - URedis密码。请遵照 `字段规范 `_ 设定密码。密码需使用base64进行编码,举例如下:# echo -n Password1 | base64UGFzc3dvcmQx。 + - **Protocol** (str) - 协议:memcache, redis (默认redis).注意:redis无single类型 + - **Quantity** (int) - 购买时长 默认: 1 + - **SubnetId** (str) - + - **Tag** (str) - + - **Type** (str) - 空间类型:single(无热备),double(热备)(默认: double) + - **VPCId** (str) - + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **SpaceId** (str) - 创建内存空间ID列表 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUMemUpgradePriceRequestSchema().dumps(d) - resp = self.invoke("DescribeUMemUpgradePrice", d, **kwargs) - return apis.DescribeUMemUpgradePriceResponseSchema().loads(resp) + d = apis.CreateUMemSpaceRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUMemSpace", d, **kwargs) + return apis.CreateUMemSpaceResponseSchema().loads(resp) - def describe_umem_cache_group(self, req=None, **kwargs): - """ DescribeUMemcacheGroup - 显示Memcache + def create_umem_cache_group(self, req=None, **kwargs): + """ CreateUMemcacheGroup - 创建单机Memcache - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Optional) 组的ID,如果指定则获取描述,否则为列表操 作,需指定Offset/Limit - :param Limit: (Optional) 分页显示的条目数, 默认值为20 - :param Offset: (Optional) 分页显示的起始偏移, 默认值为0 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 请求创建组的名称 范围[6-60] + - **ChargeType** (str) - 计费模式,Year , Month, Dynamic 默认: Month + - **ConfigId** (str) - 配置ID,目前仅支持默认配置id 默认配置id:"9a891891-c245-4b66-bce8-67e59430d67c" + - **CouponId** (str) - 代金券ID + - **Protocol** (str) - + - **Quantity** (int) - 购买时长,默认为1 + - **Size** (int) - 每个节点的内存大小,单位GB,默认1GB 目前仅支持1/2/4/8/16/32这几档 + - **SubnetId** (str) - + - **Tag** (str) - 业务组 默认:Default + - **VPCId** (str) - + - **Version** (str) - Memcache版本信息,默认为1.4.31 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **GroupId** (str) - 创建的组ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUMemcacheGroupRequestSchema().dumps(d) - resp = self.invoke("DescribeUMemcacheGroup", d, **kwargs) - return apis.DescribeUMemcacheGroupResponseSchema().loads(resp) + d = apis.CreateUMemcacheGroupRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateUMemcacheGroup", d, **kwargs) + return apis.CreateUMemcacheGroupResponseSchema().loads(resp) - def describe_uredis_price(self, req=None, **kwargs): - """ DescribeURedisPrice - 取uredis价格信息 + def create_uredis_group(self, req=None, **kwargs): + """ CreateURedisGroup - 创建主备redis - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 量大小,单位:GB 取值范围[1-32] - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) 计费模式,Year, Month, Dynamic;如果不指定,则一次性获取三种计费 - :param ProductType: (Optional) 产品类型:MS_Redis(标准主备版),S_Redis(从库),默认为MS_Redis - :param Quantity: (Optional) 计费模式为Dynamic时,购买的时长, 默认为1 - :param RegionFlag: (Optional) 是否是跨机房URedis(默认false) - :param Type: (Optional) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **HighAvailability** (str) - (Required) 是否开启高可用,enable或disable + - **Name** (str) - (Required) 请求创建组的名称 (范围[6-63],只能包含英文、数字以及符号-和_) + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **AutoBackup** (str) - 是否自动备份,enable或disable,默认disable + - **BackupId** (str) - 有此项代表从备份中创建,无代表正常创建 + - **BackupTime** (int) - 自动备份开始时间,范围[0-23],默认3点 + - **ChargeType** (str) - 计费模式,Year , Month, Dynamic 默认: Month + - **ConfigId** (str) - 配置ID,目前仅支持默认配置id 默认创建3.0版本 配置id:"03f58ca9-b64d-4bdd-abc7-c6b9a46fd801",3.0版本配置ID:03f58ca9-b64d-4bdd-abc7-c6b9a46fd8013.2版本配置ID:3e45ac48-f8a2-a9q2-261d-l342dab130gf4.0版本配置ID:6c9298a3-9d7f-428c-b1d0-e87ab3b8a1ea,从备份创建为必传项 + - **CouponId** (str) - 代金券ID + - **MasterGroupId** (str) - Master Redis Group的ID,创建只读Slave时,必须填写 + - **Password** (str) - 初始化密码,需要 base64 编码 + - **Quantity** (int) - 购买时长,默认为1 + - **Size** (int) - 每个节点的内存大小,单位GB,默认1GB,目前仅支持1/2/4/8/16/32,六种 + - **SlaveZone** (str) - 跨机房URedis,slave所在可用区(必须和Zone在同一Region,且不可相同) + - **SubnetId** (str) - + - **Tag** (str) - 业务组名称 + - **VPCId** (str) - + - **Version** (str) - Redis版本信息(详见DescribeURedisVersion返回结果),默认版本3.0 + + **Response** + + - **GroupId** (str) - 创建的组ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeURedisPriceRequestSchema().dumps(d) - resp = self.invoke("DescribeURedisPrice", d, **kwargs) - return apis.DescribeURedisPriceResponseSchema().loads(resp) + d = apis.CreateURedisGroupRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateURedisGroup", d, **kwargs) + return apis.CreateURedisGroupResponseSchema().loads(resp) - def describe_uredis_upgrade_price(self, req=None, **kwargs): - """ DescribeURedisUpgradePrice - 获取uredis升级价格信息 + def delete_umem_space(self, req=None, **kwargs): + """ DeleteUMemSpace - 删除UMem内存空间 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 要升级的空间的GroupId,请参考DescribeURedisGroup接口 - :param Size: (Required) 购买uredis大小,单位:GB,范围是[1-32] - :param Type: (Optional) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeURedisUpgradePriceRequestSchema().dumps(d) - resp = self.invoke("DescribeURedisUpgradePrice", d, **kwargs) - return apis.DescribeURedisUpgradePriceResponseSchema().loads(resp) + **Request** - def modify_uredis_group_name(self, req=None, **kwargs): - """ ModifyURedisGroupName - 修改主备redis名称 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SpaceId** (str) - (Required) UMem内存空间ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 组的ID - :param Name: (Required) Redis组名称 (范围[6-63],只能包含英文、数字以及符号-和_) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ModifyURedisGroupNameRequestSchema().dumps(d) - resp = self.invoke("ModifyURedisGroupName", d, **kwargs) - return apis.ModifyURedisGroupNameResponseSchema().loads(resp) + d = apis.DeleteUMemSpaceRequestSchema().dumps(d) + resp = self.invoke("DeleteUMemSpace", d, **kwargs) + return apis.DeleteUMemSpaceResponseSchema().loads(resp) - def resize_uredis_group(self, req=None, **kwargs): - """ ResizeURedisGroup - 调整主备redis容量 + def delete_umem_cache_group(self, req=None, **kwargs): + """ DeleteUMemcacheGroup - 删除单机Memcache - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 组ID - :param Size: (Required) 内存大小, 单位:GB (需要大于原size,且小于等于32) 目前仅支持1/2/4/8/16/32 G 六种容量规格 - :param ChargeType: (Optional) - :param CouponId: (Optional) 代金券ID 请参考DescribeCoupon接口 - :param Type: (Optional) 空间类型:single(无热备),double(热备)(默认: double) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.ResizeURedisGroupRequestSchema().dumps(d) - resp = self.invoke("ResizeURedisGroup", d, **kwargs) - return apis.ResizeURedisGroupResponseSchema().loads(resp) + **Request** - def delete_umem_space(self, req=None, **kwargs): - """ DeleteUMemSpace - 删除UMem内存空间 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - (Required) 组ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SpaceId: (Required) UMem内存空间ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteUMemSpaceRequestSchema().dumps(d) - resp = self.invoke("DeleteUMemSpace", d, **kwargs) - return apis.DeleteUMemSpaceResponseSchema().loads(resp) + d = apis.DeleteUMemcacheGroupRequestSchema().dumps(d) + resp = self.invoke("DeleteUMemcacheGroup", d, **kwargs) + return apis.DeleteUMemcacheGroupResponseSchema().loads(resp) def delete_uredis_group(self, req=None, **kwargs): """ DeleteURedisGroup - 删除主备redis - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 组ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - (Required) 组ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -135,110 +169,239 @@ def delete_uredis_group(self, req=None, **kwargs): resp = self.invoke("DeleteURedisGroup", d, **kwargs) return apis.DeleteURedisGroupResponseSchema().loads(resp) - def describe_umem_cache_price(self, req=None, **kwargs): - """ DescribeUMemcachePrice - 获取umemcache组价格信息 + def describe_umem_price(self, req=None, **kwargs): + """ DescribeUMemPrice - 获取UMem实例价格信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 购买umem大小,单位:GB,范围[1~1024] + - **Type** (str) - (Required) 空间类型:single(无热备),double(热备)(默认: double) + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - Year, Month, Dynamic,Trial 如果不指定,则一次性获取三种计费 + - **Quantity** (int) - 购买UMem的时长,默认值为1 + - **RegionFlag** (bool) - + + **Response** + + - **DataSet** (list) - 见 **UMemPriceSet** 模型定义 + + **Response Model** + + **UMemPriceSet** + + - **ChargeType** (str) - Year, Month, Dynamic,Trial + - **Price** (float) - 价格,单位: 元,保留小数点后两位有效数字 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 容量大小,单位:GB 取值范围[1-32] - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) 计费模式,Year, Month, Dynamic,默认: Dynamic 默认: 获取所有计费模式的价格 - :param Quantity: (Optional) 购买umemcache的时长,默认值为1 - :param Type: (Optional) 空间类型:single(无热备),double(热备)(默认: double) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUMemcachePriceRequestSchema().dumps(d) - resp = self.invoke("DescribeUMemcachePrice", d, **kwargs) - return apis.DescribeUMemcachePriceResponseSchema().loads(resp) + d = apis.DescribeUMemPriceRequestSchema().dumps(d) + resp = self.invoke("DescribeUMemPrice", d, **kwargs) + return apis.DescribeUMemPriceResponseSchema().loads(resp) - def describe_uredis_group(self, req=None, **kwargs): - """ DescribeURedisGroup - 查询主备Redis + def describe_umem_space(self, req=None, **kwargs): + """ DescribeUMemSpace - 获取UMem内存空间列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - 返回数据长度, 默认为20 + - **Offset** (int) - 数据偏移量, 默认为0 + - **SpaceId** (str) - 内存空间ID (无ID,则获取所有) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **DataSet** (list) - 见 **UMemSpaceSet** 模型定义 + - **TotalCount** (int) - 根据过滤条件得到的总数 + + **Response Model** + + **UMemSpaceAddressSet** + + - **IP** (str) - UMem实例访问IP + - **Port** (int) - UMem实例访问Port + + **UMemSpaceSet** + + - **ExpireTime** (int) - 到期时间 + - **Protocol** (str) - 协议类型: memcache, redis + - **Size** (int) - 容量单位GB + - **Zone** (str) - 可用区,参见 `可用区列表 `_ + - **RewriteTime** (int) - 运维时间0 //0点1 //1点依次类推 + - **SpaceId** (str) - 内存空间ID + - **VPCId** (str) - + - **ChargeType** (str) - Year, Month, Dynamic, Trial + - **Type** (str) - 空间类型:single(无热备),double(热备) + - **UsedSize** (int) - 使用量单位MB + - **Tag** (str) - + - **SubnetId** (str) - + - **CreateTime** (int) - 创建时间 + - **Name** (str) - 内存空间名称 + - **State** (str) - Starting:创建中 Running:运行中 Fail:失败 + - **Address** (list) - 见 **UMemSpaceAddressSet** 模型定义 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Optional) 组的ID,如果指定则获取描述,否则为列表操 作,需指定Offset/Limit - :param Limit: (Optional) 分页显示的条目数, 默认值为20 - :param Offset: (Optional) 分页显示的起始偏移, 默认值为0 - :param Zone: (Optional) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeURedisGroupRequestSchema().dumps(d) - resp = self.invoke("DescribeURedisGroup", d, **kwargs) - return apis.DescribeURedisGroupResponseSchema().loads(resp) + d = apis.DescribeUMemSpaceRequestSchema().dumps(d) + resp = self.invoke("DescribeUMemSpace", d, **kwargs) + return apis.DescribeUMemSpaceResponseSchema().loads(resp) - def resize_umem_space(self, req=None, **kwargs): - """ ResizeUMemSpace - 调整内存空间容量 + def describe_umem_upgrade_price(self, req=None, **kwargs): + """ DescribeUMemUpgradePrice - 获取UMem升级价格信息 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 内存大小, 单位:GB (需要大于原size,<= 1024) - :param SpaceId: (Required) UMem 内存空间Id - :param ChargeType: (Optional) - :param CouponId: (Optional) 使用的代金券Id - :param Type: (Optional) 空间类型:single(无热备),double(热备)(默认: double) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 购买UMem大小,单位:GB + - **SpaceId** (str) - (Required) 需要升级的空间的SpaceId + - **Type** (str) - (Required) 空间类型:single(无热备),double(热备)(默认: double) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **Price** (float) - 价格 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ResizeUMemSpaceRequestSchema().dumps(d) - resp = self.invoke("ResizeUMemSpace", d, **kwargs) - return apis.ResizeUMemSpaceResponseSchema().loads(resp) + d = apis.DescribeUMemUpgradePriceRequestSchema().dumps(d) + resp = self.invoke("DescribeUMemUpgradePrice", d, **kwargs) + return apis.DescribeUMemUpgradePriceResponseSchema().loads(resp) - def restart_umem_cache_group(self, req=None, **kwargs): - """ RestartUMemcacheGroup - 重启单机Memcache + def describe_umem_cache_group(self, req=None, **kwargs): + """ DescribeUMemcacheGroup - 显示Memcache + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - 组的ID,如果指定则获取描述,否则为列表操 作,需指定Offset/Limit + - **Limit** (int) - 分页显示的条目数, 默认值为20 + - **Offset** (int) - 分页显示的起始偏移, 默认值为0 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TotalCount** (int) - 组的总的节点个数 + - **DataSet** (list) - 见 **UMemcacheGroupSet** 模型定义 + + **Response Model** + + **UMemcacheGroupSet** + + - **GroupId** (str) - 组ID + - **CreateTime** (int) - 创建时间 (UNIX时间戳) + - **ExpireTime** (int) - 过期时间 (UNIX时间戳) + - **Tag** (str) - 业务组名称 + - **SubnetId** (str) - + - **Port** (int) - 节点分配的服务端口 + - **Size** (int) - 容量单位GB + - **Version** (str) - Memcache版本信息,默认为1.4.31 + - **ChargeType** (str) - 计费类型:Year,Month,Dynamic 默认Dynamic + - **ConfigId** (str) - 节点的配置ID + - **UsedSize** (int) - 使用量单位MB + - **State** (str) - 状态标记 Creating // 初始化中 CreateFail // 创建失败 Deleting // 删除中 DeleteFail // 删除失败 Running // 运行 Resizing // 容量调整中 ResizeFail // 容量调整失败 Configing // 配置中 ConfigFail // 配置失败Restarting // 重启中 + - **VPCId** (str) - + - **Name** (str) - 组名称 + - **VirtualIP** (str) - 节点的虚拟IP地址 + - **ModifyTime** (int) - 修改时间 (UNIX时间戳) - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 组的ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.RestartUMemcacheGroupRequestSchema().dumps(d) - resp = self.invoke("RestartUMemcacheGroup", d, **kwargs) - return apis.RestartUMemcacheGroupResponseSchema().loads(resp) + d = apis.DescribeUMemcacheGroupRequestSchema().dumps(d) + resp = self.invoke("DescribeUMemcacheGroup", d, **kwargs) + return apis.DescribeUMemcacheGroupResponseSchema().loads(resp) - def create_uredis_group(self, req=None, **kwargs): - """ CreateURedisGroup - 创建主备redis + def describe_umem_cache_price(self, req=None, **kwargs): + """ DescribeUMemcachePrice - 获取umemcache组价格信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 容量大小,单位:GB 取值范围[1-32] + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - 计费模式,Year, Month, Dynamic,默认: Dynamic 默认: 获取所有计费模式的价格 + - **Quantity** (int) - 购买umemcache的时长,默认值为1 + - **Type** (str) - 空间类型:single(无热备),double(热备)(默认: double) + + **Response** + + - **DataSet** (list) - 见 **UMemcachePriceSet** 模型定义 + + **Response Model** + + **UMemcachePriceSet** + + - **ChargeType** (str) - 计费模式,Year, Month, Dynamic + - **Price** (float) - 价格,单位: 元,保留小数点后两位有效数字 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param HighAvailability: (Required) 是否开启高可用,enable或disable - :param Name: (Required) 请求创建组的名称 (范围[6-63],只能包含英文、数字以及符号-和_) - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param AutoBackup: (Optional) 是否自动备份,enable或disable,默认disable - :param BackupId: (Optional) 有此项代表从备份中创建,无代表正常创建 - :param BackupTime: (Optional) 自动备份开始时间,范围[0-23],默认3点 - :param ChargeType: (Optional) 计费模式,Year , Month, Dynamic 默认: Month - :param ConfigId: (Optional) 配置ID,目前仅支持默认配置id 默认创建3.0版本 配置id:"03f58ca9-b64d-4bdd-abc7-c6b9a46fd801",3.0版本配置ID:03f58ca9-b64d-4bdd-abc7-c6b9a46fd8013.2版本配置ID:3e45ac48-f8a2-a9q2-261d-l342dab130gf4.0版本配置ID:6c9298a3-9d7f-428c-b1d0-e87ab3b8a1ea,从备份创建为必传项 - :param CouponId: (Optional) 代金券ID - :param MasterGroupId: (Optional) Master Redis Group的ID,创建只读Slave时,必须填写 - :param Password: (Optional) 初始化密码,需要 base64 编码 - :param Quantity: (Optional) 购买时长,默认为1 - :param Size: (Optional) 每个节点的内存大小,单位GB,默认1GB,目前仅支持1/2/4/8/16/32,六种 - :param SlaveZone: (Optional) 跨机房URedis,slave所在可用区(必须和Zone在同一Region,且不可相同) - :param SubnetId: (Optional) - :param Tag: (Optional) 业务组名称 - :param VPCId: (Optional) - :param Version: (Optional) Redis版本信息(详见DescribeURedisVersion返回结果),默认版本3.0 """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateURedisGroupRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateURedisGroup", d, **kwargs) - return apis.CreateURedisGroupResponseSchema().loads(resp) + d = apis.DescribeUMemcachePriceRequestSchema().dumps(d) + resp = self.invoke("DescribeUMemcachePrice", d, **kwargs) + return apis.DescribeUMemcachePriceResponseSchema().loads(resp) + + def describe_umem_cache_upgrade_price(self, req=None, **kwargs): + """ DescribeUMemcacheUpgradePrice - 获取umemcache升级价格信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - (Required) 需要升级的空间的GroupId,请参考DescribeUMemcacheGroup接口 + - **Size** (int) - (Required) 购买umemcache大小,单位:GB + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **Price** (float) - 价格,单位:元 + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeUMemcacheUpgradePriceRequestSchema().dumps(d) + resp = self.invoke("DescribeUMemcacheUpgradePrice", d, **kwargs) + return apis.DescribeUMemcacheUpgradePriceResponseSchema().loads(resp) def describe_uredis_backup(self, req=None, **kwargs): """ DescribeURedisBackup - 查询主备redis备份 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Optional) 组的ID - :param Limit: (Optional) 分页显示的条目数, 默认值为10 - :param Offset: (Optional) 分页显示的起始偏移, 默认值为0 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - 组的ID + - **Limit** (int) - 分页显示的条目数, 默认值为10 + - **Offset** (int) - 分页显示的起始偏移, 默认值为0 + + **Response** + + - **TotalCount** (int) - 用户名下总的备份个数 + - **DataSet** (list) - 见 **URedisBackupSet** 模型定义 + + **Response Model** + + **URedisBackupSet** + + - **State** (str) - 备份的状态: Backuping 备份中 Success 备份成功 Error 备份失败 Expired 备份过期 + - **Zone** (str) - 可用区,参见 `可用区列表 `_ + - **GroupId** (str) - 对应的实例ID + - **GroupName** (str) - 组名称 + - **BackupName** (str) - 备份的名称 + - **BackupId** (str) - 备份ID + - **BackupTime** (int) - 备份时间 (UNIX时间戳) + - **BackupSize** (int) - 备份文件大小, 以字节为单位 + - **BackupType** (str) - 备份类型: Manual 手动 Auto 自动 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -249,12 +412,21 @@ def describe_uredis_backup(self, req=None, **kwargs): def describe_uredis_backup_url(self, req=None, **kwargs): """ DescribeURedisBackupURL - 获取主备Redis备份下载链接 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BackupId: (Required) 备份ID - :param GroupId: (Required) - :param RegionFlag: (Optional) 是否是跨机房URedis(默认false) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BackupId** (str) - (Required) 备份ID + - **GroupId** (str) - (Required) + - **RegionFlag** (bool) - 是否是跨机房URedis(默认false) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **BackupPath** (str) - 备份文件公网的地址 + - **BackupURL** (str) - 备份文件公网的地址 + - **InnerBackupPath** (str) - + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -262,116 +434,151 @@ def describe_uredis_backup_url(self, req=None, **kwargs): resp = self.invoke("DescribeURedisBackupURL", d, **kwargs) return apis.DescribeURedisBackupURLResponseSchema().loads(resp) - def get_umem_space_state(self, req=None, **kwargs): - """ GetUMemSpaceState - 获取UMem内存空间列表 + def describe_uredis_group(self, req=None, **kwargs): + """ DescribeURedisGroup - 查询主备Redis + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - 组的ID,如果指定则获取描述,否则为列表操 作,需指定Offset/Limit + - **Limit** (int) - 分页显示的条目数, 默认值为20 + - **Offset** (int) - 分页显示的起始偏移, 默认值为0 + - **Zone** (str) - + + **Response** + + - **TotalCount** (int) - 组的总的节点个数 + - **DataSet** (list) - 见 **URedisGroupSet** 模型定义 + + **Response Model** + + **URedisGroupSet** + + - **Zone** (str) - 实例所在可用区,或者master redis所在可用区,参见 `可用区列表 `_ + - **Name** (str) - 组名称 + - **SubnetId** (str) - + - **Tag** (str) - 业务组名称 + - **VPCId** (str) - + - **GroupName** (str) - 组名称 + - **AutoBackup** (str) - 是否需要自动备份,enable,disable + - **Version** (str) - Redis版本信息 + - **ChargeType** (str) - 计费类型:Year,Month,Dynamic 默认Dynamic + - **UsedSize** (int) - 使用量单位MB + - **BackupTime** (int) - 组自动备份开始时间,单位小时计,范围[0-23] + - **HighAvailability** (str) - 是否开启高可用,enable,disable + - **Type** (str) - + - **Protocol** (str) - 协议 + - **MemorySize** (int) - 容量单位GB + - **ConfigId** (str) - 节点的配置ID + - **Port** (int) - 节点分配的服务端口 + - **ExpireTime** (int) - 过期时间 (UNIX时间戳) + - **CreateTime** (int) - 创建时间 (UNIX时间戳) + - **ModifyTime** (int) - 修改时间 (UNIX时间戳) + - **GroupId** (str) - 组ID + - **VirtualIP** (str) - 节点的虚拟IP地址 + - **Size** (int) - 容量单位GB + - **State** (str) - 状态标记 Creating // 初始化中 CreateFail // 创建失败 Deleting // 删除中 DeleteFail // 删除失败 Running // 运行 Resizing // 容量调整中 ResizeFail // 容量调整失败 Configing // 配置中 ConfigFail // 配置失败 + - **SlaveZone** (str) - 跨机房URedis,slave redis所在可用区,参见 `可用区列表 `_ - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SpaceId: (Required) 内存空间ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.GetUMemSpaceStateRequestSchema().dumps(d) - resp = self.invoke("GetUMemSpaceState", d, **kwargs) - return apis.GetUMemSpaceStateResponseSchema().loads(resp) + d = apis.DescribeURedisGroupRequestSchema().dumps(d) + resp = self.invoke("DescribeURedisGroup", d, **kwargs) + return apis.DescribeURedisGroupResponseSchema().loads(resp) - def delete_umem_cache_group(self, req=None, **kwargs): - """ DeleteUMemcacheGroup - 删除单机Memcache + def describe_uredis_price(self, req=None, **kwargs): + """ DescribeURedisPrice - 取uredis价格信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 量大小,单位:GB 取值范围[1-32] + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - 计费模式,Year, Month, Dynamic;如果不指定,则一次性获取三种计费 + - **ProductType** (str) - 产品类型:MS_Redis(标准主备版),S_Redis(从库),默认为MS_Redis + - **Quantity** (int) - 计费模式为Dynamic时,购买的时长, 默认为1 + - **RegionFlag** (bool) - 是否是跨机房URedis(默认false) + - **Type** (str) - + + **Response** + + - **DataSet** (list) - 见 **URedisPriceSet** 模型定义 + + **Response Model** + + **URedisPriceSet** + + - **ChargeType** (str) - Year, Month, Dynamic,Trial + - **Price** (float) - 价格,单位: 元,保留小数点后两位有效数字 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 组ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteUMemcacheGroupRequestSchema().dumps(d) - resp = self.invoke("DeleteUMemcacheGroup", d, **kwargs) - return apis.DeleteUMemcacheGroupResponseSchema().loads(resp) + d = apis.DescribeURedisPriceRequestSchema().dumps(d) + resp = self.invoke("DescribeURedisPrice", d, **kwargs) + return apis.DescribeURedisPriceResponseSchema().loads(resp) - def create_umem_cache_group(self, req=None, **kwargs): - """ CreateUMemcacheGroup - 创建单机Memcache + def describe_uredis_upgrade_price(self, req=None, **kwargs): + """ DescribeURedisUpgradePrice - 获取uredis升级价格信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 请求创建组的名称 范围[6-60] - :param ChargeType: (Optional) 计费模式,Year , Month, Dynamic 默认: Month - :param ConfigId: (Optional) 配置ID,目前仅支持默认配置id 默认配置id:"9a891891-c245-4b66-bce8-67e59430d67c" - :param CouponId: (Optional) 代金券ID - :param Protocol: (Optional) - :param Quantity: (Optional) 购买时长,默认为1 - :param Size: (Optional) 每个节点的内存大小,单位GB,默认1GB 目前仅支持1/2/4/8/16/32这几档 - :param SubnetId: (Optional) - :param Tag: (Optional) 业务组 默认:Default - :param VPCId: (Optional) - :param Version: (Optional) Memcache版本信息,默认为1.4.31 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.CreateUMemcacheGroupRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUMemcacheGroup", d, **kwargs) - return apis.CreateUMemcacheGroupResponseSchema().loads(resp) + **Request** - def describe_umem_price(self, req=None, **kwargs): - """ DescribeUMemPrice - 获取UMem实例价格信息 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - (Required) 要升级的空间的GroupId,请参考DescribeURedisGroup接口 + - **Size** (int) - (Required) 购买uredis大小,单位:GB,范围是[1-32] + - **Type** (str) - + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 购买umem大小,单位:GB,范围[1~1024] - :param Type: (Required) 空间类型:single(无热备),double(热备)(默认: double) - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) Year, Month, Dynamic,Trial 如果不指定,则一次性获取三种计费 - :param Quantity: (Optional) 购买UMem的时长,默认值为1 - :param RegionFlag: (Optional) + - **Price** (float) - 扩容差价,单位: 元,保留小数点后两位有效数字 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUMemPriceRequestSchema().dumps(d) - resp = self.invoke("DescribeUMemPrice", d, **kwargs) - return apis.DescribeUMemPriceResponseSchema().loads(resp) + d = apis.DescribeURedisUpgradePriceRequestSchema().dumps(d) + resp = self.invoke("DescribeURedisUpgradePrice", d, **kwargs) + return apis.DescribeURedisUpgradePriceResponseSchema().loads(resp) - def describe_umem_space(self, req=None, **kwargs): - """ DescribeUMemSpace - 获取UMem内存空间列表 + def get_umem_space_state(self, req=None, **kwargs): + """ GetUMemSpaceState - 获取UMem内存空间列表 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Optional) 返回数据长度, 默认为20 - :param Offset: (Optional) 数据偏移量, 默认为0 - :param SpaceId: (Optional) 内存空间ID (无ID,则获取所有) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeUMemSpaceRequestSchema().dumps(d) - resp = self.invoke("DescribeUMemSpace", d, **kwargs) - return apis.DescribeUMemSpaceResponseSchema().loads(resp) + **Request** - def describe_umem_cache_upgrade_price(self, req=None, **kwargs): - """ DescribeUMemcacheUpgradePrice - 获取umemcache升级价格信息 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SpaceId** (str) - (Required) 内存空间ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param GroupId: (Required) 需要升级的空间的GroupId,请参考DescribeUMemcacheGroup接口 - :param Size: (Required) 购买umemcache大小,单位:GB - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **State** (str) - Starting:创建中 Running:运行中 Fail:失败 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeUMemcacheUpgradePriceRequestSchema().dumps(d) - resp = self.invoke("DescribeUMemcacheUpgradePrice", d, **kwargs) - return apis.DescribeUMemcacheUpgradePriceResponseSchema().loads(resp) + d = apis.GetUMemSpaceStateRequestSchema().dumps(d) + resp = self.invoke("GetUMemSpaceState", d, **kwargs) + return apis.GetUMemSpaceStateResponseSchema().loads(resp) def modify_umem_space_name(self, req=None, **kwargs): """ ModifyUMemSpaceName - 修改UMem内存空间名称 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 新的名称,长度(6<=size<=63) - :param SpaceId: (Required) UMem内存空间ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) 新的名称,长度(6<=size<=63) + - **SpaceId** (str) - (Required) UMem内存空间ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -379,15 +586,42 @@ def modify_umem_space_name(self, req=None, **kwargs): resp = self.invoke("ModifyUMemSpaceName", d, **kwargs) return apis.ModifyUMemSpaceNameResponseSchema().loads(resp) + def modify_uredis_group_name(self, req=None, **kwargs): + """ ModifyURedisGroupName - 修改主备redis名称 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - (Required) 组的ID + - **Name** (str) - (Required) Redis组名称 (范围[6-63],只能包含英文、数字以及符号-和_) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.ModifyURedisGroupNameRequestSchema().dumps(d) + resp = self.invoke("ModifyURedisGroupName", d, **kwargs) + return apis.ModifyURedisGroupNameResponseSchema().loads(resp) + def resize_udredis_space(self, req=None, **kwargs): """ ResizeUDredisSpace - 调整内存空间容量 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Size: (Required) 内存大小, 单位:GB (需要大于原size,<= 1024) - :param SpaceId: (Required) 高性能UMem 内存空间Id - :param CouponId: (Optional) 使用的代金券Id - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 内存大小, 单位:GB (需要大于原size,<= 1024) + - **SpaceId** (str) - (Required) 高性能UMem 内存空间Id + - **CouponId** (str) - 使用的代金券Id + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -395,27 +629,70 @@ def resize_udredis_space(self, req=None, **kwargs): resp = self.invoke("ResizeUDredisSpace", d, **kwargs) return apis.ResizeUDredisSpaceResponseSchema().loads(resp) - def create_umem_space(self, req=None, **kwargs): - """ CreateUMemSpace - 创建UMem内存空间 + def resize_umem_space(self, req=None, **kwargs): + """ ResizeUMemSpace - 调整内存空间容量 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Size** (int) - (Required) 内存大小, 单位:GB (需要大于原size,<= 1024) + - **SpaceId** (str) - (Required) UMem 内存空间Id + - **ChargeType** (str) - + - **CouponId** (str) - 使用的代金券Id + - **Type** (str) - 空间类型:single(无热备),double(热备)(默认: double) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) 空间名称,长度(6<=size<=63) - :param Size: (Required) 内存大小, 单位:GB, 范围[1~1024] - :param ChargeType: (Optional) Year , Month, Dynamic, Trial 默认: Month - :param CouponId: (Optional) 使用的代金券id - :param Password: (Optional) URedis密码。请遵照[[api:uhost-api:specification|字段规范]]设定密码。密码需使用base64进行编码,举例如下:# echo -n Password1 | base64UGFzc3dvcmQx。 - :param Protocol: (Optional) 协议:memcache, redis (默认redis).注意:redis无single类型 - :param Quantity: (Optional) 购买时长 默认: 1 - :param SubnetId: (Optional) - :param Tag: (Optional) - :param Type: (Optional) 空间类型:single(无热备),double(热备)(默认: double) - :param VPCId: (Optional) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateUMemSpaceRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateUMemSpace", d, **kwargs) - return apis.CreateUMemSpaceResponseSchema().loads(resp) + d = apis.ResizeUMemSpaceRequestSchema().dumps(d) + resp = self.invoke("ResizeUMemSpace", d, **kwargs) + return apis.ResizeUMemSpaceResponseSchema().loads(resp) + + def resize_uredis_group(self, req=None, **kwargs): + """ ResizeURedisGroup - 调整主备redis容量 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - (Required) 组ID + - **Size** (int) - (Required) 内存大小, 单位:GB (需要大于原size,且小于等于32) 目前仅支持1/2/4/8/16/32 G 六种容量规格 + - **ChargeType** (str) - + - **CouponId** (int) - 代金券ID 请参考DescribeCoupon接口 + - **Type** (str) - 空间类型:single(无热备),double(热备)(默认: double) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.ResizeURedisGroupRequestSchema().dumps(d) + resp = self.invoke("ResizeURedisGroup", d, **kwargs) + return apis.ResizeURedisGroupResponseSchema().loads(resp) + + def restart_umem_cache_group(self, req=None, **kwargs): + """ RestartUMemcacheGroup - 重启单机Memcache + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **GroupId** (str) - (Required) 组的ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.RestartUMemcacheGroupRequestSchema().dumps(d) + resp = self.invoke("RestartUMemcacheGroup", d, **kwargs) + return apis.RestartUMemcacheGroupResponseSchema().loads(resp) diff --git a/ucloud/services/umem/schemas/apis.py b/ucloud/services/umem/schemas/apis.py index fdc668f..e934cdd 100644 --- a/ucloud/services/umem/schemas/apis.py +++ b/ucloud/services/umem/schemas/apis.py @@ -6,109 +6,154 @@ """ UMem API Schema """ """ -API: DescribeUMemcachePrice +API: CreateUMemSpace -获取umemcache组价格信息 +创建UMem内存空间 """ -class DescribeUMemcachePriceRequestSchema(schema.RequestSchema): - """ DescribeUMemcachePrice - 获取umemcache组价格信息 +class CreateUMemSpaceRequestSchema(schema.RequestSchema): + """ CreateUMemSpace - 创建UMem内存空间 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), "Size": fields.Int(required=True, dump_to="Size"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Name": fields.Str(required=True, dump_to="Name"), "Quantity": fields.Int(required=False, dump_to="Quantity"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Protocol": fields.Str(required=False, dump_to="Protocol"), "Type": fields.Str(required=False, dump_to="Type"), + "Password": fields.Base64(required=False, dump_to="Password"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), } -class DescribeUMemcachePriceResponseSchema(schema.ResponseSchema): - """ DescribeUMemcachePrice - 获取umemcache组价格信息 +class CreateUMemSpaceResponseSchema(schema.ResponseSchema): + """ CreateUMemSpace - 创建UMem内存空间 """ - fields = { - "DataSet": fields.List( - models.UMemcachePriceSetSchema(), required=False, load_from="DataSet" - ) - } + fields = {"SpaceId": fields.Str(required=False, load_from="SpaceId")} """ -API: DescribeUMemcacheUpgradePrice +API: CreateUMemcacheGroup -获取umemcache升级价格信息 +创建单机Memcache """ -class DescribeUMemcacheUpgradePriceRequestSchema(schema.RequestSchema): - """ DescribeUMemcacheUpgradePrice - 获取umemcache升级价格信息 +class CreateUMemcacheGroupRequestSchema(schema.RequestSchema): + """ CreateUMemcacheGroup - 创建单机Memcache """ fields = { - "Size": fields.Int(required=True, dump_to="Size"), - "GroupId": fields.Str(required=True, dump_to="GroupId"), - "Region": fields.Str(required=True, dump_to="Region"), + "Protocol": fields.Str(required=False, dump_to="Protocol"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), "Zone": fields.Str(required=False, dump_to="Zone"), + "Size": fields.Int(required=False, dump_to="Size"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "Region": fields.Str(required=True, dump_to="Region"), + "ConfigId": fields.Str(required=False, dump_to="ConfigId"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Name": fields.Str(required=True, dump_to="Name"), + "Version": fields.Str(required=False, dump_to="Version"), } -class DescribeUMemcacheUpgradePriceResponseSchema(schema.ResponseSchema): - """ DescribeUMemcacheUpgradePrice - 获取umemcache升级价格信息 +class CreateUMemcacheGroupResponseSchema(schema.ResponseSchema): + """ CreateUMemcacheGroup - 创建单机Memcache """ - fields = {"Price": fields.Float(required=False, load_from="Price")} + fields = {"GroupId": fields.Str(required=False, load_from="GroupId")} """ -API: DescribeURedisPrice +API: CreateURedisGroup -取uredis价格信息 +创建主备redis """ -class DescribeURedisPriceRequestSchema(schema.RequestSchema): - """ DescribeURedisPrice - 取uredis价格信息 +class CreateURedisGroupRequestSchema(schema.RequestSchema): + """ CreateURedisGroup - 创建主备redis """ fields = { - "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "Size": fields.Int(required=True, dump_to="Size"), + "Size": fields.Int(required=False, dump_to="Size"), + "Version": fields.Str(required=False, dump_to="Version"), "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "SlaveZone": fields.Str(required=False, dump_to="SlaveZone"), + "Name": fields.Str(required=True, dump_to="Name"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "BackupTime": fields.Int(required=False, dump_to="BackupTime"), + "ConfigId": fields.Str(required=False, dump_to="ConfigId"), "Quantity": fields.Int(required=False, dump_to="Quantity"), - "ProductType": fields.Str(required=False, dump_to="ProductType"), - "Type": fields.Str(required=False, dump_to="Type"), + "MasterGroupId": fields.Str(required=False, dump_to="MasterGroupId"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "Password": fields.Base64(required=False, dump_to="Password"), + "BackupId": fields.Str(required=False, dump_to="BackupId"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "HighAvailability": fields.Str(required=True, dump_to="HighAvailability"), + "AutoBackup": fields.Str(required=False, dump_to="AutoBackup"), + "Tag": fields.Str(required=False, dump_to="Tag"), } -class DescribeURedisPriceResponseSchema(schema.ResponseSchema): - """ DescribeURedisPrice - 取uredis价格信息 +class CreateURedisGroupResponseSchema(schema.ResponseSchema): + """ CreateURedisGroup - 创建主备redis + """ + + fields = {"GroupId": fields.Str(required=False, load_from="GroupId")} + + +""" +API: DeleteUMemSpace + +删除UMem内存空间 +""" + + +class DeleteUMemSpaceRequestSchema(schema.RequestSchema): + """ DeleteUMemSpace - 删除UMem内存空间 """ fields = { - "DataSet": fields.List( - models.URedisPriceSetSchema(), required=False, load_from="DataSet" - ) + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "SpaceId": fields.Str(required=True, dump_to="SpaceId"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), } +class DeleteUMemSpaceResponseSchema(schema.ResponseSchema): + """ DeleteUMemSpace - 删除UMem内存空间 + """ + + fields = {} + + """ -API: ModifyURedisGroupName +API: DeleteUMemcacheGroup -修改主备redis名称 +删除单机Memcache """ -class ModifyURedisGroupNameRequestSchema(schema.RequestSchema): - """ ModifyURedisGroupName - 修改主备redis名称 +class DeleteUMemcacheGroupRequestSchema(schema.RequestSchema): + """ DeleteUMemcacheGroup - 删除单机Memcache """ fields = { @@ -116,57 +161,39 @@ class ModifyURedisGroupNameRequestSchema(schema.RequestSchema): "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "GroupId": fields.Str(required=True, dump_to="GroupId"), - "Name": fields.Str(required=True, dump_to="Name"), } -class ModifyURedisGroupNameResponseSchema(schema.ResponseSchema): - """ ModifyURedisGroupName - 修改主备redis名称 +class DeleteUMemcacheGroupResponseSchema(schema.ResponseSchema): + """ DeleteUMemcacheGroup - 删除单机Memcache """ fields = {} """ -API: CreateURedisGroup +API: DeleteURedisGroup -创建主备redis +删除主备redis """ -class CreateURedisGroupRequestSchema(schema.RequestSchema): - """ CreateURedisGroup - 创建主备redis +class DeleteURedisGroupRequestSchema(schema.RequestSchema): + """ DeleteURedisGroup - 删除主备redis """ fields = { - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "Password": fields.Base64(required=False, dump_to="Password"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "Name": fields.Str(required=True, dump_to="Name"), - "Size": fields.Int(required=False, dump_to="Size"), - "AutoBackup": fields.Str(required=False, dump_to="AutoBackup"), - "ConfigId": fields.Str(required=False, dump_to="ConfigId"), - "Version": fields.Str(required=False, dump_to="Version"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), + "GroupId": fields.Str(required=True, dump_to="GroupId"), "Region": fields.Str(required=True, dump_to="Region"), - "HighAvailability": fields.Str(required=True, dump_to="HighAvailability"), - "MasterGroupId": fields.Str(required=False, dump_to="MasterGroupId"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "BackupId": fields.Str(required=False, dump_to="BackupId"), - "BackupTime": fields.Int(required=False, dump_to="BackupTime"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "SlaveZone": fields.Str(required=False, dump_to="SlaveZone"), } -class CreateURedisGroupResponseSchema(schema.ResponseSchema): - """ CreateURedisGroup - 创建主备redis +class DeleteURedisGroupResponseSchema(schema.ResponseSchema): + """ DeleteURedisGroup - 删除主备redis """ - fields = {"GroupId": fields.Str(required=False, load_from="GroupId")} + fields = {} """ @@ -203,6 +230,39 @@ class DescribeUMemPriceResponseSchema(schema.ResponseSchema): } +""" +API: DescribeUMemSpace + +获取UMem内存空间列表 +""" + + +class DescribeUMemSpaceRequestSchema(schema.RequestSchema): + """ DescribeUMemSpace - 获取UMem内存空间列表 + """ + + fields = { + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "SpaceId": fields.Str(required=False, dump_to="SpaceId"), + } + + +class DescribeUMemSpaceResponseSchema(schema.ResponseSchema): + """ DescribeUMemSpace - 获取UMem内存空间列表 + """ + + fields = { + "DataSet": fields.List( + models.UMemSpaceSetSchema(), required=False, load_from="DataSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } + + """ API: DescribeUMemUpgradePrice @@ -215,12 +275,12 @@ class DescribeUMemUpgradePriceRequestSchema(schema.RequestSchema): """ fields = { - "Size": fields.Int(required=True, dump_to="Size"), "Type": fields.Str(required=True, dump_to="Type"), "SpaceId": fields.Str(required=True, dump_to="SpaceId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Size": fields.Int(required=True, dump_to="Size"), } @@ -243,12 +303,12 @@ class DescribeUMemcacheGroupRequestSchema(schema.RequestSchema): """ fields = { + "Limit": fields.Int(required=False, dump_to="Limit"), + "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "GroupId": fields.Str(required=False, dump_to="GroupId"), "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Region": fields.Str(required=True, dump_to="Region"), } @@ -265,474 +325,414 @@ class DescribeUMemcacheGroupResponseSchema(schema.ResponseSchema): """ -API: DescribeURedisGroup +API: DescribeUMemcachePrice -查询主备Redis +获取umemcache组价格信息 """ -class DescribeURedisGroupRequestSchema(schema.RequestSchema): - """ DescribeURedisGroup - 查询主备Redis +class DescribeUMemcachePriceRequestSchema(schema.RequestSchema): + """ DescribeUMemcachePrice - 获取umemcache组价格信息 """ fields = { + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "Type": fields.Str(required=False, dump_to="Type"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), + "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "GroupId": fields.Str(required=False, dump_to="GroupId"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), + "Size": fields.Int(required=True, dump_to="Size"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), } -class DescribeURedisGroupResponseSchema(schema.ResponseSchema): - """ DescribeURedisGroup - 查询主备Redis +class DescribeUMemcachePriceResponseSchema(schema.ResponseSchema): + """ DescribeUMemcachePrice - 获取umemcache组价格信息 """ fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), "DataSet": fields.List( - models.URedisGroupSetSchema(), required=False, load_from="DataSet" - ), + models.UMemcachePriceSetSchema(), required=False, load_from="DataSet" + ) } """ -API: DescribeURedisUpgradePrice +API: DescribeUMemcacheUpgradePrice -获取uredis升级价格信息 +获取umemcache升级价格信息 """ -class DescribeURedisUpgradePriceRequestSchema(schema.RequestSchema): - """ DescribeURedisUpgradePrice - 获取uredis升级价格信息 +class DescribeUMemcacheUpgradePriceRequestSchema(schema.RequestSchema): + """ DescribeUMemcacheUpgradePrice - 获取umemcache升级价格信息 """ fields = { "Size": fields.Int(required=True, dump_to="Size"), "GroupId": fields.Str(required=True, dump_to="GroupId"), - "Type": fields.Str(required=False, dump_to="Type"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class DescribeURedisUpgradePriceResponseSchema(schema.ResponseSchema): - """ DescribeURedisUpgradePrice - 获取uredis升级价格信息 +class DescribeUMemcacheUpgradePriceResponseSchema(schema.ResponseSchema): + """ DescribeUMemcacheUpgradePrice - 获取umemcache升级价格信息 """ fields = {"Price": fields.Float(required=False, load_from="Price")} """ -API: ModifyUMemSpaceName +API: DescribeURedisBackup -修改UMem内存空间名称 +查询主备redis备份 """ -class ModifyUMemSpaceNameRequestSchema(schema.RequestSchema): - """ ModifyUMemSpaceName - 修改UMem内存空间名称 +class DescribeURedisBackupRequestSchema(schema.RequestSchema): + """ DescribeURedisBackup - 查询主备redis备份 """ fields = { - "SpaceId": fields.Str(required=True, dump_to="SpaceId"), - "Name": fields.Str(required=True, dump_to="Name"), - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - } - - -class ModifyUMemSpaceNameResponseSchema(schema.ResponseSchema): - """ ModifyUMemSpaceName - 修改UMem内存空间名称 - """ - - fields = {} - - -""" -API: ResizeUMemSpace - -调整内存空间容量 -""" - - -class ResizeUMemSpaceRequestSchema(schema.RequestSchema): - """ ResizeUMemSpace - 调整内存空间容量 - """ - - fields = { - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "GroupId": fields.Str(required=False, dump_to="GroupId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SpaceId": fields.Str(required=True, dump_to="SpaceId"), - "Size": fields.Int(required=True, dump_to="Size"), - "Type": fields.Str(required=False, dump_to="Type"), } -class ResizeUMemSpaceResponseSchema(schema.ResponseSchema): - """ ResizeUMemSpace - 调整内存空间容量 +class DescribeURedisBackupResponseSchema(schema.ResponseSchema): + """ DescribeURedisBackup - 查询主备redis备份 """ - fields = {} + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSet": fields.List( + models.URedisBackupSetSchema(), required=False, load_from="DataSet" + ), + } """ -API: DeleteURedisGroup +API: DescribeURedisBackupURL -删除主备redis +获取主备Redis备份下载链接 """ -class DeleteURedisGroupRequestSchema(schema.RequestSchema): - """ DeleteURedisGroup - 删除主备redis +class DescribeURedisBackupURLRequestSchema(schema.RequestSchema): + """ DescribeURedisBackupURL - 获取主备Redis备份下载链接 """ fields = { + "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "BackupId": fields.Str(required=True, dump_to="BackupId"), "GroupId": fields.Str(required=True, dump_to="GroupId"), } -class DeleteURedisGroupResponseSchema(schema.ResponseSchema): - """ DeleteURedisGroup - 删除主备redis +class DescribeURedisBackupURLResponseSchema(schema.ResponseSchema): + """ DescribeURedisBackupURL - 获取主备Redis备份下载链接 """ - fields = {} + fields = { + "BackupURL": fields.Str(required=False, load_from="BackupURL"), + "InnerBackupPath": fields.Str(required=False, load_from="InnerBackupPath"), + "BackupPath": fields.Str(required=False, load_from="BackupPath"), + } """ -API: DescribeUMemSpace +API: DescribeURedisGroup -获取UMem内存空间列表 +查询主备Redis """ -class DescribeUMemSpaceRequestSchema(schema.RequestSchema): - """ DescribeUMemSpace - 获取UMem内存空间列表 +class DescribeURedisGroupRequestSchema(schema.RequestSchema): + """ DescribeURedisGroup - 查询主备Redis """ fields = { - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "SpaceId": fields.Str(required=False, dump_to="SpaceId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "GroupId": fields.Str(required=False, dump_to="GroupId"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), } -class DescribeUMemSpaceResponseSchema(schema.ResponseSchema): - """ DescribeUMemSpace - 获取UMem内存空间列表 +class DescribeURedisGroupResponseSchema(schema.ResponseSchema): + """ DescribeURedisGroup - 查询主备Redis """ fields = { "DataSet": fields.List( - models.UMemSpaceSetSchema(), required=False, load_from="DataSet" + models.URedisGroupSetSchema(), required=False, load_from="DataSet" ), "TotalCount": fields.Int(required=False, load_from="TotalCount"), } """ -API: ResizeURedisGroup +API: DescribeURedisPrice -调整主备redis容量 +取uredis价格信息 """ -class ResizeURedisGroupRequestSchema(schema.RequestSchema): - """ ResizeURedisGroup - 调整主备redis容量 +class DescribeURedisPriceRequestSchema(schema.RequestSchema): + """ DescribeURedisPrice - 取uredis价格信息 """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "GroupId": fields.Str(required=True, dump_to="GroupId"), - "Size": fields.Int(required=True, dump_to="Size"), "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "ProductType": fields.Str(required=False, dump_to="ProductType"), "Type": fields.Str(required=False, dump_to="Type"), - "CouponId": fields.Int(required=False, dump_to="CouponId"), + "Size": fields.Int(required=True, dump_to="Size"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class ResizeURedisGroupResponseSchema(schema.ResponseSchema): - """ ResizeURedisGroup - 调整主备redis容量 +class DescribeURedisPriceResponseSchema(schema.ResponseSchema): + """ DescribeURedisPrice - 取uredis价格信息 """ - fields = {} + fields = { + "DataSet": fields.List( + models.URedisPriceSetSchema(), required=False, load_from="DataSet" + ) + } """ -API: RestartUMemcacheGroup +API: DescribeURedisUpgradePrice -重启单机Memcache +获取uredis升级价格信息 """ -class RestartUMemcacheGroupRequestSchema(schema.RequestSchema): - """ RestartUMemcacheGroup - 重启单机Memcache +class DescribeURedisUpgradePriceRequestSchema(schema.RequestSchema): + """ DescribeURedisUpgradePrice - 获取uredis升级价格信息 """ fields = { "GroupId": fields.Str(required=True, dump_to="GroupId"), + "Type": fields.Str(required=False, dump_to="Type"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Size": fields.Int(required=True, dump_to="Size"), } -class RestartUMemcacheGroupResponseSchema(schema.ResponseSchema): - """ RestartUMemcacheGroup - 重启单机Memcache +class DescribeURedisUpgradePriceResponseSchema(schema.ResponseSchema): + """ DescribeURedisUpgradePrice - 获取uredis升级价格信息 """ - fields = {} + fields = {"Price": fields.Float(required=False, load_from="Price")} """ -API: DescribeURedisBackupURL +API: GetUMemSpaceState -获取主备Redis备份下载链接 +获取UMem内存空间列表 """ -class DescribeURedisBackupURLRequestSchema(schema.RequestSchema): - """ DescribeURedisBackupURL - 获取主备Redis备份下载链接 +class GetUMemSpaceStateRequestSchema(schema.RequestSchema): + """ GetUMemSpaceState - 获取UMem内存空间列表 """ fields = { - "RegionFlag": fields.Bool(required=False, dump_to="RegionFlag"), - "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "BackupId": fields.Str(required=True, dump_to="BackupId"), - "GroupId": fields.Str(required=True, dump_to="GroupId"), + "SpaceId": fields.Str(required=True, dump_to="SpaceId"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DescribeURedisBackupURLResponseSchema(schema.ResponseSchema): - """ DescribeURedisBackupURL - 获取主备Redis备份下载链接 +class GetUMemSpaceStateResponseSchema(schema.ResponseSchema): + """ GetUMemSpaceState - 获取UMem内存空间列表 """ - fields = { - "BackupURL": fields.Str(required=False, load_from="BackupURL"), - "InnerBackupPath": fields.Str(required=False, load_from="InnerBackupPath"), - "BackupPath": fields.Str(required=False, load_from="BackupPath"), - } + fields = {"State": fields.Str(required=False, load_from="State")} """ -API: ResizeUDredisSpace +API: ModifyUMemSpaceName -调整内存空间容量 +修改UMem内存空间名称 """ -class ResizeUDredisSpaceRequestSchema(schema.RequestSchema): - """ ResizeUDredisSpace - 调整内存空间容量 +class ModifyUMemSpaceNameRequestSchema(schema.RequestSchema): + """ ModifyUMemSpaceName - 修改UMem内存空间名称 """ fields = { - "Size": fields.Int(required=True, dump_to="Size"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "SpaceId": fields.Str(required=True, dump_to="SpaceId"), + "Name": fields.Str(required=True, dump_to="Name"), } -class ResizeUDredisSpaceResponseSchema(schema.ResponseSchema): - """ ResizeUDredisSpace - 调整内存空间容量 +class ModifyUMemSpaceNameResponseSchema(schema.ResponseSchema): + """ ModifyUMemSpaceName - 修改UMem内存空间名称 """ fields = {} """ -API: DeleteUMemSpace +API: ModifyURedisGroupName -删除UMem内存空间 +修改主备redis名称 """ -class DeleteUMemSpaceRequestSchema(schema.RequestSchema): - """ DeleteUMemSpace - 删除UMem内存空间 +class ModifyURedisGroupNameRequestSchema(schema.RequestSchema): + """ ModifyURedisGroupName - 修改主备redis名称 """ fields = { - "SpaceId": fields.Str(required=True, dump_to="SpaceId"), - "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "GroupId": fields.Str(required=True, dump_to="GroupId"), + "Name": fields.Str(required=True, dump_to="Name"), + "Region": fields.Str(required=True, dump_to="Region"), } -class DeleteUMemSpaceResponseSchema(schema.ResponseSchema): - """ DeleteUMemSpace - 删除UMem内存空间 +class ModifyURedisGroupNameResponseSchema(schema.ResponseSchema): + """ ModifyURedisGroupName - 修改主备redis名称 """ fields = {} """ -API: DescribeURedisBackup +API: ResizeUDredisSpace -查询主备redis备份 +调整内存空间容量 """ -class DescribeURedisBackupRequestSchema(schema.RequestSchema): - """ DescribeURedisBackup - 查询主备redis备份 +class ResizeUDredisSpaceRequestSchema(schema.RequestSchema): + """ ResizeUDredisSpace - 调整内存空间容量 """ fields = { - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "GroupId": fields.Str(required=False, dump_to="GroupId"), - "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - } - - -class DescribeURedisBackupResponseSchema(schema.ResponseSchema): - """ DescribeURedisBackup - 查询主备redis备份 - """ - - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "DataSet": fields.List( - models.URedisBackupSetSchema(), required=False, load_from="DataSet" - ), - } - - -""" -API: DeleteUMemcacheGroup - -删除单机Memcache -""" - - -class DeleteUMemcacheGroupRequestSchema(schema.RequestSchema): - """ DeleteUMemcacheGroup - 删除单机Memcache - """ - - fields = { + "SpaceId": fields.Str(required=True, dump_to="SpaceId"), + "Size": fields.Int(required=True, dump_to="Size"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "GroupId": fields.Str(required=True, dump_to="GroupId"), } -class DeleteUMemcacheGroupResponseSchema(schema.ResponseSchema): - """ DeleteUMemcacheGroup - 删除单机Memcache +class ResizeUDredisSpaceResponseSchema(schema.ResponseSchema): + """ ResizeUDredisSpace - 调整内存空间容量 """ fields = {} """ -API: GetUMemSpaceState +API: ResizeUMemSpace -获取UMem内存空间列表 +调整内存空间容量 """ -class GetUMemSpaceStateRequestSchema(schema.RequestSchema): - """ GetUMemSpaceState - 获取UMem内存空间列表 +class ResizeUMemSpaceRequestSchema(schema.RequestSchema): + """ ResizeUMemSpace - 调整内存空间容量 """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "SpaceId": fields.Str(required=True, dump_to="SpaceId"), + "Size": fields.Int(required=True, dump_to="Size"), + "Type": fields.Str(required=False, dump_to="Type"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), } -class GetUMemSpaceStateResponseSchema(schema.ResponseSchema): - """ GetUMemSpaceState - 获取UMem内存空间列表 +class ResizeUMemSpaceResponseSchema(schema.ResponseSchema): + """ ResizeUMemSpace - 调整内存空间容量 """ - fields = {"State": fields.Str(required=False, load_from="State")} + fields = {} """ -API: CreateUMemSpace +API: ResizeURedisGroup -创建UMem内存空间 +调整主备redis容量 """ -class CreateUMemSpaceRequestSchema(schema.RequestSchema): - """ CreateUMemSpace - 创建UMem内存空间 +class ResizeURedisGroupRequestSchema(schema.RequestSchema): + """ ResizeURedisGroup - 调整主备redis容量 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), "Zone": fields.Str(required=False, dump_to="Zone"), - "Name": fields.Str(required=True, dump_to="Name"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "Region": fields.Str(required=True, dump_to="Region"), - "Protocol": fields.Str(required=False, dump_to="Protocol"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Password": fields.Base64(required=False, dump_to="Password"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "GroupId": fields.Str(required=True, dump_to="GroupId"), "Size": fields.Int(required=True, dump_to="Size"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "Type": fields.Str(required=False, dump_to="Type"), + "CouponId": fields.Int(required=False, dump_to="CouponId"), + "Region": fields.Str(required=True, dump_to="Region"), } -class CreateUMemSpaceResponseSchema(schema.ResponseSchema): - """ CreateUMemSpace - 创建UMem内存空间 +class ResizeURedisGroupResponseSchema(schema.ResponseSchema): + """ ResizeURedisGroup - 调整主备redis容量 """ - fields = {"SpaceId": fields.Str(required=False, load_from="SpaceId")} + fields = {} """ -API: CreateUMemcacheGroup +API: RestartUMemcacheGroup -创建单机Memcache +重启单机Memcache """ -class CreateUMemcacheGroupRequestSchema(schema.RequestSchema): - """ CreateUMemcacheGroup - 创建单机Memcache +class RestartUMemcacheGroupRequestSchema(schema.RequestSchema): + """ RestartUMemcacheGroup - 重启单机Memcache """ fields = { "Region": fields.Str(required=True, dump_to="Region"), - "Size": fields.Int(required=False, dump_to="Size"), - "ConfigId": fields.Str(required=False, dump_to="ConfigId"), - "Protocol": fields.Str(required=False, dump_to="Protocol"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "Name": fields.Str(required=True, dump_to="Name"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "Version": fields.Str(required=False, dump_to="Version"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "Tag": fields.Str(required=False, dump_to="Tag"), + "GroupId": fields.Str(required=True, dump_to="GroupId"), } -class CreateUMemcacheGroupResponseSchema(schema.ResponseSchema): - """ CreateUMemcacheGroup - 创建单机Memcache +class RestartUMemcacheGroupResponseSchema(schema.ResponseSchema): + """ RestartUMemcacheGroup - 重启单机Memcache """ - fields = {"GroupId": fields.Str(required=False, load_from="GroupId")} + fields = {} diff --git a/ucloud/services/umem/schemas/models.py b/ucloud/services/umem/schemas/models.py index e792f9a..b15972e 100644 --- a/ucloud/services/umem/schemas/models.py +++ b/ucloud/services/umem/schemas/models.py @@ -3,53 +3,13 @@ from ucloud.core.typesystem import schema, fields -class URedisBackupSetSchema(schema.ResponseSchema): - """ URedisBackupSet - DescribeURedisBackup - """ - - fields = { - "BackupType": fields.Str(required=False, load_from="BackupType"), - "Zone": fields.Str(required=False, load_from="Zone"), - "GroupId": fields.Str(required=False, load_from="GroupId"), - "GroupName": fields.Str(required=False, load_from="GroupName"), - "BackupTime": fields.Int(required=False, load_from="BackupTime"), - "BackupId": fields.Str(required=False, load_from="BackupId"), - "BackupName": fields.Str(required=False, load_from="BackupName"), - "BackupSize": fields.Int(required=False, load_from="BackupSize"), - "State": fields.Str(required=False, load_from="State"), - } - - -class URedisGroupSetSchema(schema.ResponseSchema): - """ URedisGroupSet - DescribeURedisGroup +class UMemPriceSetSchema(schema.ResponseSchema): + """ UMemPriceSet - DescribeUMemPrice """ fields = { - "HighAvailability": fields.Str(required=False, load_from="HighAvailability"), - "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), - "Tag": fields.Str(required=False, load_from="Tag"), - "SlaveZone": fields.Str(required=False, load_from="SlaveZone"), - "Type": fields.Str(required=False, load_from="Type"), - "ConfigId": fields.Str(required=False, load_from="ConfigId"), - "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "MemorySize": fields.Int(required=False, load_from="MemorySize"), - "BackupTime": fields.Int(required=False, load_from="BackupTime"), - "State": fields.Str(required=False, load_from="State"), - "GroupId": fields.Str(required=False, load_from="GroupId"), - "Name": fields.Str(required=False, load_from="Name"), - "Protocol": fields.Str(required=False, load_from="Protocol"), - "Port": fields.Int(required=False, load_from="Port"), - "UsedSize": fields.Int(required=False, load_from="UsedSize"), - "AutoBackup": fields.Str(required=False, load_from="AutoBackup"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "Zone": fields.Str(required=False, load_from="Zone"), - "VPCId": fields.Str(required=True, load_from="VPCId"), - "Size": fields.Int(required=False, load_from="Size"), - "Version": fields.Str(required=False, load_from="Version"), - "GroupName": fields.Str(required=False, load_from="GroupName"), - "VirtualIP": fields.Str(required=False, load_from="VirtualIP"), + "Price": fields.Float(required=False, load_from="Price"), } @@ -68,32 +28,22 @@ class UMemSpaceSetSchema(schema.ResponseSchema): """ fields = { - "SpaceId": fields.Str(required=False, load_from="SpaceId"), + "RewriteTime": fields.Int(required=True, load_from="RewriteTime"), + "SubnetId": fields.Str(required=False, load_from="SubnetId"), "Protocol": fields.Str(required=False, load_from="Protocol"), - "Size": fields.Int(required=False, load_from="Size"), - "Address": fields.List(UMemSpaceAddressSetSchema()), - "Name": fields.Str(required=False, load_from="Name"), "UsedSize": fields.Int(required=False, load_from="UsedSize"), + "SpaceId": fields.Str(required=False, load_from="SpaceId"), + "Type": fields.Str(required=False, load_from="Type"), + "Size": fields.Int(required=False, load_from="Size"), "State": fields.Str(required=False, load_from="State"), "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "Address": fields.List(UMemSpaceAddressSetSchema()), "Tag": fields.Str(required=True, load_from="Tag"), - "RewriteTime": fields.Int(required=True, load_from="RewriteTime"), + "Zone": fields.Str(required=False, load_from="Zone"), "VPCId": fields.Str(required=False, load_from="VPCId"), + "Name": fields.Str(required=False, load_from="Name"), "CreateTime": fields.Int(required=False, load_from="CreateTime"), "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), - "Zone": fields.Str(required=False, load_from="Zone"), - "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "Type": fields.Str(required=False, load_from="Type"), - } - - -class UMemPriceSetSchema(schema.ResponseSchema): - """ UMemPriceSet - DescribeUMemPrice - """ - - fields = { - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "Price": fields.Float(required=False, load_from="Price"), } @@ -102,22 +52,22 @@ class UMemcacheGroupSetSchema(schema.ResponseSchema): """ fields = { + "GroupId": fields.Str(required=False, load_from="GroupId"), + "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), "VirtualIP": fields.Str(required=False, load_from="VirtualIP"), "Version": fields.Str(required=False, load_from="Version"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), + "Tag": fields.Str(required=False, load_from="Tag"), + "VPCId": fields.Str(required=False, load_from="VPCId"), "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "ConfigId": fields.Str(required=False, load_from="ConfigId"), - "State": fields.Str(required=False, load_from="State"), - "GroupId": fields.Str(required=False, load_from="GroupId"), - "Name": fields.Str(required=False, load_from="Name"), - "Size": fields.Int(required=False, load_from="Size"), "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), - "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), + "Name": fields.Str(required=False, load_from="Name"), + "ConfigId": fields.Str(required=False, load_from="ConfigId"), "Port": fields.Int(required=False, load_from="Port"), + "Size": fields.Int(required=False, load_from="Size"), "UsedSize": fields.Int(required=False, load_from="UsedSize"), - "Tag": fields.Str(required=False, load_from="Tag"), - "VPCId": fields.Str(required=False, load_from="VPCId"), + "State": fields.Str(required=False, load_from="State"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), } @@ -131,6 +81,56 @@ class UMemcachePriceSetSchema(schema.ResponseSchema): } +class URedisBackupSetSchema(schema.ResponseSchema): + """ URedisBackupSet - DescribeURedisBackup + """ + + fields = { + "GroupName": fields.Str(required=False, load_from="GroupName"), + "BackupName": fields.Str(required=False, load_from="BackupName"), + "BackupSize": fields.Int(required=False, load_from="BackupSize"), + "BackupType": fields.Str(required=False, load_from="BackupType"), + "GroupId": fields.Str(required=False, load_from="GroupId"), + "Zone": fields.Str(required=False, load_from="Zone"), + "BackupTime": fields.Int(required=False, load_from="BackupTime"), + "State": fields.Str(required=False, load_from="State"), + "BackupId": fields.Str(required=False, load_from="BackupId"), + } + + +class URedisGroupSetSchema(schema.ResponseSchema): + """ URedisGroupSet - DescribeURedisGroup + """ + + fields = { + "HighAvailability": fields.Str(required=False, load_from="HighAvailability"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "VPCId": fields.Str(required=True, load_from="VPCId"), + "Name": fields.Str(required=False, load_from="Name"), + "Type": fields.Str(required=False, load_from="Type"), + "SubnetId": fields.Str(required=False, load_from="SubnetId"), + "MemorySize": fields.Int(required=False, load_from="MemorySize"), + "Port": fields.Int(required=False, load_from="Port"), + "ModifyTime": fields.Int(required=False, load_from="ModifyTime"), + "Protocol": fields.Str(required=False, load_from="Protocol"), + "GroupName": fields.Str(required=False, load_from="GroupName"), + "VirtualIP": fields.Str(required=False, load_from="VirtualIP"), + "UsedSize": fields.Int(required=False, load_from="UsedSize"), + "AutoBackup": fields.Str(required=False, load_from="AutoBackup"), + "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), + "Zone": fields.Str(required=False, load_from="Zone"), + "Size": fields.Int(required=False, load_from="Size"), + "Version": fields.Str(required=False, load_from="Version"), + "State": fields.Str(required=False, load_from="State"), + "Tag": fields.Str(required=False, load_from="Tag"), + "SlaveZone": fields.Str(required=False, load_from="SlaveZone"), + "GroupId": fields.Str(required=False, load_from="GroupId"), + "ConfigId": fields.Str(required=False, load_from="ConfigId"), + "BackupTime": fields.Int(required=False, load_from="BackupTime"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + } + + class URedisPriceSetSchema(schema.ResponseSchema): """ URedisPriceSet - 主备Redis价格 """ diff --git a/ucloud/services/unet/client.py b/ucloud/services/unet/client.py index 95b7d06..f4726a3 100644 --- a/ucloud/services/unet/client.py +++ b/ucloud/services/unet/client.py @@ -8,41 +8,123 @@ class UNetClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(UNetClient, self).__init__(config, transport, middleware, logger) - def modify_e_ip_weight(self, req=None, **kwargs): - """ ModifyEIPWeight - 修改弹性IP的外网出口权重 + def allocate_e_ip(self, req=None, **kwargs): + """ AllocateEIP - 根据提供信息, 申请弹性IP + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 + - **Region** (str) - (Config) 地域。 + - **Bandwidth** (int) - (Required) 弹性IP的外网带宽, 单位为Mbps. 共享带宽模式必须指定0M带宽, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-200],带宽计费[1-800] + - **OperatorName** (str) - (Required) 弹性IP的线路如下: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International + - **ChargeType** (str) - 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按需付费(需开启权限); Trial, 试用(需开启权限) 默认为按月付费 + - **CouponId** (str) - 代金券ID, 默认不使用 + - **Name** (str) - 弹性IP的名称, 默认为 "EIP" + - **PayMode** (str) - 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. 默认为 "Bandwidth". + - **Quantity** (int) - 购买时长, 默认: 1 + - **Remark** (str) - 弹性IP的备注, 默认为空 + - **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 + - **Tag** (str) - 业务组名称, 默认为 "Default" + + **Response** + + - **EIPSet** (list) - 见 **UnetAllocateEIPSet** 模型定义 + + **Response Model** + + **UnetEIPAddrSet** + + - **OperatorName** (str) - 运营商信息如: 电信: Telecom, 联通: Unicom, 国际: International, Duplet: 双线IP(电信+联通), BGP: Bgp + - **IP** (str) - IP地址 + + **UnetAllocateEIPSet** + + - **EIPId** (str) - 申请到的EIP资源ID + - **EIPAddr** (list) - 见 **UnetEIPAddrSet** 模型定义 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param EIPId: (Required) 弹性IP的资源ID - :param Weight: (Required) 外网出口权重, 范围[0-100] 取值为0时, 该弹性IP不会被使用. 取值为100时, 同主机下只会使用这个弹性IP,其他弹性IP不会被使用 请勿将多个绑定在同一资源的弹性IP设置为相同权重 """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ModifyEIPWeightRequestSchema().dumps(d) - resp = self.invoke("ModifyEIPWeight", d, **kwargs) - return apis.ModifyEIPWeightResponseSchema().loads(resp) + d = apis.AllocateEIPRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("AllocateEIP", d, **kwargs) + return apis.AllocateEIPResponseSchema().loads(resp) - def update_firewall(self, req=None, **kwargs): - """ UpdateFirewall - 更新防火墙规则 + def allocate_share_bandwidth(self, req=None, **kwargs): + """ AllocateShareBandwidth - 开通共享带宽 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param FWId: (Required) 防火墙资源ID - :param Rule: (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ChargeType** (str) - (Required) 付费方式:Year 按年,Month 按月,Dynamic 按时; + - **Name** (str) - (Required) 共享带宽名字 + - **ShareBandwidth** (int) - (Required) 共享带宽值 + - **Quantity** (int) - 购买时长 + - **ShareBandwidthGuarantee** (int) - 共享带宽保底值(后付费) + + **Response** + + - **ShareBandwidthId** (str) - 共享带宽资源Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateFirewallRequestSchema().dumps(d) - resp = self.invoke("UpdateFirewall", d, **kwargs) - return apis.UpdateFirewallResponseSchema().loads(resp) + d = apis.AllocateShareBandwidthRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("AllocateShareBandwidth", d, **kwargs) + return apis.AllocateShareBandwidthResponseSchema().loads(resp) + + def allocate_v_ip(self, req=None, **kwargs): + """ AllocateVIP - 根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域 + - **SubnetId** (str) - (Required) 子网id + - **VPCId** (str) - (Required) 指定vip所属的VPC + - **BusinessId** (str) - 业务组 + - **Count** (int) - 申请数量,默认: 1 + - **Name** (str) - vip名,默认为VIP + - **Remark** (str) - 备注 + - **Tag** (str) - 业务组名称,默认为Default + - **Zone** (str) - 可用区 + + **Response** + + - **DataSet** (list) - 申请到的VIP地址 + - **VIPSet** (list) - 见 **VIPSet** 模型定义 + + **Response Model** + + **VIPSet** + + - **VIP** (str) - 虚拟ip + - **VIPId** (str) - 虚拟ip id + - **VPCId** (str) - VPC id + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.AllocateVIPRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("AllocateVIP", d, **kwargs) + return apis.AllocateVIPResponseSchema().loads(resp) def associate_e_ip_with_share_bandwidth(self, req=None, **kwargs): """ AssociateEIPWithShareBandwidth - 将EIP加入共享带宽 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 - :param Region: (Config) 地域。 - :param EIPIds: (Required) 要加入共享带宽的EIP的资源Id - :param ShareBandwidthId: (Required) 共享带宽ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 + - **Region** (str) - (Config) 地域。 + - **EIPIds** (list) - (Required) 要加入共享带宽的EIP的资源Id + - **ShareBandwidthId** (str) - (Required) 共享带宽ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -50,85 +132,107 @@ def associate_e_ip_with_share_bandwidth(self, req=None, **kwargs): resp = self.invoke("AssociateEIPWithShareBandwidth", d, **kwargs) return apis.AssociateEIPWithShareBandwidthResponseSchema().loads(resp) - def describe_bandwidth_usage(self, req=None, **kwargs): - """ DescribeBandwidthUsage - 获取带宽用量信息 + def bind_e_ip(self, req=None, **kwargs): + """ BindEIP - 将尚未使用的弹性IP绑定到指定的资源 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param EIPIds: (Optional) 弹性IP的资源Id. 如果为空, 则返回当前 Region中符合条件的所有EIP的带宽用量, n为自然数 - :param Limit: (Optional) 返回数据分页值, 取值范围为 [0,10000000] 之间的整数, 默认为20 - :param OffSet: (Optional) 返回数据偏移量, 默认为0 - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeBandwidthUsageRequestSchema().dumps(d) - resp = self.invoke("DescribeBandwidthUsage", d, **kwargs) - return apis.DescribeBandwidthUsageResponseSchema().loads(resp) + **Request** - def describe_e_ip(self, req=None, **kwargs): - """ DescribeEIP - 获取弹性IP信息 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **EIPId** (str) - (Required) 弹性IP的资源Id + - **ResourceId** (str) - (Required) 弹性IP请求绑定的资源ID + - **ResourceType** (str) - (Required) 弹性IP请求绑定的资源类型, 枚举值为: uhost: 云主机; ulb, 负载均衡器 upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;natgw:natgw;udb:udb;vpngw:ipsec vpn;ucdr:云灾备;dbaudit:数据库审计;uni:虚拟网卡。 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param EIPIds: (Optional) 弹性IP的资源ID如果为空, 则返回当前 Region中符合条件的的所有EIP - :param Limit: (Optional) 数据分页值, 默认为20 - :param Offset: (Optional) 数据偏移量, 默认为0 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeEIPRequestSchema().dumps(d) - resp = self.invoke("DescribeEIP", d, **kwargs) - return apis.DescribeEIPResponseSchema().loads(resp) + d = apis.BindEIPRequestSchema().dumps(d) + resp = self.invoke("BindEIP", d, **kwargs) + return apis.BindEIPResponseSchema().loads(resp) - def release_e_ip(self, req=None, **kwargs): - """ ReleaseEIP - 释放弹性IP资源, 所释放弹性IP必须为非绑定状态. + def create_bandwidth_package(self, req=None, **kwargs): + """ CreateBandwidthPackage - 为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param EIPId: (Required) 弹性IP的资源ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 + - **Region** (str) - (Config) 地域 + - **Bandwidth** (int) - (Required) 带宽大小(单位Mbps), 取值范围[2,800] (最大值受地域限制) + - **EIPId** (str) - (Required) 所绑定弹性IP的资源ID + - **TimeRange** (int) - (Required) 带宽包有效时长, 取值范围为大于0的整数, 即该带宽包在EnableTime到 EnableTime+TimeRange时间段内生效 + - **CouponId** (str) - 代金券ID + - **EnableTime** (int) - 生效时间, 格式为 Unix timestamp, 默认为立即开通 + + **Response** + + - **BandwidthPackageId** (str) - 所创建带宽包的资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ReleaseEIPRequestSchema().dumps(d) - resp = self.invoke("ReleaseEIP", d, **kwargs) - return apis.ReleaseEIPResponseSchema().loads(resp) + d = apis.CreateBandwidthPackageRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateBandwidthPackage", d, **kwargs) + return apis.CreateBandwidthPackageResponseSchema().loads(resp) - def resize_share_bandwidth(self, req=None, **kwargs): - """ ResizeShareBandwidth - 调整共享带宽的带宽值 + def create_firewall(self, req=None, **kwargs): + """ CreateFirewall - 创建防火墙 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ShareBandwidth: (Required) 带宽值,单位为Mb,范围 [20-5000] (最大值受地域限制) - :param ShareBandwidthId: (Required) 共享带宽的Id + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **Name** (str) - (Required) 防火墙名称 + - **Rule** (list) - (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注 + - **Remark** (str) - 防火墙描述,默认为空 + - **Tag** (str) - 防火墙业务组,默认为Default + + **Response** + + - **FWId** (str) - 防火墙ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ResizeShareBandwidthRequestSchema().dumps(d) - resp = self.invoke("ResizeShareBandwidth", d, **kwargs) - return apis.ResizeShareBandwidthResponseSchema().loads(resp) + d = apis.CreateFirewallRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateFirewall", d, **kwargs) + return apis.CreateFirewallResponseSchema().loads(resp) - def update_firewall_attribute(self, req=None, **kwargs): - """ UpdateFirewallAttribute - 更新防火墙规则 + def delete_bandwidth_package(self, req=None, **kwargs): + """ DeleteBandwidthPackage - 删除弹性IP上已附加带宽包 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param FWId: (Required) 防火墙资源ID - :param Name: (Optional) 防火墙名称,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上 - :param Remark: (Optional) 防火墙备注,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上 - :param Tag: (Optional) 防火墙业务组,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **BandwidthPackageId** (str) - (Required) 带宽包资源ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateFirewallAttributeRequestSchema().dumps(d) - resp = self.invoke("UpdateFirewallAttribute", d, **kwargs) - return apis.UpdateFirewallAttributeResponseSchema().loads(resp) + d = apis.DeleteBandwidthPackageRequestSchema().dumps(d) + resp = self.invoke("DeleteBandwidthPackage", d, **kwargs) + return apis.DeleteBandwidthPackageResponseSchema().loads(resp) def delete_firewall(self, req=None, **kwargs): """ DeleteFirewall - 删除防火墙 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param FWId: (Required) 防火墙资源ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **FWId** (str) - (Required) 防火墙资源ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -139,10 +243,35 @@ def delete_firewall(self, req=None, **kwargs): def describe_bandwidth_package(self, req=None, **kwargs): """ DescribeBandwidthPackage - 获取某地域下的带宽包信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Optional) 返回数据分页值, 取值范围为 [0,10000000] 之间的整数, 默认为20 - :param Offset: (Optional) 返回数据偏移量, 默认为0 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - 返回数据分页值, 取值范围为 [0,10000000] 之间的整数, 默认为20 + - **Offset** (int) - 返回数据偏移量, 默认为0 + + **Response** + + - **DataSets** (list) - 见 **UnetBandwidthPackageSet** 模型定义 + - **TotalCount** (int) - 满足条件的带宽包总数 + + **Response Model** + + **EIPAddrSet** + + - **OperatorName** (str) - 运营商信息, 枚举值为: Telecom 电信; Unicom: 联通; Duplet: 双线; Bgp: BGP; International: 国际. + - **IP** (str) - 弹性IP地址 + + **UnetBandwidthPackageSet** + + - **Bandwidth** (int) - 带宽包的临时带宽值, 单位Mbps + - **EIPId** (str) - 带宽包所绑定弹性IP的资源ID + - **EIPAddr** (list) - 见 **EIPAddrSet** 模型定义 + - **BandwidthPackageId** (str) - 带宽包的资源ID + - **EnableTime** (int) - 生效时间, 格式为 Unix Timestamp + - **DisableTime** (int) - 失效时间, 格式为 Unix Timestamp + - **CreateTime** (int) - 创建时间, 格式为 Unix Timestamp + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -150,16 +279,143 @@ def describe_bandwidth_package(self, req=None, **kwargs): resp = self.invoke("DescribeBandwidthPackage", d, **kwargs) return apis.DescribeBandwidthPackageResponseSchema().loads(resp) + def describe_bandwidth_usage(self, req=None, **kwargs): + """ DescribeBandwidthUsage - 获取带宽用量信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **EIPIds** (list) - 弹性IP的资源Id. 如果为空, 则返回当前 Region中符合条件的所有EIP的带宽用量, n为自然数 + - **Limit** (int) - 返回数据分页值, 取值范围为 [0,10000000] 之间的整数, 默认为20 + - **OffSet** (int) - 返回数据偏移量, 默认为0 + + **Response** + + - **TotalCount** (int) - EIPSet中的元素个数 + - **EIPSet** (list) - 见 **UnetBandwidthUsageEIPSet** 模型定义 + + **Response Model** + + **UnetBandwidthUsageEIPSet** + + - **CurBandwidth** (float) - 最近5分钟带宽用量, 单位Mbps + - **EIPId** (str) - 弹性IP资源ID + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeBandwidthUsageRequestSchema().dumps(d) + resp = self.invoke("DescribeBandwidthUsage", d, **kwargs) + return apis.DescribeBandwidthUsageResponseSchema().loads(resp) + + def describe_e_ip(self, req=None, **kwargs): + """ DescribeEIP - 获取弹性IP信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **EIPIds** (list) - 弹性IP的资源ID如果为空, 则返回当前 Region中符合条件的的所有EIP + - **Limit** (int) - 数据分页值, 默认为20 + - **Offset** (int) - 数据偏移量, 默认为0 + + **Response** + + - **TotalCount** (int) - 满足条件的弹性IP总数 + - **TotalBandwidth** (int) - 满足条件的弹性IP带宽总和, 单位Mbps + - **EIPSet** (list) - 见 **UnetEIPSet** 模型定义 + + **Response Model** + + **UnetEIPAddrSet** + + - **OperatorName** (str) - 运营商信息如: 电信: Telecom, 联通: Unicom, 国际: International, Duplet: 双线IP(电信+联通), BGP: Bgp + - **IP** (str) - IP地址 + + **UnetEIPResourceSet** + + - **ResourceType** (str) - 已绑定的资源类型, 枚举值为: uhost, 云主机;natgw:NAT网关;ulb:负载均衡器;upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;vpngw:IPSec VPN;ucdr:云灾备;dbaudit:数据库审计,uni:虚拟网卡。 + - **ResourceName** (str) - 已绑定的资源名称 + - **ResourceId** (str) - 已绑定资源的资源ID + - **SubResourceType** (str) - 资源绑定的虚拟网卡的类型。uni,虚拟网卡。 + - **SubResourceName** (str) - 资源绑定的虚拟网卡的名称 + - **SubResourceId** (str) - 资源绑定的虚拟网卡的ID + - **EIPId** (str) - 弹性IP的资源ID + + **ShareBandwidthSet** + + - **ShareBandwidthName** (str) - 共享带宽的资源名称 + - **ShareBandwidthId** (str) - 共享带宽ID + - **ShareBandwidth** (int) - 共享带宽带宽值 + + **UnetEIPSet** + + - **Remark** (str) - 弹性IP的备注, 缺省值为 "" + - **PayMode** (str) - 弹性IP的计费模式, 枚举值为: "Bandwidth", 带宽计费; "Traffic", 流量计费; "ShareBandwidth",共享带宽模式. 默认为 "Bandwidth". + - **Expire** (bool) - 弹性IP是否到期 + - **EIPId** (str) - 弹性IP的资源ID + - **Status** (str) - 弹性IP的资源绑定状态, 枚举值为: used: 已绑定, free: 未绑定, freeze: 已冻结 + - **Name** (str) - 弹性IP的名称,缺省值为 "EIP" + - **ShareBandwidthSet** (dict) - 见 **ShareBandwidthSet** 模型定义 + - **Tag** (str) - 弹性IP的业务组标识, 缺省值为 "Default" + - **Weight** (int) - 外网出口权重, 默认为50, 范围[0-100] + - **ChargeType** (str) - 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按小时付费; Trial, 试用. 按小时付费和试用这两种付费模式需要开通权限. + - **CreateTime** (int) - 弹性IP的创建时间, 格式为Unix Timestamp + - **Resource** (dict) - 见 **UnetEIPResourceSet** 模型定义 + - **EIPAddr** (list) - 见 **UnetEIPAddrSet** 模型定义 + - **BandwidthType** (int) - 带宽模式, 枚举值为: 0: 非共享带宽模式, 1: 共享带宽模式 + - **Bandwidth** (int) - 弹性IP的带宽, 单位为Mbps, 当BandwidthType=1时, 该处显示为共享带宽值. 当BandwidthType=0时, 该处显示这个弹性IP的带宽. + - **ExpireTime** (int) - 弹性IP的到期时间, 格式为Unix Timestamp + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeEIPRequestSchema().dumps(d) + resp = self.invoke("DescribeEIP", d, **kwargs) + return apis.DescribeEIPResponseSchema().loads(resp) + def describe_firewall(self, req=None, **kwargs): """ DescribeFirewall - 获取防火墙组信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param FWId: (Optional) 防火墙ID,默认为返回所有防火墙 - :param Limit: (Optional) 返回数据长度,默认为20,最大10000000 - :param Offset: (Optional) 列表起始位置偏移量,默认为0 - :param ResourceId: (Optional) 绑定防火墙组的资源ID - :param ResourceType: (Optional) 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计. + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **FWId** (str) - 防火墙ID,默认为返回所有防火墙 + - **Limit** (int) - 返回数据长度,默认为20,最大10000000 + - **Offset** (int) - 列表起始位置偏移量,默认为0 + - **ResourceId** (str) - 绑定防火墙组的资源ID + - **ResourceType** (str) - 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计. + + **Response** + + - **TotalCount** (int) - + - **DataSet** (list) - 见 **FirewallDataSet** 模型定义 + + **Response Model** + + **FirewallRuleSet** + + - **RuleAction** (str) - 防火墙动作 + - **Remark** (str) - 防火墙规则备注 + - **SrcIP** (str) - 源地址 + - **Priority** (str) - 优先级 + - **ProtocolType** (str) - 协议类型 + - **DstPort** (str) - 目标端口 + + **FirewallDataSet** + + - **GroupId** (str) - 安全组ID(即将废弃) + - **Tag** (str) - 防火墙业务组 + - **Type** (str) - 防火墙组类型,枚举值为: "user defined", 用户自定义防火墙; "recommend web", 默认Web防火墙; "recommend non web", 默认非Web防火墙 + - **Rule** (list) - 见 **FirewallRuleSet** 模型定义 + - **FWId** (str) - 防火墙ID + - **Name** (str) - 防火墙名称 + - **Remark** (str) - 防火墙备注 + - **ResourceCount** (int) - 防火墙绑定资源数量 + - **CreateTime** (int) - 防火墙组创建时间,格式为Unix Timestamp + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -170,11 +426,32 @@ def describe_firewall(self, req=None, **kwargs): def describe_firewall_resource(self, req=None, **kwargs): """ DescribeFirewallResource - 获取防火墙组所绑定资源的外网IP - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param FWId: (Required) 防火墙ID - :param Limit: (Optional) 返回数据长度,默认为20,最大10000000 - :param Offset: (Optional) 列表起始位置偏移量,默认为0 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **FWId** (str) - (Required) 防火墙ID + - **Limit** (int) - 返回数据长度,默认为20,最大10000000 + - **Offset** (int) - 列表起始位置偏移量,默认为0 + + **Response** + + - **ResourceSet** (list) - 见 **ResourceSet** 模型定义 + - **TotalCount** (int) - 绑定资源总数 + + **Response Model** + + **ResourceSet** + + - **Status** (int) - 状态 + - **Tag** (str) - 业务组 + - **Zone** (int) - 可用区 + - **Name** (str) - 名称 + - **PrivateIP** (str) - 内网IP + - **Remark** (str) - 备注 + - **ResourceID** (str) - 绑定该防火墙的资源id + - **ResourceType** (str) - 绑定资源的资源类型,如"uhost","upm","umem","uhive","uvip","uredis","uhadoop","ufortress","dbaudit","udw","udocker", "umemcache" + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -182,74 +459,186 @@ def describe_firewall_resource(self, req=None, **kwargs): resp = self.invoke("DescribeFirewallResource", d, **kwargs) return apis.DescribeFirewallResourceResponseSchema().loads(resp) - def allocate_e_ip(self, req=None, **kwargs): - """ AllocateEIP - 根据提供信息, 申请弹性IP + def describe_share_bandwidth(self, req=None, **kwargs): + """ DescribeShareBandwidth - 获取共享带宽信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ShareBandwidthIds** (list) - 需要返回的共享带宽Id + + **Response** + + - **DataSet** (list) - 见 **UnetShareBandwidthSet** 模型定义 + - **TotalCount** (int) - 符合条件的共享带宽总数,大于等于返回DataSet长度 + + **Response Model** + + **EIPAddrSet** + + - **OperatorName** (str) - 运营商信息, 枚举值为: Telecom 电信; Unicom: 联通; Duplet: 双线; Bgp: BGP; International: 国际. + - **IP** (str) - 弹性IP地址 + + **EIPSetData** + + - **Bandwidth** (int) - EIP带宽值 + - **EIPAddr** (list) - 见 **EIPAddrSet** 模型定义 + - **EIPId** (str) - EIP资源Id + + **UnetShareBandwidthSet** + + - **EIPSet** (list) - 见 **EIPSetData** 模型定义 + - **Name** (str) - 共享带宽名称 + - **ShareBandwidth** (int) - 共享带宽值(预付费)/共享带宽峰值(后付费), 单位Mbps + - **CreateTime** (int) - 创建时间, 格式为Unix Timestamp + - **ExpireTime** (int) - 过期时间, 格式为Unix Timestamp + - **PostPayStartTime** (int) - 共享带宽后付费开始计费时间(后付费) + - **ShareBandwidthId** (str) - 共享带宽的资源ID + - **ChargeType** (str) - 付费方式, 预付费:Year 按年,Month 按月,Dynamic 按需;后付费:PostPay(按月) + - **BandwidthGuarantee** (int) - 共享带宽保底值(后付费) - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 - :param Region: (Config) 地域。 - :param Bandwidth: (Required) 弹性IP的外网带宽, 单位为Mbps. 共享带宽模式必须指定0M带宽, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-200],带宽计费[1-800] - :param OperatorName: (Required) 弹性IP的线路如下: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International - :param ChargeType: (Optional) 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按需付费(需开启权限); Trial, 试用(需开启权限) 默认为按月付费 - :param CouponId: (Optional) 代金券ID, 默认不使用 - :param Name: (Optional) 弹性IP的名称, 默认为 "EIP" - :param PayMode: (Optional) 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. 默认为 "Bandwidth". - :param Quantity: (Optional) 购买时长, 默认: 1 - :param Remark: (Optional) 弹性IP的备注, 默认为空 - :param ShareBandwidthId: (Optional) 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 - :param Tag: (Optional) 业务组名称, 默认为 "Default" """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.AllocateEIPRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("AllocateEIP", d, **kwargs) - return apis.AllocateEIPResponseSchema().loads(resp) + d = apis.DescribeShareBandwidthRequestSchema().dumps(d) + resp = self.invoke("DescribeShareBandwidth", d, **kwargs) + return apis.DescribeShareBandwidthResponseSchema().loads(resp) - def allocate_v_ip(self, req=None, **kwargs): - """ AllocateVIP - 根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 + def describe_v_ip(self, req=None, **kwargs): + """ DescribeVIP - 获取内网VIP详细信息 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BusinessId** (str) - 业务组 + - **SubnetId** (str) - 子网id,不指定则获取VPCId下的所有vip + - **Tag** (str) - 业务组名称, 默认为 Default + - **VPCId** (str) - vpc的id,指定SubnetId时必填 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **VIPSet** (list) - 见 **VIPDetailSet** 模型定义 + - **DataSet** (list) - 内网VIP地址列表 + - **TotalCount** (int) - vip数量 + + **Response Model** + + **VIPDetailSet** + + - **RealIp** (str) - 真实主机ip + - **VIP** (str) - 虚拟ip + - **SubnetId** (str) - 子网id + - **VPCId** (str) - VPC id + - **Name** (str) - + - **Zone** (str) - 地域 + - **VIPId** (str) - 虚拟ip id + - **CreateTime** (int) - 创建时间 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域 - :param SubnetId: (Required) 子网id - :param VPCId: (Required) 指定vip所属的VPC - :param BusinessId: (Optional) 业务组 - :param Count: (Optional) 申请数量,默认: 1 - :param Name: (Optional) vip名,默认为VIP - :param Remark: (Optional) 备注 - :param Tag: (Optional) 业务组名称,默认为Default - :param Zone: (Optional) 可用区 """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.AllocateVIPRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("AllocateVIP", d, **kwargs) - return apis.AllocateVIPResponseSchema().loads(resp) + d = apis.DescribeVIPRequestSchema().dumps(d) + resp = self.invoke("DescribeVIP", d, **kwargs) + return apis.DescribeVIPResponseSchema().loads(resp) - def create_firewall(self, req=None, **kwargs): - """ CreateFirewall - 创建防火墙 + def disassociate_e_ip_with_share_bandwidth(self, req=None, **kwargs): + """ DisassociateEIPWithShareBandwidth - 将EIP移出共享带宽 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param Name: (Required) 防火墙名称 - :param Rule: (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注 - :param Remark: (Optional) 防火墙描述,默认为空 - :param Tag: (Optional) 防火墙业务组,默认为Default + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 移出共享带宽后,EIP的外网带宽, 单位为Mbps. 各地域带宽范围如下: 流量计费[1-200],带宽计费[1-800] + - **ShareBandwidthId** (str) - (Required) 共享带宽ID + - **EIPIds** (list) - EIP的资源Id;默认移出该共享带宽下所有的EIP + - **PayMode** (str) - 移出共享带宽后,EIP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; 默认为 "Bandwidth". + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateFirewallRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateFirewall", d, **kwargs) - return apis.CreateFirewallResponseSchema().loads(resp) + d = apis.DisassociateEIPWithShareBandwidthRequestSchema().dumps(d) + resp = self.invoke("DisassociateEIPWithShareBandwidth", d, **kwargs) + return apis.DisassociateEIPWithShareBandwidthResponseSchema().loads(resp) + + def get_e_ip_pay_mode(self, req=None, **kwargs): + """ GetEIPPayMode - 获取弹性IP计费模式 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **EIPId** (list) - (Required) 弹性IP的资源Id + + **Response** + + - **EIPPayMode** (list) - 见 **EIPPayModeSet** 模型定义 + + **Response Model** + + **EIPPayModeSet** + + - **EIPPayMode** (str) - EIP的计费模式. 枚举值为:Bandwidth, 带宽计费;Traffic, 流量计费; "ShareBandwidth",共享带宽模式 + - **EIPId** (str) - EIP的资源ID + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.GetEIPPayModeRequestSchema().dumps(d) + resp = self.invoke("GetEIPPayMode", d, **kwargs) + return apis.GetEIPPayModeResponseSchema().loads(resp) + + def get_e_ip_price(self, req=None, **kwargs): + """ GetEIPPrice - 获取弹性IP价格 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 弹性IP的外网带宽, 单位为Mbps, 范围 [0-800] + - **OperatorName** (str) - (Required) 弹性IP的线路如下: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International,泉州为移动单线cn-qz:ChinaMobile + - **ChargeType** (str) - 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按时付费; 默认为获取三种价格 + - **PayMode** (str) - 弹性IP计费方式r. 枚举值为: Traffic, 流量计费; Bandwidth, 带宽计费; "ShareBandwidth",共享带宽模式. 默认为Bandwidth + - **Quantity** (int) - 购买时长。默认: 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表了购买至月末 + + **Response** + + - **PriceSet** (list) - 见 **EIPPriceDetailSet** 模型定义 + + **Response Model** + + **EIPPriceDetailSet** + + - **PurchaseValue** (int) - 资源有效期, 以Unix Timestamp表示 + - **ChargeType** (str) - 弹性IP付费方式 + - **Price** (float) - 弹性IP价格, 单位"元" + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.GetEIPPriceRequestSchema().dumps(d) + resp = self.invoke("GetEIPPrice", d, **kwargs) + return apis.GetEIPPriceResponseSchema().loads(resp) def get_e_ip_upgrade_price(self, req=None, **kwargs): """ GetEIPUpgradePrice - 获取弹性IP带宽改动价格 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 弹性IP的外网带宽, 单位为Mbps, 范围 [1-800] - :param EIPId: (Required) 弹性IP的资源ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 弹性IP的外网带宽, 单位为Mbps, 范围 [1-800] + - **EIPId** (str) - (Required) 弹性IP的资源ID + + **Response** + + - **Price** (float) - 调整带宽后的EIP价格, 单位为"元", 如需退费此处为负值 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -260,11 +649,17 @@ def get_e_ip_upgrade_price(self, req=None, **kwargs): def grant_firewall(self, req=None, **kwargs): """ GrantFirewall - 将防火墙应用到资源上 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param FWId: (Required) 防火墙资源ID - :param ResourceId: (Required) 所应用资源ID - :param ResourceType: (Required) 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计,”uni“,虚拟网卡。 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **FWId** (str) - (Required) 防火墙资源ID + - **ResourceId** (str) - (Required) 所应用资源ID + - **ResourceType** (str) - (Required) 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计,”uni“,虚拟网卡。 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -272,120 +667,99 @@ def grant_firewall(self, req=None, **kwargs): resp = self.invoke("GrantFirewall", d, **kwargs) return apis.GrantFirewallResponseSchema().loads(resp) - def un_bind_e_ip(self, req=None, **kwargs): - """ UnBindEIP - 将弹性IP从资源上解绑 + def modify_e_ip_bandwidth(self, req=None, **kwargs): + """ ModifyEIPBandwidth - 调整弹性IP的外网带宽 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param EIPId: (Required) 弹性IP的资源Id - :param ResourceId: (Required) 弹性IP请求解绑的资源ID - :param ResourceType: (Required) 弹性IP请求解绑的资源类型, 枚举值为: uhost: 云主机; ulb, 负载均衡器 upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;natgw:NAT网关;udb:udb;vpngw:ipsec vpn;ucdr:云灾备;dbaudit:数据库审计;uni,虚拟网卡。 - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.UnBindEIPRequestSchema().dumps(d) - resp = self.invoke("UnBindEIP", d, **kwargs) - return apis.UnBindEIPResponseSchema().loads(resp) + **Request** - def bind_e_ip(self, req=None, **kwargs): - """ BindEIP - 将尚未使用的弹性IP绑定到指定的资源 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 弹性IP的外网带宽, 单位为Mbps. 各地域的带宽值范围如下:流量计费[1-200],带宽计费[1-800] + - **EIPId** (str) - (Required) 弹性IP的资源ID + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param EIPId: (Required) 弹性IP的资源Id - :param ResourceId: (Required) 弹性IP请求绑定的资源ID - :param ResourceType: (Required) 弹性IP请求绑定的资源类型, 枚举值为: uhost: 云主机; ulb, 负载均衡器 upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;natgw:natgw;udb:udb;vpngw:ipsec vpn;ucdr:云灾备;dbaudit:数据库审计;uni:虚拟网卡。 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.BindEIPRequestSchema().dumps(d) - resp = self.invoke("BindEIP", d, **kwargs) - return apis.BindEIPResponseSchema().loads(resp) + d = apis.ModifyEIPBandwidthRequestSchema().dumps(d) + resp = self.invoke("ModifyEIPBandwidth", d, **kwargs) + return apis.ModifyEIPBandwidthResponseSchema().loads(resp) - def create_bandwidth_package(self, req=None, **kwargs): - """ CreateBandwidthPackage - 为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 + def modify_e_ip_weight(self, req=None, **kwargs): + """ ModifyEIPWeight - 修改弹性IP的外网出口权重 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 - :param Region: (Config) 地域 - :param Bandwidth: (Required) 带宽大小(单位Mbps), 取值范围[2,800] (最大值受地域限制) - :param EIPId: (Required) 所绑定弹性IP的资源ID - :param TimeRange: (Required) 带宽包有效时长, 取值范围为大于0的整数, 即该带宽包在EnableTime到 EnableTime+TimeRange时间段内生效 - :param CouponId: (Optional) 代金券ID - :param EnableTime: (Optional) 生效时间, 格式为 Unix timestamp, 默认为立即开通 - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.CreateBandwidthPackageRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateBandwidthPackage", d, **kwargs) - return apis.CreateBandwidthPackageResponseSchema().loads(resp) + **Request** - def delete_bandwidth_package(self, req=None, **kwargs): - """ DeleteBandwidthPackage - 删除弹性IP上已附加带宽包 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **EIPId** (str) - (Required) 弹性IP的资源ID + - **Weight** (int) - (Required) 外网出口权重, 范围[0-100] 取值为0时, 该弹性IP不会被使用. 取值为100时, 同主机下只会使用这个弹性IP,其他弹性IP不会被使用 请勿将多个绑定在同一资源的弹性IP设置为相同权重 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param BandwidthPackageId: (Required) 带宽包资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteBandwidthPackageRequestSchema().dumps(d) - resp = self.invoke("DeleteBandwidthPackage", d, **kwargs) - return apis.DeleteBandwidthPackageResponseSchema().loads(resp) + d = apis.ModifyEIPWeightRequestSchema().dumps(d) + resp = self.invoke("ModifyEIPWeight", d, **kwargs) + return apis.ModifyEIPWeightResponseSchema().loads(resp) - def describe_share_bandwidth(self, req=None, **kwargs): - """ DescribeShareBandwidth - 获取共享带宽信息 + def release_e_ip(self, req=None, **kwargs): + """ ReleaseEIP - 释放弹性IP资源, 所释放弹性IP必须为非绑定状态. - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ShareBandwidthIds: (Optional) 需要返回的共享带宽Id - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeShareBandwidthRequestSchema().dumps(d) - resp = self.invoke("DescribeShareBandwidth", d, **kwargs) - return apis.DescribeShareBandwidthResponseSchema().loads(resp) + **Request** - def describe_v_ip(self, req=None, **kwargs): - """ DescribeVIP - 获取内网VIP详细信息 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **EIPId** (str) - (Required) 弹性IP的资源ID + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BusinessId: (Optional) 业务组 - :param SubnetId: (Optional) 子网id,不指定则获取VPCId下的所有vip - :param Tag: (Optional) 业务组名称, 默认为 Default - :param VPCId: (Optional) vpc的id,指定SubnetId时必填 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribeVIPRequestSchema().dumps(d) - resp = self.invoke("DescribeVIP", d, **kwargs) - return apis.DescribeVIPResponseSchema().loads(resp) + d = apis.ReleaseEIPRequestSchema().dumps(d) + resp = self.invoke("ReleaseEIP", d, **kwargs) + return apis.ReleaseEIPResponseSchema().loads(resp) - def disassociate_e_ip_with_share_bandwidth(self, req=None, **kwargs): - """ DisassociateEIPWithShareBandwidth - 将EIP移出共享带宽 + def release_share_bandwidth(self, req=None, **kwargs): + """ ReleaseShareBandwidth - 关闭共享带宽 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **EIPBandwidth** (int) - (Required) 关闭共享带宽后,各EIP恢复为的带宽值 + - **ShareBandwidthId** (str) - (Required) 共享带宽ID + - **PayMode** (str) - Bandwidth 带宽计费, Traffic 转流量计费 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 移出共享带宽后,EIP的外网带宽, 单位为Mbps. 各地域带宽范围如下: 流量计费[1-200],带宽计费[1-800] - :param ShareBandwidthId: (Required) 共享带宽ID - :param EIPIds: (Optional) EIP的资源Id;默认移出该共享带宽下所有的EIP - :param PayMode: (Optional) 移出共享带宽后,EIP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; 默认为 "Bandwidth". + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DisassociateEIPWithShareBandwidthRequestSchema().dumps(d) - resp = self.invoke("DisassociateEIPWithShareBandwidth", d, **kwargs) - return apis.DisassociateEIPWithShareBandwidthResponseSchema().loads(resp) + d = apis.ReleaseShareBandwidthRequestSchema().dumps(d) + resp = self.invoke("ReleaseShareBandwidth", d, **kwargs) + return apis.ReleaseShareBandwidthResponseSchema().loads(resp) def release_v_ip(self, req=None, **kwargs): """ ReleaseVIP - 释放VIP资源 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param VIPId: (Required) 内网VIP的id - :param Zone: (Optional) 可用区 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写 + - **Region** (str) - (Config) 地域 + - **VIPId** (str) - (Required) 内网VIP的id + - **Zone** (str) - 可用区 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -393,43 +767,83 @@ def release_v_ip(self, req=None, **kwargs): resp = self.invoke("ReleaseVIP", d, **kwargs) return apis.ReleaseVIPResponseSchema().loads(resp) - def get_e_ip_pay_mode(self, req=None, **kwargs): - """ GetEIPPayMode - 获取弹性IP计费模式 + def resize_share_bandwidth(self, req=None, **kwargs): + """ ResizeShareBandwidth - 调整共享带宽的带宽值 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ShareBandwidth** (int) - (Required) 带宽值,单位为Mb,范围 [20-5000] (最大值受地域限制) + - **ShareBandwidthId** (str) - (Required) 共享带宽的Id + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写 - :param Region: (Config) 地域 - :param EIPId: (Required) 弹性IP的资源Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.GetEIPPayModeRequestSchema().dumps(d) - resp = self.invoke("GetEIPPayMode", d, **kwargs) - return apis.GetEIPPayModeResponseSchema().loads(resp) + d = apis.ResizeShareBandwidthRequestSchema().dumps(d) + resp = self.invoke("ResizeShareBandwidth", d, **kwargs) + return apis.ResizeShareBandwidthResponseSchema().loads(resp) - def release_share_bandwidth(self, req=None, **kwargs): - """ ReleaseShareBandwidth - 关闭共享带宽 + def set_e_ip_pay_mode(self, req=None, **kwargs): + """ SetEIPPayMode - 设置弹性IP计费模式, 切换时会涉及付费/退费. + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param EIPBandwidth: (Required) 关闭共享带宽后,各EIP恢复为的带宽值 - :param ShareBandwidthId: (Required) 共享带宽ID - :param PayMode: (Optional) Bandwidth 带宽计费, Traffic 转流量计费 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Bandwidth** (int) - (Required) 调整的目标带宽值, 单位Mbps. 各地域的带宽值范围如下: 流量计费[1-200],其余情况[1-800] + - **EIPId** (str) - (Required) 弹性IP的资源Id + - **PayMode** (str) - (Required) 计费模式. 枚举值:"Traffic", 流量计费模式; "Bandwidth", 带宽计费模式 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ReleaseShareBandwidthRequestSchema().dumps(d) - resp = self.invoke("ReleaseShareBandwidth", d, **kwargs) - return apis.ReleaseShareBandwidthResponseSchema().loads(resp) + d = apis.SetEIPPayModeRequestSchema().dumps(d) + resp = self.invoke("SetEIPPayMode", d, **kwargs) + return apis.SetEIPPayModeResponseSchema().loads(resp) + + def un_bind_e_ip(self, req=None, **kwargs): + """ UnBindEIP - 将弹性IP从资源上解绑 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **EIPId** (str) - (Required) 弹性IP的资源Id + - **ResourceId** (str) - (Required) 弹性IP请求解绑的资源ID + - **ResourceType** (str) - (Required) 弹性IP请求解绑的资源类型, 枚举值为: uhost: 云主机; ulb, 负载均衡器 upm: 物理机; hadoophost: 大数据集群;fortresshost:堡垒机;udockhost:容器;udhost:私有专区主机;natgw:NAT网关;udb:udb;vpngw:ipsec vpn;ucdr:云灾备;dbaudit:数据库审计;uni,虚拟网卡。 + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.UnBindEIPRequestSchema().dumps(d) + resp = self.invoke("UnBindEIP", d, **kwargs) + return apis.UnBindEIPResponseSchema().loads(resp) def update_e_ip_attribute(self, req=None, **kwargs): """ UpdateEIPAttribute - 更新弹性IP名称,业务组,备注等属性字段 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param EIPId: (Required) EIP资源ID - :param Name: (Optional) 名字(Name Tag Remark都为空则报错) - :param Remark: (Optional) 备注 - :param Tag: (Optional) 业务 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **EIPId** (str) - (Required) EIP资源ID + - **Name** (str) - 名字(Name Tag Remark都为空则报错) + - **Remark** (str) - 备注 + - **Tag** (str) - 业务 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -437,66 +851,45 @@ def update_e_ip_attribute(self, req=None, **kwargs): resp = self.invoke("UpdateEIPAttribute", d, **kwargs) return apis.UpdateEIPAttributeResponseSchema().loads(resp) - def allocate_share_bandwidth(self, req=None, **kwargs): - """ AllocateShareBandwidth - 开通共享带宽 + def update_firewall(self, req=None, **kwargs): + """ UpdateFirewall - 更新防火墙规则 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ChargeType: (Required) 付费方式:Year 按年,Month 按月,Dynamic 按时; - :param Name: (Required) 共享带宽名字 - :param ShareBandwidth: (Required) 共享带宽值 - :param Quantity: (Optional) 购买时长 - :param ShareBandwidthGuarantee: (Optional) 共享带宽保底值(后付费) - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.AllocateShareBandwidthRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("AllocateShareBandwidth", d, **kwargs) - return apis.AllocateShareBandwidthResponseSchema().loads(resp) + **Request** - def get_e_ip_price(self, req=None, **kwargs): - """ GetEIPPrice - 获取弹性IP价格 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **FWId** (str) - (Required) 防火墙资源ID + - **Rule** (list) - (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 弹性IP的外网带宽, 单位为Mbps, 范围 [0-800] - :param OperatorName: (Required) 弹性IP的线路如下: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International,泉州为移动单线cn-qz:ChinaMobile - :param ChargeType: (Optional) 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按时付费; 默认为获取三种价格 - :param PayMode: (Optional) 弹性IP计费方式r. 枚举值为: Traffic, 流量计费; Bandwidth, 带宽计费; "ShareBandwidth",共享带宽模式. 默认为Bandwidth - :param Quantity: (Optional) 购买时长。默认: 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表了购买至月末 + - **FWId** (str) - 防火墙id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.GetEIPPriceRequestSchema().dumps(d) - resp = self.invoke("GetEIPPrice", d, **kwargs) - return apis.GetEIPPriceResponseSchema().loads(resp) + d = apis.UpdateFirewallRequestSchema().dumps(d) + resp = self.invoke("UpdateFirewall", d, **kwargs) + return apis.UpdateFirewallResponseSchema().loads(resp) - def modify_e_ip_bandwidth(self, req=None, **kwargs): - """ ModifyEIPBandwidth - 调整弹性IP的外网带宽 + def update_firewall_attribute(self, req=None, **kwargs): + """ UpdateFirewallAttribute - 更新防火墙规则 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 弹性IP的外网带宽, 单位为Mbps. 各地域的带宽值范围如下:流量计费[1-200],带宽计费[1-800] - :param EIPId: (Required) 弹性IP的资源ID - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.ModifyEIPBandwidthRequestSchema().dumps(d) - resp = self.invoke("ModifyEIPBandwidth", d, **kwargs) - return apis.ModifyEIPBandwidthResponseSchema().loads(resp) + **Request** - def set_e_ip_pay_mode(self, req=None, **kwargs): - """ SetEIPPayMode - 设置弹性IP计费模式, 切换时会涉及付费/退费. + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **FWId** (str) - (Required) 防火墙资源ID + - **Name** (str) - 防火墙名称,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上 + - **Remark** (str) - 防火墙备注,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上 + - **Tag** (str) - 防火墙业务组,默认为空,为空则不做修改。Name,Tag,Remark必须填写1个及以上 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Bandwidth: (Required) 调整的目标带宽值, 单位Mbps. 各地域的带宽值范围如下: 流量计费[1-200],其余情况[1-800] - :param EIPId: (Required) 弹性IP的资源Id - :param PayMode: (Required) 计费模式. 枚举值:"Traffic", 流量计费模式; "Bandwidth", 带宽计费模式 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.SetEIPPayModeRequestSchema().dumps(d) - resp = self.invoke("SetEIPPayMode", d, **kwargs) - return apis.SetEIPPayModeResponseSchema().loads(resp) + d = apis.UpdateFirewallAttributeRequestSchema().dumps(d) + resp = self.invoke("UpdateFirewallAttribute", d, **kwargs) + return apis.UpdateFirewallAttributeResponseSchema().loads(resp) diff --git a/ucloud/services/unet/schemas/apis.py b/ucloud/services/unet/schemas/apis.py index f1d339e..4ebb079 100644 --- a/ucloud/services/unet/schemas/apis.py +++ b/ucloud/services/unet/schemas/apis.py @@ -6,428 +6,465 @@ """ UNet API Schema """ """ -API: ReleaseVIP +API: AllocateEIP -释放VIP资源 +根据提供信息, 申请弹性IP """ -class ReleaseVIPRequestSchema(schema.RequestSchema): - """ ReleaseVIP - 释放VIP资源 +class AllocateEIPRequestSchema(schema.RequestSchema): + """ AllocateEIP - 根据提供信息, 申请弹性IP """ fields = { - "VIPId": fields.Str(required=True, dump_to="VIPId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), + "PayMode": fields.Str(required=False, dump_to="PayMode"), + "Remark": fields.Str(required=False, dump_to="Remark"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "OperatorName": fields.Str(required=True, dump_to="OperatorName"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "ShareBandwidthId": fields.Str(required=False, dump_to="ShareBandwidthId"), + "Name": fields.Str(required=False, dump_to="Name"), } -class ReleaseVIPResponseSchema(schema.ResponseSchema): - """ ReleaseVIP - 释放VIP资源 +class AllocateEIPResponseSchema(schema.ResponseSchema): + """ AllocateEIP - 根据提供信息, 申请弹性IP """ - fields = {} + fields = { + "EIPSet": fields.List( + models.UnetAllocateEIPSetSchema(), required=False, load_from="EIPSet" + ) + } """ -API: SetEIPPayMode +API: AllocateShareBandwidth -设置弹性IP计费模式, 切换时会涉及付费/退费. +开通共享带宽 """ -class SetEIPPayModeRequestSchema(schema.RequestSchema): - """ SetEIPPayMode - 设置弹性IP计费模式, 切换时会涉及付费/退费. +class AllocateShareBandwidthRequestSchema(schema.RequestSchema): + """ AllocateShareBandwidth - 开通共享带宽 """ fields = { + "ShareBandwidth": fields.Int(required=True, dump_to="ShareBandwidth"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), + "ShareBandwidthGuarantee": fields.Int( + required=False, dump_to="ShareBandwidthGuarantee" + ), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "EIPId": fields.Str(required=True, dump_to="EIPId"), - "PayMode": fields.Str(required=True, dump_to="PayMode"), - "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), + "Name": fields.Str(required=True, dump_to="Name"), + "ChargeType": fields.Str(required=True, dump_to="ChargeType"), } -class SetEIPPayModeResponseSchema(schema.ResponseSchema): - """ SetEIPPayMode - 设置弹性IP计费模式, 切换时会涉及付费/退费. +class AllocateShareBandwidthResponseSchema(schema.ResponseSchema): + """ AllocateShareBandwidth - 开通共享带宽 """ - fields = {} + fields = { + "ShareBandwidthId": fields.Str(required=False, load_from="ShareBandwidthId") + } """ -API: DeleteBandwidthPackage +API: AllocateVIP -删除弹性IP上已附加带宽包 +根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 """ -class DeleteBandwidthPackageRequestSchema(schema.RequestSchema): - """ DeleteBandwidthPackage - 删除弹性IP上已附加带宽包 +class AllocateVIPRequestSchema(schema.RequestSchema): + """ AllocateVIP - 根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "BandwidthPackageId": fields.Str(required=True, dump_to="BandwidthPackageId"), + "SubnetId": fields.Str(required=True, dump_to="SubnetId"), + "BusinessId": fields.Str(required=False, dump_to="BusinessId"), + "Region": fields.Str(required=True, dump_to="Region"), + "VPCId": fields.Str(required=True, dump_to="VPCId"), + "Count": fields.Int(required=False, dump_to="Count"), + "Name": fields.Str(required=False, dump_to="Name"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), } -class DeleteBandwidthPackageResponseSchema(schema.ResponseSchema): - """ DeleteBandwidthPackage - 删除弹性IP上已附加带宽包 +class AllocateVIPResponseSchema(schema.ResponseSchema): + """ AllocateVIP - 根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 """ - fields = {} + fields = { + "VIPSet": fields.List( + models.VIPSetSchema(), required=False, load_from="VIPSet" + ), + "DataSet": fields.List(fields.Str(), required=False, load_from="DataSet"), + } """ -API: DescribeEIP +API: AssociateEIPWithShareBandwidth -获取弹性IP信息 +将EIP加入共享带宽 """ -class DescribeEIPRequestSchema(schema.RequestSchema): - """ DescribeEIP - 获取弹性IP信息 +class AssociateEIPWithShareBandwidthRequestSchema(schema.RequestSchema): + """ AssociateEIPWithShareBandwidth - 将EIP加入共享带宽 """ fields = { + "EIPIds": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "EIPIds": fields.List(fields.Str()), + "ShareBandwidthId": fields.Str(required=True, dump_to="ShareBandwidthId"), } -class DescribeEIPResponseSchema(schema.ResponseSchema): - """ DescribeEIP - 获取弹性IP信息 +class AssociateEIPWithShareBandwidthResponseSchema(schema.ResponseSchema): + """ AssociateEIPWithShareBandwidth - 将EIP加入共享带宽 """ - fields = { - "TotalBandwidth": fields.Int(required=False, load_from="TotalBandwidth"), - "EIPSet": fields.List( - models.UnetEIPSetSchema(), required=False, load_from="EIPSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } + fields = {} """ -API: GetEIPPayMode +API: BindEIP -获取弹性IP计费模式 +将尚未使用的弹性IP绑定到指定的资源 """ -class GetEIPPayModeRequestSchema(schema.RequestSchema): - """ GetEIPPayMode - 获取弹性IP计费模式 +class BindEIPRequestSchema(schema.RequestSchema): + """ BindEIP - 将尚未使用的弹性IP绑定到指定的资源 """ fields = { + "ResourceType": fields.Str(required=True, dump_to="ResourceType"), + "ResourceId": fields.Str(required=True, dump_to="ResourceId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "EIPId": fields.List(fields.Str()), + "EIPId": fields.Str(required=True, dump_to="EIPId"), } -class GetEIPPayModeResponseSchema(schema.ResponseSchema): - """ GetEIPPayMode - 获取弹性IP计费模式 +class BindEIPResponseSchema(schema.ResponseSchema): + """ BindEIP - 将尚未使用的弹性IP绑定到指定的资源 """ - fields = { - "EIPPayMode": fields.List( - models.EIPPayModeSetSchema(), required=False, load_from="EIPPayMode" - ) - } + fields = {} """ -API: ResizeShareBandwidth +API: CreateBandwidthPackage -调整共享带宽的带宽值 +为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 """ -class ResizeShareBandwidthRequestSchema(schema.RequestSchema): - """ ResizeShareBandwidth - 调整共享带宽的带宽值 +class CreateBandwidthPackageRequestSchema(schema.RequestSchema): + """ CreateBandwidthPackage - 为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 """ fields = { - "ShareBandwidth": fields.Int(required=True, dump_to="ShareBandwidth"), - "ShareBandwidthId": fields.Str(required=True, dump_to="ShareBandwidthId"), + "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), + "EIPId": fields.Str(required=True, dump_to="EIPId"), + "TimeRange": fields.Int(required=True, dump_to="TimeRange"), + "EnableTime": fields.Int(required=False, dump_to="EnableTime"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class ResizeShareBandwidthResponseSchema(schema.ResponseSchema): - """ ResizeShareBandwidth - 调整共享带宽的带宽值 +class CreateBandwidthPackageResponseSchema(schema.ResponseSchema): + """ CreateBandwidthPackage - 为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 """ - fields = {} + fields = { + "BandwidthPackageId": fields.Str(required=False, load_from="BandwidthPackageId") + } """ -API: AllocateVIP +API: CreateFirewall -根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 +创建防火墙 """ -class AllocateVIPRequestSchema(schema.RequestSchema): - """ AllocateVIP - 根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 +class CreateFirewallRequestSchema(schema.RequestSchema): + """ CreateFirewall - 创建防火墙 """ fields = { - "SubnetId": fields.Str(required=True, dump_to="SubnetId"), + "Name": fields.Str(required=True, dump_to="Name"), "Tag": fields.Str(required=False, dump_to="Tag"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "VPCId": fields.Str(required=True, dump_to="VPCId"), - "Count": fields.Int(required=False, dump_to="Count"), - "Name": fields.Str(required=False, dump_to="Name"), "Remark": fields.Str(required=False, dump_to="Remark"), - "BusinessId": fields.Str(required=False, dump_to="BusinessId"), + "Rule": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class AllocateVIPResponseSchema(schema.ResponseSchema): - """ AllocateVIP - 根据提供信息,申请内网VIP(Virtual IP),多用于高可用程序作为漂移IP。 +class CreateFirewallResponseSchema(schema.ResponseSchema): + """ CreateFirewall - 创建防火墙 """ - fields = { - "VIPSet": fields.List( - models.VIPSetSchema(), required=False, load_from="VIPSet" - ), - "DataSet": fields.List(fields.Str(), required=False, load_from="DataSet"), - } + fields = {"FWId": fields.Str(required=False, load_from="FWId")} """ -API: CreateBandwidthPackage +API: DeleteBandwidthPackage -为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 +删除弹性IP上已附加带宽包 """ -class CreateBandwidthPackageRequestSchema(schema.RequestSchema): - """ CreateBandwidthPackage - 为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 +class DeleteBandwidthPackageRequestSchema(schema.RequestSchema): + """ DeleteBandwidthPackage - 删除弹性IP上已附加带宽包 """ fields = { - "EIPId": fields.Str(required=True, dump_to="EIPId"), - "TimeRange": fields.Int(required=True, dump_to="TimeRange"), - "EnableTime": fields.Int(required=False, dump_to="EnableTime"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), + "BandwidthPackageId": fields.Str(required=True, dump_to="BandwidthPackageId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), } -class CreateBandwidthPackageResponseSchema(schema.ResponseSchema): - """ CreateBandwidthPackage - 为非共享带宽模式下, 已绑定资源实例的带宽计费弹性IP附加临时带宽包 +class DeleteBandwidthPackageResponseSchema(schema.ResponseSchema): + """ DeleteBandwidthPackage - 删除弹性IP上已附加带宽包 """ - fields = { - "BandwidthPackageId": fields.Str(required=False, load_from="BandwidthPackageId") - } + fields = {} """ -API: UnBindEIP +API: DeleteFirewall -将弹性IP从资源上解绑 +删除防火墙 """ -class UnBindEIPRequestSchema(schema.RequestSchema): - """ UnBindEIP - 将弹性IP从资源上解绑 +class DeleteFirewallRequestSchema(schema.RequestSchema): + """ DeleteFirewall - 删除防火墙 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "EIPId": fields.Str(required=True, dump_to="EIPId"), - "ResourceType": fields.Str(required=True, dump_to="ResourceType"), - "ResourceId": fields.Str(required=True, dump_to="ResourceId"), + "FWId": fields.Str(required=True, dump_to="FWId"), } -class UnBindEIPResponseSchema(schema.ResponseSchema): - """ UnBindEIP - 将弹性IP从资源上解绑 +class DeleteFirewallResponseSchema(schema.ResponseSchema): + """ DeleteFirewall - 删除防火墙 """ fields = {} """ -API: DescribeFirewallResource +API: DescribeBandwidthPackage -获取防火墙组所绑定资源的外网IP +获取某地域下的带宽包信息 """ -class DescribeFirewallResourceRequestSchema(schema.RequestSchema): - """ DescribeFirewallResource - 获取防火墙组所绑定资源的外网IP +class DescribeBandwidthPackageRequestSchema(schema.RequestSchema): + """ DescribeBandwidthPackage - 获取某地域下的带宽包信息 """ fields = { - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "FWId": fields.Str(required=True, dump_to="FWId"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Int(required=False, dump_to="Offset"), } -class DescribeFirewallResourceResponseSchema(schema.ResponseSchema): - """ DescribeFirewallResource - 获取防火墙组所绑定资源的外网IP +class DescribeBandwidthPackageResponseSchema(schema.ResponseSchema): + """ DescribeBandwidthPackage - 获取某地域下的带宽包信息 """ fields = { - "ResourceSet": fields.List( - models.ResourceSetSchema(), required=False, load_from="ResourceSet" - ), "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSets": fields.List( + models.UnetBandwidthPackageSetSchema(), required=False, load_from="DataSets" + ), } """ -API: ModifyEIPBandwidth +API: DescribeBandwidthUsage -调整弹性IP的外网带宽 +获取带宽用量信息 """ -class ModifyEIPBandwidthRequestSchema(schema.RequestSchema): - """ ModifyEIPBandwidth - 调整弹性IP的外网带宽 +class DescribeBandwidthUsageRequestSchema(schema.RequestSchema): + """ DescribeBandwidthUsage - 获取带宽用量信息 """ fields = { + "EIPIds": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "EIPId": fields.Str(required=True, dump_to="EIPId"), - "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "OffSet": fields.Int(required=False, dump_to="OffSet"), } -class ModifyEIPBandwidthResponseSchema(schema.ResponseSchema): - """ ModifyEIPBandwidth - 调整弹性IP的外网带宽 +class DescribeBandwidthUsageResponseSchema(schema.ResponseSchema): + """ DescribeBandwidthUsage - 获取带宽用量信息 """ - fields = {} + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "EIPSet": fields.List( + models.UnetBandwidthUsageEIPSetSchema(), required=False, load_from="EIPSet" + ), + } """ -API: UpdateFirewall +API: DescribeEIP -更新防火墙规则 +获取弹性IP信息 """ -class UpdateFirewallRequestSchema(schema.RequestSchema): - """ UpdateFirewall - 更新防火墙规则 +class DescribeEIPRequestSchema(schema.RequestSchema): + """ DescribeEIP - 获取弹性IP信息 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "FWId": fields.Str(required=True, dump_to="FWId"), - "Rule": fields.List(fields.Str()), + "EIPIds": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), } -class UpdateFirewallResponseSchema(schema.ResponseSchema): - """ UpdateFirewall - 更新防火墙规则 +class DescribeEIPResponseSchema(schema.ResponseSchema): + """ DescribeEIP - 获取弹性IP信息 """ - fields = {"FWId": fields.Str(required=False, load_from="FWId")} + fields = { + "TotalBandwidth": fields.Int(required=False, load_from="TotalBandwidth"), + "EIPSet": fields.List( + models.UnetEIPSetSchema(), required=False, load_from="EIPSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } """ -API: UpdateFirewallAttribute +API: DescribeFirewall -更新防火墙规则 +获取防火墙组信息 """ -class UpdateFirewallAttributeRequestSchema(schema.RequestSchema): - """ UpdateFirewallAttribute - 更新防火墙规则 +class DescribeFirewallRequestSchema(schema.RequestSchema): + """ DescribeFirewall - 获取防火墙组信息 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "FWId": fields.Str(required=True, dump_to="FWId"), - "Name": fields.Str(required=False, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Remark": fields.Str(required=False, dump_to="Remark"), "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "FWId": fields.Str(required=False, dump_to="FWId"), + "ResourceType": fields.Str(required=False, dump_to="ResourceType"), + "ResourceId": fields.Str(required=False, dump_to="ResourceId"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Int(required=False, dump_to="Offset"), } -class UpdateFirewallAttributeResponseSchema(schema.ResponseSchema): - """ UpdateFirewallAttribute - 更新防火墙规则 +class DescribeFirewallResponseSchema(schema.ResponseSchema): + """ DescribeFirewall - 获取防火墙组信息 """ - fields = {} + fields = { + "DataSet": fields.List( + models.FirewallDataSetSchema(), required=False, load_from="DataSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } """ -API: DeleteFirewall +API: DescribeFirewallResource -删除防火墙 +获取防火墙组所绑定资源的外网IP """ -class DeleteFirewallRequestSchema(schema.RequestSchema): - """ DeleteFirewall - 删除防火墙 +class DescribeFirewallResourceRequestSchema(schema.RequestSchema): + """ DescribeFirewallResource - 获取防火墙组所绑定资源的外网IP """ fields = { "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "FWId": fields.Str(required=True, dump_to="FWId"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Int(required=False, dump_to="Offset"), } -class DeleteFirewallResponseSchema(schema.ResponseSchema): - """ DeleteFirewall - 删除防火墙 +class DescribeFirewallResourceResponseSchema(schema.ResponseSchema): + """ DescribeFirewallResource - 获取防火墙组所绑定资源的外网IP """ - fields = {} + fields = { + "ResourceSet": fields.List( + models.ResourceSetSchema(), required=False, load_from="ResourceSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } """ -API: GrantFirewall +API: DescribeShareBandwidth -将防火墙应用到资源上 +获取共享带宽信息 """ -class GrantFirewallRequestSchema(schema.RequestSchema): - """ GrantFirewall - 将防火墙应用到资源上 +class DescribeShareBandwidthRequestSchema(schema.RequestSchema): + """ DescribeShareBandwidth - 获取共享带宽信息 """ fields = { + "ShareBandwidthIds": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "FWId": fields.Str(required=True, dump_to="FWId"), - "ResourceType": fields.Str(required=True, dump_to="ResourceType"), - "ResourceId": fields.Str(required=True, dump_to="ResourceId"), } -class GrantFirewallResponseSchema(schema.ResponseSchema): - """ GrantFirewall - 将防火墙应用到资源上 +class DescribeShareBandwidthResponseSchema(schema.ResponseSchema): + """ DescribeShareBandwidth - 获取共享带宽信息 """ - fields = {} + fields = { + "DataSet": fields.List( + models.UnetShareBandwidthSetSchema(), required=False, load_from="DataSet" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } """ @@ -442,13 +479,13 @@ class DescribeVIPRequestSchema(schema.RequestSchema): """ fields = { + "Tag": fields.Str(required=False, dump_to="Tag"), "BusinessId": fields.Str(required=False, dump_to="BusinessId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "VPCId": fields.Str(required=False, dump_to="VPCId"), "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "Tag": fields.Str(required=False, dump_to="Tag"), } @@ -457,11 +494,11 @@ class DescribeVIPResponseSchema(schema.ResponseSchema): """ fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), "VIPSet": fields.List( models.VIPDetailSetSchema(), required=False, load_from="VIPSet" ), "DataSet": fields.List(fields.Str(), required=False, load_from="DataSet"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), } @@ -477,12 +514,12 @@ class DisassociateEIPWithShareBandwidthRequestSchema(schema.RequestSchema): """ fields = { + "PayMode": fields.Str(required=False, dump_to="PayMode"), + "EIPIds": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "ShareBandwidthId": fields.Str(required=True, dump_to="ShareBandwidthId"), "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), - "PayMode": fields.Str(required=False, dump_to="PayMode"), - "EIPIds": fields.List(fields.Str()), } @@ -494,93 +531,31 @@ class DisassociateEIPWithShareBandwidthResponseSchema(schema.ResponseSchema): """ -API: AssociateEIPWithShareBandwidth - -将EIP加入共享带宽 -""" - - -class AssociateEIPWithShareBandwidthRequestSchema(schema.RequestSchema): - """ AssociateEIPWithShareBandwidth - 将EIP加入共享带宽 - """ - - fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ShareBandwidthId": fields.Str(required=True, dump_to="ShareBandwidthId"), - "EIPIds": fields.List(fields.Str()), - } - - -class AssociateEIPWithShareBandwidthResponseSchema(schema.ResponseSchema): - """ AssociateEIPWithShareBandwidth - 将EIP加入共享带宽 - """ - - fields = {} - - -""" -API: DescribeBandwidthPackage - -获取某地域下的带宽包信息 -""" - - -class DescribeBandwidthPackageRequestSchema(schema.RequestSchema): - """ DescribeBandwidthPackage - 获取某地域下的带宽包信息 - """ - - fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), - } - - -class DescribeBandwidthPackageResponseSchema(schema.ResponseSchema): - """ DescribeBandwidthPackage - 获取某地域下的带宽包信息 - """ - - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "DataSets": fields.List( - models.UnetBandwidthPackageSetSchema(), required=False, load_from="DataSets" - ), - } - - -""" -API: DescribeFirewall +API: GetEIPPayMode -获取防火墙组信息 +获取弹性IP计费模式 """ -class DescribeFirewallRequestSchema(schema.RequestSchema): - """ DescribeFirewall - 获取防火墙组信息 +class GetEIPPayModeRequestSchema(schema.RequestSchema): + """ GetEIPPayMode - 获取弹性IP计费模式 """ fields = { - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "FWId": fields.Str(required=False, dump_to="FWId"), - "ResourceType": fields.Str(required=False, dump_to="ResourceType"), - "ResourceId": fields.Str(required=False, dump_to="ResourceId"), + "EIPId": fields.List(fields.Str()), } -class DescribeFirewallResponseSchema(schema.ResponseSchema): - """ DescribeFirewall - 获取防火墙组信息 +class GetEIPPayModeResponseSchema(schema.ResponseSchema): + """ GetEIPPayMode - 获取弹性IP计费模式 """ fields = { - "DataSet": fields.List( - models.FirewallDataSetSchema(), required=False, load_from="DataSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "EIPPayMode": fields.List( + models.EIPPayModeSetSchema(), required=False, load_from="EIPPayMode" + ) } @@ -596,13 +571,13 @@ class GetEIPPriceRequestSchema(schema.RequestSchema): """ fields = { - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "PayMode": fields.Str(required=False, dump_to="PayMode"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "OperatorName": fields.Str(required=True, dump_to="OperatorName"), "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "PayMode": fields.Str(required=False, dump_to="PayMode"), + "Quantity": fields.Int(required=False, dump_to="Quantity"), } @@ -629,10 +604,10 @@ class GetEIPUpgradePriceRequestSchema(schema.RequestSchema): """ fields = { - "EIPId": fields.Str(required=True, dump_to="EIPId"), "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "EIPId": fields.Str(required=True, dump_to="EIPId"), } @@ -644,195 +619,237 @@ class GetEIPUpgradePriceResponseSchema(schema.ResponseSchema): """ -API: BindEIP +API: GrantFirewall -将尚未使用的弹性IP绑定到指定的资源 +将防火墙应用到资源上 """ -class BindEIPRequestSchema(schema.RequestSchema): - """ BindEIP - 将尚未使用的弹性IP绑定到指定的资源 +class GrantFirewallRequestSchema(schema.RequestSchema): + """ GrantFirewall - 将防火墙应用到资源上 """ fields = { + "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "FWId": fields.Str(required=True, dump_to="FWId"), "ResourceType": fields.Str(required=True, dump_to="ResourceType"), "ResourceId": fields.Str(required=True, dump_to="ResourceId"), + } + + +class GrantFirewallResponseSchema(schema.ResponseSchema): + """ GrantFirewall - 将防火墙应用到资源上 + """ + + fields = {} + + +""" +API: ModifyEIPBandwidth + +调整弹性IP的外网带宽 +""" + + +class ModifyEIPBandwidthRequestSchema(schema.RequestSchema): + """ ModifyEIPBandwidth - 调整弹性IP的外网带宽 + """ + + fields = { "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "EIPId": fields.Str(required=True, dump_to="EIPId"), + "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), } -class BindEIPResponseSchema(schema.ResponseSchema): - """ BindEIP - 将尚未使用的弹性IP绑定到指定的资源 +class ModifyEIPBandwidthResponseSchema(schema.ResponseSchema): + """ ModifyEIPBandwidth - 调整弹性IP的外网带宽 """ fields = {} """ -API: CreateFirewall +API: ModifyEIPWeight -创建防火墙 +修改弹性IP的外网出口权重 """ -class CreateFirewallRequestSchema(schema.RequestSchema): - """ CreateFirewall - 创建防火墙 +class ModifyEIPWeightRequestSchema(schema.RequestSchema): + """ ModifyEIPWeight - 修改弹性IP的外网出口权重 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Name": fields.Str(required=True, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Remark": fields.Str(required=False, dump_to="Remark"), - "Rule": fields.List(fields.Str()), + "EIPId": fields.Str(required=True, dump_to="EIPId"), + "Weight": fields.Int(required=True, dump_to="Weight"), } -class CreateFirewallResponseSchema(schema.ResponseSchema): - """ CreateFirewall - 创建防火墙 +class ModifyEIPWeightResponseSchema(schema.ResponseSchema): + """ ModifyEIPWeight - 修改弹性IP的外网出口权重 """ - fields = {"FWId": fields.Str(required=False, load_from="FWId")} + fields = {} """ -API: DescribeShareBandwidth +API: ReleaseEIP -获取共享带宽信息 +释放弹性IP资源, 所释放弹性IP必须为非绑定状态. """ -class DescribeShareBandwidthRequestSchema(schema.RequestSchema): - """ DescribeShareBandwidth - 获取共享带宽信息 +class ReleaseEIPRequestSchema(schema.RequestSchema): + """ ReleaseEIP - 释放弹性IP资源, 所释放弹性IP必须为非绑定状态. """ fields = { "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ShareBandwidthIds": fields.List(fields.Str()), + "EIPId": fields.Str(required=True, dump_to="EIPId"), } -class DescribeShareBandwidthResponseSchema(schema.ResponseSchema): - """ DescribeShareBandwidth - 获取共享带宽信息 +class ReleaseEIPResponseSchema(schema.ResponseSchema): + """ ReleaseEIP - 释放弹性IP资源, 所释放弹性IP必须为非绑定状态. """ - fields = { - "DataSet": fields.List( - models.UnetShareBandwidthSetSchema(), required=False, load_from="DataSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } + fields = {} """ -API: ModifyEIPWeight +API: ReleaseShareBandwidth -修改弹性IP的外网出口权重 +关闭共享带宽 """ -class ModifyEIPWeightRequestSchema(schema.RequestSchema): - """ ModifyEIPWeight - 修改弹性IP的外网出口权重 +class ReleaseShareBandwidthRequestSchema(schema.RequestSchema): + """ ReleaseShareBandwidth - 关闭共享带宽 """ fields = { - "EIPId": fields.Str(required=True, dump_to="EIPId"), - "Weight": fields.Int(required=True, dump_to="Weight"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ShareBandwidthId": fields.Str(required=True, dump_to="ShareBandwidthId"), + "EIPBandwidth": fields.Int(required=True, dump_to="EIPBandwidth"), + "PayMode": fields.Str(required=False, dump_to="PayMode"), } -class ModifyEIPWeightResponseSchema(schema.ResponseSchema): - """ ModifyEIPWeight - 修改弹性IP的外网出口权重 +class ReleaseShareBandwidthResponseSchema(schema.ResponseSchema): + """ ReleaseShareBandwidth - 关闭共享带宽 """ fields = {} """ -API: DescribeBandwidthUsage +API: ReleaseVIP -获取带宽用量信息 +释放VIP资源 """ -class DescribeBandwidthUsageRequestSchema(schema.RequestSchema): - """ DescribeBandwidthUsage - 获取带宽用量信息 +class ReleaseVIPRequestSchema(schema.RequestSchema): + """ ReleaseVIP - 释放VIP资源 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "OffSet": fields.Int(required=False, dump_to="OffSet"), - "EIPIds": fields.List(fields.Str()), + "VIPId": fields.Str(required=True, dump_to="VIPId"), } -class DescribeBandwidthUsageResponseSchema(schema.ResponseSchema): - """ DescribeBandwidthUsage - 获取带宽用量信息 +class ReleaseVIPResponseSchema(schema.ResponseSchema): + """ ReleaseVIP - 释放VIP资源 + """ + + fields = {} + + +""" +API: ResizeShareBandwidth + +调整共享带宽的带宽值 +""" + + +class ResizeShareBandwidthRequestSchema(schema.RequestSchema): + """ ResizeShareBandwidth - 调整共享带宽的带宽值 """ fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "EIPSet": fields.List( - models.UnetBandwidthUsageEIPSetSchema(), required=False, load_from="EIPSet" - ), + "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ShareBandwidth": fields.Int(required=True, dump_to="ShareBandwidth"), + "ShareBandwidthId": fields.Str(required=True, dump_to="ShareBandwidthId"), } +class ResizeShareBandwidthResponseSchema(schema.ResponseSchema): + """ ResizeShareBandwidth - 调整共享带宽的带宽值 + """ + + fields = {} + + """ -API: ReleaseEIP +API: SetEIPPayMode -释放弹性IP资源, 所释放弹性IP必须为非绑定状态. +设置弹性IP计费模式, 切换时会涉及付费/退费. """ -class ReleaseEIPRequestSchema(schema.RequestSchema): - """ ReleaseEIP - 释放弹性IP资源, 所释放弹性IP必须为非绑定状态. +class SetEIPPayModeRequestSchema(schema.RequestSchema): + """ SetEIPPayMode - 设置弹性IP计费模式, 切换时会涉及付费/退费. """ fields = { - "EIPId": fields.Str(required=True, dump_to="EIPId"), + "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "EIPId": fields.Str(required=True, dump_to="EIPId"), + "PayMode": fields.Str(required=True, dump_to="PayMode"), } -class ReleaseEIPResponseSchema(schema.ResponseSchema): - """ ReleaseEIP - 释放弹性IP资源, 所释放弹性IP必须为非绑定状态. +class SetEIPPayModeResponseSchema(schema.ResponseSchema): + """ SetEIPPayMode - 设置弹性IP计费模式, 切换时会涉及付费/退费. """ fields = {} """ -API: ReleaseShareBandwidth +API: UnBindEIP -关闭共享带宽 +将弹性IP从资源上解绑 """ -class ReleaseShareBandwidthRequestSchema(schema.RequestSchema): - """ ReleaseShareBandwidth - 关闭共享带宽 +class UnBindEIPRequestSchema(schema.RequestSchema): + """ UnBindEIP - 将弹性IP从资源上解绑 """ fields = { + "EIPId": fields.Str(required=True, dump_to="EIPId"), + "ResourceType": fields.Str(required=True, dump_to="ResourceType"), + "ResourceId": fields.Str(required=True, dump_to="ResourceId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ShareBandwidthId": fields.Str(required=True, dump_to="ShareBandwidthId"), - "EIPBandwidth": fields.Int(required=True, dump_to="EIPBandwidth"), - "PayMode": fields.Str(required=False, dump_to="PayMode"), } -class ReleaseShareBandwidthResponseSchema(schema.ResponseSchema): - """ ReleaseShareBandwidth - 关闭共享带宽 +class UnBindEIPResponseSchema(schema.ResponseSchema): + """ UnBindEIP - 将弹性IP从资源上解绑 """ fields = {} @@ -850,12 +867,12 @@ class UpdateEIPAttributeRequestSchema(schema.RequestSchema): """ fields = { + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "EIPId": fields.Str(required=True, dump_to="EIPId"), "Name": fields.Str(required=False, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Remark": fields.Str(required=False, dump_to="Remark"), } @@ -867,71 +884,54 @@ class UpdateEIPAttributeResponseSchema(schema.ResponseSchema): """ -API: AllocateEIP +API: UpdateFirewall -根据提供信息, 申请弹性IP +更新防火墙规则 """ -class AllocateEIPRequestSchema(schema.RequestSchema): - """ AllocateEIP - 根据提供信息, 申请弹性IP +class UpdateFirewallRequestSchema(schema.RequestSchema): + """ UpdateFirewall - 更新防火墙规则 """ fields = { - "PayMode": fields.Str(required=False, dump_to="PayMode"), + "Rule": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Bandwidth": fields.Int(required=True, dump_to="Bandwidth"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "Name": fields.Str(required=False, dump_to="Name"), - "Remark": fields.Str(required=False, dump_to="Remark"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "OperatorName": fields.Str(required=True, dump_to="OperatorName"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "ShareBandwidthId": fields.Str(required=False, dump_to="ShareBandwidthId"), + "FWId": fields.Str(required=True, dump_to="FWId"), } -class AllocateEIPResponseSchema(schema.ResponseSchema): - """ AllocateEIP - 根据提供信息, 申请弹性IP +class UpdateFirewallResponseSchema(schema.ResponseSchema): + """ UpdateFirewall - 更新防火墙规则 """ - fields = { - "EIPSet": fields.List( - models.UnetAllocateEIPSetSchema(), required=False, load_from="EIPSet" - ) - } + fields = {"FWId": fields.Str(required=False, load_from="FWId")} """ -API: AllocateShareBandwidth +API: UpdateFirewallAttribute -开通共享带宽 +更新防火墙规则 """ -class AllocateShareBandwidthRequestSchema(schema.RequestSchema): - """ AllocateShareBandwidth - 开通共享带宽 +class UpdateFirewallAttributeRequestSchema(schema.RequestSchema): + """ UpdateFirewallAttribute - 更新防火墙规则 """ fields = { + "FWId": fields.Str(required=True, dump_to="FWId"), + "Name": fields.Str(required=False, dump_to="Name"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Name": fields.Str(required=True, dump_to="Name"), - "ChargeType": fields.Str(required=True, dump_to="ChargeType"), - "ShareBandwidth": fields.Int(required=True, dump_to="ShareBandwidth"), - "Quantity": fields.Int(required=False, dump_to="Quantity"), - "ShareBandwidthGuarantee": fields.Int( - required=False, dump_to="ShareBandwidthGuarantee" - ), } -class AllocateShareBandwidthResponseSchema(schema.ResponseSchema): - """ AllocateShareBandwidth - 开通共享带宽 +class UpdateFirewallAttributeResponseSchema(schema.ResponseSchema): + """ UpdateFirewallAttribute - 更新防火墙规则 """ - fields = { - "ShareBandwidthId": fields.Str(required=False, load_from="ShareBandwidthId") - } + fields = {} diff --git a/ucloud/services/unet/schemas/models.py b/ucloud/services/unet/schemas/models.py index bb43b30..3a81967 100644 --- a/ucloud/services/unet/schemas/models.py +++ b/ucloud/services/unet/schemas/models.py @@ -3,30 +3,34 @@ from ucloud.core.typesystem import schema, fields -class VIPSetSchema(schema.ResponseSchema): - """ VIPSet - VIPSet +class UnetEIPAddrSetSchema(schema.ResponseSchema): + """ UnetEIPAddrSet - DescribeEIP """ fields = { - "VIP": fields.Str(required=False, load_from="VIP"), - "VIPId": fields.Str(required=False, load_from="VIPId"), - "VPCId": fields.Str(required=False, load_from="VPCId"), + "OperatorName": fields.Str(required=False, load_from="OperatorName"), + "IP": fields.Str(required=False, load_from="IP"), } -class ResourceSetSchema(schema.ResponseSchema): - """ ResourceSet - 资源信息 +class UnetAllocateEIPSetSchema(schema.ResponseSchema): + """ UnetAllocateEIPSet - AllocateEIP """ fields = { - "ResourceType": fields.Str(required=False, load_from="ResourceType"), - "Status": fields.Int(required=False, load_from="Status"), - "Tag": fields.Str(required=False, load_from="Tag"), - "Zone": fields.Int(required=False, load_from="Zone"), - "Name": fields.Str(required=False, load_from="Name"), - "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), - "Remark": fields.Str(required=False, load_from="Remark"), - "ResourceID": fields.Str(required=False, load_from="ResourceID"), + "EIPId": fields.Str(required=False, load_from="EIPId"), + "EIPAddr": fields.List(UnetEIPAddrSetSchema()), + } + + +class VIPSetSchema(schema.ResponseSchema): + """ VIPSet - VIPSet + """ + + fields = { + "VIP": fields.Str(required=False, load_from="VIP"), + "VIPId": fields.Str(required=False, load_from="VIPId"), + "VPCId": fields.Str(required=False, load_from="VPCId"), } @@ -40,48 +44,81 @@ class EIPAddrSetSchema(schema.ResponseSchema): } -class EIPSetDataSchema(schema.ResponseSchema): - """ EIPSetData - describeShareBandwidth +class UnetBandwidthPackageSetSchema(schema.ResponseSchema): + """ UnetBandwidthPackageSet - DescribeBandwidthPackage """ fields = { - "EIPId": fields.Str(required=False, load_from="EIPId"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), + "EIPId": fields.Str(required=False, load_from="EIPId"), "EIPAddr": fields.List(EIPAddrSetSchema()), + "BandwidthPackageId": fields.Str( + required=False, load_from="BandwidthPackageId" + ), + "EnableTime": fields.Int(required=False, load_from="EnableTime"), + "DisableTime": fields.Int(required=False, load_from="DisableTime"), } -class UnetShareBandwidthSetSchema(schema.ResponseSchema): - """ UnetShareBandwidthSet - DescribeShareBandwidth +class UnetBandwidthUsageEIPSetSchema(schema.ResponseSchema): + """ UnetBandwidthUsageEIPSet - DescribeBandwidthUsage + """ + + fields = { + "CurBandwidth": fields.Float(required=False, load_from="CurBandwidth"), + "EIPId": fields.Str(required=False, load_from="EIPId"), + } + + +class UnetEIPResourceSetSchema(schema.ResponseSchema): + """ UnetEIPResourceSet - DescribeEIP + """ + + fields = { + "ResourceName": fields.Str(required=False, load_from="ResourceName"), + "ResourceId": fields.Str(required=False, load_from="ResourceId"), + "SubResourceType": fields.Str(required=False, load_from="SubResourceType"), + "SubResourceName": fields.Str(required=False, load_from="SubResourceName"), + "SubResourceId": fields.Str(required=False, load_from="SubResourceId"), + "EIPId": fields.Str(required=False, load_from="EIPId"), + "ResourceType": fields.Str(required=False, load_from="ResourceType"), + } + + +class ShareBandwidthSetSchema(schema.ResponseSchema): + """ ShareBandwidthSet - DescribeEIP """ fields = { "ShareBandwidthId": fields.Str(required=False, load_from="ShareBandwidthId"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), - "EIPSet": fields.List(EIPSetDataSchema()), - "BandwidthGuarantee": fields.Int( - required=False, load_from="BandwidthGuarantee" - ), - "Name": fields.Str(required=False, load_from="Name"), "ShareBandwidth": fields.Int(required=False, load_from="ShareBandwidth"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "PostPayStartTime": fields.Int(required=False, load_from="PostPayStartTime"), + "ShareBandwidthName": fields.Str( + required=False, load_from="ShareBandwidthName" + ), } -class VIPDetailSetSchema(schema.ResponseSchema): - """ VIPDetailSet - VIPDetailSet +class UnetEIPSetSchema(schema.ResponseSchema): + """ UnetEIPSet - DescribeEIP """ fields = { - "RealIp": fields.Str(required=False, load_from="RealIp"), - "VIP": fields.Str(required=False, load_from="VIP"), - "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "VPCId": fields.Str(required=False, load_from="VPCId"), + "Resource": UnetEIPResourceSetSchema, + "PayMode": fields.Str(required=False, load_from="PayMode"), + "EIPId": fields.Str(required=False, load_from="EIPId"), + "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), + "Status": fields.Str(required=False, load_from="Status"), + "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), + "Remark": fields.Str(required=False, load_from="Remark"), + "BandwidthType": fields.Int(required=False, load_from="BandwidthType"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "EIPAddr": fields.List(UnetEIPAddrSetSchema()), "Name": fields.Str(required=False, load_from="Name"), - "Zone": fields.Str(required=False, load_from="Zone"), - "VIPId": fields.Str(required=False, load_from="VIPId"), + "Tag": fields.Str(required=False, load_from="Tag"), + "Expire": fields.Bool(required=False, load_from="Expire"), + "Weight": fields.Int(required=False, load_from="Weight"), + "ShareBandwidthSet": ShareBandwidthSetSchema, "CreateTime": fields.Int(required=False, load_from="CreateTime"), } @@ -91,12 +128,12 @@ class FirewallRuleSetSchema(schema.ResponseSchema): """ fields = { - "DstPort": fields.Str(required=False, load_from="DstPort"), - "RuleAction": fields.Str(required=False, load_from="RuleAction"), - "Remark": fields.Str(required=False, load_from="Remark"), "SrcIP": fields.Str(required=False, load_from="SrcIP"), "Priority": fields.Str(required=False, load_from="Priority"), "ProtocolType": fields.Str(required=False, load_from="ProtocolType"), + "DstPort": fields.Str(required=False, load_from="DstPort"), + "RuleAction": fields.Str(required=False, load_from="RuleAction"), + "Remark": fields.Str(required=False, load_from="Remark"), } @@ -105,124 +142,87 @@ class FirewallDataSetSchema(schema.ResponseSchema): """ fields = { - "ResourceCount": fields.Int(required=False, load_from="ResourceCount"), - "Name": fields.Str(required=False, load_from="Name"), "Tag": fields.Str(required=False, load_from="Tag"), - "Remark": fields.Str(required=False, load_from="Remark"), + "ResourceCount": fields.Int(required=False, load_from="ResourceCount"), "CreateTime": fields.Int(required=False, load_from="CreateTime"), "Type": fields.Str(required=False, load_from="Type"), "Rule": fields.List(FirewallRuleSetSchema()), "FWId": fields.Str(required=True, load_from="FWId"), "GroupId": fields.Str(required=True, load_from="GroupId"), + "Name": fields.Str(required=False, load_from="Name"), + "Remark": fields.Str(required=False, load_from="Remark"), } -class EIPPayModeSetSchema(schema.ResponseSchema): - """ EIPPayModeSet - GetEIPPayModeEIP +class ResourceSetSchema(schema.ResponseSchema): + """ ResourceSet - 资源信息 """ fields = { - "EIPId": fields.Str(required=False, load_from="EIPId"), - "EIPPayMode": fields.Str(required=False, load_from="EIPPayMode"), + "ResourceType": fields.Str(required=False, load_from="ResourceType"), + "Status": fields.Int(required=False, load_from="Status"), + "Tag": fields.Str(required=False, load_from="Tag"), + "Zone": fields.Int(required=False, load_from="Zone"), + "Name": fields.Str(required=False, load_from="Name"), + "PrivateIP": fields.Str(required=False, load_from="PrivateIP"), + "Remark": fields.Str(required=False, load_from="Remark"), + "ResourceID": fields.Str(required=False, load_from="ResourceID"), } -class UnetBandwidthPackageSetSchema(schema.ResponseSchema): - """ UnetBandwidthPackageSet - DescribeBandwidthPackage +class EIPSetDataSchema(schema.ResponseSchema): + """ EIPSetData - describeShareBandwidth """ fields = { - "BandwidthPackageId": fields.Str( - required=False, load_from="BandwidthPackageId" - ), - "EnableTime": fields.Int(required=False, load_from="EnableTime"), - "DisableTime": fields.Int(required=False, load_from="DisableTime"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), - "EIPId": fields.Str(required=False, load_from="EIPId"), "EIPAddr": fields.List(EIPAddrSetSchema()), - } - - -class UnetBandwidthUsageEIPSetSchema(schema.ResponseSchema): - """ UnetBandwidthUsageEIPSet - DescribeBandwidthUsage - """ - - fields = { "EIPId": fields.Str(required=False, load_from="EIPId"), - "CurBandwidth": fields.Float(required=False, load_from="CurBandwidth"), } -class UnetEIPAddrSetSchema(schema.ResponseSchema): - """ UnetEIPAddrSet - DescribeEIP - """ - - fields = { - "OperatorName": fields.Str(required=False, load_from="OperatorName"), - "IP": fields.Str(required=False, load_from="IP"), - } - - -class UnetAllocateEIPSetSchema(schema.ResponseSchema): - """ UnetAllocateEIPSet - AllocateEIP - """ - - fields = { - "EIPId": fields.Str(required=False, load_from="EIPId"), - "EIPAddr": fields.List(UnetEIPAddrSetSchema()), - } - - -class ShareBandwidthSetSchema(schema.ResponseSchema): - """ ShareBandwidthSet - DescribeEIP +class UnetShareBandwidthSetSchema(schema.ResponseSchema): + """ UnetShareBandwidthSet - DescribeShareBandwidth """ fields = { + "ShareBandwidthId": fields.Str(required=False, load_from="ShareBandwidthId"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), "ShareBandwidth": fields.Int(required=False, load_from="ShareBandwidth"), - "ShareBandwidthName": fields.Str( - required=False, load_from="ShareBandwidthName" + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "EIPSet": fields.List(EIPSetDataSchema()), + "BandwidthGuarantee": fields.Int( + required=False, load_from="BandwidthGuarantee" ), - "ShareBandwidthId": fields.Str(required=False, load_from="ShareBandwidthId"), + "PostPayStartTime": fields.Int(required=False, load_from="PostPayStartTime"), + "Name": fields.Str(required=False, load_from="Name"), } -class UnetEIPResourceSetSchema(schema.ResponseSchema): - """ UnetEIPResourceSet - DescribeEIP +class VIPDetailSetSchema(schema.ResponseSchema): + """ VIPDetailSet - VIPDetailSet """ fields = { - "SubResourceName": fields.Str(required=False, load_from="SubResourceName"), - "SubResourceId": fields.Str(required=False, load_from="SubResourceId"), - "EIPId": fields.Str(required=False, load_from="EIPId"), - "ResourceType": fields.Str(required=False, load_from="ResourceType"), - "ResourceName": fields.Str(required=False, load_from="ResourceName"), - "ResourceId": fields.Str(required=False, load_from="ResourceId"), - "SubResourceType": fields.Str(required=False, load_from="SubResourceType"), + "RealIp": fields.Str(required=False, load_from="RealIp"), + "VIP": fields.Str(required=False, load_from="VIP"), + "SubnetId": fields.Str(required=False, load_from="SubnetId"), + "VPCId": fields.Str(required=False, load_from="VPCId"), + "Name": fields.Str(required=False, load_from="Name"), + "Zone": fields.Str(required=False, load_from="Zone"), + "VIPId": fields.Str(required=False, load_from="VIPId"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), } -class UnetEIPSetSchema(schema.ResponseSchema): - """ UnetEIPSet - DescribeEIP +class EIPPayModeSetSchema(schema.ResponseSchema): + """ EIPPayModeSet - GetEIPPayModeEIP """ fields = { - "BandwidthType": fields.Int(required=False, load_from="BandwidthType"), - "ShareBandwidthSet": ShareBandwidthSetSchema, - "Expire": fields.Bool(required=False, load_from="Expire"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "EIPAddr": fields.List(UnetEIPAddrSetSchema()), - "Name": fields.Str(required=False, load_from="Name"), - "Remark": fields.Str(required=False, load_from="Remark"), - "Weight": fields.Int(required=False, load_from="Weight"), - "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), - "Tag": fields.Str(required=False, load_from="Tag"), "EIPId": fields.Str(required=False, load_from="EIPId"), - "Status": fields.Str(required=False, load_from="Status"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), - "Resource": UnetEIPResourceSetSchema, - "PayMode": fields.Str(required=False, load_from="PayMode"), + "EIPPayMode": fields.Str(required=False, load_from="EIPPayMode"), } @@ -231,7 +231,7 @@ class EIPPriceDetailSetSchema(schema.ResponseSchema): """ fields = { + "ChargeType": fields.Str(required=False, load_from="ChargeType"), "Price": fields.Float(required=False, load_from="Price"), "PurchaseValue": fields.Int(required=False, load_from="PurchaseValue"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), } diff --git a/ucloud/services/uphost/client.py b/ucloud/services/uphost/client.py index 7234d04..1f2a7ce 100644 --- a/ucloud/services/uphost/client.py +++ b/ucloud/services/uphost/client.py @@ -8,30 +8,112 @@ class UPHostClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(UPHostClient, self).__init__(config, transport, middleware, logger) - def terminate_phost(self, req=None, **kwargs): - """ TerminatePHost - 删除物理云主机 + def create_phost(self, req=None, **kwargs): + """ CreatePHost - 指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param PHostId: (Required) PHost资源ID - :param ReleaseEIP: (Optional) 是否释放绑定的EIP。true: 解绑EIP后,并释放;其他值或不填:解绑EIP。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ImageId** (str) - (Required) 镜像ID。 请通过 [DescribePHostImage]获取 + - **Password** (str) - (Required) 密码(密码需使用base64进行编码) + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ChargeType** (str) - 计费模式,枚举值为:year, 按年付费; month,按月付费;dynamic,按需付费,(需开启权限) trial, 试用(需开启权限)。默认为按月付费 + - **Cluster** (str) - 网络环境,可选千兆:1G ,万兆:10G, 默认1G + - **Count** (int) - 购买数量,默认为1,(暂不支持) + - **CouponId** (str) - 代金券 + - **Name** (str) - 物理机名称,默认为phost + - **Quantity** (str) - 购买时长,默认为1,范围[1-10] + - **Raid** (str) - Raid配置,默认Raid10 支持:Raid0、Raid1、Raid5、Raid10,NoRaid + - **Remark** (str) - 物理机备注,默认为空 + - **SecurityGroupId** (str) - 防火墙Id,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 `DescribeSecurityGroup `_ + - **SubnetId** (str) - 子网ID,不填为默认,VPC2.0下需要填写此字段。 + - **Tag** (str) - 业务组,默认为default + - **Type** (str) - 物理机类型,默认为:db-2(基础型-SAS-V3) + - **VPCId** (str) - VPC ID,不填为默认,VPC2.0下需要填写此字段。 + + **Response** + + - **PHostId** (list) - PHost的资源ID数组 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.TerminatePHostRequestSchema().dumps(d) - resp = self.invoke("TerminatePHost", d, **kwargs) - return apis.TerminatePHostResponseSchema().loads(resp) + d = apis.CreatePHostRequestSchema().dumps(d) + resp = self.invoke("CreatePHost", d, **kwargs) + return apis.CreatePHostResponseSchema().loads(resp) def describe_phost(self, req=None, **kwargs): """ DescribePHost - 获取物理机详细信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Optional) 返回数据长度,默认为20 - :param Offset: (Optional) 数据偏移量,默认为0 - :param PHostId: (Optional) PHost资源ID,若为空,则返回当前Region所有PHost。 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - 返回数据长度,默认为20 + - **Offset** (int) - 数据偏移量,默认为0 + - **PHostId** (list) - PHost资源ID,若为空,则返回当前Region所有PHost。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TotalCount** (int) - 满足条件的PHost总数 + - **PHostSet** (list) - 见 **PHostSet** 模型定义 + + **Response Model** + + **PHostCPUSet** + + - **Count** (int) - CPU个数 + - **CoreCount** (int) - CPU核数 + - **Model** (str) - CPU型号 + - **Frequence** (float) - CPU主频 + + **PHostIPSet** + + - **MACAddr** (str) - MAC地址 + - **Bandwidth** (int) - IP对应带宽,单位Mb,内网IP不显示带宽信息 + - **SubnetId** (str) - 子网ID + - **VPCId** (str) - VPC ID + - **OperatorName** (str) - 国际: Internation, BGP: BGP, 内网: Private + - **IPId** (str) - IP资源ID(内网IP无资源ID)(待废弃) + - **IPAddr** (str) - IP地址, + + **PHostDiskSet** + + - **Space** (int) - 单盘大小,单位GB + - **Count** (int) - 磁盘数量 + - **Type** (str) - 磁盘属性 + - **Name** (str) - 磁盘名称,sys/data + - **IOCap** (int) - 磁盘IO性能,单位MB/s(待废弃) + + **PHostSet** + + - **SN** (str) - 物理机序列号 + - **Remark** (str) - 物理机备注 + - **Tag** (str) - 业务组 + - **PowerState** (str) - 电源状态,on 或 off + - **PHostType** (str) - 物理机类型,参见DescribePHostMachineType返回值 + - **Cluster** (str) - 网络环境。枚举值:千兆:1G ,万兆:10G + - **IsSupportKVM** (str) - 是否支持紧急登录 + - **CreateTime** (int) - 创建时间 + - **ExpireTime** (int) - 到期时间 + - **Memory** (int) - 内存大小,单位:MB + - **DiskSet** (list) - 见 **PHostDiskSet** 模型定义 + - **Components** (str) - 组件信息(暂不支持) + - **RaidSupported** (str) - 是否支持Raid。枚举值:Yes:支持;No:不支持。 + - **Zone** (str) - 可用区,参见 `可用区列表 `_ + - **PMStatus** (str) - 物理云主机状态。枚举值:\\ > 初始化:Initializing; \\ > 启动中:Starting; \\ > 运行中:Running;\\ > 关机中:Stopping; \\ > 安装失败:InstallFailed; \\ > 重启中:Rebooting;\\ > 关机:Stopped; + - **OSname** (str) - 操作系统名称 + - **IPSet** (list) - 见 **PHostIPSet** 模型定义 + - **AutoRenew** (str) - 自动续费 + - **PHostId** (str) - PHost资源ID + - **Name** (str) - 物理机名称 + - **ImageName** (str) - 镜像名称 + - **ChargeType** (str) - 计费模式,枚举值为: Year,按年付费; Month,按月付费; Dynamic,按需付费(需开启权限); Trial,试用(需开启权限)默认为月付 + - **CPUSet** (list) - 见 **PHostCPUSet** 模型定义 + - **OSType** (str) - 操作系统类型 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -39,58 +121,117 @@ def describe_phost(self, req=None, **kwargs): resp = self.invoke("DescribePHost", d, **kwargs) return apis.DescribePHostResponseSchema().loads(resp) - def poweroff_phost(self, req=None, **kwargs): - """ PoweroffPHost - 断电物理云主机 + def describe_phost_image(self, req=None, **kwargs): + """ DescribePHostImage - 获取物理云主机镜像列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ImageId** (list) - 镜像ID + - **ImageType** (str) - 镜像类别,枚举为:Base,标准镜像;默认为标准镜像。 + - **Limit** (int) - 返回数据长度,默认为20 + - **Offset** (int) - 数据偏移量,默认为0 + + **Response** + + - **TotalCount** (int) - 满足条件的镜像总数 + - **ImageSet** (list) - 见 **PHostImageSet** 模型定义 + + **Response Model** + + **PHostImageSet** + + - **ImageId** (str) - 镜像ID + - **ImageName** (str) - 镜像名称 + - **OsName** (str) - 操作系统名称 + - **OsType** (str) - 操作系统类型 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param PHostId: (Required) PHost资源ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.PoweroffPHostRequestSchema().dumps(d) - resp = self.invoke("PoweroffPHost", d, **kwargs) - return apis.PoweroffPHostResponseSchema().loads(resp) + d = apis.DescribePHostImageRequestSchema().dumps(d) + resp = self.invoke("DescribePHostImage", d, **kwargs) + return apis.DescribePHostImageResponseSchema().loads(resp) - def reboot_phost(self, req=None, **kwargs): - """ RebootPHost - 重启物理机 + def describe_phost_tags(self, req=None, **kwargs): + """ DescribePHostTags - 获取物理机tag列表(业务组) + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **TotalCount** (int) - Tag的个数 + - **TagSet** (list) - 见 **PHostTagSet** 模型定义 + + **Response Model** + + **PHostTagSet** + + - **Tag** (str) - 业务组名称 + - **TotalCount** (int) - 该业务组中包含的主机个数 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param PHostId: (Required) PHost资源ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.RebootPHostRequestSchema().dumps(d) - resp = self.invoke("RebootPHost", d, **kwargs) - return apis.RebootPHostResponseSchema().loads(resp) + d = apis.DescribePHostTagsRequestSchema().dumps(d) + resp = self.invoke("DescribePHostTags", d, **kwargs) + return apis.DescribePHostTagsResponseSchema().loads(resp) - def start_phost(self, req=None, **kwargs): - """ StartPHost - 启动物理机 + def get_phost_price(self, req=None, **kwargs): + """ GetPHostPrice - 获取物理机价格列表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ChargeType** (str) - (Required) 计费模式,枚举值为: Year/Month/Trial/Dynamic + - **Count** (int) - (Required) 购买数量,范围[1-5] + - **Quantity** (int) - (Required) 购买时长,1-10个月或1-10年 + - **Cluster** (str) - 网络环境,可选千兆:1G ,万兆:10G + - **Type** (str) - 默认为:DB(数据库型) + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **PriceSet** (list) - 见 **PHostPriceSet** 模型定义 + + **Response Model** + + **PHostPriceSet** + + - **Price** (float) - 价格, 单位:元, 保留小数点后两位有效数字 + - **ChargeType** (str) - Year/Month/Trial/Dynamic - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param PHostId: (Required) PHost资源ID - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.StartPHostRequestSchema().dumps(d) - resp = self.invoke("StartPHost", d, **kwargs) - return apis.StartPHostResponseSchema().loads(resp) + d = apis.GetPHostPriceRequestSchema().dumps(d) + resp = self.invoke("GetPHostPrice", d, **kwargs) + return apis.GetPHostPriceResponseSchema().loads(resp) def modify_phost_info(self, req=None, **kwargs): """ ModifyPHostInfo - 更改物理机信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param PHostId: (Required) 物理机资源ID - :param Name: (Optional) 物理机名称,默认不更改 - :param Remark: (Optional) 物理机备注,默认不更改 - :param Tag: (Optional) 业务组,默认不更改 - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **PHostId** (str) - (Required) 物理机资源ID + - **Name** (str) - 物理机名称,默认不更改 + - **Remark** (str) - 物理机备注,默认不更改 + - **Tag** (str) - 业务组,默认不更改 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **PHostId** (str) - PHost 的资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -98,99 +239,115 @@ def modify_phost_info(self, req=None, **kwargs): resp = self.invoke("ModifyPHostInfo", d, **kwargs) return apis.ModifyPHostInfoResponseSchema().loads(resp) - def reinstall_phost(self, req=None, **kwargs): - """ ReinstallPHost - 重装物理机操作系统 + def poweroff_phost(self, req=None, **kwargs): + """ PoweroffPHost - 断电物理云主机 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param PHostId: (Required) PHost资源ID - :param Password: (Required) 密码 - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ImageId: (Optional) 镜像Id,参考镜像列表,默认使用原镜像 - :param Name: (Optional) 物理机名称,默认不更改 - :param Raid: (Optional) 不保留数据盘重装,可选Raid - :param Remark: (Optional) 物理机备注,默认为不更改。 - :param ReserveDisk: (Optional) 是否保留数据盘,保留:Yes,不报留:No, 默认:Yes - :param Tag: (Optional) 业务组,默认不更改。 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **PHostId** (str) - (Required) PHost资源ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **PHostId** (str) - PHost 的资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.ReinstallPHostRequestSchema().dumps(d) - resp = self.invoke("ReinstallPHost", d, **kwargs) - return apis.ReinstallPHostResponseSchema().loads(resp) + d = apis.PoweroffPHostRequestSchema().dumps(d) + resp = self.invoke("PoweroffPHost", d, **kwargs) + return apis.PoweroffPHostResponseSchema().loads(resp) - def create_phost(self, req=None, **kwargs): - """ CreatePHost - 指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 + def reboot_phost(self, req=None, **kwargs): + """ RebootPHost - 重启物理机 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ImageId: (Required) 镜像ID。 请通过 [DescribePHostImage]获取 - :param Password: (Required) 密码(密码需使用base64进行编码) - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ChargeType: (Optional) 计费模式,枚举值为:year, 按年付费; month,按月付费;dynamic,按需付费,(需开启权限) trial, 试用(需开启权限)。默认为按月付费 - :param Cluster: (Optional) 网络环境,可选千兆:1G ,万兆:10G, 默认1G - :param Count: (Optional) 购买数量,默认为1,(暂不支持) - :param CouponId: (Optional) 代金券 - :param Name: (Optional) 物理机名称,默认为phost - :param Quantity: (Optional) 购买时长,默认为1,范围[1-10] - :param Raid: (Optional) Raid配置,默认Raid10 支持:Raid0、Raid1、Raid5、Raid10,NoRaid - :param Remark: (Optional) 物理机备注,默认为空 - :param SecurityGroupId: (Optional) 防火墙Id,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 [DescribeSecurityGroup](../unet-api/describe_security_group.html) - :param SubnetId: (Optional) 子网ID,不填为默认,VPC2.0下需要填写此字段。 - :param Tag: (Optional) 业务组,默认为default - :param Type: (Optional) 物理机类型,默认为:db-2(基础型-SAS-V3) - :param VPCId: (Optional) VPC ID,不填为默认,VPC2.0下需要填写此字段。 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **PHostId** (str) - (Required) PHost资源ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **PHostId** (str) - PHost 的资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreatePHostRequestSchema().dumps(d) - resp = self.invoke("CreatePHost", d, **kwargs) - return apis.CreatePHostResponseSchema().loads(resp) + d = apis.RebootPHostRequestSchema().dumps(d) + resp = self.invoke("RebootPHost", d, **kwargs) + return apis.RebootPHostResponseSchema().loads(resp) - def describe_phost_image(self, req=None, **kwargs): - """ DescribePHostImage - 获取物理云主机镜像列表 + def reinstall_phost(self, req=None, **kwargs): + """ ReinstallPHost - 重装物理机操作系统 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Zone: (Required) 可用区。参见 [可用区列表](../summary/regionlist.html) - :param ImageId: (Optional) 镜像ID - :param ImageType: (Optional) 镜像类别,枚举为:Base,标准镜像;默认为标准镜像。 - :param Limit: (Optional) 返回数据长度,默认为20 - :param Offset: (Optional) 数据偏移量,默认为0 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **PHostId** (str) - (Required) PHost资源ID + - **Password** (str) - (Required) 密码 + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **ImageId** (str) - 镜像Id,参考镜像列表,默认使用原镜像 + - **Name** (str) - 物理机名称,默认不更改 + - **Raid** (str) - 不保留数据盘重装,可选Raid + - **Remark** (str) - 物理机备注,默认为不更改。 + - **ReserveDisk** (str) - 是否保留数据盘,保留:Yes,不报留:No, 默认:Yes + - **Tag** (str) - 业务组,默认不更改。 + + **Response** + + - **PHostId** (str) - PHost 的资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribePHostImageRequestSchema().dumps(d) - resp = self.invoke("DescribePHostImage", d, **kwargs) - return apis.DescribePHostImageResponseSchema().loads(resp) + d = apis.ReinstallPHostRequestSchema().dumps(d) + resp = self.invoke("ReinstallPHost", d, **kwargs) + return apis.ReinstallPHostResponseSchema().loads(resp) - def describe_phost_tags(self, req=None, **kwargs): - """ DescribePHostTags - 获取物理机tag列表(业务组) + def start_phost(self, req=None, **kwargs): + """ StartPHost - 启动物理机 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **PHostId** (str) - (Required) PHost资源ID + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **PHostId** (str) - PHost 的资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DescribePHostTagsRequestSchema().dumps(d) - resp = self.invoke("DescribePHostTags", d, **kwargs) - return apis.DescribePHostTagsResponseSchema().loads(resp) + d = apis.StartPHostRequestSchema().dumps(d) + resp = self.invoke("StartPHost", d, **kwargs) + return apis.StartPHostResponseSchema().loads(resp) - def get_phost_price(self, req=None, **kwargs): - """ GetPHostPrice - 获取物理机价格列表 + def terminate_phost(self, req=None, **kwargs): + """ TerminatePHost - 删除物理云主机 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param ChargeType: (Required) 计费模式,枚举值为: Year/Month/Trial/Dynamic - :param Count: (Required) 购买数量,范围[1-5] - :param Quantity: (Required) 购买时长,1-10个月或1-10年 - :param Cluster: (Optional) 网络环境,可选千兆:1G ,万兆:10G - :param Type: (Optional) 默认为:DB(数据库型) - :param Zone: (Optional) 可用区。参见 [可用区列表](../summary/regionlist.html) + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **PHostId** (str) - (Required) PHost资源ID + - **ReleaseEIP** (bool) - 是否释放绑定的EIP。true: 解绑EIP后,并释放;其他值或不填:解绑EIP。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + + **Response** + + - **PHostId** (str) - PHost 的资源ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.GetPHostPriceRequestSchema().dumps(d) - resp = self.invoke("GetPHostPrice", d, **kwargs) - return apis.GetPHostPriceResponseSchema().loads(resp) + d = apis.TerminatePHostRequestSchema().dumps(d) + resp = self.invoke("TerminatePHost", d, **kwargs) + return apis.TerminatePHostResponseSchema().loads(resp) diff --git a/ucloud/services/uphost/schemas/apis.py b/ucloud/services/uphost/schemas/apis.py index b52d5ab..11d3445 100644 --- a/ucloud/services/uphost/schemas/apis.py +++ b/ucloud/services/uphost/schemas/apis.py @@ -6,160 +6,78 @@ """ UPHost API Schema """ """ -API: ModifyPHostInfo - -更改物理机信息 -""" - - -class ModifyPHostInfoRequestSchema(schema.RequestSchema): - """ ModifyPHostInfo - 更改物理机信息 - """ - - fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "PHostId": fields.Str(required=True, dump_to="PHostId"), - "Name": fields.Str(required=False, dump_to="Name"), - "Remark": fields.Str(required=False, dump_to="Remark"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - } - - -class ModifyPHostInfoResponseSchema(schema.ResponseSchema): - """ ModifyPHostInfo - 更改物理机信息 - """ - - fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} - - -""" -API: RebootPHost +API: CreatePHost -重启物理机 +指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 """ -class RebootPHostRequestSchema(schema.RequestSchema): - """ RebootPHost - 重启物理机 +class CreatePHostRequestSchema(schema.RequestSchema): + """ CreatePHost - 指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 """ fields = { + "Quantity": fields.Str(required=False, dump_to="Quantity"), + "Count": fields.Int(required=False, dump_to="Count"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "PHostId": fields.Str(required=True, dump_to="PHostId"), - } - - -class RebootPHostResponseSchema(schema.ResponseSchema): - """ RebootPHost - 重启物理机 - """ - - fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} - - -""" -API: ReinstallPHost - -重装物理机操作系统 -""" - - -class ReinstallPHostRequestSchema(schema.RequestSchema): - """ ReinstallPHost - 重装物理机操作系统 - """ - - fields = { - "PHostId": fields.Str(required=True, dump_to="PHostId"), - "ImageId": fields.Str(required=False, dump_to="ImageId"), "Remark": fields.Str(required=False, dump_to="Remark"), - "Raid": fields.Str(required=False, dump_to="Raid"), - "Region": fields.Str(required=True, dump_to="Region"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "Type": fields.Str(required=False, dump_to="Type"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "Cluster": fields.Str(required=False, dump_to="Cluster"), "Zone": fields.Str(required=True, dump_to="Zone"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "Password": fields.Str(required=True, dump_to="Password"), + "Raid": fields.Str(required=False, dump_to="Raid"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "ImageId": fields.Str(required=True, dump_to="ImageId"), "Name": fields.Str(required=False, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "ReserveDisk": fields.Str(required=False, dump_to="ReserveDisk"), + "SecurityGroupId": fields.Str(required=False, dump_to="SecurityGroupId"), } -class ReinstallPHostResponseSchema(schema.ResponseSchema): - """ ReinstallPHost - 重装物理机操作系统 +class CreatePHostResponseSchema(schema.ResponseSchema): + """ CreatePHost - 指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 """ - fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} + fields = {"PHostId": fields.List(fields.Str(), required=False, load_from="PHostId")} """ -API: TerminatePHost +API: DescribePHost -删除物理云主机 +获取物理机详细信息 """ -class TerminatePHostRequestSchema(schema.RequestSchema): - """ TerminatePHost - 删除物理云主机 +class DescribePHostRequestSchema(schema.RequestSchema): + """ DescribePHost - 获取物理机详细信息 """ fields = { - "PHostId": fields.Str(required=True, dump_to="PHostId"), - "ReleaseEIP": fields.Bool(required=False, dump_to="ReleaseEIP"), + "PHostId": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), } -class TerminatePHostResponseSchema(schema.ResponseSchema): - """ TerminatePHost - 删除物理云主机 - """ - - fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} - - -""" -API: CreatePHost - -指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 -""" - - -class CreatePHostRequestSchema(schema.RequestSchema): - """ CreatePHost - 指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 +class DescribePHostResponseSchema(schema.ResponseSchema): + """ DescribePHost - 获取物理机详细信息 """ fields = { - "ImageId": fields.Str(required=True, dump_to="ImageId"), - "Quantity": fields.Str(required=False, dump_to="Quantity"), - "Cluster": fields.Str(required=False, dump_to="Cluster"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Count": fields.Int(required=False, dump_to="Count"), - "Raid": fields.Str(required=False, dump_to="Raid"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "Remark": fields.Str(required=False, dump_to="Remark"), - "ChargeType": fields.Str(required=False, dump_to="ChargeType"), - "SecurityGroupId": fields.Str(required=False, dump_to="SecurityGroupId"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "Password": fields.Str(required=True, dump_to="Password"), - "Type": fields.Str(required=False, dump_to="Type"), - "Name": fields.Str(required=False, dump_to="Name"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "PHostSet": fields.List( + models.PHostSetSchema(), required=False, load_from="PHostSet" + ), } -class CreatePHostResponseSchema(schema.ResponseSchema): - """ CreatePHost - 指定数据中心,根据资源使用量创建指定数量的UPHost物理云主机实例。 - """ - - fields = {"PHostId": fields.List(fields.Str(), required=False, load_from="PHostId")} - - """ API: DescribePHostImage @@ -172,13 +90,13 @@ class DescribePHostImageRequestSchema(schema.RequestSchema): """ fields = { + "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ImageType": fields.Str(required=False, dump_to="ImageType"), "Offset": fields.Int(required=False, dump_to="Offset"), "Limit": fields.Int(required=False, dump_to="Limit"), "ImageId": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=True, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "ImageType": fields.Str(required=False, dump_to="ImageType"), } @@ -236,14 +154,14 @@ class GetPHostPriceRequestSchema(schema.RequestSchema): """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Count": fields.Int(required=True, dump_to="Count"), "ChargeType": fields.Str(required=True, dump_to="ChargeType"), "Quantity": fields.Int(required=True, dump_to="Quantity"), "Type": fields.Str(required=False, dump_to="Type"), "Cluster": fields.Str(required=False, dump_to="Cluster"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Count": fields.Int(required=True, dump_to="Count"), } @@ -258,6 +176,35 @@ class GetPHostPriceResponseSchema(schema.ResponseSchema): } +""" +API: ModifyPHostInfo + +更改物理机信息 +""" + + +class ModifyPHostInfoRequestSchema(schema.RequestSchema): + """ ModifyPHostInfo - 更改物理机信息 + """ + + fields = { + "Tag": fields.Str(required=False, dump_to="Tag"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "PHostId": fields.Str(required=True, dump_to="PHostId"), + "Name": fields.Str(required=False, dump_to="Name"), + "Remark": fields.Str(required=False, dump_to="Remark"), + } + + +class ModifyPHostInfoResponseSchema(schema.ResponseSchema): + """ ModifyPHostInfo - 更改物理机信息 + """ + + fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} + + """ API: PoweroffPHost @@ -270,10 +217,10 @@ class PoweroffPHostRequestSchema(schema.RequestSchema): """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "PHostId": fields.Str(required=True, dump_to="PHostId"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), } @@ -284,6 +231,65 @@ class PoweroffPHostResponseSchema(schema.ResponseSchema): fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} +""" +API: RebootPHost + +重启物理机 +""" + + +class RebootPHostRequestSchema(schema.RequestSchema): + """ RebootPHost - 重启物理机 + """ + + fields = { + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "PHostId": fields.Str(required=True, dump_to="PHostId"), + "Region": fields.Str(required=True, dump_to="Region"), + "Zone": fields.Str(required=False, dump_to="Zone"), + } + + +class RebootPHostResponseSchema(schema.ResponseSchema): + """ RebootPHost - 重启物理机 + """ + + fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} + + +""" +API: ReinstallPHost + +重装物理机操作系统 +""" + + +class ReinstallPHostRequestSchema(schema.RequestSchema): + """ ReinstallPHost - 重装物理机操作系统 + """ + + fields = { + "Region": fields.Str(required=True, dump_to="Region"), + "PHostId": fields.Str(required=True, dump_to="PHostId"), + "Password": fields.Str(required=True, dump_to="Password"), + "Name": fields.Str(required=False, dump_to="Name"), + "ReserveDisk": fields.Str(required=False, dump_to="ReserveDisk"), + "Zone": fields.Str(required=True, dump_to="Zone"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "ImageId": fields.Str(required=False, dump_to="ImageId"), + "Remark": fields.Str(required=False, dump_to="Remark"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Raid": fields.Str(required=False, dump_to="Raid"), + } + + +class ReinstallPHostResponseSchema(schema.ResponseSchema): + """ ReinstallPHost - 重装物理机操作系统 + """ + + fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} + + """ API: StartPHost @@ -296,10 +302,10 @@ class StartPHostRequestSchema(schema.RequestSchema): """ fields = { + "PHostId": fields.Str(required=True, dump_to="PHostId"), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "PHostId": fields.Str(required=True, dump_to="PHostId"), } @@ -311,33 +317,27 @@ class StartPHostResponseSchema(schema.ResponseSchema): """ -API: DescribePHost +API: TerminatePHost -获取物理机详细信息 +删除物理云主机 """ -class DescribePHostRequestSchema(schema.RequestSchema): - """ DescribePHost - 获取物理机详细信息 +class TerminatePHostRequestSchema(schema.RequestSchema): + """ TerminatePHost - 删除物理云主机 """ fields = { - "Limit": fields.Int(required=False, dump_to="Limit"), - "PHostId": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "Zone": fields.Str(required=False, dump_to="Zone"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Offset": fields.Int(required=False, dump_to="Offset"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "PHostId": fields.Str(required=True, dump_to="PHostId"), + "ReleaseEIP": fields.Bool(required=False, dump_to="ReleaseEIP"), } -class DescribePHostResponseSchema(schema.ResponseSchema): - """ DescribePHost - 获取物理机详细信息 +class TerminatePHostResponseSchema(schema.ResponseSchema): + """ TerminatePHost - 删除物理云主机 """ - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "PHostSet": fields.List( - models.PHostSetSchema(), required=False, load_from="PHostSet" - ), - } + fields = {"PHostId": fields.Str(required=False, load_from="PHostId")} diff --git a/ucloud/services/uphost/schemas/models.py b/ucloud/services/uphost/schemas/models.py index f9761bd..9c01d0d 100644 --- a/ucloud/services/uphost/schemas/models.py +++ b/ucloud/services/uphost/schemas/models.py @@ -3,35 +3,15 @@ from ucloud.core.typesystem import schema, fields -class PHostTagSetSchema(schema.ResponseSchema): - """ PHostTagSet - DescribePHostTags - """ - - fields = { - "Tag": fields.Str(required=False, load_from="Tag"), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } - - -class PHostImageSetSchema(schema.ResponseSchema): - """ PHostImageSet - DescribePHostImage - """ - - fields = { - "OsName": fields.Str(required=False, load_from="OsName"), - "OsType": fields.Str(required=False, load_from="OsType"), - "ImageId": fields.Str(required=False, load_from="ImageId"), - "ImageName": fields.Str(required=False, load_from="ImageName"), - } - - -class PHostPriceSetSchema(schema.ResponseSchema): - """ PHostPriceSet - GetPHostPrice +class PHostCPUSetSchema(schema.ResponseSchema): + """ PHostCPUSet - DescribePHost """ fields = { - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "Price": fields.Float(required=False, load_from="Price"), + "Frequence": fields.Float(required=False, load_from="Frequence"), + "Count": fields.Int(required=False, load_from="Count"), + "CoreCount": fields.Int(required=False, load_from="CoreCount"), + "Model": fields.Str(required=False, load_from="Model"), } @@ -40,25 +20,13 @@ class PHostIPSetSchema(schema.ResponseSchema): """ fields = { + "MACAddr": fields.Str(required=False, load_from="MACAddr"), + "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), + "SubnetId": fields.Str(required=False, load_from="SubnetId"), "VPCId": fields.Str(required=False, load_from="VPCId"), "OperatorName": fields.Str(required=False, load_from="OperatorName"), "IPId": fields.Str(required=False, load_from="IPId"), "IPAddr": fields.Str(required=False, load_from="IPAddr"), - "MACAddr": fields.Str(required=False, load_from="MACAddr"), - "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), - "SubnetId": fields.Str(required=False, load_from="SubnetId"), - } - - -class PHostCPUSetSchema(schema.ResponseSchema): - """ PHostCPUSet - DescribePHost - """ - - fields = { - "CoreCount": fields.Int(required=False, load_from="CoreCount"), - "Model": fields.Str(required=False, load_from="Model"), - "Frequence": fields.Float(required=False, load_from="Frequence"), - "Count": fields.Int(required=False, load_from="Count"), } @@ -67,11 +35,11 @@ class PHostDiskSetSchema(schema.ResponseSchema): """ fields = { - "Type": fields.Str(required=False, load_from="Type"), "Name": fields.Str(required=False, load_from="Name"), "IOCap": fields.Int(required=False, load_from="IOCap"), "Space": fields.Int(required=False, load_from="Space"), "Count": fields.Int(required=False, load_from="Count"), + "Type": fields.Str(required=False, load_from="Type"), } @@ -80,28 +48,60 @@ class PHostSetSchema(schema.ResponseSchema): """ fields = { - "Name": fields.Str(required=False, load_from="Name"), - "Tag": fields.Str(required=False, load_from="Tag"), - "OSname": fields.Str(required=False, load_from="OSname"), - "Memory": fields.Int(required=False, load_from="Memory"), + "DiskSet": fields.List(PHostDiskSetSchema()), + "IPSet": fields.List(PHostIPSetSchema()), + "IsSupportKVM": fields.Str(required=False, load_from="IsSupportKVM"), "RaidSupported": fields.Str(required=False, load_from="RaidSupported"), + "PowerState": fields.Str(required=False, load_from="PowerState"), + "PHostId": fields.Str(required=False, load_from="PHostId"), "PMStatus": fields.Str(required=False, load_from="PMStatus"), - "SN": fields.Str(required=False, load_from="SN"), + "Remark": fields.Str(required=False, load_from="Remark"), + "Tag": fields.Str(required=False, load_from="Tag"), "ImageName": fields.Str(required=False, load_from="ImageName"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "PHostType": fields.Str(required=False, load_from="PHostType"), - "CPUSet": fields.List(PHostCPUSetSchema()), - "IPSet": fields.List(PHostIPSetSchema()), - "PHostId": fields.Str(required=False, load_from="PHostId"), - "IsSupportKVM": fields.Str(required=False, load_from="IsSupportKVM"), + "OSname": fields.Str(required=False, load_from="OSname"), "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), - "PowerState": fields.Str(required=False, load_from="PowerState"), "Zone": fields.Str(required=False, load_from="Zone"), - "DiskSet": fields.List(PHostDiskSetSchema()), + "PHostType": fields.Str(required=False, load_from="PHostType"), + "Components": fields.Str(required=False, load_from="Components"), + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "CPUSet": fields.List(PHostCPUSetSchema()), + "SN": fields.Str(required=False, load_from="SN"), + "Memory": fields.Int(required=False, load_from="Memory"), "Cluster": fields.Str(required=False, load_from="Cluster"), "AutoRenew": fields.Str(required=False, load_from="AutoRenew"), "OSType": fields.Str(required=False, load_from="OSType"), - "Components": fields.Str(required=False, load_from="Components"), - "Remark": fields.Str(required=False, load_from="Remark"), + "Name": fields.Str(required=False, load_from="Name"), + } + + +class PHostImageSetSchema(schema.ResponseSchema): + """ PHostImageSet - DescribePHostImage + """ + + fields = { + "ImageId": fields.Str(required=False, load_from="ImageId"), + "ImageName": fields.Str(required=False, load_from="ImageName"), + "OsName": fields.Str(required=False, load_from="OsName"), + "OsType": fields.Str(required=False, load_from="OsType"), + } + + +class PHostTagSetSchema(schema.ResponseSchema): + """ PHostTagSet - DescribePHostTags + """ + + fields = { + "Tag": fields.Str(required=False, load_from="Tag"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } + + +class PHostPriceSetSchema(schema.ResponseSchema): + """ PHostPriceSet - GetPHostPrice + """ + + fields = { + "ChargeType": fields.Str(required=False, load_from="ChargeType"), + "Price": fields.Float(required=False, load_from="Price"), } diff --git a/ucloud/services/vpc/client.py b/ucloud/services/vpc/client.py index 0c5fe01..04b4de0 100644 --- a/ucloud/services/vpc/client.py +++ b/ucloud/services/vpc/client.py @@ -8,45 +8,19 @@ class VPCClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(VPCClient, self).__init__(config, transport, middleware, logger) - def describe_route_table(self, req=None, **kwargs): - """ DescribeRouteTable - 获取路由表详细信息(包括路由策略) - - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BusinessId: (Optional) 业务组ID - :param Limit: (Optional) Limit - :param OffSet: (Optional) OffSet - :param RouteTableId: (Optional) 路由表ID - :param VPCId: (Optional) VPC ID - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeRouteTableRequestSchema().dumps(d) - resp = self.invoke("DescribeRouteTable", d, **kwargs) - return apis.DescribeRouteTableResponseSchema().loads(resp) - - def describe_vpc_intercom(self, req=None, **kwargs): - """ DescribeVPCIntercom - 获取VPC互通信息 - - :param ProjectId: (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 源VPC所在地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param VPCId: (Required) VPC短ID - :param DstProjectId: (Optional) 目的项目ID,默认为全部项目 - :param DstRegion: (Optional) 目的VPC所在地域,默认为全部地域 - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeVPCIntercomRequestSchema().dumps(d) - resp = self.invoke("DescribeVPCIntercom", d, **kwargs) - return apis.DescribeVPCIntercomResponseSchema().loads(resp) - def add_vpc_network(self, req=None, **kwargs): """ AddVPCNetwork - 添加VPC网段 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Network: (Required) 增加网段 - :param VPCId: (Required) 源VPC短ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Network** (list) - (Required) 增加网段 + - **VPCId** (str) - (Required) 源VPC短ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -55,44 +29,62 @@ def add_vpc_network(self, req=None, **kwargs): resp = self.invoke("AddVPCNetwork", d, **kwargs) return apis.AddVPCNetworkResponseSchema().loads(resp) - def delete_route_table(self, req=None, **kwargs): - """ DeleteRouteTable - 删除自定义路由表 + def associate_route_table(self, req=None, **kwargs): + """ AssociateRouteTable - 绑定子网的路由表 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param RouteTableId: (Required) 路由ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **RouteTableId** (str) - (Required) 路由表ID,仅限自定义路由表 + - **SubnetId** (str) - (Required) 子网ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteRouteTableRequestSchema().dumps(d) - resp = self.invoke("DeleteRouteTable", d, **kwargs) - return apis.DeleteRouteTableResponseSchema().loads(resp) + d = apis.AssociateRouteTableRequestSchema().dumps(d) + resp = self.invoke("AssociateRouteTable", d, **kwargs) + return apis.AssociateRouteTableResponseSchema().loads(resp) - def delete_vpc_intercom(self, req=None, **kwargs): - """ DeleteVPCIntercom - 删除VPC互通关系 + def clone_route_table(self, req=None, **kwargs): + """ CloneRouteTable - 根据一张现有路由表复制一张新的路由表 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **RouteTableId** (str) - (Required) 被克隆的路由表ID + + **Response** - :param ProjectId: (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 源VPC所在地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DstVPCId: (Required) 目的VPC短ID - :param VPCId: (Required) 源VPC短ID - :param DstProjectId: (Optional) 目的VPC所在项目ID,默认为源VPC所在项目ID - :param DstRegion: (Optional) 目的VPC所在地域,默认为源VPC所在地域 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.DeleteVPCIntercomRequestSchema().dumps(d) - resp = self.invoke("DeleteVPCIntercom", d, **kwargs) - return apis.DeleteVPCIntercomResponseSchema().loads(resp) + d = apis.CloneRouteTableRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CloneRouteTable", d, **kwargs) + return apis.CloneRouteTableResponseSchema().loads(resp) def create_route_table(self, req=None, **kwargs): """ CreateRouteTable - 创建路由表 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param VPCId: (Required) VPC ID - :param Name: (Optional) 路由表名称 Default RouteTable - :param Remark: (Optional) 备注 - :param Tag: (Optional) 业务组 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **VPCId** (str) - (Required) VPC ID + - **Name** (str) - 路由表名称 Default RouteTable + - **Remark** (str) - 备注 + - **Tag** (str) - 业务组 + + **Response** + + - **RouteTableId** (str) - 路由表ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -104,14 +96,21 @@ def create_route_table(self, req=None, **kwargs): def create_subnet(self, req=None, **kwargs): """ CreateSubnet - 创建子网 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Subnet: (Required) 子网网络地址,例如192.168.0.0 - :param VPCId: (Required) VPC资源ID - :param Netmask: (Optional) 子网网络号位数,默认为24 - :param Remark: (Optional) 备注 - :param SubnetName: (Optional) 子网名称,默认为Subnet - :param Tag: (Optional) 业务组名称,默认为Default + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Subnet** (str) - (Required) 子网网络地址,例如192.168.0.0 + - **VPCId** (str) - (Required) VPC资源ID + - **Netmask** (int) - 子网网络号位数,默认为24 + - **Remark** (str) - 备注 + - **SubnetName** (str) - 子网名称,默认为Subnet + - **Tag** (str) - 业务组名称,默认为Default + + **Response** + + - **SubnetId** (str) - 子网ID + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -120,45 +119,46 @@ def create_subnet(self, req=None, **kwargs): resp = self.invoke("CreateSubnet", d, **kwargs) return apis.CreateSubnetResponseSchema().loads(resp) - def update_route_table_attribute(self, req=None, **kwargs): - """ UpdateRouteTableAttribute - 更新路由表基本信息 + def create_vpc(self, req=None, **kwargs): + """ CreateVPC - 创建VPC - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param RouteTableId: (Required) 路由表ID - :param Name: (Optional) 名称 - :param Remark: (Optional) 备注 - :param Tag: (Optional) 业务组名称 - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.UpdateRouteTableAttributeRequestSchema().dumps(d) - resp = self.invoke("UpdateRouteTableAttribute", d, **kwargs) - return apis.UpdateRouteTableAttributeResponseSchema().loads(resp) + **Request** - def update_vpc_network(self, req=None, **kwargs): - """ UpdateVPCNetwork - 更新VPC网段 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Name** (str) - (Required) VPC名称 + - **Network** (list) - (Required) VPC网段 + - **Remark** (str) - 备注 + - **Tag** (str) - 业务组名称 + - **Type** (int) - VPC类型 + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Network: (Required) 需要保留的VPC网段。当前仅支持删除VPC网段,添加网段请参考[AddVPCNetwork](../vpc2.0-api/add_vpc_network) - :param VPCId: (Required) VPC的ID + - **VPCId** (str) - VPC资源Id + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateVPCNetworkRequestSchema().dumps(d) - resp = self.invoke("UpdateVPCNetwork", d, **kwargs) - return apis.UpdateVPCNetworkResponseSchema().loads(resp) + d = apis.CreateVPCRequestSchema().dumps(d) + kwargs["max_retries"] = 0 + resp = self.invoke("CreateVPC", d, **kwargs) + return apis.CreateVPCResponseSchema().loads(resp) def create_vpc_intercom(self, req=None, **kwargs): """ CreateVPCIntercom - 新建VPC互通关系 - :param ProjectId: (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 源VPC所在地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param DstVPCId: (Required) 目的VPC短ID - :param VPCId: (Required) 源VPC短ID - :param DstProjectId: (Optional) 目的VPC项目ID。默认与源VPC同项目。 - :param DstRegion: (Optional) 目的VPC所在地域,默认与源VPC同地域。 + **Request** + + - **ProjectId** (str) - (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 源VPC所在地域。 参见 `地域和可用区列表 `_ + - **DstVPCId** (str) - (Required) 目的VPC短ID + - **VPCId** (str) - (Required) 源VPC短ID + - **DstProjectId** (str) - 目的VPC项目ID。默认与源VPC同项目。 + - **DstRegion** (str) - 目的VPC所在地域,默认与源VPC同地域。 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -167,43 +167,37 @@ def create_vpc_intercom(self, req=None, **kwargs): resp = self.invoke("CreateVPCIntercom", d, **kwargs) return apis.CreateVPCIntercomResponseSchema().loads(resp) - def describe_subnet_resource(self, req=None, **kwargs): - """ DescribeSubnetResource - 展示子网资源 + def delete_route_table(self, req=None, **kwargs): + """ DeleteRouteTable - 删除自定义路由表 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SubnetId: (Required) 子网id - :param Limit: (Optional) 单页返回数据长度,默认为20 - :param Offset: (Optional) 列表起始位置偏移量,默认为0 - :param ResourceType: (Optional) 资源类型,默认为全部资源类型。枚举值为:UHOST,云主机;PHOST,物理云主机;ULB,负载均衡;UHADOOP_HOST,hadoop节点;UFORTRESS_HOST,堡垒机;UNATGW,NAT网关;UKAFKA,Kafka消息队列;UMEM,内存存储;DOCKER,容器集群;UDB,数据库;UDW,数据仓库;VIP,内网VIP. - """ - d = {"ProjectId": self.config.project_id, "Region": self.config.region} - req and d.update(req) - d = apis.DescribeSubnetResourceRequestSchema().dumps(d) - resp = self.invoke("DescribeSubnetResource", d, **kwargs) - return apis.DescribeSubnetResourceResponseSchema().loads(resp) + **Request** - def update_subnet_attribute(self, req=None, **kwargs): - """ UpdateSubnetAttribute - 更新子网信息 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **RouteTableId** (str) - (Required) 路由ID + + **Response** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SubnetId: (Required) 子网ID - :param Name: (Optional) 子网名称(如果Name不填写,Tag必须填写) - :param Tag: (Optional) 业务组名称(如果Tag不填写,Name必须填写) + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.UpdateSubnetAttributeRequestSchema().dumps(d) - resp = self.invoke("UpdateSubnetAttribute", d, **kwargs) - return apis.UpdateSubnetAttributeResponseSchema().loads(resp) + d = apis.DeleteRouteTableRequestSchema().dumps(d) + resp = self.invoke("DeleteRouteTable", d, **kwargs) + return apis.DeleteRouteTableResponseSchema().loads(resp) def delete_subnet(self, req=None, **kwargs): """ DeleteSubnet - 删除子网 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param SubnetId: (Required) 子网ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SubnetId** (str) - (Required) 子网ID + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -214,9 +208,15 @@ def delete_subnet(self, req=None, **kwargs): def delete_vpc(self, req=None, **kwargs): """ DeleteVPC - 删除VPC - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param VPCId: (Required) VPC资源Id + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **VPCId** (str) - (Required) VPC资源Id + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -224,19 +224,118 @@ def delete_vpc(self, req=None, **kwargs): resp = self.invoke("DeleteVPC", d, **kwargs) return apis.DeleteVPCResponseSchema().loads(resp) + def delete_vpc_intercom(self, req=None, **kwargs): + """ DeleteVPCIntercom - 删除VPC互通关系 + + **Request** + + - **ProjectId** (str) - (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 源VPC所在地域。 参见 `地域和可用区列表 `_ + - **DstVPCId** (str) - (Required) 目的VPC短ID + - **VPCId** (str) - (Required) 源VPC短ID + - **DstProjectId** (str) - 目的VPC所在项目ID,默认为源VPC所在项目ID + - **DstRegion** (str) - 目的VPC所在地域,默认为源VPC所在地域 + + **Response** + + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DeleteVPCIntercomRequestSchema().dumps(d) + resp = self.invoke("DeleteVPCIntercom", d, **kwargs) + return apis.DeleteVPCIntercomResponseSchema().loads(resp) + + def describe_route_table(self, req=None, **kwargs): + """ DescribeRouteTable - 获取路由表详细信息(包括路由策略) + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BusinessId** (str) - 业务组ID + - **Limit** (int) - Limit + - **OffSet** (int) - OffSet + - **RouteTableId** (str) - 路由表ID + - **VPCId** (str) - VPC ID + + **Response** + + - **RouteTables** (list) - 见 **RouteTableInfo** 模型定义 + - **TotalCount** (int) - RouteTables字段的数量 + + **Response Model** + + **RouteRuleInfo** + + - **RouteRuleId** (str) - 规则ID + - **RuleType** (int) - 路由规则类型(0表示系统路由,1表示自定义路由) + - **DstAddr** (str) - 目的地址,比如10.10.8/24 + - **NexthopId** (str) - 路由下一跳ID,比如uvnet-3eljvj + - **NexthopType** (str) - 下一跳类型,比如local、vnet + - **Remark** (str) - 路由规则备注 + + **RouteTableInfo** + + - **VPCName** (str) - vpc名称 + - **Remark** (str) - 路由表备注 + - **RouteRules** (list) - 见 **RouteRuleInfo** 模型定义 + - **RouteTableId** (str) - 路由表ID + - **SubnetCount** (str) - 绑定了该路由表的子网数量 + - **VPCId** (str) - 路由表所属vpc + - **Tag** (str) - 业务组 + - **CreateTime** (int) - 创建时间戳 + - **RouteTableType** (int) - 路由表类型,1为默认,0为自定义 + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeRouteTableRequestSchema().dumps(d) + resp = self.invoke("DescribeRouteTable", d, **kwargs) + return apis.DescribeRouteTableResponseSchema().loads(resp) + def describe_subnet(self, req=None, **kwargs): """ DescribeSubnet - 获取子网信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param BusinessId: (Optional) 业务组 - :param Limit: (Optional) 列表长度,默认为20 - :param Offset: (Optional) 偏移量,默认为0 - :param RouteTableId: (Optional) 路由表Id - :param SubnetId: (Optional) 子网id,适用于一次查询一个子网信息 - :param SubnetIds: (Optional) 子网id数组,适用于一次查询多个子网信息 - :param Tag: (Optional) 业务组名称,默认为Default - :param VPCId: (Optional) VPC资源id + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BusinessId** (str) - 业务组 + - **Limit** (int) - 列表长度,默认为20 + - **Offset** (int) - 偏移量,默认为0 + - **RouteTableId** (str) - 路由表Id + - **SubnetId** (str) - 子网id,适用于一次查询一个子网信息 + - **SubnetIds** (list) - 子网id数组,适用于一次查询多个子网信息 + - **Tag** (str) - 业务组名称,默认为Default + - **VPCId** (str) - VPC资源id + + **Response** + + - **TotalCount** (int) - 子网总数量 + - **DataSet** (list) - 见 **SubnetInfo** 模型定义 + + **Response Model** + + **SubnetInfo** + + - **Tag** (str) - 业务组 + - **Netmask** (int) - 子网掩码 + - **CreateTime** (int) - 创建时间 + - **Remark** (str) - 备注 + - **Zone** (str) - 可用区名称 + - **IPv6Network** (str) - 子网关联的IPv6网段 + - **VPCName** (str) - VPC名称 + - **VPCId** (str) - VPCId + - **SubnetType** (int) - 子网类型 + - **Subnet** (str) - 子网网段 + - **Gateway** (str) - 子网网关 + - **HasNATGW** (bool) - 是否有natgw + - **RouteTableId** (str) - 路由表Id + - **OperatorName** (str) - 子网关联的IPv6网段所属运营商 + - **SubnetId** (str) - 子网Id + - **SubnetName** (str) - 子网名称 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -244,15 +343,79 @@ def describe_subnet(self, req=None, **kwargs): resp = self.invoke("DescribeSubnet", d, **kwargs) return apis.DescribeSubnetResponseSchema().loads(resp) + def describe_subnet_resource(self, req=None, **kwargs): + """ DescribeSubnetResource - 展示子网资源 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SubnetId** (str) - (Required) 子网id + - **Limit** (int) - 单页返回数据长度,默认为20 + - **Offset** (int) - 列表起始位置偏移量,默认为0 + - **ResourceType** (str) - 资源类型,默认为全部资源类型。枚举值为:UHOST,云主机;PHOST,物理云主机;ULB,负载均衡;UHADOOP_HOST,hadoop节点;UFORTRESS_HOST,堡垒机;UNATGW,NAT网关;UKAFKA,Kafka消息队列;UMEM,内存存储;DOCKER,容器集群;UDB,数据库;UDW,数据仓库;VIP,内网VIP. + + **Response** + + - **TotalCount** (int) - 总数 + - **DataSet** (list) - 见 **SubnetResource** 模型定义 + + **Response Model** + + **SubnetResource** + + - **IP** (str) - 资源ip + - **IPv6Address** (str) - 资源的IPv6地址 + - **Name** (str) - 资源名称 + - **ResourceId** (str) - 资源Id + - **ResourceType** (str) - 资源类型。对应的资源类型:UHOST,云主机;PHOST,物理云主机;ULB,负载均衡;UHADOOP_HOST,hadoop节点;UFORTRESS_HOST,堡垒机;UNATGW,NAT网关;UKAFKA,Kafka消息队列;UMEM,内存存储;DOCKER,容器集群;UDB,数据库;UDW,数据仓库;VIP,内网VIP. + - **SubResourceName** (str) - 资源绑定的虚拟网卡的实例名称 + - **SubResourceId** (str) - 资源绑定的虚拟网卡的实例ID + - **SubResourceType** (str) - 资源绑定的虚拟网卡的类型 + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeSubnetResourceRequestSchema().dumps(d) + resp = self.invoke("DescribeSubnetResource", d, **kwargs) + return apis.DescribeSubnetResourceResponseSchema().loads(resp) + def describe_vpc(self, req=None, **kwargs): """ DescribeVPC - 获取VPC信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Limit: (Optional) - :param Offset: (Optional) - :param Tag: (Optional) 业务组名称 - :param VPCIds: (Optional) VPCId + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Limit** (int) - + - **Offset** (int) - + - **Tag** (str) - 业务组名称 + - **VPCIds** (list) - VPCId + + **Response** + + - **DataSet** (list) - 见 **VPCInfo** 模型定义 + + **Response Model** + + **VPCNetworkInfo** + + - **Network** (str) - vpc地址空间 + - **SubnetCount** (int) - 地址空间中子网数量 + + **VPCInfo** + + - **SubnetCount** (int) - + - **CreateTime** (int) - + - **Name** (str) - + - **IPv6Network** (str) - VPC关联的IPv6网段 + - **NetworkInfo** (list) - 见 **VPCNetworkInfo** 模型定义 + - **UpdateTime** (int) - + - **Tag** (str) - + - **VPCId** (str) - VPCId + - **Network** (list) - + - **OperatorName** (str) - VPC关联的IPv6网段所属运营商 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -260,13 +423,52 @@ def describe_vpc(self, req=None, **kwargs): resp = self.invoke("DescribeVPC", d, **kwargs) return apis.DescribeVPCResponseSchema().loads(resp) + def describe_vpc_intercom(self, req=None, **kwargs): + """ DescribeVPCIntercom - 获取VPC互通信息 + + **Request** + + - **ProjectId** (str) - (Config) 源VPC所在项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 源VPC所在地域。 参见 `地域和可用区列表 `_ + - **VPCId** (str) - (Required) VPC短ID + - **DstProjectId** (str) - 目的项目ID,默认为全部项目 + - **DstRegion** (str) - 目的VPC所在地域,默认为全部地域 + + **Response** + + - **DataSet** (list) - 见 **VPCIntercomInfo** 模型定义 + + **Response Model** + + **VPCIntercomInfo** + + - **ProjectId** (str) - 项目Id + - **Network** (list) - VPC的地址空间 + - **DstRegion** (str) - 所属地域 + - **Name** (str) - VPC名字 + - **VPCId** (str) - VPCId + - **Tag** (str) - 业务组(未分组显示为 Default) + + """ + d = {"ProjectId": self.config.project_id, "Region": self.config.region} + req and d.update(req) + d = apis.DescribeVPCIntercomRequestSchema().dumps(d) + resp = self.invoke("DescribeVPCIntercom", d, **kwargs) + return apis.DescribeVPCIntercomResponseSchema().loads(resp) + def modify_route_rule(self, req=None, **kwargs): """ ModifyRouteRule - 路由策略增、删、改 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param RouteRule: (Required) 格式: RouteRuleId | 目的网段 | 下一跳类型 | 下一跳 |优先级| 备注 | 增、删、改标志 (下一跳类型为instance或者vip,下一跳为云主机id或者vip的id,优先级使用0,动作标志为add/delete/update) 。"添加"示例: test_id | 10.8.0.0/16 | instance | uhost-xd8ja | 0 | Default Route Rule| add (添加的RouteRuleId填任意非空字符串) 。"删除"示例: routerule-xk3jxa | 10.8.0.0/16 | instance | uhost-xd8ja | 0 | Default Route Rule| delete (RouteRuleId来自DescribeRouteTable中) 。“修改”示例: routerule-xk3jxa | 10.8.0.0/16 | instance | uhost-cjksa2 | 0 | Default Route Rule| update (RouteRuleId来自DescribeRouteTable中) - :param RouteTableId: (Required) 通过DescribeRouteTable拿到 + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **RouteRule** (list) - (Required) 格式: RouteRuleId | 目的网段 | 下一跳类型 | 下一跳 |优先级| 备注 | 增、删、改标志 (下一跳类型为instance或者vip,下一跳为云主机id或者vip的id,优先级使用0,动作标志为add/delete/update) 。"添加"示例: test_id | 10.8.0.0/16 | instance | uhost-xd8ja | 0 | Default Route Rule| add (添加的RouteRuleId填任意非空字符串) 。"删除"示例: routerule-xk3jxa | 10.8.0.0/16 | instance | uhost-xd8ja | 0 | Default Route Rule| delete (RouteRuleId来自DescribeRouteTable中) 。“修改”示例: routerule-xk3jxa | 10.8.0.0/16 | instance | uhost-cjksa2 | 0 | Default Route Rule| update (RouteRuleId来自DescribeRouteTable中) + - **RouteTableId** (str) - (Required) 通过DescribeRouteTable拿到 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) @@ -274,48 +476,66 @@ def modify_route_rule(self, req=None, **kwargs): resp = self.invoke("ModifyRouteRule", d, **kwargs) return apis.ModifyRouteRuleResponseSchema().loads(resp) - def associate_route_table(self, req=None, **kwargs): - """ AssociateRouteTable - 绑定子网的路由表 + def update_route_table_attribute(self, req=None, **kwargs): + """ UpdateRouteTableAttribute - 更新路由表基本信息 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param RouteTableId: (Required) 路由表ID,仅限自定义路由表 - :param SubnetId: (Required) 子网ID + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **RouteTableId** (str) - (Required) 路由表ID + - **Name** (str) - 名称 + - **Remark** (str) - 备注 + - **Tag** (str) - 业务组名称 + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.AssociateRouteTableRequestSchema().dumps(d) - resp = self.invoke("AssociateRouteTable", d, **kwargs) - return apis.AssociateRouteTableResponseSchema().loads(resp) + d = apis.UpdateRouteTableAttributeRequestSchema().dumps(d) + resp = self.invoke("UpdateRouteTableAttribute", d, **kwargs) + return apis.UpdateRouteTableAttributeResponseSchema().loads(resp) - def clone_route_table(self, req=None, **kwargs): - """ CloneRouteTable - 根据一张现有路由表复制一张新的路由表 + def update_subnet_attribute(self, req=None, **kwargs): + """ UpdateSubnetAttribute - 更新子网信息 - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param RouteTableId: (Required) 被克隆的路由表ID + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **SubnetId** (str) - (Required) 子网ID + - **Name** (str) - 子网名称(如果Name不填写,Tag必须填写) + - **Tag** (str) - 业务组名称(如果Tag不填写,Name必须填写) + + **Response** + + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CloneRouteTableRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CloneRouteTable", d, **kwargs) - return apis.CloneRouteTableResponseSchema().loads(resp) + d = apis.UpdateSubnetAttributeRequestSchema().dumps(d) + resp = self.invoke("UpdateSubnetAttribute", d, **kwargs) + return apis.UpdateSubnetAttributeResponseSchema().loads(resp) - def create_vpc(self, req=None, **kwargs): - """ CreateVPC - 创建VPC + def update_vpc_network(self, req=None, **kwargs): + """ UpdateVPCNetwork - 更新VPC网段 + + **Request** - :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) - :param Region: (Config) 地域。 参见 [地域和可用区列表](../summary/regionlist.html) - :param Name: (Required) VPC名称 - :param Network: (Required) VPC网段 - :param Remark: (Optional) 备注 - :param Tag: (Optional) 业务组名称 - :param Type: (Optional) VPC类型 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Network** (list) - (Required) 需要保留的VPC网段。当前仅支持删除VPC网段,添加网段请参考 `AddVPCNetwork `_ + - **VPCId** (str) - (Required) VPC的ID + + **Response** + + - **Message** (str) - 错误信息 + """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) - d = apis.CreateVPCRequestSchema().dumps(d) - kwargs["max_retries"] = 0 - resp = self.invoke("CreateVPC", d, **kwargs) - return apis.CreateVPCResponseSchema().loads(resp) + d = apis.UpdateVPCNetworkRequestSchema().dumps(d) + resp = self.invoke("UpdateVPCNetwork", d, **kwargs) + return apis.UpdateVPCNetworkResponseSchema().loads(resp) diff --git a/ucloud/services/vpc/schemas/apis.py b/ucloud/services/vpc/schemas/apis.py index a27166b..5dcc41c 100644 --- a/ucloud/services/vpc/schemas/apis.py +++ b/ucloud/services/vpc/schemas/apis.py @@ -6,27 +6,26 @@ """ VPC API Schema """ """ -API: UpdateSubnetAttribute +API: AddVPCNetwork -更新子网信息 +添加VPC网段 """ -class UpdateSubnetAttributeRequestSchema(schema.RequestSchema): - """ UpdateSubnetAttribute - 更新子网信息 +class AddVPCNetworkRequestSchema(schema.RequestSchema): + """ AddVPCNetwork - 添加VPC网段 """ fields = { + "Network": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SubnetId": fields.Str(required=True, dump_to="SubnetId"), - "Name": fields.Str(required=False, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), + "VPCId": fields.Str(required=True, dump_to="VPCId"), } -class UpdateSubnetAttributeResponseSchema(schema.ResponseSchema): - """ UpdateSubnetAttribute - 更新子网信息 +class AddVPCNetworkResponseSchema(schema.ResponseSchema): + """ AddVPCNetwork - 添加VPC网段 """ fields = {} @@ -44,10 +43,10 @@ class AssociateRouteTableRequestSchema(schema.RequestSchema): """ fields = { - "SubnetId": fields.Str(required=True, dump_to="SubnetId"), "RouteTableId": fields.Str(required=True, dump_to="RouteTableId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "SubnetId": fields.Str(required=True, dump_to="SubnetId"), } @@ -59,516 +58,517 @@ class AssociateRouteTableResponseSchema(schema.ResponseSchema): """ -API: DeleteVPC +API: CloneRouteTable -删除VPC +根据一张现有路由表复制一张新的路由表 """ -class DeleteVPCRequestSchema(schema.RequestSchema): - """ DeleteVPC - 删除VPC +class CloneRouteTableRequestSchema(schema.RequestSchema): + """ CloneRouteTable - 根据一张现有路由表复制一张新的路由表 """ fields = { - "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "VPCId": fields.Str(required=True, dump_to="VPCId"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "RouteTableId": fields.Str(required=True, dump_to="RouteTableId"), + "Region": fields.Str(required=False, dump_to="Region"), } -class DeleteVPCResponseSchema(schema.ResponseSchema): - """ DeleteVPC - 删除VPC +class CloneRouteTableResponseSchema(schema.ResponseSchema): + """ CloneRouteTable - 根据一张现有路由表复制一张新的路由表 """ fields = {} """ -API: DeleteVPCIntercom +API: CreateRouteTable -删除VPC互通关系 +创建路由表 """ -class DeleteVPCIntercomRequestSchema(schema.RequestSchema): - """ DeleteVPCIntercom - 删除VPC互通关系 +class CreateRouteTableRequestSchema(schema.RequestSchema): + """ CreateRouteTable - 创建路由表 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "VPCId": fields.Str(required=True, dump_to="VPCId"), - "DstVPCId": fields.Str(required=True, dump_to="DstVPCId"), - "DstRegion": fields.Str(required=False, dump_to="DstRegion"), - "DstProjectId": fields.Str(required=False, dump_to="DstProjectId"), "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "VPCId": fields.Str(required=True, dump_to="VPCId"), + "Name": fields.Str(required=False, dump_to="Name"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), } -class DeleteVPCIntercomResponseSchema(schema.ResponseSchema): - """ DeleteVPCIntercom - 删除VPC互通关系 +class CreateRouteTableResponseSchema(schema.ResponseSchema): + """ CreateRouteTable - 创建路由表 """ - fields = {} + fields = {"RouteTableId": fields.Str(required=False, load_from="RouteTableId")} """ -API: DescribeVPCIntercom +API: CreateSubnet -获取VPC互通信息 +创建子网 """ -class DescribeVPCIntercomRequestSchema(schema.RequestSchema): - """ DescribeVPCIntercom - 获取VPC互通信息 +class CreateSubnetRequestSchema(schema.RequestSchema): + """ CreateSubnet - 创建子网 """ fields = { - "VPCId": fields.Str(required=True, dump_to="VPCId"), - "DstRegion": fields.Str(required=False, dump_to="DstRegion"), - "DstProjectId": fields.Str(required=False, dump_to="DstProjectId"), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "VPCId": fields.Str(required=True, dump_to="VPCId"), + "Subnet": fields.Str(required=True, dump_to="Subnet"), + "Netmask": fields.Int(required=False, dump_to="Netmask"), + "SubnetName": fields.Str(required=False, dump_to="SubnetName"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), } -class DescribeVPCIntercomResponseSchema(schema.ResponseSchema): - """ DescribeVPCIntercom - 获取VPC互通信息 +class CreateSubnetResponseSchema(schema.ResponseSchema): + """ CreateSubnet - 创建子网 """ - fields = { - "DataSet": fields.List( - models.VPCIntercomInfoSchema(), required=False, load_from="DataSet" - ) - } + fields = {"SubnetId": fields.Str(required=False, load_from="SubnetId")} """ -API: DescribeRouteTable +API: CreateVPC -获取路由表详细信息(包括路由策略) +创建VPC """ -class DescribeRouteTableRequestSchema(schema.RequestSchema): - """ DescribeRouteTable - 获取路由表详细信息(包括路由策略) +class CreateVPCRequestSchema(schema.RequestSchema): + """ CreateVPC - 创建VPC """ fields = { + "Tag": fields.Str(required=False, dump_to="Tag"), + "Remark": fields.Str(required=False, dump_to="Remark"), + "Type": fields.Int(required=False, dump_to="Type"), + "Network": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), - "RouteTableId": fields.Str(required=False, dump_to="RouteTableId"), - "OffSet": fields.Int(required=False, dump_to="OffSet"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "BusinessId": fields.Str(required=False, dump_to="BusinessId"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "Name": fields.Str(required=True, dump_to="Name"), } -class DescribeRouteTableResponseSchema(schema.ResponseSchema): - """ DescribeRouteTable - 获取路由表详细信息(包括路由策略) +class CreateVPCResponseSchema(schema.ResponseSchema): + """ CreateVPC - 创建VPC """ - fields = { - "RouteTables": fields.List( - models.RouteTableInfoSchema(), required=False, load_from="RouteTables" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } + fields = {"VPCId": fields.Str(required=False, load_from="VPCId")} """ -API: DescribeSubnet +API: CreateVPCIntercom -获取子网信息 +新建VPC互通关系 """ -class DescribeSubnetRequestSchema(schema.RequestSchema): - """ DescribeSubnet - 获取子网信息 +class CreateVPCIntercomRequestSchema(schema.RequestSchema): + """ CreateVPCIntercom - 新建VPC互通关系 """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "RouteTableId": fields.Str(required=False, dump_to="RouteTableId"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "BusinessId": fields.Str(required=False, dump_to="BusinessId"), - "Offset": fields.Int(required=False, dump_to="Offset"), + "DstProjectId": fields.Str(required=False, dump_to="DstProjectId"), "Region": fields.Str(required=True, dump_to="Region"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), - "VPCId": fields.Str(required=False, dump_to="VPCId"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "SubnetIds": fields.List(fields.Str()), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "VPCId": fields.Str(required=True, dump_to="VPCId"), + "DstVPCId": fields.Str(required=True, dump_to="DstVPCId"), + "DstRegion": fields.Str(required=False, dump_to="DstRegion"), } -class DescribeSubnetResponseSchema(schema.ResponseSchema): - """ DescribeSubnet - 获取子网信息 +class CreateVPCIntercomResponseSchema(schema.ResponseSchema): + """ CreateVPCIntercom - 新建VPC互通关系 """ - fields = { - "TotalCount": fields.Int(required=True, load_from="TotalCount"), - "DataSet": fields.List( - models.SubnetInfoSchema(), required=True, load_from="DataSet" - ), - } + fields = {} """ -API: DescribeSubnetResource +API: DeleteRouteTable -展示子网资源 +删除自定义路由表 """ -class DescribeSubnetResourceRequestSchema(schema.RequestSchema): - """ DescribeSubnetResource - 展示子网资源 +class DeleteRouteTableRequestSchema(schema.RequestSchema): + """ DeleteRouteTable - 删除自定义路由表 """ fields = { - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), + "RouteTableId": fields.Str(required=True, dump_to="RouteTableId"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SubnetId": fields.Str(required=True, dump_to="SubnetId"), - "ResourceType": fields.Str(required=False, dump_to="ResourceType"), + "ProjectId": fields.Str(required=True, dump_to="ProjectId"), } -class DescribeSubnetResourceResponseSchema(schema.ResponseSchema): - """ DescribeSubnetResource - 展示子网资源 +class DeleteRouteTableResponseSchema(schema.ResponseSchema): + """ DeleteRouteTable - 删除自定义路由表 """ - fields = { - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "DataSet": fields.List( - models.SubnetResourceSchema(), required=False, load_from="DataSet" - ), - } + fields = {} """ -API: CreateRouteTable +API: DeleteSubnet -创建路由表 +删除子网 """ -class CreateRouteTableRequestSchema(schema.RequestSchema): - """ CreateRouteTable - 创建路由表 +class DeleteSubnetRequestSchema(schema.RequestSchema): + """ DeleteSubnet - 删除子网 """ fields = { - "Remark": fields.Str(required=False, dump_to="Remark"), + "SubnetId": fields.Str(required=True, dump_to="SubnetId"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "VPCId": fields.Str(required=True, dump_to="VPCId"), - "Name": fields.Str(required=False, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class CreateRouteTableResponseSchema(schema.ResponseSchema): - """ CreateRouteTable - 创建路由表 +class DeleteSubnetResponseSchema(schema.ResponseSchema): + """ DeleteSubnet - 删除子网 """ - fields = {"RouteTableId": fields.Str(required=False, load_from="RouteTableId")} + fields = {} """ -API: CreateSubnet +API: DeleteVPC -创建子网 +删除VPC """ -class CreateSubnetRequestSchema(schema.RequestSchema): - """ CreateSubnet - 创建子网 +class DeleteVPCRequestSchema(schema.RequestSchema): + """ DeleteVPC - 删除VPC """ fields = { - "SubnetName": fields.Str(required=False, dump_to="SubnetName"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Remark": fields.Str(required=False, dump_to="Remark"), - "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "VPCId": fields.Str(required=True, dump_to="VPCId"), - "Subnet": fields.Str(required=True, dump_to="Subnet"), - "Netmask": fields.Int(required=False, dump_to="Netmask"), + "Region": fields.Str(required=True, dump_to="Region"), } -class CreateSubnetResponseSchema(schema.ResponseSchema): - """ CreateSubnet - 创建子网 +class DeleteVPCResponseSchema(schema.ResponseSchema): + """ DeleteVPC - 删除VPC """ - fields = {"SubnetId": fields.Str(required=False, load_from="SubnetId")} + fields = {} """ -API: CreateVPC +API: DeleteVPCIntercom -创建VPC +删除VPC互通关系 """ -class CreateVPCRequestSchema(schema.RequestSchema): - """ CreateVPC - 创建VPC +class DeleteVPCIntercomRequestSchema(schema.RequestSchema): + """ DeleteVPCIntercom - 删除VPC互通关系 """ fields = { - "Type": fields.Int(required=False, dump_to="Type"), - "Network": fields.List(fields.Str()), + "DstProjectId": fields.Str(required=False, dump_to="DstProjectId"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "Name": fields.Str(required=True, dump_to="Name"), - "Tag": fields.Str(required=False, dump_to="Tag"), - "Remark": fields.Str(required=False, dump_to="Remark"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "VPCId": fields.Str(required=True, dump_to="VPCId"), + "DstVPCId": fields.Str(required=True, dump_to="DstVPCId"), + "DstRegion": fields.Str(required=False, dump_to="DstRegion"), } -class CreateVPCResponseSchema(schema.ResponseSchema): - """ CreateVPC - 创建VPC +class DeleteVPCIntercomResponseSchema(schema.ResponseSchema): + """ DeleteVPCIntercom - 删除VPC互通关系 """ - fields = {"VPCId": fields.Str(required=False, load_from="VPCId")} + fields = {} """ -API: DeleteSubnet +API: DescribeRouteTable -删除子网 +获取路由表详细信息(包括路由策略) """ -class DeleteSubnetRequestSchema(schema.RequestSchema): - """ DeleteSubnet - 删除子网 +class DescribeRouteTableRequestSchema(schema.RequestSchema): + """ DescribeRouteTable - 获取路由表详细信息(包括路由策略) """ fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SubnetId": fields.Str(required=True, dump_to="SubnetId"), + "BusinessId": fields.Str(required=False, dump_to="BusinessId"), "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "RouteTableId": fields.Str(required=False, dump_to="RouteTableId"), + "OffSet": fields.Int(required=False, dump_to="OffSet"), + "Limit": fields.Int(required=False, dump_to="Limit"), } -class DeleteSubnetResponseSchema(schema.ResponseSchema): - """ DeleteSubnet - 删除子网 +class DescribeRouteTableResponseSchema(schema.ResponseSchema): + """ DescribeRouteTable - 获取路由表详细信息(包括路由策略) """ - fields = {} + fields = { + "RouteTables": fields.List( + models.RouteTableInfoSchema(), required=False, load_from="RouteTables" + ), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } """ -API: UpdateRouteTableAttribute +API: DescribeSubnet -更新路由表基本信息 +获取子网信息 """ -class UpdateRouteTableAttributeRequestSchema(schema.RequestSchema): - """ UpdateRouteTableAttribute - 更新路由表基本信息 +class DescribeSubnetRequestSchema(schema.RequestSchema): + """ DescribeSubnet - 获取子网信息 """ fields = { - "Tag": fields.Str(required=False, dump_to="Tag"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "RouteTableId": fields.Str(required=False, dump_to="RouteTableId"), + "VPCId": fields.Str(required=False, dump_to="VPCId"), + "BusinessId": fields.Str(required=False, dump_to="BusinessId"), + "SubnetIds": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "RouteTableId": fields.Str(required=True, dump_to="RouteTableId"), - "Name": fields.Str(required=False, dump_to="Name"), - "Remark": fields.Str(required=False, dump_to="Remark"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), } -class UpdateRouteTableAttributeResponseSchema(schema.ResponseSchema): - """ UpdateRouteTableAttribute - 更新路由表基本信息 +class DescribeSubnetResponseSchema(schema.ResponseSchema): + """ DescribeSubnet - 获取子网信息 """ - fields = {} + fields = { + "TotalCount": fields.Int(required=True, load_from="TotalCount"), + "DataSet": fields.List( + models.SubnetInfoSchema(), required=True, load_from="DataSet" + ), + } """ -API: UpdateVPCNetwork +API: DescribeSubnetResource -更新VPC网段 +展示子网资源 """ -class UpdateVPCNetworkRequestSchema(schema.RequestSchema): - """ UpdateVPCNetwork - 更新VPC网段 +class DescribeSubnetResourceRequestSchema(schema.RequestSchema): + """ DescribeSubnetResource - 展示子网资源 """ fields = { + "SubnetId": fields.Str(required=True, dump_to="SubnetId"), + "ResourceType": fields.Str(required=False, dump_to="ResourceType"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "VPCId": fields.Str(required=True, dump_to="VPCId"), - "Network": fields.List(fields.Str()), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class UpdateVPCNetworkResponseSchema(schema.ResponseSchema): - """ UpdateVPCNetwork - 更新VPC网段 +class DescribeSubnetResourceResponseSchema(schema.ResponseSchema): + """ DescribeSubnetResource - 展示子网资源 """ - fields = {"Message": fields.Str(required=True, load_from="Message")} + fields = { + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "DataSet": fields.List( + models.SubnetResourceSchema(), required=False, load_from="DataSet" + ), + } """ -API: CloneRouteTable +API: DescribeVPC -根据一张现有路由表复制一张新的路由表 +获取VPC信息 """ -class CloneRouteTableRequestSchema(schema.RequestSchema): - """ CloneRouteTable - 根据一张现有路由表复制一张新的路由表 +class DescribeVPCRequestSchema(schema.RequestSchema): + """ DescribeVPC - 获取VPC信息 """ fields = { - "Region": fields.Str(required=False, dump_to="Region"), + "Offset": fields.Int(required=False, dump_to="Offset"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "VPCIds": fields.List(fields.Str()), + "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), - "RouteTableId": fields.Str(required=True, dump_to="RouteTableId"), + "Tag": fields.Str(required=False, dump_to="Tag"), } -class CloneRouteTableResponseSchema(schema.ResponseSchema): - """ CloneRouteTable - 根据一张现有路由表复制一张新的路由表 +class DescribeVPCResponseSchema(schema.ResponseSchema): + """ DescribeVPC - 获取VPC信息 """ - fields = {} + fields = { + "DataSet": fields.List( + models.VPCInfoSchema(), required=False, load_from="DataSet" + ) + } """ -API: CreateVPCIntercom +API: DescribeVPCIntercom -新建VPC互通关系 +获取VPC互通信息 """ -class CreateVPCIntercomRequestSchema(schema.RequestSchema): - """ CreateVPCIntercom - 新建VPC互通关系 +class DescribeVPCIntercomRequestSchema(schema.RequestSchema): + """ DescribeVPCIntercom - 获取VPC互通信息 """ fields = { + "Region": fields.Str(required=True, dump_to="Region"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "VPCId": fields.Str(required=True, dump_to="VPCId"), - "DstVPCId": fields.Str(required=True, dump_to="DstVPCId"), "DstRegion": fields.Str(required=False, dump_to="DstRegion"), "DstProjectId": fields.Str(required=False, dump_to="DstProjectId"), - "Region": fields.Str(required=True, dump_to="Region"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), } -class CreateVPCIntercomResponseSchema(schema.ResponseSchema): - """ CreateVPCIntercom - 新建VPC互通关系 +class DescribeVPCIntercomResponseSchema(schema.ResponseSchema): + """ DescribeVPCIntercom - 获取VPC互通信息 """ - fields = {} + fields = { + "DataSet": fields.List( + models.VPCIntercomInfoSchema(), required=False, load_from="DataSet" + ) + } """ -API: DeleteRouteTable +API: ModifyRouteRule -删除自定义路由表 +路由策略增、删、改 """ -class DeleteRouteTableRequestSchema(schema.RequestSchema): - """ DeleteRouteTable - 删除自定义路由表 +class ModifyRouteRuleRequestSchema(schema.RequestSchema): + """ ModifyRouteRule - 路由策略增、删、改 """ fields = { "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "RouteTableId": fields.Str(required=True, dump_to="RouteTableId"), + "RouteRule": fields.List(fields.Str()), } -class DeleteRouteTableResponseSchema(schema.ResponseSchema): - """ DeleteRouteTable - 删除自定义路由表 +class ModifyRouteRuleResponseSchema(schema.ResponseSchema): + """ ModifyRouteRule - 路由策略增、删、改 """ fields = {} """ -API: ModifyRouteRule +API: UpdateRouteTableAttribute -路由策略增、删、改 +更新路由表基本信息 """ -class ModifyRouteRuleRequestSchema(schema.RequestSchema): - """ ModifyRouteRule - 路由策略增、删、改 +class UpdateRouteTableAttributeRequestSchema(schema.RequestSchema): + """ UpdateRouteTableAttribute - 更新路由表基本信息 """ fields = { "ProjectId": fields.Str(required=True, dump_to="ProjectId"), "RouteTableId": fields.Str(required=True, dump_to="RouteTableId"), - "RouteRule": fields.List(fields.Str()), + "Name": fields.Str(required=False, dump_to="Name"), + "Remark": fields.Str(required=False, dump_to="Remark"), + "Tag": fields.Str(required=False, dump_to="Tag"), "Region": fields.Str(required=True, dump_to="Region"), } -class ModifyRouteRuleResponseSchema(schema.ResponseSchema): - """ ModifyRouteRule - 路由策略增、删、改 +class UpdateRouteTableAttributeResponseSchema(schema.ResponseSchema): + """ UpdateRouteTableAttribute - 更新路由表基本信息 """ fields = {} """ -API: AddVPCNetwork +API: UpdateSubnetAttribute -添加VPC网段 +更新子网信息 """ -class AddVPCNetworkRequestSchema(schema.RequestSchema): - """ AddVPCNetwork - 添加VPC网段 +class UpdateSubnetAttributeRequestSchema(schema.RequestSchema): + """ UpdateSubnetAttribute - 更新子网信息 """ fields = { - "Network": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "VPCId": fields.Str(required=True, dump_to="VPCId"), + "SubnetId": fields.Str(required=True, dump_to="SubnetId"), + "Name": fields.Str(required=False, dump_to="Name"), + "Tag": fields.Str(required=False, dump_to="Tag"), } -class AddVPCNetworkResponseSchema(schema.ResponseSchema): - """ AddVPCNetwork - 添加VPC网段 +class UpdateSubnetAttributeResponseSchema(schema.ResponseSchema): + """ UpdateSubnetAttribute - 更新子网信息 """ fields = {} """ -API: DescribeVPC +API: UpdateVPCNetwork -获取VPC信息 +更新VPC网段 """ -class DescribeVPCRequestSchema(schema.RequestSchema): - """ DescribeVPC - 获取VPC信息 +class UpdateVPCNetworkRequestSchema(schema.RequestSchema): + """ UpdateVPCNetwork - 更新VPC网段 """ fields = { - "Tag": fields.Str(required=False, dump_to="Tag"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "VPCIds": fields.List(fields.Str()), + "Network": fields.List(fields.Str()), "Region": fields.Str(required=True, dump_to="Region"), "ProjectId": fields.Str(required=True, dump_to="ProjectId"), + "VPCId": fields.Str(required=True, dump_to="VPCId"), } -class DescribeVPCResponseSchema(schema.ResponseSchema): - """ DescribeVPC - 获取VPC信息 +class UpdateVPCNetworkResponseSchema(schema.ResponseSchema): + """ UpdateVPCNetwork - 更新VPC网段 """ - fields = { - "DataSet": fields.List( - models.VPCInfoSchema(), required=False, load_from="DataSet" - ) - } + fields = {"Message": fields.Str(required=True, load_from="Message")} diff --git a/ucloud/services/vpc/schemas/models.py b/ucloud/services/vpc/schemas/models.py index 8eb2962..af586fa 100644 --- a/ucloud/services/vpc/schemas/models.py +++ b/ucloud/services/vpc/schemas/models.py @@ -3,33 +3,17 @@ from ucloud.core.typesystem import schema, fields -class SubnetResourceSchema(schema.ResponseSchema): - """ SubnetResource - 子网下资源 - """ - - fields = { - "ResourceId": fields.Str(required=False, load_from="ResourceId"), - "ResourceType": fields.Str(required=False, load_from="ResourceType"), - "SubResourceName": fields.Str(required=False, load_from="SubResourceName"), - "SubResourceId": fields.Str(required=False, load_from="SubResourceId"), - "SubResourceType": fields.Str(required=False, load_from="SubResourceType"), - "IP": fields.Str(required=False, load_from="IP"), - "IPv6Address": fields.Str(required=False, load_from="IPv6Address"), - "Name": fields.Str(required=False, load_from="Name"), - } - - class RouteRuleInfoSchema(schema.ResponseSchema): """ RouteRuleInfo - 路由规则信息 """ fields = { - "Remark": fields.Str(required=False, load_from="Remark"), - "RouteRuleId": fields.Str(required=False, load_from="RouteRuleId"), - "RuleType": fields.Int(required=False, load_from="RuleType"), "DstAddr": fields.Str(required=False, load_from="DstAddr"), "NexthopId": fields.Str(required=False, load_from="NexthopId"), "NexthopType": fields.Str(required=False, load_from="NexthopType"), + "Remark": fields.Str(required=False, load_from="Remark"), + "RouteRuleId": fields.Str(required=False, load_from="RouteRuleId"), + "RuleType": fields.Int(required=False, load_from="RuleType"), } @@ -38,15 +22,15 @@ class RouteTableInfoSchema(schema.ResponseSchema): """ fields = { - "VPCId": fields.Str(required=False, load_from="VPCId"), - "Remark": fields.Str(required=False, load_from="Remark"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "RouteTableId": fields.Str(required=False, load_from="RouteTableId"), - "RouteTableType": fields.Int(required=False, load_from="RouteTableType"), "SubnetCount": fields.Str(required=False, load_from="SubnetCount"), "VPCName": fields.Str(required=False, load_from="VPCName"), "Tag": fields.Str(required=False, load_from="Tag"), "RouteRules": fields.List(RouteRuleInfoSchema()), + "RouteTableType": fields.Int(required=False, load_from="RouteTableType"), + "VPCId": fields.Str(required=False, load_from="VPCId"), + "Remark": fields.Str(required=False, load_from="Remark"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + "RouteTableId": fields.Str(required=False, load_from="RouteTableId"), } @@ -55,22 +39,38 @@ class SubnetInfoSchema(schema.ResponseSchema): """ fields = { - "Netmask": fields.Int(required=False, load_from="Netmask"), - "Zone": fields.Str(required=False, load_from="Zone"), "OperatorName": fields.Str(required=False, load_from="OperatorName"), - "VPCId": fields.Str(required=False, load_from="VPCId"), - "VPCName": fields.Str(required=False, load_from="VPCName"), "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "SubnetName": fields.Str(required=False, load_from="SubnetName"), + "SubnetType": fields.Int(required=False, load_from="SubnetType"), + "Gateway": fields.Str(required=False, load_from="Gateway"), + "HasNATGW": fields.Bool(required=False, load_from="HasNATGW"), + "VPCName": fields.Str(required=False, load_from="VPCName"), + "Remark": fields.Str(required=False, load_from="Remark"), "Subnet": fields.Str(required=False, load_from="Subnet"), + "Netmask": fields.Int(required=False, load_from="Netmask"), "RouteTableId": fields.Str(required=False, load_from="RouteTableId"), + "Zone": fields.Str(required=False, load_from="Zone"), + "VPCId": fields.Str(required=False, load_from="VPCId"), "Tag": fields.Str(required=False, load_from="Tag"), - "Gateway": fields.Str(required=False, load_from="Gateway"), - "SubnetType": fields.Int(required=False, load_from="SubnetType"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "HasNATGW": fields.Bool(required=False, load_from="HasNATGW"), "IPv6Network": fields.Str(required=False, load_from="IPv6Network"), - "Remark": fields.Str(required=False, load_from="Remark"), + "SubnetName": fields.Str(required=False, load_from="SubnetName"), + "CreateTime": fields.Int(required=False, load_from="CreateTime"), + } + + +class SubnetResourceSchema(schema.ResponseSchema): + """ SubnetResource - 子网下资源 + """ + + fields = { + "SubResourceName": fields.Str(required=False, load_from="SubResourceName"), + "SubResourceId": fields.Str(required=False, load_from="SubResourceId"), + "SubResourceType": fields.Str(required=False, load_from="SubResourceType"), + "IP": fields.Str(required=False, load_from="IP"), + "IPv6Address": fields.Str(required=False, load_from="IPv6Address"), + "Name": fields.Str(required=False, load_from="Name"), + "ResourceId": fields.Str(required=False, load_from="ResourceId"), + "ResourceType": fields.Str(required=False, load_from="ResourceType"), } @@ -92,13 +92,13 @@ class VPCInfoSchema(schema.ResponseSchema): "Network": fields.List(fields.Str()), "IPv6Network": fields.Str(required=False, load_from="IPv6Network"), "OperatorName": fields.Str(required=False, load_from="OperatorName"), - "NetworkInfo": fields.List(VPCNetworkInfoSchema()), + "SubnetCount": fields.Int(required=True, load_from="SubnetCount"), "CreateTime": fields.Int(required=True, load_from="CreateTime"), "UpdateTime": fields.Int(required=True, load_from="UpdateTime"), - "Name": fields.Str(required=True, load_from="Name"), "VPCId": fields.Str(required=False, load_from="VPCId"), - "SubnetCount": fields.Int(required=True, load_from="SubnetCount"), + "NetworkInfo": fields.List(VPCNetworkInfoSchema()), "Tag": fields.Str(required=True, load_from="Tag"), + "Name": fields.Str(required=True, load_from="Name"), } @@ -107,10 +107,10 @@ class VPCIntercomInfoSchema(schema.ResponseSchema): """ fields = { - "ProjectId": fields.Str(required=False, load_from="ProjectId"), - "Network": fields.List(fields.Str()), - "DstRegion": fields.Str(required=False, load_from="DstRegion"), "Name": fields.Str(required=False, load_from="Name"), "VPCId": fields.Str(required=False, load_from="VPCId"), "Tag": fields.Str(required=False, load_from="Tag"), + "ProjectId": fields.Str(required=False, load_from="ProjectId"), + "Network": fields.List(fields.Str()), + "DstRegion": fields.Str(required=False, load_from="DstRegion"), } diff --git a/ucloud/version.py b/ucloud/version.py index c0397b5..c2c7c8c 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -version = "0.1.2" +version = "0.1.3"