Source code for ucloud.services.ulb.client

# -*- coding: utf-8 -*-

""" Code is generated by ucloud-model, DO NOT EDIT IT. """
from ucloud.core.client import Client
from ucloud.services.ulb.schemas import apis


[docs]class ULBClient(Client): def __init__(self, config, transport=None, middleware=None, logger=None): super(ULBClient, self).__init__(config, transport, middleware, logger)
[docs] def allocate_backend(self, req=None, **kwargs): """ AllocateBackend - 添加ULB后端资源实例 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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) d = apis.AllocateBackendRequestSchema().dumps(d) resp = self.invoke("AllocateBackend", d, **kwargs) return apis.AllocateBackendResponseSchema().loads(resp)
[docs] def allocate_backend_batch(self, req=None, **kwargs): """ AllocateBackendBatch - 批量添加VServer后端节点 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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) d = apis.AllocateBackendBatchRequestSchema().dumps(d) resp = self.invoke("AllocateBackendBatch", d, **kwargs) return apis.AllocateBackendBatchResponseSchema().loads(resp)
[docs] def bind_ssl(self, req=None, **kwargs): """ BindSSL - 将SSL证书绑定到VServer **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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) d = apis.BindSSLRequestSchema().dumps(d) resp = self.invoke("BindSSL", d, **kwargs) return apis.BindSSLResponseSchema().loads(resp)
[docs] def create_policy(self, req=None, **kwargs): """ CreatePolicy - 创建VServer内容转发策略 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **BackendId** (list) - (Required) 内容转发策略应用的后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId - **Match** (str) - (Required) 内容转发匹配字段 - **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.CreatePolicyRequestSchema().dumps(d) kwargs["max_retries"] = 0 resp = self.invoke("CreatePolicy", d, **kwargs) return apis.CreatePolicyResponseSchema().loads(resp)
[docs] def create_ssl(self, req=None, **kwargs): """ CreateSSL - 创建SSL证书,可以把整个 Pem 证书内容传过来,或者把证书、私钥、CA证书分别传过来 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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.CreateSSLRequestSchema().dumps(d) kwargs["max_retries"] = 0 resp = self.invoke("CreateSSL", d, **kwargs) return apis.CreateSSLResponseSchema().loads(resp)
[docs] def create_ulb(self, req=None, **kwargs): """ CreateULB - 创建负载均衡实例,可以选择内网或者外网 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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.CreateULBRequestSchema().dumps(d) kwargs["max_retries"] = 0 resp = self.invoke("CreateULB", d, **kwargs) return apis.CreateULBResponseSchema().loads(resp)
[docs] def create_vserver(self, req=None, **kwargs): """ CreateVServer - 创建VServer实例,定义监听的协议和端口以及负载均衡算法 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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.CreateVServerRequestSchema().dumps(d) kwargs["max_retries"] = 0 resp = self.invoke("CreateVServer", d, **kwargs) return apis.CreateVServerResponseSchema().loads(resp)
[docs] def delete_policy(self, req=None, **kwargs): """ DeletePolicy - 删除内容转发策略 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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.DeletePolicyRequestSchema().dumps(d) resp = self.invoke("DeletePolicy", d, **kwargs) return apis.DeletePolicyResponseSchema().loads(resp)
[docs] def delete_ssl(self, req=None, **kwargs): """ DeleteSSL - 删除SSL证书 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **SSLId** (str) - (Required) SSL证书的ID **Response** """ 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)
[docs] def delete_ulb(self, req=None, **kwargs): """ DeleteULB - 删除负载均衡实例 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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) d = apis.DeleteULBRequestSchema().dumps(d) resp = self.invoke("DeleteULB", d, **kwargs) return apis.DeleteULBResponseSchema().loads(resp)
[docs] def delete_vserver(self, req=None, **kwargs): """ DeleteVServer - 删除VServer实例 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **ULBId** (str) - (Required) 负载均衡实例的ID - **VServerId** (str) - (Required) VServer实例的ID **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)
[docs] def describe_ssl(self, req=None, **kwargs): """ DescribeSSL - 获取SSL证书信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **Limit** (int) - 数据分页值,默认为20 - **Offset** (int) - 数据偏移量,默认值为0 - **SSLId** (str) - SSL证书的Id **Response** - **DataSet** (list) - 见 **ULBSSLSet** 模型定义 - **TotalCount** (int) - 满足条件的SSL证书总数 **Response Model** **ULBSSLSet** - **HashValue** (str) - - **SSLId** (str) - SSL证书的Id - **SSLName** (str) - SSL证书的名字 """ 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)
[docs] def describe_ulb(self, req=None, **kwargs): """ DescribeULB - 获取ULB详细信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **BusinessId** (str) - ULB所属的业务组ID - **Limit** (int) - 数据分页值,默认为20 - **Offset** (int) - 数据偏移量,默认为0 - **SubnetId** (str) - ULB所属的子网ID - **ULBId** (str) - 负载均衡实例的Id。 若指定则返回指定的负载均衡实例的信息; 若不指定则返回当前数据中心中所有的负载均衡实例的信息 - **VPCId** (str) - ULB所属的VPC **Response** - **DataSet** (list) - 见 **ULBSet** 模型定义 - **TotalCount** (int) - 满足条件的ULB总数 **Response Model** **PolicyBackendSet** - **BackendId** (str) - 所添加的后端资源在ULB中的对象ID,(为ULB系统中使用,与资源自身ID无关 - **ObjectId** (str) - 后端资源的对象ID - **Port** (int) - 所添加的后端资源服务端口 - **PrivateIP** (str) - 后端资源的内网IP - **ResourceName** (str) - 后端资源的实例名称 **ULBPolicySet** - **BackendSet** (list) - 见 **PolicyBackendSet** 模型定义 - **Match** (str) - 内容转发匹配字段;默认内容转发类型下为空。 - **PolicyId** (str) - 内容转发Id,默认内容转发类型下为空。 - **PolicyPriority** (int) - 内容转发优先级,范围[1,9999],数字越大优先级越高。默认内容转发规则下为0。 - **PolicyType** (str) - 内容类型,枚举值:Custom -> 客户自定义;Default -> 默认内容转发 - **TotalCount** (int) - 默认内容转发类型下返回当前rs总数 - **Type** (str) - 内容转发匹配字段的类型,枚举值:Domain -> 域名;Path -> 路径; 默认内容转发类型下为空 - **VServerId** (str) - 所属VServerId **ULBBackendSet** - **BackendId** (str) - 后端资源实例的Id - **Enabled** (int) - 后端提供服务的实例启用与否,枚举值:0 禁用 1 启用 - **Port** (int) - 后端提供服务的端口 - **PrivateIP** (str) - 后端提供服务的内网IP - **ResourceId** (str) - 资源实例的资源Id - **ResourceName** (str) - 资源实例的资源名称 - **ResourceType** (str) - 资源实例的类型 - **Status** (int) - 后端提供服务的实例运行状态,枚举值:0健康检查健康状态 1 健康检查异常 - **SubResourceId** (str) - 资源绑定的虚拟网卡实例的资源Id - **SubResourceName** (str) - 资源绑定的虚拟网卡实例的资源名称 - **SubResourceType** (str) - 资源绑定的虚拟网卡实例的类型 - **SubnetId** (str) - 后端提供服务的资源所在的子网的ID - **Weight** (int) - **ULBSSLSet** - **HashValue** (str) - - **SSLId** (str) - SSL证书的Id - **SSLName** (str) - SSL证书的名字 **ULBVServerSet** - **BackendSet** (list) - 见 **ULBBackendSet** 模型定义 - **ClientTimeout** (int) - 空闲连接的回收时间,单位:秒。 - **Domain** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查域名 - **FrontendPort** (int) - VServer服务端口 - **ListenType** (str) - 监听器类型,枚举值为: RequestProxy -> 请求代理;PacketsTransmit -> 报文转发 - **Method** (str) - VServer负载均衡的模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口)。 - **MonitorType** (str) - 健康检查类型,枚举值:Port -> 端口检查;Path -> 路径检查; - **Path** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查路径 - **PersistenceInfo** (str) - 根据PersistenceType确定: None或ServerInsert,此字段为空; UserDefined,此字段展示用户自定义会话string。 - **PersistenceType** (str) - VServer会话保持方式。枚举值为: None -> 关闭会话保持; ServerInsert -> 自动生成; UserDefined -> 用户自定义。 - **PolicySet** (list) - 见 **ULBPolicySet** 模型定义 - **Protocol** (str) - VServer实例的协议。 枚举值为:HTTP,TCP,UDP,HTTPS。 - **SSLSet** (list) - 见 **ULBSSLSet** 模型定义 - **Status** (int) - VServer的运行状态。枚举值: 0 -> rs全部运行正常;1 -> rs全部运行异常;2 -> rs部分运行异常。 - **VServerId** (str) - VServer实例的Id - **VServerName** (str) - VServer实例的名字 **ULBIPSet** - **Bandwidth** (int) - 弹性IP的带宽值(暂未对外开放) - **BandwidthType** (int) - 弹性IP的带宽类型,枚举值:1 表示是共享带宽,0 普通带宽类型(暂未对外开放) - **EIP** (str) - 弹性IP地址 - **EIPId** (str) - 弹性IP的ID - **OperatorName** (str) - 弹性IP的运营商信息,枚举值为: Bgp:BGP IP International:国际IP **ULBSet** - **Bandwidth** (int) - 带宽 - **BandwidthType** (int) - 带宽类型,枚举值为: 0,非共享带宽; 1,共享带宽 - **BusinessId** (str) - ULB 所属的业务组ID - **CreateTime** (int) - ULB的创建时间,格式为Unix Timestamp - **ExpireTime** (int) - ULB的到期时间,格式为Unix Timestamp - **IPSet** (list) - 见 **ULBIPSet** 模型定义 - **Name** (str) - 负载均衡的资源名称(资源系统中),缺省值“ULB” - **PrivateIP** (str) - ULB的内网IP,当ULBType为OuterMode时,该值为空 - **Remark** (str) - 负载均衡的备注,缺省值“” - **Resource** (list) - ULB的详细信息列表(废弃) - **SubnetId** (str) - ULB 为 InnerMode 时,ULB 所属的子网ID,默认为空 - **Tag** (str) - 负载均衡的业务组名称,缺省值“Default” - **ULBId** (str) - 负载均衡的资源ID - **ULBName** (str) - 负载均衡的资源名称(内部记载,废弃) - **ULBType** (str) - ULB 的类型 - **VPCId** (str) - ULB所在的VPC的ID - **VServerSet** (list) - 见 **ULBVServerSet** 模型定义 """ d = {"ProjectId": self.config.project_id, "Region": self.config.region} req and d.update(req) d = apis.DescribeULBRequestSchema().dumps(d) resp = self.invoke("DescribeULB", d, **kwargs) return apis.DescribeULBResponseSchema().loads(resp)
[docs] def describe_vserver(self, req=None, **kwargs): """ DescribeVServer - 获取ULB下的VServer的详细信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **ULBId** (str) - (Required) 负载均衡实例的Id - **Limit** (int) - 数据分页值 - **Offset** (int) - 数据偏移量 - **VServerId** (str) - VServer实例的Id;若指定则返回指定的VServer实例的信息; 若不指定则返回当前负载均衡实例下所有VServer的信息 **Response** - **DataSet** (list) - 见 **ULBVServerSet** 模型定义 - **TotalCount** (int) - 满足条件的VServer总数 **Response Model** **PolicyBackendSet** - **BackendId** (str) - 所添加的后端资源在ULB中的对象ID,(为ULB系统中使用,与资源自身ID无关 - **ObjectId** (str) - 后端资源的对象ID - **Port** (int) - 所添加的后端资源服务端口 - **PrivateIP** (str) - 后端资源的内网IP - **ResourceName** (str) - 后端资源的实例名称 **ULBSSLSet** - **HashValue** (str) - - **SSLId** (str) - SSL证书的Id - **SSLName** (str) - SSL证书的名字 **ULBPolicySet** - **BackendSet** (list) - 见 **PolicyBackendSet** 模型定义 - **Match** (str) - 内容转发匹配字段;默认内容转发类型下为空。 - **PolicyId** (str) - 内容转发Id,默认内容转发类型下为空。 - **PolicyPriority** (int) - 内容转发优先级,范围[1,9999],数字越大优先级越高。默认内容转发规则下为0。 - **PolicyType** (str) - 内容类型,枚举值:Custom -> 客户自定义;Default -> 默认内容转发 - **TotalCount** (int) - 默认内容转发类型下返回当前rs总数 - **Type** (str) - 内容转发匹配字段的类型,枚举值:Domain -> 域名;Path -> 路径; 默认内容转发类型下为空 - **VServerId** (str) - 所属VServerId **ULBBackendSet** - **BackendId** (str) - 后端资源实例的Id - **Enabled** (int) - 后端提供服务的实例启用与否,枚举值:0 禁用 1 启用 - **Port** (int) - 后端提供服务的端口 - **PrivateIP** (str) - 后端提供服务的内网IP - **ResourceId** (str) - 资源实例的资源Id - **ResourceName** (str) - 资源实例的资源名称 - **ResourceType** (str) - 资源实例的类型 - **Status** (int) - 后端提供服务的实例运行状态,枚举值:0健康检查健康状态 1 健康检查异常 - **SubResourceId** (str) - 资源绑定的虚拟网卡实例的资源Id - **SubResourceName** (str) - 资源绑定的虚拟网卡实例的资源名称 - **SubResourceType** (str) - 资源绑定的虚拟网卡实例的类型 - **SubnetId** (str) - 后端提供服务的资源所在的子网的ID - **Weight** (int) - **ULBVServerSet** - **BackendSet** (list) - 见 **ULBBackendSet** 模型定义 - **ClientTimeout** (int) - 空闲连接的回收时间,单位:秒。 - **Domain** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查域名 - **FrontendPort** (int) - VServer服务端口 - **ListenType** (str) - 监听器类型,枚举值为: RequestProxy -> 请求代理;PacketsTransmit -> 报文转发 - **Method** (str) - VServer负载均衡的模式,枚举值:Roundrobin -> 轮询;Source -> 源地址;ConsistentHash -> 一致性哈希;SourcePort -> 源地址(计算端口);ConsistentHashPort -> 一致性哈希(计算端口)。 - **MonitorType** (str) - 健康检查类型,枚举值:Port -> 端口检查;Path -> 路径检查; - **Path** (str) - 根据MonitorType确认; 当MonitorType为Port时,此字段无意义。当MonitorType为Path时,代表HTTP检查路径 - **PersistenceInfo** (str) - 根据PersistenceType确定: None或ServerInsert,此字段为空; UserDefined,此字段展示用户自定义会话string。 - **PersistenceType** (str) - VServer会话保持方式。枚举值为: None -> 关闭会话保持; ServerInsert -> 自动生成; UserDefined -> 用户自定义。 - **PolicySet** (list) - 见 **ULBPolicySet** 模型定义 - **Protocol** (str) - VServer实例的协议。 枚举值为:HTTP,TCP,UDP,HTTPS。 - **SSLSet** (list) - 见 **ULBSSLSet** 模型定义 - **Status** (int) - VServer的运行状态。枚举值: 0 -> rs全部运行正常;1 -> rs全部运行异常;2 -> rs部分运行异常。 - **VServerId** (str) - VServer实例的Id - **VServerName** (str) - VServer实例的名字 """ 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)
[docs] def release_backend(self, req=None, **kwargs): """ ReleaseBackend - 从VServer释放后端资源实例 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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) d = apis.ReleaseBackendRequestSchema().dumps(d) resp = self.invoke("ReleaseBackend", d, **kwargs) return apis.ReleaseBackendResponseSchema().loads(resp)
[docs] def unbind_ssl(self, req=None, **kwargs): """ UnbindSSL - 从VServer解绑SSL证书 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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) d = apis.UnbindSSLRequestSchema().dumps(d) resp = self.invoke("UnbindSSL", d, **kwargs) return apis.UnbindSSLResponseSchema().loads(resp)
[docs] def update_backend_attribute(self, req=None, **kwargs): """ UpdateBackendAttribute - 更新ULB后端资源实例(服务节点)属性 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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) d = apis.UpdateBackendAttributeRequestSchema().dumps(d) resp = self.invoke("UpdateBackendAttribute", d, **kwargs) return apis.UpdateBackendAttributeResponseSchema().loads(resp)
[docs] def update_policy(self, req=None, **kwargs): """ UpdatePolicy - 更新内容转发规则,包括转发规则后的服务节点 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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.UpdatePolicyRequestSchema().dumps(d) resp = self.invoke("UpdatePolicy", d, **kwargs) return apis.UpdatePolicyResponseSchema().loads(resp)
[docs] def update_ulb_attribute(self, req=None, **kwargs): """ UpdateULBAttribute - 更新ULB名字业务组备注等属性字段 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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.UpdateULBAttributeRequestSchema().dumps(d) resp = self.invoke("UpdateULBAttribute", d, **kwargs) return apis.UpdateULBAttributeResponseSchema().loads(resp)
[docs] def update_vserver_attribute(self, req=None, **kwargs): """ UpdateVServerAttribute - 更新VServer实例属性 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **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)