func (c *Client) DescribeAllListeners(blbId string, args *DescribeListenerArgs) (*DescribeAllListenersResult, error) {
	if args == nil {
		args = &DescribeListenerArgs{}
	}
	if args.MaxKeys <= 0 || args.MaxKeys > 1000 {
		args.MaxKeys = 1000
	}
	result := &DescribeAllListenersResult{}
	request := bce.NewRequestBuilder(c).
		WithMethod(http.GET).
		WithURL(getListenerUri(blbId)).
		WithQueryParamFilter("marker", args.Marker).
		WithQueryParam("maxKeys", strconv.Itoa(args.MaxKeys)).
		WithResult(result)
	if args.ListenerPort != 0 {
		request.WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort)))
	}
	err := request.Do()
	return result, err
}
DescribeAllListeners - describe all Listeners

PARAMS:
- blbId: LoadBalancer's ID
- args: parameters to describe all Listeners
RETURNS:
- *DescribeAllListenersResult: the result of describe all Listeners
- error: nil if ok otherwise the specific error
package blb
import (
	"fmt"
	"strconv"
	"github.com/baidubce/bce-sdk-go/bce"
	"github.com/baidubce/bce-sdk-go/http"
)
func (c *Client) CreateTCPListener(blbId string, args *CreateTCPListenerArgs) error {
	if args == nil {
		return fmt.Errorf("unset args")
	}
	if args.ListenerPort == 0 {
		return fmt.Errorf("unsupport listener port")
	}
	if args.BackendPort == 0 {
		return fmt.Errorf("unsupport backend port")
	}
	if len(args.Scheduler) == 0 {
		return fmt.Errorf("unset scheduler")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.POST).
		WithURL(getTCPListenerUri(blbId)).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) CreateUDPListener(blbId string, args *CreateUDPListenerArgs) error {
	if args == nil {
		return fmt.Errorf("unset args")
	}
	if args.ListenerPort == 0 {
		return fmt.Errorf("unsupport listener port")
	}
	if args.BackendPort == 0 {
		return fmt.Errorf("unsupport backend port")
	}
	if len(args.Scheduler) == 0 {
		return fmt.Errorf("unset scheduler")
	}
	if len(args.HealthCheckString) == 0 {
		return fmt.Errorf("unset healthCheckString")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.POST).
		WithURL(getUDPListenerUri(blbId)).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) CreateHTTPListener(blbId string, args *CreateHTTPListenerArgs) error {
	if args == nil {
		return fmt.Errorf("unset args")
	}
	if args.ListenerPort == 0 {
		return fmt.Errorf("unsupport listener port")
	}
	if args.BackendPort == 0 {
		return fmt.Errorf("unsupport backend port")
	}
	if len(args.Scheduler) == 0 {
		return fmt.Errorf("unset scheduler")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.POST).
		WithURL(getHTTPListenerUri(blbId)).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) CreateHTTPSListener(blbId string, args *CreateHTTPSListenerArgs) error {
	if args == nil {
		return fmt.Errorf("unset args")
	}
	if args.ListenerPort == 0 {
		return fmt.Errorf("unsupport listener port")
	}
	if args.BackendPort == 0 {
		return fmt.Errorf("unsupport backend port")
	}
	if len(args.Scheduler) == 0 {
		return fmt.Errorf("unset scheduler")
	}
	if len(args.CertIds) == 0 {
		return fmt.Errorf("unset certIds")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.POST).
		WithURL(getHTTPSListenerUri(blbId)).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) CreateSSLListener(blbId string, args *CreateSSLListenerArgs) error {
	if args == nil {
		return fmt.Errorf("unset args")
	}
	if args.ListenerPort == 0 {
		return fmt.Errorf("unsupport listener port")
	}
	if args.BackendPort == 0 {
		return fmt.Errorf("unsupport backend port")
	}
	if len(args.Scheduler) == 0 {
		return fmt.Errorf("unset scheduler")
	}
	if len(args.CertIds) == 0 {
		return fmt.Errorf("unset certIds")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.POST).
		WithURL(getSSLListenerUri(blbId)).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) UpdateTCPListener(blbId string, args *UpdateTCPListenerArgs) error {
	if args == nil || args.ListenerPort == 0 {
		return fmt.Errorf("unset listener port")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.PUT).
		WithURL(getTCPListenerUri(blbId)).
		WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort))).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) UpdateUDPListener(blbId string, args *UpdateUDPListenerArgs) error {
	if args == nil || args.ListenerPort == 0 {
		return fmt.Errorf("unset listener port")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.PUT).
		WithURL(getUDPListenerUri(blbId)).
		WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort))).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) UpdateHTTPListener(blbId string, args *UpdateHTTPListenerArgs) error {
	if args == nil || args.ListenerPort == 0 {
		return fmt.Errorf("unset listener port")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.PUT).
		WithURL(getHTTPListenerUri(blbId)).
		WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort))).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) UpdateHTTPSListener(blbId string, args *UpdateHTTPSListenerArgs) error {
	if args == nil || args.ListenerPort == 0 {
		return fmt.Errorf("unset listener port")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.PUT).
		WithURL(getHTTPSListenerUri(blbId)).
		WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort))).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) UpdateSSLListener(blbId string, args *UpdateSSLListenerArgs) error {
	if args == nil || args.ListenerPort == 0 {
		return fmt.Errorf("unset listener port")
	}
	return bce.NewRequestBuilder(c).
		WithMethod(http.PUT).
		WithURL(getSSLListenerUri(blbId)).
		WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort))).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithBody(args).
		Do()
}
func (c *Client) DescribeTCPListeners(blbId string, args *DescribeListenerArgs) (*DescribeTCPListenersResult, error) {
	if args == nil {
		args = &DescribeListenerArgs{}
	}
	if args.MaxKeys <= 0 || args.MaxKeys > 1000 {
		args.MaxKeys = 1000
	}
	result := &DescribeTCPListenersResult{}
	request := bce.NewRequestBuilder(c).
		WithMethod(http.GET).
		WithURL(getTCPListenerUri(blbId)).
		WithQueryParamFilter("marker", args.Marker).
		WithQueryParam("maxKeys", strconv.Itoa(args.MaxKeys)).
		WithResult(result)
	if args.ListenerPort != 0 {
		request.WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort)))
	}
	err := request.Do()
	return result, err
}
func (c *Client) DescribeUDPListeners(blbId string, args *DescribeListenerArgs) (*DescribeUDPListenersResult, error) {
	if args == nil {
		args = &DescribeListenerArgs{}
	}
	if args.MaxKeys <= 0 || args.MaxKeys > 1000 {
		args.MaxKeys = 1000
	}
	result := &DescribeUDPListenersResult{}
	request := bce.NewRequestBuilder(c).
		WithMethod(http.GET).
		WithURL(getUDPListenerUri(blbId)).
		WithQueryParamFilter("marker", args.Marker).
		WithQueryParam("maxKeys", strconv.Itoa(args.MaxKeys)).
		WithResult(result)
	if args.ListenerPort != 0 {
		request.WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort)))
	}
	err := request.Do()
	return result, err
}
func (c *Client) DescribeHTTPListeners(blbId string, args *DescribeListenerArgs) (*DescribeHTTPListenersResult, error) {
	if args == nil {
		args = &DescribeListenerArgs{}
	}
	if args.MaxKeys <= 0 || args.MaxKeys > 1000 {
		args.MaxKeys = 1000
	}
	result := &DescribeHTTPListenersResult{}
	request := bce.NewRequestBuilder(c).
		WithMethod(http.GET).
		WithURL(getHTTPListenerUri(blbId)).
		WithQueryParamFilter("marker", args.Marker).
		WithQueryParam("maxKeys", strconv.Itoa(args.MaxKeys)).
		WithResult(result)
	if args.ListenerPort != 0 {
		request.WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort)))
	}
	err := request.Do()
	return result, err
}
func (c *Client) DescribeHTTPSListeners(blbId string, args *DescribeListenerArgs) (*DescribeHTTPSListenersResult, error) {
	if args == nil {
		args = &DescribeListenerArgs{}
	}
	if args.MaxKeys <= 0 || args.MaxKeys > 1000 {
		args.MaxKeys = 1000
	}
	result := &DescribeHTTPSListenersResult{}
	request := bce.NewRequestBuilder(c).
		WithMethod(http.GET).
		WithURL(getHTTPSListenerUri(blbId)).
		WithQueryParamFilter("marker", args.Marker).
		WithQueryParam("maxKeys", strconv.Itoa(args.MaxKeys)).
		WithResult(result)
	if args.ListenerPort != 0 {
		request.WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort)))
	}
	err := request.Do()
	return result, err
}
func (c *Client) DescribeSSLListeners(blbId string, args *DescribeListenerArgs) (*DescribeSSLListenersResult, error) {
	if args == nil {
		args = &DescribeListenerArgs{}
	}
	if args.MaxKeys <= 0 || args.MaxKeys > 1000 {
		args.MaxKeys = 1000
	}
	result := &DescribeSSLListenersResult{}
	request := bce.NewRequestBuilder(c).
		WithMethod(http.GET).
		WithURL(getSSLListenerUri(blbId)).
		WithQueryParamFilter("marker", args.Marker).
		WithQueryParam("maxKeys", strconv.Itoa(args.MaxKeys)).
		WithResult(result)
	if args.ListenerPort != 0 {
		request.WithQueryParam("listenerPort", strconv.Itoa(int(args.ListenerPort)))
	}
	err := request.Do()
	return result, err
}