- 负载均衡 公开API目录
- 访问地址
- 1.DescribeZones
- 2.DescribeLoadBalancersSpec
- 3.CreateLoadBalancer
- 4.DescribeLoadBalancers
- 5.DescribeLoadBalancersModifySpec
- 6.ModifyLoadBalancerInstanceSpec
- 7.DeleteLoadBalancer
- 8.DescribeCACertificates
- 9.DescribeCACertificate
- 10.DeleteCACertificate
- 11.UploadCACertificate
- 12.DescribeLoadBalancerStrategys
- 13.ModifyLoadBalancerStrategys
- 14.DescribeLBInstancePerformance
- 15.ModifyLoadBalancerName
负载均衡 公开API目录
- 认证方式.md#认证方式)
- 1.公共请求参数.md#1公共请求参数)
- 2.签名机制.md#2签名机制)
- 步骤一:构造规范化请求字符串.md#步骤一构造规范化请求字符串)
- 步骤二:构造签名字符串.md#步骤二构造签名字符串)
- 3.获取签名代码.md#2获取签名代码)
- 错误码
- 访问地址
- API概览
- 1.DescribeZones
- 2.DescribeLoadBalancersSpec
- 3.CreateLoadBalancer
- 4.DescribeLoadBalancers
- 5.DescribeLoadBalancersModifySpec
- 6.ModifyLoadBalancerInstanceSpec
- 7.DeleteloadBalancer
- 8.DescribeCACertificates
- 9.DescribeCACertificate
- 10.DeleteCACertificate
- 11.UploadCACertificate
- 12.DescribeLoadBalancerStrategys
- 13.ModifyLoadBalancerStrategys
- 14.DescribeLBInstancePerformance
- 15.ModifyLoadBalancerName
API概览
负载均衡HaProxy(以下简称Ha)产品提供以下相关API接口
| API | 描述 |
|---|---|
| 1. DescribeZones | 获取负载均衡Ha支持的区域。 |
| 2. DescribeLoadBalancersSpec | 获取某个站点支持的Haproxy产品类型以及规格。 |
| 3. CreateLoadBalancer | 创建Ha实例。 |
| 4. DescribeLoadBalancers | 获取Ha实例列表。 |
| 5. DescribeLoadBalancersModifySpec | 获取实例Ha的配置变更所支持的规格。 |
| 6. ModifyLoadBalancerInstanceSpec | 修改实例规格。 |
| 7. DeleteLoadBalancer | 删除Ha实例。 |
| 8. DescribeCACertificates | 获取用户的证书列表。 |
| 9. DescribeCACertificate | 获取用户的证书详情。 |
| 10. DeleteCACertificate | 删除证书。 |
| 11. UploadCACertificate | 添加证书。 |
| 12. DescribeLoadBalancerStrategys | 获取Ha实例的当前监听的策略配置列表。 |
| 13. ModifyLoadBalancerStrategys | 修改(删除、修改、添加)Ha实例的当前监听的策略配置列表。 |
| 14. DescribeLBInstancePerformance | 获取Ha实例的监控值。 |
| 15. ModifyLoadBalancerName | 修改Ha实例的名称。 |
错误码
| HttpCode | 错误码 | 描述 |
|---|---|---|
| 400 | ArgMissing | 缺少参数错误 |
| 400 | InvalidParameter | 参数错误 |
| 400 | BadArgs | 参数错误 |
| 400 | UnsupportedOperation | 操作不支持 |
| 404 | ResourceNotFound | 资源不存在 |
| 409 | ResourceInUse | 资源正在被其他任务占用,操作冲突 |
| 500 | InternalError | 内部错误 |
| 500 | CreateOrderExcept | 创建订单异常 |
访问地址
| 地区 | 访问地址 |
|---|---|
| 中国大陆 | cdsapi.capitalonline.net |
| 亚太地区 | cdsapi-asia.capitalonline.net |
| 欧美地区 | cdsapi-us.capitalonline.net |
1.DescribeZones
Action: DescribeZones
描述: 获取负载均衡Ha支持的区域
请求地址: cdsapi.capitalonline.net/lb
请求方法: GET
请求参数: 无
请求示例
def get_haproxy_zones():"""获取haproxy支持的站点区域"""action = "DescribeZones"method = "GET"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param)res = requests.get(url)result = json.loads(res.content)result = json.dumps(result) # json格式化
返回示例
{"Code": "Success","Data": [{"CityId": "3082f45e-306e-11e7-9796-0050569b4d9c","CityName": "洛杉矶","IsSaling": 1,"RegionId": "US_LosAngeles_A","RegionName": "北美地区","SiteName": "洛杉矶1"}, {"CityId": "7b98a5d1-306e-11e7-9796-0050569b4d9c","CityName": "法兰克福","IsSaling": 1,"RegionId": "EUR_Germany_A","RegionName": "欧洲地区","SiteName": "德国1"}, {"CityId": "8737606f-306d-11e7-9796-0050569b4d9c","CityName": "东京","IsSaling": 1,"RegionId": "APAC_Tokyo_A","RegionName": "亚太地区","SiteName": "东京1"}, {"CityId": "27b57297-306d-11e7-9796-0050569b4d9c","CityName": "香港","IsSaling": 1,"RegionId": "CN_Hongkong_A","RegionName": "亚太地区","SiteName": "香港1"}, {"CityId": "a8937b00-306d-11e7-9796-0050569b4d9c","CityName": "新加坡","IsSaling": 1,"RegionId": "APAC_Singapore_A","RegionName": "亚太地区","SiteName": "新加坡1"}, {"CityId": "5c432e0e-306e-11e7-9796-0050569b4d9c","CityName": "阿姆斯特丹","IsSaling": 1,"RegionId": "EUR_Netherlands_A","RegionName": "欧洲地区","SiteName": "荷兰1"}, {"CityId": "154ed19e-306e-11e7-9796-0050569b4d9c","CityName": "纽约","IsSaling": 1,"RegionId": "US_NewYork_A","RegionName": "北美地区","SiteName": "纽约1"}, {"CityId": "ea3ca775-306c-11e7-9796-0050569b4d9c","CityName": "北京","IsSaling": 1,"RegionId": "CN_Beijing_B","RegionName": "中国大陆","SiteName": "北京2"}, {"CityId": "ea3ca775-306c-11e7-9796-0050569b4d9c","CityName": "北京","IsSaling": 1,"RegionId": "CN_Beijing_E","RegionName": "中国大陆","SiteName": "北京5"}, {"CityId": "ea3ca775-306c-11e7-9796-0050569b4d9c","CityName": "北京","IsSaling": 1,"RegionId": "CN_Beijing_A","RegionName": "中国大陆","SiteName": "北京1"}, {"CityId": "e48e2312-306d-11e7-9796-0050569b4d9c","CityName": "达拉斯","IsSaling": 1,"RegionId": "US_Dallas_A","RegionName": "北美地区","SiteName": "达拉斯1"}, {"CityId": "713d3745-306d-11e7-9796-0050569b4d9c","CityName": "台北","IsSaling": 1,"RegionId": "CN_Taipei_A","RegionName": "亚太地区","SiteName": "台北1"}, {"CityId": "123d0d01-306d-11e7-9796-0050569b4d9c","CityName": "无锡","IsSaling": 1,"RegionId": "CN_Wuxi_A","RegionName": "中国大陆","SiteName": "无锡1"}, {"CityId": "87fcbbd6-be0a-11e7-9d6b-0242ac110004","CityName": "首尔","IsSaling": 1,"RegionId": "APAC_Seoul_A","RegionName": "亚太地区","SiteName": "首尔1"}, {"CityId": "ea3ca775-306c-11e7-9796-0050569b4d9c","CityName": "北京","IsSaling": 1,"RegionId": "CN_Beijing_C","RegionName": "中国大陆","SiteName": "北京3"}, {"CityId": "c11a5abe-3f7e-11e7-86b1-0242ac11000e","CityName": "广州","IsSaling": 1,"RegionId": "CN_Guangzhou_A","RegionName": "中国大陆","SiteName": "广州1"}, {"CityId": "b44355d0-65e7-11e7-8ea9-0050569b651c","CityName": "上海","IsSaling": 1,"RegionId": "CN_Shanghai_A","RegionName": "中国大陆","SiteName": "上海1"}, {"CityId": "ea3ca775-306c-11e7-9796-0050569b4d9c","CityName": "北京","IsSaling": 1,"RegionId": "CN_Beijing_H","RegionName": "中国大陆","SiteName": "北京8"}],"Message": "Success."}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
| Data | string | 数据 |
| RegionId | string | 站点编号 |
| RegionName | string | 区域名称 |
| CityId | string | 城市编号 |
| CityName | string | 城市名称 |
| SiteName | string | 站点名称 |
| IsSaling | Int | 站点是否能购买服务,1:支持购买;0:已下线 |
2.DescribeLoadBalancersSpec
Action: DescribeLoadBalancersSpec
描述: 获取某个站点支持的Haproxy产品类型以及规格
请求地址: cdsapi.capitalonline.net/lb
请求方法: GET
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| RegionId | 是 | string | 站点编号 |
请求示例
def get_haproxy_specInfo():"""获取某个站点支持的haproxy产品类型以及规格"""action = "DescribeLoadBalancersSpec"method = "GET"param = {"RegionId": "CN_Hongkong_A"}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param)res = requests.get(url)result = json.loads(res.content)result = json.dumps(result) # json格式化
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Code | string | 状态码 |
| Data | DataObj | 可购买的HaProxy产品类型以及规格数据对象 |
| Message | string | 返回调用接口状态信息和code相对应,比如:Success, Error |
| TaskId | string | 任务Id, 暂时不支持根据任务查询任务状态 |
DataObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| ProductName | string | 产品名称,比如haproxy |
| Products | list of ProductObj | 该类产品支持的产品列表 |
| RegionId | string | 站点编号 |
ProductObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| Architectures | list of ArchitectureObj | 产品支持的架构列表 |
| Version | string | 产品支持的版本 |
ArchitectureObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| ArchitectureName | string | 架构名称 |
| ArchitectureType | int | 架构类型: 1-主从版 |
| ComputeRoles | list of ComputeRoleObj | 支持的计算类型,不同的计算类型支持不同规格,并支持添加不同类型的硬盘 |
| EnginesType | string | 引擎类型 |
| SubProductName | string | 子产品名称,比如:haproxy 主从版 |
ComputeRoleObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| ComputeName | string | 计算类型名称, 比如:通用型 |
| ComputeType | int | 支持的计算类型(目前仅支持通用型计算类型): 0-通用型 |
| Standards | StandardObj | 该类型支持的规格 |
StandardObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| AttachDisk | list of AttachDiskObj | 该类型规格能够添加的磁盘类型列表 |
| CpuRam | list of CpuRamObj | 支持的规格列表 |
AttachDiskObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| BasicIops | string | 基础的磁盘的iops |
| DiskMax | int | 单次支持扩容到最大磁盘容量为2000 |
| DiskMaxExpand | string | 磁盘最大可扩容大小 |
| DiskMin | string | 磁盘容量支持的最小值,起步为100 |
| DiskName | string | 磁盘类型名称,包含SSD和性能型 SSD:SSD磁盘,磁盘IOPS默认为5000,可购买IOPS性能包 性能型:普通SSD盘,磁盘IOPS限定在3000 |
| DiskStep | string | 磁盘扩容步长,步长大小=100 |
| DiskUnit | string | 磁盘容量单位:GB |
| DiskValue | string | 磁盘类型,用于创建服务实例指定磁盘类型 (创建服务时候使用) |
CpuRamObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| CPU | int | 核心数量,单位:个 |
| Name | string | 规格名称 |
| PaasGoodsId | int | 具体的产品编号,根据产品编号确定购买哪一种规格 |
| RAM | int | 内存大小,单位:GB |
返回示例
{"Code": "Success","Data": {"ProductName": "haproxy","Products": [{"Architectures": [{"ArchitectureName": "主从","ComputeRoles": [{"ComputeName": "通用型","Standards": {"AttachDisk": [{"BasicIops": "","DiskMax": 2000,"DiskMaxExpand": 2000,"DiskMin": 100,"DiskName": "SSD","DiskStep": 100,"DiskUnit": "G","DiskValue": "ssd_disk"}],"CpuRam": [{"CPU": 1,"Name": "1C2G","PaasGoodsId": 13565,"RAM": 2}]}}],"EnginesType": [],"NetworkLinks": null,"SubProductName": "haproxy 主从版"}],"Version": "2.4"}],"RegionId": "*******"},"Message": "success","TaskId": ""}
3.CreateLoadBalancer
Action: CreateLoadBalancer
描述: 创建Ha实例
请求地址: cdsapi.capitalonline.net/lb
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| RegionId | 是 | string | 站点编号 |
| VdcId | 是 | string | 数据中心的编号 |
| BasePipeId | 是 | string | 数据中心的私网编号,创建服务将按这个私网分配id |
| InstanceName | 是 | string | 实例名称 |
| PaasGoodsId | 是 | int | 产品的规格编号 |
| Ips | 是 | list | ha使用的网络,根据所传不通网络,创建不同网络机器 |
| IsVip | 否 | int | 是否开启内网,此参数只适用于公网SLB,内网SLB无需配置,默认值 : 1 1: 表示开启内网Vip 0:表示不开启内网VIp |
| PipeType | 是 | list | ha使用的网络 [“pipe_type”,”public”] |
| PipeId | 是 | string | 内网网络id,或者公网的网络id |
| SegmentId | 是 | string | 占用的公网网段的编号,会占用3个公网 |
| Amount | 否 | int | 购买的数量一次最多购买三个 |
请求示例**
def create_haproxy():"""创建haproxy实例"""action = "CreateLoadBalancer"method = "POST"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param=param)body = {"RegionId": "******","VdcId": "******","BasePipeId": "******","InstanceName": "test-haproxy","PaasGoodsId": "5072","Ips": [{"PipeType": "private","PipeId": "******","IsVip": 1},{"PipeType": "public", # 如创建公网,则需要"PipeId": "******","SegmentId": "******"}],"Amount": 1}res = requests.post(url, json=body)result = json.loads(res.content)
返回示例
{"Message": "Success.","Code": "Success","Data": {"InstancesUuid":["5d74bb81-0473-464d-b15b-0ae418619248",]},"TaskId": "********"}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
| Data | dict | 包含任务编码和实例编码列表 |
| InstancesUuid | list | 实例编码 |
| TaskId | string | 任务id |
4.DescribeLoadBalancers
Action: DescribeLoadBalancers
描述: 获取Ha实例列表(支持常见字段过滤、instance_uuid/instance_name/ip)
请求地址: cdsapi.capitalonline.net/lb
请求方法: GET
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| IP | 否 | string | 要过滤的服务IP |
| InstanceUuid | 否 | string | 要过滤的实例编号 |
| InstanceName | 否 | string | 要过滤的实例名称 |
| StartTime | 否 | string | 选取创建时间大于该时间的实例,时间格式为2021-03-10 14:00:00 |
| EndTime | 否 | string | 选取创建时间小于该时间的实例,时间格式为2021-03-10 15:00:00 |
请求示例
def get_haproxyInstances_list():"""获取haproxy实例列表(支持常见字段过滤、instance_uuid/instance_name/ip)"""action = "DescribeLoadBalancers"method = "GET"param = {"IP": "66.66", # 可选字段"InstanceName": "haproxy" # 可选字段}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param)res = requests.get(url)result = json.loads(res.content)print(result)
返回示例
{"Code": "Success","Data": [{"CloneServices": null,"Cpu": 1,"CreatedTime": "2020-05-05 00:13:53","DisplayName": "亚太地区-香港-可用区A","IP": "66.66.0.52","InstanceName": "*******","InstanceUuid": "*************","LinkType": "","LinkTypeStr": "","MasterInfo": "","Port": 0,"ProjectName": "默认项目""Ram": 2048,"RegionId": "CN_Hongkong_A","RelationService": null,"ResourceId": "71bf731e-7cc8-4307-8408-4952e4dcd470","RoGroups": null,"Status": "RUNNING","StatusStr": "运行中","SubProductName": "haproxy 主从版","VdcId": "********","VdcName": "香港PaaS1","Version": "1.8.3""Vips": [{"IP": "xx.xx.xx.xx","Type": "private"},{"IP": "xx.xx.xx.xx","Type": "public"}]}],"Message": "Success."}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
| Data | dict | 数据 |
| RelationService | dict | 相关联的服务实例 (该服务这里为空) |
| CloneServices | list | 克隆的临时实例列表(该服务这里为空) |
| DisplayName | string | 站点名称 |
| IP | string | 负载均衡实例的连接的IP,当有公网vip时,返回公网vip,没有公网vip时,返回内网vip |
| Port | int | 连接的端口 |
| ProjectName | string | 项目名称 |
| Cpu | int | cpu大小 |
| Ram | int | 内存 单位M |
| RegionId | string | 站点编号 |
| VdcId | string | 数据中心的编号 |
| VdcName | string | 数据中心名称 |
| MasterInfo | dict | 从属集群,只读服务会有值 |
| LinkTypeStr | string | 链路类型名称 |
| ro_groups | list | 只读实例列表(该服务这里为空) |
| SubProductName | string | 子产品的名字 |
| Version | string | 服务版本 |
| LinkType | string | 单次支持最大规格的磁盘 |
| Status | stringstring | 实例状态 |
| StatusStr | string | 状态对应的中文 |
| InstanceUuid | string | 实例编号 |
| InstanceName | string | 实例名称 |
| CreatedTime | string | 实例创建时间 |
| vips | list | 负载均衡多个vip地址信息 |
| ip | string | 其中一个vip地址 |
| type | string | 网络类型 内网/公网 |
5.DescribeLoadBalancersModifySpec
Action: DescribeLoadBalancersModifySpec
描述: 获取实例Ha的配置变更所支持的规格
请求地址: cdsapi.capitalonline.net/lb
请求方法: GET
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| InstanceUuid | 是 | string | 实例编号 |
请求示例
def get_haproxy_modify_spec(instance_uuid):"""获取实例Ha的配置变更所支持的规格:param instance_uuid: 实例编号:return:"""action = "DescribeLoadBalancersModifySpec"method = "GET"param = {"InstanceUuid": instance_uuid}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param)res = requests.get(url)result = json.loads(res.content)print(result)
返回示例
{"Code": "Success","Data": {"AttachDisk": [{"BasicIops": "3000","DiskMax": 2000,"DiskMaxExpand": 2000,"DiskMin": 100,"DiskName": "性能型","DiskStep": 100,"DiskUnit": "G","DiskValue": "high_disk"}],"CpuRam": [{"CPU": 1,"N": "1C2G","PaasGoodsId": 5072,"RAM": 2}, {"CPU": 2,"Name": "2C4G","PaasGoodsId": 5075,"RAM": 4}, {"CPU": 4,"Name": "4C8G","PaasGoodsId": 5078,"RAM": 8}, {"CPU": 8,"Name": "8C16G","PaasGoodsId": 5081,"RAM": 16}],"ProductName": "haproxy 主从版","RegionId": "CN_Hongkong_A"},"Message": "Success.","TaskId": ""}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
| TaskId | string | 任务编号 |
| Data | dict | 数据 |
| ProductName | string | 产品名称 |
| RegionId | string | 站点编号 |
| CpuRam | list | 支持的规格列表 |
| CPU | int | 购买产吕CPU数量 |
| Name | string | 购买产品名称 |
| PaasGoodsId | int | 可购买的产品规格编号 |
| RAM | int | 购买产品内存大小 |
| AttachDisk | list | 该类型规格能够添加的磁盘类型 |
| BasicIops | string | 基础IOPS大小 |
| DiskMax | int | 最大磁盘大小 |
| DiskMaxExpand | int | 最大可扩展磁盘大小 |
| DiskMin | int | 最小磁盘大小 |
| DiskName | string | 磁盘类型 |
| DiskStep | int | 磁盘增大步长 |
| DiskUnit | string | 磁盘单位 |
| DiskValue | string | 磁盘类型key |
6.ModifyLoadBalancerInstanceSpec
Action: ModifyLoadBalancerInstanceSpec
描述: 修改实例规格
请求地址: cdsapi.capitalonline.net/lb
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| InstanceUuid | 是 | string | 要修改的实例id |
| PaasGoodsId | 是 | int | 要修改成为的规格产品编号 |
请求示例
def modify_haproxy_spec(instance_uuid):"""修改haproxy实例规格:param instance_uuid: 实例编号"""action = "ModifyLoadBalancerInstanceSpec"method = "POST"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param=param)body = {"InstanceUuid": instance_uuid,"PaasGoodsId": 5078, # 此处必须传int类型且goodsid存在,否则报错}res = requests.post(url, json=body)result = json.loads(res.content)
返回示例
{"Code": "Success","Data": {},"Message": "Success.","TaskId": "******"}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
| TaskId | string | 任务状态 |
| Data | string | 数据 |
7.DeleteLoadBalancer
Action: DeleteLoadBalancer
描述: 删除Ha实例
请求地址: cdsapi.capitalonline.net/lb
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| InstanceUuid | 否 | string | 实例编号 |
请求示例
def delete_haproxy(instance_uuid, ):"""删除haproxy实例:param instance_uuid: 实例编号"""action = "DeleteLoadBalancer"method = "POST"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param=param)body = {"InstanceUuid": instance_uuid,}res = requests.post(url, json=body)result = json.loads(res.content)
返回示例**
{"Code": "Success","Data": {},"Message": "Success.","TaskId": "******"}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Code | string | 状态码 |
| Data | dict | 数据 |
| Message | string | 信息描述 |
| TaskId | string | 任务编号 |
8.DescribeCACertificates
Action: DescribeCACertificates
描述: 获取用户的证书列表
请求地址: cdsapi.capitalonline.net/lb
请求方法: GET
请求参数: 无
请求示例
def get_user_ca_lists():"""获取用户的证书列表"""action = "DescribeCACertificates"method = "GET"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param)res = requests.get(url)result = json.loads(res.content)result = json.dumps(result) # json格式化print(result)
返回示例**
{"Code": "Success","Data": [{"Brand": "Encryption Everywhere DV TLS CA - G1","CertificateId": "******","CertificateName": "******","CertificateType": "DV","Domain": "******","EndTime": "2021-02-25 12:00:00","Organization": "DigiCert Inc","StartTime": "2020-02-26 00:00:00","Valid": 1}],"Message": "Success."}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
| Data | dict | 数据 |
| Domain | string | 域名 |
| CertificateName | string | 证书名称,用户自定义名称 |
| CertificateType | string | 证书类型 |
| Brand | string | 证书品牌 |
| CertificateId | string | 证书编号 |
| Organization | string | 颁发机构 |
| StartTime | string | 证书有效开始时间 |
| EndTime | string | 证书有效结束时间 |
| Valid | int | 证书是否有效,0过期的,1有效的 ,2即将过期的(30天内) |
9.DescribeCACertificate
Action: DescribeCACertificate
描述: 获取用户的证书详情
请求地址: cdsapi.capitalonline.net/lb
请求方法: GET
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| CertificateId | 是 | string | 证书编号 |
请求示例
def get_user_caId(caId):"""获取单个证书详情"""action = "DescribeCACertificate"method = "GET"param = {"CertificateId": caId}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param)res = requests.get(url)result = json.loads(res.content)result = json.dumps(result) # json格式化print(result)
返回示例
{"Code": "Success","Data": {"Brand": "Encryption Everywhere DV TLS CA - G1","Certificate": "-----BEGIN CERTIFICATE-----\n******\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n******\n-----END CERTIFICATE-----\n","CertificateId": "******","CertificateName": "******","CertificateType": "DV","Domain": "******","EndTime": "2021-02-25 12:00:00","Organization": "DigiCert Inc","PirvateKey": "-----BEGIN RSA PRIVATE KEY-----\n******=\n-----END RSA PRIVATE KEY-----\n","PublicKey": "-----BEGIN PUBLIC KEY-----\n******\n-----END PUBLIC KEY-----\n","StartTime": "2020-02-26 00:00:00","Valid": 1},"Message": "Success.","TaskId": ""}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
| TaskId | string | 任务编号 |
| Data | dict | 数据 |
| Certificate | string | 证书信息 |
| PublicKey | string | 公钥 |
| PirvateKey | string | 私钥 |
| Domain | string | 域名 |
| CertificateName | string | 证书名称,用户自定义名称 |
| CertificateType | string | 证书类型 |
| Brand | string | 证书品牌 |
| CertificateId | string | 证书编号 |
| Organization | string | 颁发机构 |
| StartTime | string | 证书有效开始时间 |
| EndTime | string | 证书有效结束时间 |
| Valid | int | 是否有效,0:过期的 1:有效的 2:即将过期的(30天内) |
10.DeleteCACertificate
Action: DeleteCACertificate
描述: 删除证书
请求地址: cdsapi.capitalonline.net/lb
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| CertificateId | 是 | string | 证书编号 |
请求示例
def delete_ca(caId):"""删除证书:param caId:"""action = "DeleteCACertificate"method = "POST"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param=param)body = {"CertificateId": caId,}res = requests.post(url, json=body)result = json.loads(res.content)
返回示例
{"Code": "Success","Data": {},"Message": "Success.","TaskId": ""}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Code | string | 状态码 |
| Data | dict | 数据 |
| Message | string | 信息描述 |
| TaskId | string | 任务编号 |
11.UploadCACertificate
Action: UploadCACertificate
描述: 添加证书
请求地址: cdsapi.capitalonline.net/lb
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| Certificate | 是 | string | 证书 (——-BEGIN CERTIFICATE——-\n ——-END CERTIFICATE——-\n必须有标准的换行”\n”) |
| PrivateKey | 是 | string | 私钥 |
| CertificateName | 是 | string | 自定义证书名称 |
请求示例
def add_ca():"""添加证书"""action = "UploadCACertificate"method = "POST"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param=param)body = {"Certificate": "-----BEGIN CERTIFICATE-----\n******\n-----END CERTIFICATE-----\n----- BEGIN CERTIFICATE-----\n******\n-----END CERTIFICATE-----\n","PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\n******\n-----END RSA PRIVATE KEY-----\n", #此处证书必须符合规范,且有相应的换行符\n"CertificateName": "******"}res = requests.post(url, json=body)result = json.loads(res.content)
返回示例
{"Code": "Success","Data": {},"Message": "Success.","TaskId": ""}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Code | string | 状态码 |
| Data | dict | 数据 |
| Message | string | 信息描述 |
| TaskId | string | 任务编号 |
12.DescribeLoadBalancerStrategys
Action: DescribeLoadBalancerStrategys
描述: 获取Ha实例的当前监听的策略配置列表
请求地址: cdsapi.capitalonline.net/lb
请求方法: GET
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| InstanceUuid | 是 | string | 实例编号 |
请求示例
def get_strategy_list(instance_uuid):"""获取单个实例所有的策略配置"""action = "DescribeLoadBalancerStrategys"method = "GET"param = {"InstanceUuid": "***************"}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param)res = requests.get(url)result = json.loads(res.content)result = json.dumps(result) # json格式化print(result)
返回示例
{"Code": "Success","Data": {"HttpListeners": [{"AclWhiteList": ["192.168.1.2"],"BackendServer": [{"IP": "88.88.0.9","MaxConn": 2222,"Port": 22221,"Weight": "29"}],"CertificateIds": [{"CertificateId": "*****************","CertificateName": "证书oXDYdSgK"}],"ClientTimeout": "1000","ClientTimeoutUnit": "ms","ConnectTimeout": "1000","ConnectTimeoutUnit": "ms","ListenerMode": "http","ListenerName": "http34","ListenerPort": 23425,"MaxConn": 100000,"Option": {"Httpchk": {"Method": "GET","Uri": "/index.htm"}},"Scheduler": "roundrobin","ServerTimeout": "1002","ServerTimeoutUnit": "ms","SessionPersistence": {"Key": "test123","Mode": 2,"Timer": {"MaxIdle": 3333,"MaxLife": 3444}},"StickySession": "on"}],"TcpListeners": [{"AclWhiteList": [],"BackendServer": [{"IP": "88.88.0.9","MaxConn": 2000,"Port": 2341,"Weight": "256"}],"ClientTimeout": "1010","ClientTimeoutUnit": "ms","ConnectTimeout": "22","ConnectTimeoutUnit": "s","EnableRepeaterMode": "on","EnableSourceIp": "on","ListenerMode": "tcp","ListenerName": "http343","ListenerPort": 2343,"MaxConn": 2323,"Scheduler": "leastconn","ServerTimeout": "10000","ServerTimeoutUnit": "ms"}]},"Message": "success","TaskId": ""}
返回参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
| Code | string | 状态码 |
| Data | dict of Data | 数据 |
| Message | string | 信息描述 |
查询策略DataObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| HttpListeners | list of HttpListeners | http 监听策略配置列表 |
| TcpListeners | list of TcpListeners | tcp 的监听策略列表 |
查询策略HttpListenersObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| AclWhiteList | list | 设置白名单,例如【”129.12.12.1”,”192.168.1.1/20”】 |
| BackendServer | list of BackendServer | 后端服务器配置 |
| CertificateIds | list of CertificateIds | http 监听可以绑定证书,不绑定传空列表 |
| ClientTimeout | string | 设置客户端连接超时的时间 |
| ClientTimeoutUnit | string | 设置客户端连接超时的时间单位【”ms”,”s”】 |
| ConnectTimeout | string | 设置请求连接超时时间 |
| ConnectTimeoutUnit | string | 设置请求连接超时时间的时间单位 |
| ListenerMode | string | 监听模式 |
| ListenerName | string | 监听策略的名称,用于生成配置文件,名称不能相同 |
| ListenerPort | int | 策略监听端口 |
| MaxConn | int | 代理端的最大连接数 |
| Option | object of OptionObj | 高级配置 |
| Scheduler | string | 调度算法【”roundrobin”, “leastconn”, “static-rr”, “source”】 |
| ServerTimeout | string | 设置服务端超时时间 |
| ServerTimeoutUnit | string | 设置服务端超时时间单位 【”ms”,”s”】 |
| SessionPersistence | object of SessionPersistence | 设置会话保持功能 |
| StickySession | string | 是否开启长连接(Keep Alive) 【”on”,”off”】 |
查询策略TcpListenersObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| AclWhiteList | list | 设置白名单,例如【”129.12.12.1”,”192.168.1.1/20”】 |
| BackendServer | list of BackendServer | 后端服务器配置 |
| ClientTimeout | string | 设置客户端连接超时的时间 |
| ClientTimeoutUnit | string | 设置客户端连接超时的时间单位【”ms”,”s”】 |
| ConnectTimeout | string | 设置请求连接超时时间 |
| ConnectTimeoutUnit | string | 设置请求连接超时时间的时间单位 |
| EnableSourceIp | string | 是否开启获取源IP 【”on”,”off”】 |
| EnableRepeaterMode | string | 是否当前Haproxy为中继默认且支持源IP透传 【”on”,”off”】 |
| ListenerMode | string | 监听模式 |
| ListenerName | string | 监听策略的名称,用于生成配置文件,名称不能相同 |
| ListenerPort | int | 策略监听端口 |
| MaxConn | int | 代理端的最大连接数 |
| Scheduler | string | 调度算法【”roundrobin”, “leastconn”, “static-rr”, “source”】 |
| ServerTimeout | string | 设置服务端超时时间 |
| ServerTimeoutUnit | string | 设置服务端超时时间单位 【”ms”,”s”】 |
查询策略BackendServerObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| IP | string | 后端服务器Ip地址 |
| MaxConn | int | 后端服务器最大连接数 |
| Port | int | 后端服务器端口 |
| Weight | string | 后端服务器权重 |
查询策略CertificateIdsObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| CertificateId | string | 证书编号 |
| CertificateName | string | 证书名称 |
查询策略OptionObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| Httpchk | object of Httpchk | HTTP开启健康检查 |
查询策略HttpchkObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| Method | string | 默认值为:”GET” 参数范围:[“GET”,”HEAD”,”OPTIONS”] |
| Uri | string | 健康检查uri |
查询策略SessionPersistenceObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| Key | 是 | string | 在http的reponse设置Cookie的Key的值。字符长度为2~15,以字母开头,以字母或数字结尾,由小写字母、数字或下划线组成, key要求唯一。 |
| Mode | 否 | int | 默认值为1。 0. 表示在缓存中 ( 例如:CDN ) 保留Cookie的内容 1. 表示不在缓存中 ( 例如:CDN ) 保留Cookie的内容, 负载均衡设置的cookie在后端服务可见。 2. 表示不在缓存中 ( 例如:CDN ) 保留Cookie的内容, 负载均衡设置的cookie在后端服务是不可见,即透明模式只能看到客户自己设置的Cookie。 |
| Timer | 否 | object of Timer | 设置会话保持的时间参数,单位: 秒。 |
查询策略TimerObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| MaxIdle | 是 | int | 默认值为0, 表示不设置,即空闲也会会话保持。 单位: 秒。支持范围:0-7200。 设置会话保持的最大空闲时长,当连接在该时长内无新的请求,则会话保持结束。 |
| MaxLife | 是 | int | 默认值为0,表示不设置,即会话会一直保持。 单位: 秒。支持范围:0-7200。 设置会话保持的最大时长,超过该时长则会话保持结束, 且要求maxlife 大于maxidle。 |
13.ModifyLoadBalancerStrategys
Action: ModifyLoadBalancerStrategys
描述: 修改(删除、修改、添加)Ha实例的当前监听的策略配置列表
请求地址: cdsapi.capitalonline.net/lb
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| InstanceUuid | 是 | string | 要修改的实例编号 |
| HttpListeners | 是 | list of HttpListeners | http 监听策略配置列表 |
| TcpListeners | 否 | list of TcpListeners | tcp 的监听策略列表 |
修改策略HttpListenersObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| ServerTimeoutUnit | 是 | string | 设置服务端超时时间单位 【”ms”,”s”】 |
| ServerTimeout | 是 | string | 设置服务端超时时间 |
| StickySession | 是 | string | 是否开启长连接(Keep Alive) 【”on”,”off”】 |
| AclWhiteList | 否 | list | 设置白名单 例如【”129.12.12.1”,”192.168.1.1/20”】 |
| CertificateIds | 否 | list of CertificateIdsObj | http 监听可以绑定证书,不绑定传空列表 |
| ListenerMode | 是 | string | 监听模式 |
| MaxConn | 是 | int | 代理端的最大连接数 |
| ConnectTimeoutUnit | 是 | string | 设置请求连接超时的时间单位【”ms”,”s”】 |
| Scheduler | 是 | string | 调度算法【”roundrobin”, “leastconn”, “static-rr”, “source”】 |
| SessionPersistence | 否 | object of SessionPersistence | 设置会话保持功能 |
| BackendServer | 是 | list of BackendServer | 后端服务器配置 |
| ConnectTimeout | 是 | string | 设置请求连接超时时间 |
| ClientTimeout | 是 | string | 设置客户端连接超时的时间 |
| ListenerName | 是 | string | 监听策略的名称。 字符长度为1~15,以字母开头,以字母或数字结尾,由小写字母、数字或下划线组成, 名字要求唯一。 |
| ClientTimeoutUnit | 是 | string | 设置客户端连接超时的时间单位【”ms”,”s”】 |
| ListenerPort | 是 | int | 策略监听端口。 取值范围1-65535,其中22、1080、9100、9101端口不在取值范围已被禁用。 |
| Option | 否 | object of OptionObj | 高级配置 |
修改策略TcpListenersObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| ServerTimeoutUnit | 是 | string | 设置服务端超时时间单位 【”ms”,”s”】 |
| AclWhiteList | 否 | list | 设置白名单 例如【”129.12.12.1”,”192.168.1.1/20”】 |
| ListenerMode | 是 | string | 监听模式 |
| ListenerName | 是 | string | 监听策略的名称。 字符长度为1~15,以字母开头,以字母或数字结尾,由小写字母、数字或下划线组成, 名字要求唯一。 |
| Scheduler | 是 | string | 调度算法【”roundrobin”, “leastconn”, “static-rr”, “source”】 |
| MaxConn | 是 | int | 代理端的最大连接数 |
| ClientTimeoutUnit | 是 | string | 设置客户端连接超时的时间单位【”ms”,”s”】 |
| ListenerPort | 是 | int | 策略监听端口。 取值范围1-65535,其中22、1080、9100、9101端口不在取值范围已被禁用。 |
| ServerTimeout | 是 | string | 设置服务端超时时间 |
| ConnectTimeoutUnit | 是 | string | 设置请求连接超时的时间单位【”ms”,”s”】 |
| BackendServer | 是 | list of BackendServer | 后端服务器配置 |
| ConnectTimeout | 是 | string | 设置请求连接超时时间 |
| ClientTimeout | 是 | string | 设置客户端连接超时的时间 |
| EnableSourceIp | 否 | string | 设置获取源IP。取值范围【”on”,”off”】,默认为off |
| EnableRepeaterMode | 否 | string | 设置当前Haproxy为中继默认且支持源IP透传。取值范围 【”on”,”off”】,默认为off,注意:如果设置了EnableRepeaterMode为on,则EnableSourceIp参数也必须为on |
修改策略CertificateIdsObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| CertificateId | 否 | string | 证书编号 |
| CertificateName | 否 | string | 证书名称 |
修改策略SessionPersistenceObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| Key | 是 | string | 在http的reponse设置Cookie的Key的值。字符长度为2~15,以字母开头,以字母或数字结尾,由小写字母、数字或下划线组成, key要求唯一。 |
| Mode | 否 | int | 默认值为1。 0. 表示在缓存中 ( 例如:CDN ) 保留Cookie的内容 1. 表示不在缓存中 ( 例如:CDN ) 保留Cookie的内容, 负载均衡设置的cookie在后端服务可见。 2. 表示不在缓存中 ( 例如:CDN ) 保留Cookie的内容, 负载均衡设置的cookie在后端服务是不可见,即透明模式只能看到客户自己设置的Cookie。 |
| Timer | 否 | object of Timer | 设置会话保持的时间参数,单位: 秒。 |
修改策略TimerObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| MaxIdle | 是 | int | 默认值为0, 表示不设置,即空闲也会会话保持。 单位: 秒。支持范围:0-7200。 设置会话保持的最大空闲时长,当连接在该时长内无新的请求,则会话保持结束。 |
| MaxLife | 是 | int | 默认值为0,表示不设置,即会话会一直保持。 单位: 秒。支持范围:0-7200。 设置会话保持的最大时长,超过该时长则会话保持结束, 且要求maxlife 大于maxidle。 |
修改策略BackendServerObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| IP | 是 | string | 后端服务器Ip地址(公网下支持域名) |
| Port | 是 | int | 后端服务器端口 |
| Weight | 是 | string | 后端服务器权重,权重范围为1-256 |
| MaxConn | 是 | int | 后端服务器最大连接数 |
修改策略OptionObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| Httpchk | 否 | object of Httpchk | HTTP开启健康检查 |
修改策略HttpchkObj
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| Method | 是 | string | 默认值为:”GET” 参数范围:[“GET”,”HEAD”,”OPTIONS”] |
| Uri | 是 | string | 健康检查uri |
请求示例
def modify_strategy(instance_uuid):"""修改(删除、修改、添加)Ha实例的当前监听的策略配置列表:param instance_uuid: 实例id"""action = "ModifyLoadBalancerStrategys"method = "POST"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param=param)body = {"InstanceUuid": instance_uuid,# "HttpListeners": [],"HttpListeners": [{"ServerTimeoutUnit": "ms","ServerTimeout": "1000","StickySession": "on","AclWhiteList": ["192.168.1.2"],"Option": {"Httpchk": {"Method": "GET","Uri": "/index.htm"}},"SessionPersistence": {"Key": "test123","Mode": 2,"Timer": {"MaxIdle": 3333,"MaxLife": 3444}},"CertificateIds": [{"CertificateId": "******","CertificateName": "******"}],"ListenerMode": "http","MaxConn": 100000,"ConnectTimeoutUnit": "ms","Scheduler": "roundrobin","BackendServer": [{"IP": "66.66.0.8","Port": 22222,"Weight": "1","MaxConn": 2222}],"ConnectTimeout": "1000","ClientTimeout": "1000","ListenerName": "http-test","ClientTimeoutUnit": "ms","ListenerPort": 23425}],"TcpListeners": [{"EnableSourceIp":"on","EnableRepeaterMode":"on","ServerTimeoutUnit": "ms","AclWhiteList": [],"ListenerMode": "tcp","ListenerName": "tcp-test","Scheduler": "leastconn","MaxConn": 2323,"ClientTimeoutUnit": "ms","ListenerPort": 2342,"ServerTimeout": "10000","ConnectTimeoutUnit": "s","BackendServer": [{"IP": "66.66.0.8","MaxConn": 2000,"Port": 2342,"Weight": "1"}],"ConnectTimeout": "22","ClientTimeout": "10000",}]}res = requests.post(url, json=body)result = json.loads(res.content)
返回示例
{"Code": "Success","Data": {},"Message": "Success.","TaskId": "******"}
返回参数说明
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| Message | 是 | string | 信息描述 |
| Code | 是 | string | 状态码 |
| Data | 是 | dict | 数据 |
| TaskId | 是 | string | 任务 |
14.DescribeLBInstancePerformance
Action: DescribeLBInstancePerformance
描述: 获取负载均衡指标的监控数据
请求地址: http://cdsapi.capitalonline.net/paas/monitor
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| InstanceUuid | 是 | string | 实例编号 |
| MetricKey | 是 | string | 可选指标参数(见下表) |
| StartTime | 是 | string | 开始时间 |
| EndTime | 是 | string | 结束时间 |
性能参数表:
| API参数名 | 类别 | 类型 | 单位 | 含义 |
|---|---|---|---|---|
| ha_cpu_usage | resources | gauge | 百分比 | cpu使用率 |
| ha_mem_usage | resources | gauge | 百分比 | 内存使用率 |
| ha_outpackage | resources | gauge | 个/s | 负载均衡实例每秒出包量 |
| ha_inpackage | resources | gauge | 个/s | 负载均衡实例每秒入包量 |
| ha_outflow | resources | gauge | MB/s | 负载均衡实例每秒出流量 |
| ha_inflow | resources | gauge | MB/s | 负载均衡实例每秒入流量 |
时间粒度:
监控粒度自适应方法如下:
| 时间跨度 | 监控粒度 | 自适应说明 | 保留时长 |
|---|---|---|---|
| (0h, 4h] | 30s | 时间跨度在4小时内,监控粒度为5秒 | 1天 |
| (4h, 2d] | 1min | 时间跨度超过4小时,但在2天内,监控粒度调整为1分钟 | 15天 |
| (2d, 10d] | 5min | 时间跨度超过2天,但在10天内,监控粒度调整为5分钟 | 31天 |
| (10d, 30d] | 1h | 时间跨度超过10天,但在30天内,监控粒度调整为1小时 | 62天 |
请求示例:
def get_haproxy_monitor(instance_uuid):"""获取haproxy监控"""action = "DescribeLBInstancePerformance"method = "POST"url = get_signature(action, AK, AccessKeySecret, method, MONITOR_URL)body = {"InstanceUuid": instance_uuid,"MetricKey": "ha_mem_usage","StartTime": "2021-10-21 13:25:00","EndTime": "2021-10-21 13:28:00"}res = requests.post(url, json=body)result = json.loads(res.content)result = json.dumps(result)print(result)
返回参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
| Code | string | 状态码 |
| Data | MonitorDataObj | 负载均衡监控数据集合以及监控参数 |
| Message | string | 返回调用接口状态信息和code相对应,比如:Success, Error |
| TaskId | string | 任务Id |
MonitorDataObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| DataPoints | list of DataPointObj | 监控数据集合 |
| EndTime | string | 结束时间 |
| InstanceUuid | str | 实例编号 |
| MetricKey | string | 性能指标参数 |
| Period | int | 监控粒度(根据时间跨度自适应监控粒度,单位为秒) |
| ProductType | str | 产品类型 |
| StartTime | string | 开始时间 |
DataPointObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| MetricName | string | 性能指标名称 |
| MetricType | string | 指标类型(gauge,counter) |
| MonitorType | list | 监控类型(resources,engine, engine_extension, deploy) |
| Unit | string | 单位 |
| Values | list of ValueObj | 监控数据列表 |
ValueObj
| 参数名 | 类型 | 说明 |
|---|---|---|
| DateTime | string | 监控时间点 |
| Value | float | 监控数值 |
返回示例:
{"Code": "Success","Data": {"DataPoints": [{"MetricName": "lb_current_memory","MetricType": "gauge","MonitorType": "mem_usage","Unit": "%","Values": [{"DateTime": "2021-10-21 13:25:08","Value": 9.29}, {"DateTime": "2021-10-21 13:25:38","Value": 9.29}, {"DateTime": "2021-10-21 13:26:08","Value": 9.29}, {"DateTime": "2021-10-21 13:26:38","Value": 9.29}, {"DateTime": "2021-10-21 13:27:08","Value": 9.3}, {"DateTime": "2021-10-21 13:27:38","Value": 9.32}]}],"EndTime": "2021-10-21 13:28:00","InstanceUuid": "********************","MetricKey": "ha_mem_usage","Period": 30,"ProductType": "haproxy","StartTime": "2021-10-21 13:25:00"},"Message": "success","TaskId": ""}
15.ModifyLoadBalancerName
Action: ModifyLoadBalancerName
描述: 修改负载均衡实例名称
请求地址: cdsapi.capitalonline.net/lb
请求方法: POST
请求参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| InstanceUuid | 是 | string | 实例ID |
| InstanceName | 是 | string | 修改后实例名称 |
请求示例
def modify_haproxy_name(instance_uuid):"""修改haproxy实例名称:param instance_uuid: 实例编号"""action = "ModifyLoadBalancerName"method = "POST"param = {}url = get_signature(action, AK, AccessKeySecret, method, HAPROXY_URL, param=param)body = {"InstanceUuid": instance_uuid,"InstanceName": "HaProxy"}res = requests.post(url, json=body)result = json.loads(res.content)
返回示例
{"Code": "Success","Message": "Success."}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| Message | string | 信息描述 |
| Code | string | 状态码 |
