应用型blb实例
所有文档
menu

负载均衡 BLB

应用型blb实例

产品详情自助选购

创建BLB

创建一个BLB实例,返回分配的服务地址及实例ID。付费方式为后付费。需要实名认证,若未通过实名认证可以前往百度智能云官网控制台中的安全认证下的实名认证中进行认证

使用以下代码可以创建BLB实例

函数声明

func (c *Client) CreateLoadBalancer(args *CreateLoadBalancerArgs) (*CreateLoadBalanceResult, error)

参数含义

请参考OpenAPI文档:CreateLoadBalancer创建实例

返回值

操作成功:

{
    "blbId": "lb-BLuOPSLZ",
    "name": "blb-for-test",
    "desc": "",
    "address": "192.168.0.24"
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_loadbalancer.go

更新BLB

更新指定的单个LoadBalancer配置信息,包括LoadBalancer实例的名称和描述

使用以下代码可以更新BLB实例

函数声明

func (c *Client) UpdateLoadBalancer(blbId string, args *UpdateLoadBalancerArgs) error

参数含义

请参考OpenAPI文档:UpdateLoadBalancer更新实例

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_loadbalancer.go

查询已有BLB实例

查询用户账户下所有LoadBalancer的信息,支持按LoadBalancer的Name、Address进行模糊查询,支持按LoadBalancer的ID进行精确查询,支持按bccId进行查询,目前只支持单个bccId查询,并且仅支持精确查询。查询结果为包含该后端服务器的负载均衡实例。返回结果是多重查询条件的交集。如果BLB实例开启了公网访问,返回结果将会带上公网IP。结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询已有BLB实例

函数声明

func (c *Client) DescribeLoadBalancers(args *DescribeLoadBalancersArgs) (*DescribeLoadBalancersResult, error)

参数含义

请参考OpenAPI文档:DescribeLoadBalancers查询已有的BLB实例

返回值

操作成功:

{
    "blbList": [
        {
            "blbId": "lb-a7e5zPPk",
            "status": available,
            "name": "test-blb",
            "desc": "用于生产环境",
            "vpcId":"vpc-fy6vdykpwkqb",
            "address": "192.168.0.24"
        },
        {
            "blbId": "lb-gj5gVpeq",
            "status": available,
            "name": "nametest",
            "desc": "用于测试环境",
            "vpcId":"vpc-a8n5p6kybbx4",
            "address": "192.168.0.25"
        }
    ],
    "marker": "blb-0A20F971",
    "nextMarker": "blb-0A20FB09",
    "isTruncated": true,
    "maxKeys": 2
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_loadbalancers.go

查询BLB实例详情

按ID查询用户账户下所有LoadBalancer的详细信息,包含LoadBalancer所有的监听器端口信息

使用以下代码可以查询BLB实例详情

函数声明

func (c *Client) DescribeLoadBalancerDetail(blbId string) (*DescribeLoadBalancerDetailResult, error)

参数含义

请参考OpenAPI文档:DescribeLoadBalancerDetail查询BLB实例详情

返回值

操作成功:

{
    "blbId":"lb-gj5gVpeq",          
    "status":"available",           
    "name":"nametest",              
    "desc":"",                      
    "address":"192.168.0.2",        
    "publicIp":"123.2.3.4",         
    "cidr":"192.168.0.0/16",        
    "vpcName":"test",               
    "subnetName": "系统预定义子网",    
    "subnetCider": "192.168.0.0/20",    
    "createTime":"2019-03-07T02:35:31Z",    
    "releaseTime":"2019-03-07T02:35:31Z",   
    "listener":[                            
    {
        "port":80,                      
        "type": "TCP"                   
    }
    ]
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_loadbalancer_detail.go

删除BLB

释放指定LoadBalancer,被释放的LoadBalancer无法找回

使用以下代码可以删除BLB实例

函数声明

func (c *Client) DeleteLoadBalancer(blbId string) error

参数含义

请参考OpenAPI文档:DeleteLoadBalancer释放BLB实例

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_delete_loadbalancer.go

创建TCP监听器

在指定LoadBalancer下,创建一个基于TCP协议的应用型blb监听器,监听一个前端端口,将发往该端口的所有TCP流量,根据策略进行转发。

使用以下代码创建TCP监听器

函数声明

func (c *Client) CreateAppTCPListener(blbId string, args *CreateAppTCPListenerArgs) error 

参数含义

请参考OpenAPI文档:CreateAppTCPListener创建TCP监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_app_tcp_listener.go

创建UDP监听器

在指定LoadBalancer下,创建一个基于UDP协议的应用型监听器,监听一个前端端口,将发往该端口的所有UDP流量,根据策略进行转发。

使用以下代码创建UDP监听器

函数声明

func (c *Client) CreateAppUDPListener(blbId string, args *CreateAppUDPListenerArgs) error 

参数含义

请参考OpenAPI文档:CreateAppUDPListener创建UDP监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_app_udp_listener.go

创建HTTP监听器

在指定LoadBalancer下,创建一个基于HTTP协议的应用型监听器,监听一个前端端口,将发往该端口的所有HTTP请求,根据策略转发到后端服务器监听的后端端口上。

使用以下代码创建HTTP监听器

函数声明

func (c *Client) CreateAppHTTPListener(blbId string, args *CreateAppHTTPListenerArgs) error 

参数含义

请参考OpenAPI文档:CreateAppHTTPListener创建HTTP监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_app_http_listener.go

创建HTTPS监听器

在指定LoadBalancer下,创建一个基于HTTPS协议的应用型监听器,监听一个前端端口,将发往该端口的所有HTTPS请求,先通过SSL卸载转换为HTTP请求后,再根据策略转发到后端服务器监听的后端端口上。

使用以下代码创建HTTPS监听器

函数声明

func (c *Client) CreateAppHTTPSListener(blbId string, args *CreateAppHTTPSListenerArgs) error 	

参数含义

请参考OpenAPI文档:CreateAppHTTPSListener创建HTTPS监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_app_https_listener.go

创建SSL监听器

在指定LoadBalancer下,创建一个基于SSL协议的应用型监听器,监听一个前端端口,将发往该端口的所有SSL流量,根据策略进行转发。

使用以下代码创建SSL监听器

函数声明

func (c *Client) CreateAppSSLListener(blbId string, args *CreateAppSSLListenerArgs) error 	

参数含义

请参考OpenAPI文档:CreateAppSSLListener创建SSL监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_app_ssl_listener.go

更新TCP监听器

更新指定LoadBalancer下的TCP监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

使用以下代码更新TCP监听器

函数声明

func (c *Client) UpdateAppTCPListener(blbId string, args *UpdateAppTCPListenerArgs) error 

参数含义

请参考OpenAPI文档:UpdateAppTCPListener更新TCP监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_app_tcp_listener.go

更新UDP监听器

更新指定LoadBalancer下的UDP监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

使用以下代码更新UDP监听器

函数声明

func (c *Client) UpdateAppUDPListener(blbId string, args *UpdateAppUDPListenerArgs) error 

参数含义

请参考OpenAPI文档:UpdateAppUDPListener更新UDP监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_app_udp_listener.go

更新HTTP监听器

更新指定LoadBalancer下的HTTP监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

使用以下代码更新HTTP监听器

函数声明

func (c *Client) UpdateAppHTTPListener(blbId string, args *UpdateAppHTTPListenerArgs) error 

参数含义

请参考OpenAPI文档:UpdateAppHTTPListener更新HTTP监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_app_http_listener.go

更新HTTPS监听器

更新指定LoadBalancer下的HTTPS监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

使用以下代码更新HTTPS监听器

函数声明

func (c *Client) UpdateAppHTTPSListener(blbId string, args *UpdateAppHTTPSListenerArgs) error 

参数含义

请参考OpenAPI文档:UpdateAppHTTPSListener更新HTTPS监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_app_https_listener.go

更新SSL监听器

更新指定LoadBalancer下的SSL监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

使用以下代码更新SSL监听器

函数声明

func (c *Client) UpdateAppSSLListener(blbId string, args *UpdateAppSSLListenerArgs) error 

参数含义

请参考OpenAPI文档:UpdateAppSSLListener更新SSL监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_app_ssl_listener.go

查询TCP监听器

查询指定LoadBalancer下所有TCP监听器的信息,支持按监听器端口进行匹配查询,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询TCP监听器

函数声明

func (c *Client) DescribeAppTCPListeners(blbId string, args *DescribeAppListenerArgs) (*DescribeAppTCPListenersResult, error)

参数含义

请参考OpenAPI文档:DescribeAppTCPListeners查询应用型TCP监听器

返回值

操作成功:

{
    "listenerList": [
        {
            "listenerPort": 80,
            "scheduler": "RoundRobin"
        },
        {
            "listenerPort": 88,
            "scheduler": "RoundRobin"
        }
    ],
    "marker": "listener-0050",
    "nextMarker": null,
    "isTruncated": false,
    "maxKeys": 2
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_app_tcp_listeners.go

查询UDP监听器

查询指定LoadBalancer下所有UDP监听器的信息,支持按监听器端口进行匹配查询,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询UDP监听器

函数声明

func (c *Client) DescribeAppUDPListeners(blbId string, args *DescribeAppListenerArgs) (*DescribeAppUDPListenersResult, error)

参数含义

请参考OpenAPI文档:DescribeAppUDPListeners查询UDP监听器

返回值

操作成功:

{
    "listenerList": [
        {
            "listenerPort": 80,
            "scheduler": "RoundRobin",
            "udpSessionTimeout":90
        },
        {
            "listenerPort": 88,
            "scheduler": "RoundRobin",
            "udpSessionTimeout":90
        }
    ],
    "marker": "listener-0050",
    "nextMarker": null,
    "isTruncated": false,
    "maxKeys": 2
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_app_udp_listeners.go

查询HTTP监听器

查询指定LoadBalancer下所有HTTP监听器的信息,支持按监听器端口进行匹配查询,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定。

使用以下代码可以查询应用型HTTP监听器信息

函数声明

func (c *Client) DescribeAppHTTPListeners(blbId string, args *DescribeAppListenerArgs) (*DescribeAppHTTPListenersResult, error) 

参数含义

请参考OpenAPI文档:DescribeHTTPListeners查询HTTP监听器

返回值

操作成功:

{
    "listenerList": [
        {
            "listenerPort": 90,
            "backendPort": 90,
            "scheduler": "LeastConnection",
            "keepSession": false,
            "keepSessionType": null,
            "keepSessionTimeout": null,
            "keepSessionCookieName": null,
            "xForwardedFor": false,
            "serverTimeout": 30,
            "redirectPort": 80
        },
        {
            "listenerPort": 95,
            "backendPort": 95,
            "scheduler": "LeastConnection",
            "keepSession": false,
            "keepSessionType": null,
            "keepSessionTimeout": null,
            "keepSessionCookieName": null,
            "xForwardedFor": false,
            "serverTimeout": 1800,
            "redirectPort": 80
        }
    ],
    "marker": "listener-005A",
    "nextMarker": null,
    "isTruncated": false,
    "maxKeys": 2
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_app_http_listeners.go

查询HTTPS监听器

查询指定LoadBalancer下所有HTTPS监听器的信息,支持按监听器端口进行匹配查询,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定。

使用以下代码可以查询应用型HTTPS监听器信息

函数声明

func (c *Client) DescribeAppHTTPSListeners(blbId string, args *DescribeAppListenerArgs) (*DescribeAppHTTPSListenersResult, error) 

参数含义

请参考OpenAPI文档:DescribeAppHTTPSListeners查询HTTPS监听器

返回值

操作成功:

{
    "listenerList": [
        {
            "listenerPort": 90,
            "backendPort": 90,
            "scheduler": "LeastConnection",
            "keepSession": false,
            "keepSessionType": null,
            "keepSessionTimeout": null,
            "keepSessionCookieName": null,
            "xForwardedFor": false,
            "serverTimeout": 30,
            "certIds": ["cert-zfj2ey2z4kmm"]
        },
        {
            "listenerPort": 95,
            "backendPort": 95,
            "scheduler": "LeastConnection",
            "keepSession": false,
            "keepSessionType": null,
            "keepSessionTimeout": null,
            "keepSessionCookieName": null,
            "xForwardedFor": false,
            "serverTimeout": 1800,
            "certIds": ["cert-zfj2ey2z4kmm"]
        }
    ],
    "marker": "listener-005A",
    "nextMarker": null,
    "isTruncated": false,
    "maxKeys": 2
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_app_https_listeners.go

查询应用型SSL监听器

查询指定LoadBalancer下所有SSL监听器的信息,支持按监听器端口进行匹配查询,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询应用型SSL监听器

函数声明

func (c *Client) DescribeAppSSLListeners(blbId string, args *DescribeAppListenerArgs) (*DescribeAppSSLListenersResult, error) 

参数含义

请参考OpenAPI文档:DescribeAppSSLListeners查询应用型SSL监听器

返回值

操作成功:

{
    "listenerList": [
        {
            "listenerPort": 80,
            "scheduler": "RoundRobin",
            "certIds": ["cert-zfj2ey2z4kmm"]
        },
        {
            "listenerPort": 88,
            "scheduler": "RoundRobin",
            "certIds": ["cert-zfj2ey2z4kmm"]
        }
    ],
    "marker": "listener-0050",
    "nextMarker": null,
    "isTruncated": false,
    "maxKeys": 2
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_app_ssl_listeners.go

查询所有监听器

查询指定LoadBalancer下所有监听器的信息,支持按监听器端口进行匹配查询,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询所有监听器

函数声明

func (c *Client) DescribeAppAllListeners(blbId string, args *DescribeAppListenerArgs) (*DescribeAppAllListenersResult, error) 

参数含义

请参考OpenAPI文档:DescribeAppAllListeners查询所有监听

返回值

操作成功:

{
    "nextMarker": "",
    "marker": "",
    "maxKeys": 1,
    "isTruncated": true,
    "listenerList": [
        {
        "listenerPort": 53,
        "scheduler": "RoundRobin",
        "listenerType": "UDP"
    },
    {
        "listenerPort": 80,
        "scheduler": "RoundRobin",
        "listenerType": "HTTP",
        "keepSession": false,
        "xForwardFor": true,
        "xForwardedProto": false,
        "serverTimeout": 30,
        "redirectPort": 0
    },
    {
        "listenerPort": 81,
        "scheduler": "RoundRobin",
        "listenerType": "TCP",
        "tcpSessionTimeout": 900
    },
    {
        "listenerPort": 443,
        "scheduler": "RoundRobin",
        "listenerType": "SSL",
        "certIds": [
            "cert-gs8bktrm7drp"
        ],
        "dualAuth": false,
        "encryptionType": "tls_cipher_policy_ie",
        "encryptionProtocols": [
            "sslv3",
            "tlsv10",
            "tlsv11",
            "tlsv12"
        ],
        "appliedCiphers": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-RC4-SHA:ECDHE-RSA-DES-CBC3-SHA:RC4-SHA:AES128-GCM-SHA256:AES128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:AES128-SHA256:DES-CBC3-SHA"
    },
    {
        "listenerPort": 444,
        "scheduler": "RoundRobin",
        "listenerType": "HTTPS",
        "keepSession": false,
        "xForwardFor": false,
        "xForwardedProto": false,
        "serverTimeout": 30,
        "certIds": [
            "cert-gs8bktrm7drp"
        ],
        "dualAuth": false,
        "encryptionType": "tls_cipher_policy_1_1",
        "encryptionProtocols": [
            "tlsv11",
            "tlsv12"
        ],
        "appliedCiphers": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES256-SHA:AES128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES128-SHA256:DES-CBC3-SHA"
    }
    ]
}  

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_app_all_listeners.go

释放监听器

释放指定LoadBalancer下的监听器,监听器通过监听端口来指定;支持批量释放

使用以下代码可以释放监听器

函数声明

func (c *Client) DeleteAppListeners(blbId string, args *DeleteAppListenersArgs) error 

参数含义

请参考OpenAPI文档:DeleteAppListeners释放监听器

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_delete_app_listeners.go

创建策略

在指定应用型BLB监听器端口下创建策略

使用以下代码可以在指定应用型BLB监听器端口下创建策略

函数声明

func (c *Client) CreatePolicys(blbId string, args *CreatePolicysArgs) error

参数含义

请参考OpenAPI文档: CreatePolicys创建策略

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_policys_server_group.go

查询策略列表

查询指定LoadBalancer下所有服务器组的信息,支持按监听器端口进行匹配查询,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询指定LoadBalancer下所有服务器组的信息

函数声明

func (c *Client) DescribePolicys(blbId string, args *DescribePolicysArgs) (*DescribePolicysResult, error)

参数含义

请参考OpenAPI文档: DescribePolicys查询对应BLB端口下策略信息

返回值

操作成功:

{
    "marker": "rs-012310",          
    "isTruncated": true,
    "maxKeys": 1000,
    "nextMarker": "rs-013214",      
    "policyList":[
        {
            "id":"policy_id",
            "appServerGroupId":”sg_id“,
            "appServerGroupName":”sg_name“,
            "frontendPort":80,
            "type":"TCP",
            "backendPort":98,
            "portType":"TCP",
            "priority":100,
            "desc":"aa",
            "groupType":"Server",
            "ruleList": [
                {
                    "key": "host",
                    "value": "*.baidu.com"
                }
            ]
        }
    ] 
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_policys_server_group.go

删除策略

批量删除对应BLB端口下的策略

使用以下代码可以批量删除对应BLB端口下的策略

函数声明

func (c *Client) DeletePolicys(blbId string, args *DeletePolicysArgs) error

参数含义

请参考OpenAPI文档 :DeletePolicys批量删除策略

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_delete_policys.go

添加应用型BLB 服务器组

在指定应用型BLB下,创建一个服务器组,用来绑定后端服务器,以及为监听器开放相应的端口

使用以下代码可以创建应用型BLB服务器组

函数声明

func (c *Client) CreateAppServerGroup(blbId string, args *CreateAppServerGroupArgs) (*CreateAppServerGroupResult, error) 

参数含义

请参考OpenAPI文档:CreateaAppServerGroup创建应用型服务器组

返回值

操作成功:

{
    "id": "sg_short_id",
    "name": "name",
    "desc": "aaa",
    "status": "available"                 
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_app_server_group.go

更新应用型BLB 服务器组

更新指定LoadBalancer下的TCP监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

使用以下代码可以更新应用型BLB服务器组

函数声明

func (c *Client) UpdateAppServerGroup(blbId string, args *UpdateAppServerGroupArgs) error 

参数含义

请参考OpenAPI文档:UpdateAppServerGroup更新应用型服务器组

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_app_server_group.go

查询应用型BLB 服务器组

查询指定LoadBalancer下所有服务器组的信息,结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询应用型BLB服务器组

函数声明

func (c *Client) DescribeAppServerGroup(blbId string, args *DescribeAppServerGroupArgs) (*DescribeAppServerGroupResult, error)

参数含义

请参考OpenAPI文档:DescribeAppServerGroup查询服务器组

返回值

操作成功:

{
    "appServerGroupList":[
    {
        "id": "sg_short_id",
        "name": "name",
        "desc": "bbb",
        "status": "available",
        "portList":
        [{
            "id": "port_id"
            "port": BACKEND_PORT,
            "type": "TCP",
            "healthCheck": "TCP",
            "healthCheckNormalStatus": "^[1-5][0-9]*$",
            "healthCheckPort": 90,
            "healthCheckTimeoutInSecond": 2,
            "healthCheckDownRetry": 3,
            "healthCheckUpRetry": 3,
            "healthCheckIntervalInSecond": 1,
            "healthCheckUrlPath": "HEALTH_CHECK_URL_PATH",
            "healtchCheckHost": www.xxx,                         
            "status": "available"                   
        }]
    }
         ],
    "marker": "sg-012310",         
    "isTruncated": false,
    "maxKeys": 1000,
    "nextMarker": "sg-013214"      
}

操作失败:

抛出异常,异常列表参考异常列表

代码示例

具体代码示例参考:example_describe_app_server_group.go

删除应用型BLB 服务器组

删除服务器组,通过服务器组id指定

使用以下代码可以删除应用型BLB服务器组

函数声明

func (c *Client) DeleteAppServerGroup(blbId string, args *DeleteAppServerGroupArgs) error 

参数含义

请参考OpenAPI文档:DeleteAppServerGroup删除应用型服务器组

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_delete_app_server_group.go

添加应用型BLB 服务器组端口

在指定应用型BLB下,创建一个服务器组后端端口,将发往该端口的所有流量按权重轮询分发到其绑定的对应服务器列表中的服务器

使用以下代码可以创建应用型BLB服务器组端口

函数声明

func (c *Client) CreateAppServerGroupPort(blbId string, args *CreateAppServerGroupPortArgs) (*CreateAppServerGroupPortResult, error) 

参数含义

请参考OpenAPI文档:CreateAppServerGroupPort创建应用型服务器组端口

返回值

操作成功:

{
    "sgId":"sgid",
    "type":"TCP",
    "port": 80,
    "healthCheck":"TCP",                     
    "healthCheckTimeoutInSecond": 2,                    
    "healthCheckDownRetry": 3,                          
    "healthCheckUpRetry": 3,                            
    "healthCheckIntervalInSecond":3                   
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_app_server_group_port.go

更新应用型BLB 服务器组端口

根据id更新服务器组端口。

使用以下代码可以更新应用型BLB服务器组端口

函数声明

func (c *Client) UpdateAppServerGroupPort(blbId string, args *UpdateAppServerGroupPortArgs) error 

参数含义

请参考OpenAPI文档:UpdateAppServerGroupPort更新应用型服务器组端口

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_app_server_group_port.go

删除应用型BLB 服务器组端口

删除服务器组端口,通过服务器组id指定

使用以下代码可以删除应用型BLB服务器组端口

函数声明

func (c *Client) DeleteAppServerGroupPort(blbId string, args *DeleteAppServerGroupPortArgs) error 

参数含义

请参考OpenAPI文档:DeleteAppServerGroupPort删除应用型服务器组端口

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_delete_app_server_group_port.go

添加应用型BLB后端RS

在指定应用型BLB和服务器组下绑定后端服务器RS

使用以下代码可以添加应用型BLB后端RS

函数声明

func (c *Client) CreateBlbRs(blbId string, args *CreateBlbRsArgs) error

参数含义

请参考OpenAPI文档:CreateBlbRs添加应用型BLB后端RS

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_create_blb_rs.go

更新服务器组下挂载的RS权重

更新指定服务器组下的RS信息

使用以下代码可以更新服务器组下挂载的RS权重

函数声明

func (c *Client) UpdateBlbRs(blbId string, args *UpdateBlbRsArgs) error

参数含义

请参考OpenAPI文档:UpdateBlbRs更新服务器组下挂载的RS权重

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_update_blb_rs.go

查询服务器组下的RS列表信息

查询指定LoadBalancer下所有服务器组的信息;支持按监听器端口进行匹配查询;结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

使用以下代码可以查询服务器组下的RS列表信息

函数声明

func (c *Client) DescribeBlbRs(blbId string, args *DescribeBlbRsArgs) (*DescribeBlbRsResult, error)

参数含义

请参考OpenAPI文档:DescribeBlbRs查询服务器组下的RS列表信息

返回值

操作成功:

{
    "marker": "rs-012310",          
    "isTruncated": false,
    "maxKeys": 1000,
    "nextMarker": "rs-013214",      
    "backendServerList": [
      {
          "instanceId": "i-fvdixxxx",
          "privateIp": "192.168.0.1",              
          "weight": 100,
          "portList": [                            
            {
                "listenerPort": 80,
                "backendPort": "80",
                "portType": "HTTP",
                “healthCheckPortType”: "HTTP",
                "portId": "port-xxx",             
                "policyId": "policy-xxx",             
                "status": "Alive"
            }
          ]
       }
    ]
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_blb_rs.go

删除服务器组下挂载的RS

删除服务器组下的后端RS,通过服务器组ID和后端RS ID指定;支持批量释放

使用以下代码可以删除服务器组下挂载的RS

函数声明

func (c *Client) DeleteBlbRs(blbId string, args *DeleteBlbRsArgs) error 

参数含义

请参考OpenAPI文档:DeleteBlbRs删除服务器组下挂载的rs

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_delete_blb_rs.go

查询服务器组下绑定的RS

查询服务器组下绑定的RS

使用以下代码可以查询服务器组下绑定的RS

函数声明

func (c *Client) DescribeRsMount(blbId, sgId string) (*DescribeRsMountResult, error) 

参数含义

请参考OpenAPI文档:DescribeRsMount查询服务器组下绑定的server

返回值

操作成功:

{     
    "backendServerList": [
      {
          "instanceId": "i-fvdixxxx",
          "privateIp": "192.168.0.1",              
          "weight": 100,
          "portList": [                            
            {
                "listenerPort": 80,
                "backendPort": "80",
                "portType": "HTTP",
                “healthCheckPortType”: "HTTP",
                "portId": "port-xxx",             
                "policyId": "policy-xxx",             
                "status": "Alive"
            }
          ]
       }
    ]
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_rs_mount.go

查询服务器组下未绑定的RS

查询服务器组下未绑定的RS

使用以下代码可以查询服务器组下未绑定的RS

函数声明

func (c *Client) DescribeRsUnMount(blbId, sgId string) (*DescribeRsMountResult, error)

参数含义

请参考OpenAPI文档:DescribeRsUnMount查询服务器组下未绑定的RS

返回值

操作成功:

{     
    "backendServerList": [
      {
          "instanceId": "i-fvdixxxx",
          "privateIp": "192.168.0.1",              
          "weight": 100,
          "portList": [                            
            {
                "listenerPort": 80,
                "backendPort": "80",
                "portType": "HTTP",
                “healthCheckPortType”: "HTTP",
                "portId": "port-xxx",             
                "policyId": "policy-xxx",             
                "status": "Alive"
            }
          ]
       }
    ]
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_rs_unmount.go

绑定普通安全组

为指定LoadBalancer(普通型、应用型、IPv6型)绑定普通安全组,支持批量绑定

使用以下代码可以为指定LoadBalancer绑定普通安全组

函数声明

func (c *Client) BindSecurityGroups(blbId string, args *UpdateSecurityGroupsArgs) error

参数含义

请参考OpenAPI文档: BindSecurityGroups绑定普通安全组

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_bind_security_groups.go

解绑普通安全组

为指定LoadBalancer(普通型、应用型、IPv6型)解绑普通安全组,支持批量解绑

使用以下代码可以为指定LoadBalancer解绑普通安全组

函数声明

func (c *Client) UnbindSecurityGroups(blbId string, args *UpdateSecurityGroupsArgs) error

参数含义

请参考OpenAPI文档: UnbindSecurityGroups解绑普通安全组

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_unbind_security_groups.go

查询BLB实例普通安全组列表

按ID查询用户账户下指定LoadBalancer的普通安全组信息

使用以下代码可以按ID查询用户账户下指定LoadBalancer的普通安全组信息

函数声明

func (c *Client) DescribeSecurityGroups(blbId string) (*DescribeSecurityGroupsResult, error)

参数含义

请参考OpenAPI文档 :DescribeSecurityGroups查询BLB实例普通安全组列表

返回值

操作成功:

{
    "blbSecurityGroups": [
        {
            "securityGroupDesc": "", 
            "securityGroupId": "g-4NxWoxeq", 
            "securityGroupName": "securitygroup-name",
            "vpcName":"vpc-name",
            "securityGroupRules": [
                {
                    "destGroupId": "", 
                    "destIp": "all", 
                    "direction": "egress", 
                    "ethertype": "IPv4", 
                    "portRange": "1-65535", 
                    "protocol": "all", 
                    "securityGroupRuleId": "r-gkv8yupumvx2"
                }
            ]
        }
    ]
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_security_groups.go

绑定企业安全组

为指定LoadBalancer(普通型、应用型、IPv6型)绑定企业安全组,支持批量绑定

使用以下代码可以为指定LoadBalancer绑定企业安全组

函数声明

func (c *Client) BindEnterpriseSecurityGroups(blbId string, args *UpdateEnterpriseSecurityGroupsArgs) error

参数含义

请参考OpenAPI文档: BindEnterpriseSecurityGroups绑定企业安全组

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_bind_enterprise_security_groups.go

解绑企业安全组

为指定LoadBalancer(普通型、应用型、IPv6型)解绑企业安全组,支持批量解绑

使用以下代码可以为指定LoadBalancer解绑企业安全组

函数声明

func (c *Client) UnbindEnterpriseSecurityGroups(blbId string, args *UpdateEnterpriseSecurityGroupsArgs) error

参数含义

请参考OpenAPI文档 :UnbindEnterpriseSecurityGroups解绑企业安全组

返回值

操作成功:

返回200

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_unbind_enterprise_security_groups.go

查询blb实例企业安全组列表

按ID查询用户账户下指定LoadBalancer的企业安全组信息

使用以下代码可以按ID查询用户账户下指定LoadBalancer的企业安全组信息

函数声明

func (c *Client) DescribeEnterpriseSecurityGroups(blbId string) (*DescribeEnterpriseSecurityGroupsResult, error)

参数含义

请参考OpenAPI文档 :DescribeEnterpriseSecurityGroups查询BLB实例企业安全组列表

返回值

操作成功:

{
  "enterpriseSecurityGroups": [{
    "enterpriseSecurityGroupId": "esg-g8z4qfj0m0bu",
    "enterpriseSecurityGroupName": "test0627",
    "enterpriseSecurityGroupDesc": "",
    "enterpriseSecurityGroupRules": [{
            "remark": "全部协议",
            "direction": "egress",
            "action": "allow",
            "priority": 1000,
            "ethertype": "IPv6",
            "portRange": "",
            "sourceIp": "",
            "destIp": "all",
            "enterpriseSecurityGroupRuleId": "esgr-9tzd4yijcwqu",
            "protocol": "all"
        },
        {
            "remark": "",
            "direction": "egress",
            "action": "allow",
            "priority": 1000,
            "ethertype": "IPv4",
            "portRange": "",
            "sourceIp": "",
            "destIp": "all",
            "enterpriseSecurityGroupRuleId": "esgr-9je09z6bd9wv",
            "protocol": "tcp"
        },
        {
            "remark": "",
            "direction": "ingress",
            "action": "allow",
            "priority": 1000,
            "ethertype": "IPv4",
            "portRange": "2",
            "sourceIp": "all",
            "destIp": "",
            "enterpriseSecurityGroupRuleId": "esgr-jcej4juqbh49",
            "protocol": "tcp"
        }
    ]}
}

操作失败:

抛出异常,异常列表参考:异常列表

代码示例

具体代码示例参考:example_describe_enterprise_security_groups.go

上一篇
普通型blb实例
下一篇
IPv6型BLB实例