clb

package
v0.0.0-...-c8d9381 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CLBHost = "lb.api.qcloud.com"
	CLBPath = "/v2/index.php"
)
View Source
const (
	ErrParamInvalid          = 4000
	ErrAuthFailure           = 4100
	ErrRequestExpired        = 4200
	ErrForbidden             = 4300
	ErrQuotaExceeded         = 4400
	ErrReplayAttack          = 4500
	ErrUnsupportedProtocol   = 4600
	ErrResourceDoesNotExists = 5000
	ErrOperationFailure      = 5100
	ErrPurchaseFailure       = 5200
	ErrOutOfMoney            = 5300
	ErrPartialSuccess        = 5400
	ErrLackOfQualifications  = 5500
	ErrInternalServerError   = 6000
	ErrUnsupportedVersion    = 6100
	ErrEndpointUnavailable   = 6200
)
View Source
const (
	LoadBalancerTypePublicNetworkWithDailyRate = 2
	LoadBalancerTypePrivateNetwork             = 3

	LoadBalancerNameMaxLenth = 20
)
View Source
const (
	LoadBalanceListenerProtocolHTTP  = 1
	LoadBalanceListenerProtocolTCP   = 2
	LoadBalanceListenerProtocolUDP   = 3
	LoadBalanceListenerProtocolHTTPS = 4
)
View Source
const (
	TaskCheckInterval = time.Second * 1

	TaskSuccceed = 0
	TaskFailed   = 1
	TaskRunning  = 2

	TaskStatusUnknown = 9
)

Variables

This section is empty.

Functions

func WaitUntilDone

func WaitUntilDone(createFunc CreateFunc, client *Client) (int, error)

TODO fix this

Types

type AsyncTask

type AsyncTask interface {
	Id() int
}

type Client

type Client struct {
	*common.Client
}

func NewClient

func NewClient(credential common.CredentialInterface, opts common.Opts) (*Client, error)

func NewClientFromEnv

func NewClientFromEnv() (*Client, error)

func (*Client) CreateLoadBalancer

func (client *Client) CreateLoadBalancer(args *CreateLoadBalancerArgs) (*CreateLoadBalancerResponse, error)

func (*Client) CreateLoadBalancerListeners

func (client *Client) CreateLoadBalancerListeners(args *CreateLoadBalancerListenersArgs) (
	*CreateLoadBalancerListenersResponse,
	error,
)

func (*Client) DeleteLoadBalancerListeners

func (client *Client) DeleteLoadBalancerListeners(LoadBalancerId string, ListenerIds []string) (
	*DeleteLoadBalancerListenersResponse,
	error,
)

func (*Client) DeleteLoadBalancers

func (client *Client) DeleteLoadBalancers(loadBalancerIds []string) (*DeleteLoadBalancersResponse, error)

func (*Client) DeregisterInstancesFromLoadBalancer

func (client *Client) DeregisterInstancesFromLoadBalancer(LoadBalancerId string, InstanceIds []string) (
	*DeregisterInstancesFromLoadBalancerResponse,
	error,
)

func (*Client) DescribeLoadBalancerBackends

func (client *Client) DescribeLoadBalancerBackends(LoadBalancerId string, Offset int, Limit int) (
	*DescribeLoadBalancerBackendsResponse,
	error,
)

func (*Client) DescribeLoadBalancerListeners

func (client *Client) DescribeLoadBalancerListeners(args *DescribeLoadBalancerListenersArgs) (
	*DescribeLoadBalancerListenersResponse,
	error,
)

func (*Client) DescribeLoadBalancers

func (client *Client) DescribeLoadBalancers(args *DescribeLoadBalancersArgs) (*DescribeLoadBalancersResponse, error)

func (*Client) DescribeLoadBalancersTaskResult

func (client *Client) DescribeLoadBalancersTaskResult(taskId int) (*DescribeLoadBalancersTaskResultResponse, error)

func (*Client) InquiryLBPrice

func (client *Client) InquiryLBPrice(args *InquiryLBPriceArgs) (*InquiryLBPriceResponse, error)

func (*Client) ModifyLoadBalancerAttributes

func (client *Client) ModifyLoadBalancerAttributes(args *ModifyLoadBalancerAttributesArgs) (*ModifyLoadBalancerAttributesResponse, error)

func (*Client) ModifyLoadBalancerBackends

func (client *Client) ModifyLoadBalancerBackends(args *ModifyLoadBalancerBackendsArgs) (
	*ModifyLoadBalancerBackendsResponse,
	error,
)

func (*Client) ModifyLoadBalancerListener

func (client *Client) ModifyLoadBalancerListener(args *ModifyLoadBalancerListenerArgs) (
	*ModifyLoadBalancerListenerResponse,
	error,
)

func (*Client) RegisterInstancesWithLoadBalancer

func (client *Client) RegisterInstancesWithLoadBalancer(args *RegisterInstancesWithLoadBalancerArgs) (
	*RegisterInstancesWithLoadBalancerResponse,
	error,
)

type CreateFunc

type CreateFunc func() (AsyncTask, error)

type CreateListenerOpts

type CreateListenerOpts struct {
	LoadBalancerPort int32   `qcloud_arg:"loadBalancerPort,required"`
	InstancePort     int32   `qcloud_arg:"instancePort,required"`
	Protocol         int     `qcloud_arg:"protocol,required"`
	ListenerName     *string `qcloud_arg:"listenerName"`
	SessionExpire    *int    `qcloud_arg:"sessionExpire"`
	HealthSwitch     *int    `qcloud_arg:"healthSwitch"`
	TimeOut          *int    `qcloud_arg:"timeOut"`
	IntervalTime     *int    `qcloud_arg:"intervalTime"`
	HealthNum        *int    `qcloud_arg:"healthNum"`
	UnhealthNum      *int    `qcloud_arg:"unhealthNum"`
	HttpHash         *int    `qcloud_arg:"httpHash"`
	HttpCode         *int    `qcloud_arg:"httpCode"`
	HttpCheckPath    *string `qcloud_arg:"httpCheckPath"`
	SSLMode          *string `qcloud_arg:"SSLMode"`
	CertId           *string `qcloud_arg:"certId"`
	CertCaId         *string `qcloud_arg:"certCaId"`
	CertCaContent    *string `qcloud_arg:"certCaContent"`
	CertCaName       *string `qcloud_arg:"certCaName"`
	CertContent      *string `qcloud_arg:"certContent"`
	CertKey          *string `qcloud_arg:"certKey"`
	CertName         *string `qcloud_arg:"certName"`
}

type CreateLoadBalancerArgs

type CreateLoadBalancerArgs struct {
	LoadBalancerType int     `qcloud_arg:"loadBalancerType,required"`
	Forward          *int    `qcloud_arg:"forward"`
	LoadBalancerName *string `qcloud_arg:"loadBalancerName"`
	DomainPrefix     *string `qcloud_arg:"domainPrefix"`
	VpcId            *string `qcloud_arg:"vpcId"`
	SubnetId         *string `qcloud_arg:"subnetId"`
	ProjectId        *int    `qcloud_arg:"projectId"`
	Number           *int    `qcloud_arg:"number"`
}

type CreateLoadBalancerListenersArgs

type CreateLoadBalancerListenersArgs struct {
	LoadBalancerId string               `qcloud_arg:"loadBalancerId,required"`
	Listeners      []CreateListenerOpts `qcloud_arg:"listeners"`
}

type CreateLoadBalancerListenersResponse

type CreateLoadBalancerListenersResponse struct {
	Response
	RequestId   int      `json:"requestId"`
	ListenerIds []string `json:"listenerIds"`
}

func (CreateLoadBalancerListenersResponse) Id

type CreateLoadBalancerResponse

type CreateLoadBalancerResponse struct {
	Response
	UnLoadBalancerIds map[string][]string `json:"unLoadBalancerIds"`
	DealIds           []string            `json:"dealIds"`
	RequestId         int                 `json:"requestId"`
}

func (CreateLoadBalancerResponse) GetUnLoadBalancerIds

func (response CreateLoadBalancerResponse) GetUnLoadBalancerIds() (unlbIds []string)

func (CreateLoadBalancerResponse) Id

func (response CreateLoadBalancerResponse) Id() int

type DeleteLoadBalancerListenersArgs

type DeleteLoadBalancerListenersArgs struct {
	LoadBalancerId string   `qcloud_arg:"loadBalancerId,required"`
	ListenerIds    []string `qcloud_arg:"listenerIds,required"`
}

type DeleteLoadBalancerListenersResponse

type DeleteLoadBalancerListenersResponse struct {
	Response
	RequestId int `json:"requestId"`
}

func (DeleteLoadBalancerListenersResponse) Id

type DeleteLoadBalancersArgs

type DeleteLoadBalancersArgs struct {
	LoadBalancerIds []string `qcloud_arg:"loadBalancerIds,required"`
}

type DeleteLoadBalancersResponse

type DeleteLoadBalancersResponse struct {
	Response
	RequestId int `json:"requestId"`
}

func (DeleteLoadBalancersResponse) Id

func (response DeleteLoadBalancersResponse) Id() int

type DeregisterInstancesFromLoadBalancerArgs

type DeregisterInstancesFromLoadBalancerArgs struct {
	LoadBalancerId string              `qcloud_arg:"loadBalancerId,required"`
	Backends       []deRegisterBackend `qcloud_arg:"backends,required"`
}

type DeregisterInstancesFromLoadBalancerResponse

type DeregisterInstancesFromLoadBalancerResponse struct {
	Response
	RequestId int `json:"requestId"`
}

func (DeregisterInstancesFromLoadBalancerResponse) Id

type DescribeLoadBalancerBackendsArgs

type DescribeLoadBalancerBackendsArgs struct {
	LoadBalancerId string `qcloud_arg:"loadBalancerId,required"`
	Offset         int    `qcloud_arg:"offset"`
	Limit          int    `qcloud_arg:"limit"`
}

type DescribeLoadBalancerBackendsResponse

type DescribeLoadBalancerBackendsResponse struct {
	Response
	TotalCount int                    `json:"totalCount"`
	BackendSet []LoadBalancerBackends `json:"backendSet"`
}

type DescribeLoadBalancerListenersArgs

type DescribeLoadBalancerListenersArgs struct {
	LoadBalancerId   string    `qcloud_arg:"loadBalancerId,required"`
	ListenerIds      *[]string `qcloud_arg:"listenerIds"`
	Protocol         *int      `qcloud_arg:"protocol"`
	LoadBalancerPort *int32    `qcloud_arg:"loadBalancerPort"`
	Status           *int      `qcloud_arg:"status"`
}

type DescribeLoadBalancerListenersResponse

type DescribeLoadBalancerListenersResponse struct {
	Response
	TotalCount  int        `json:"totalCount"`
	ListenerSet []Listener `json:"listenerSet"`
}

type DescribeLoadBalancersArgs

type DescribeLoadBalancersArgs struct {
	LoadBalancerIds  *[]string `qcloud_arg:"loadBalancerIds"`
	LoadBalancerType *int      `qcloud_arg:"loadBalancerType"`
	LoadBalancerName *string   `qcloud_arg:"loadBalancerName"`
	Domain           *string   `qcloud_arg:"domain"`
	LoadBalancerVips *[]string `qcloud_arg:"loadBalancerVips"`
	BackendWanIps    *[]string `qcloud_arg:"backendWanIps"`
	Offset           *int      `qcloud_arg:"offset"`
	Limit            *int      `qcloud_arg:"limit"`
	OrderBy          *string   `qcloud_arg:"orderBy"`
	OrderType        *int      `qcloud_arg:"orderType"`
	SearchKey        *string   `qcloud_arg:"searchKey"`
	ProjectId        *int      `qcloud_arg:"projectId"`
	Forward          *int      `qcloud_arg:"forward"`
	WithRs           *int      `qcloud_arg:"withRs"`
}

type DescribeLoadBalancersResponse

type DescribeLoadBalancersResponse struct {
	Response
	TotalCount      int            `json:"totalCount"`
	LoadBalancerSet []LoadBalancer `json:"loadBalancerSet"`
}

type DescribeLoadBalancersTaskResultArgs

type DescribeLoadBalancersTaskResultArgs struct {
	RequestId int `qcloud_arg:"requestId,required"`
}

func (DescribeLoadBalancersTaskResultArgs) Id

type DescribeLoadBalancersTaskResultResponse

type DescribeLoadBalancersTaskResultResponse struct {
	Response
	Data struct {
		Status int `json:"status"`
	} `json:"data"`
}

type InquiryLBPriceArgs

type InquiryLBPriceArgs struct {
	LoadBalancerType int `qcloud_arg:"loadBalancerType,required"`
}

type InquiryLBPriceResponse

type InquiryLBPriceResponse struct {
	Response
	Price int `json:"price"`
}

type Listener

type Listener struct {
	UnListenerId     string `json:"unListenerId"`
	LoadBalancerPort int32  `json:"loadBalancerPort"`
	InstancePort     int32  `json:"instancePort"`
	Protocol         int    `json:"protocol"`
	SessionExpire    int    `json:"sessionExpire"`
	HealthSwitch     int    `json:"healthSwitch"`
	TimeOut          int    `json:"timeOut"`
	IntervalTime     int    `json:"intervalTime"`
	HealthNum        int    `json:"healthNum"`
	UnhealthNum      int    `json:"unhealthNum"`
	HttpHash         string `json:"httpHash"`
	HttpCode         int    `json:"httpCode"`
	HttpCheckPath    string `json:"httpCheckPath"`
	SSLMode          string `json:"SSLMode"`
	CertId           string `json:"certId"`
	CertCaId         string `json:"certCaId"`
	Status           int    `json:"status"`
}

type LoadBalancer

type LoadBalancer struct {
	LoadBalancerId   string   `json:"loadBalancerId"`
	UnLoadBalancerId string   `json:"unLoadBalancerId"`
	LoadBalancerName string   `json:"loadBalancerName"`
	LoadBalancerType int      `json:"loadBalancerType"`
	Domain           string   `json:"domain"`
	LoadBalancerVips []string `json:"loadBalancerVips"`
	Status           int      `json:"status"`
	Forward          int      `json:"forward"`
	CreateTime       string   `json:"createTime"`
	StatusTime       string   `json:"statusTime"`
	ProjectId        int      `json:"projectId"`
	VpcId            int      `json:"vpcId"`
	SubnetId         int      `json:"subnetId"`
}

type LoadBalancerBackends

type LoadBalancerBackends struct {
	InstanceId     string   `json:"instanceId"`
	UnInstanceId   string   `json:"unInstanceId"`
	Weight         int      `json:"weight"`
	InstanceName   string   `json:"instanceName"`
	LanIp          string   `json:"lanIp"`
	WanIpSet       []string `json:"wanIpSet"`
	InstanceStatus int      `json:"instanceStatus"`
}

type ModifyBackendOpts

type ModifyBackendOpts struct {
	InstanceId string `qcloud_arg:"instanceId,required"`
	Weight     int    `qcloud_arg:"weight,required"`
}

type ModifyLoadBalancerAttributesArgs

type ModifyLoadBalancerAttributesArgs struct {
	LoadBalancerId   string  `qcloud_arg:"loadBalancerId,required"`
	LoadBalancerName *string `qcloud_arg:"loadBalancerName"`
	DomainPrefix     *string `qcloud_arg:"domainPrefix"`
}

type ModifyLoadBalancerAttributesResponse

type ModifyLoadBalancerAttributesResponse struct {
	Response
	RequestId int `json:"requestId"`
}

func (ModifyLoadBalancerAttributesResponse) Id

type ModifyLoadBalancerBackendsArgs

type ModifyLoadBalancerBackendsArgs struct {
	LoadBalancerId string              `qcloud_arg:"loadBalancerId,required"`
	Backends       []ModifyBackendOpts `qcloud_arg:"backends,required"`
}

type ModifyLoadBalancerBackendsResponse

type ModifyLoadBalancerBackendsResponse struct {
	Response
	RequestId int `json:"requestId"`
}

func (ModifyLoadBalancerBackendsResponse) Id

type ModifyLoadBalancerListenerArgs

type ModifyLoadBalancerListenerArgs struct {
	LoadBalancerId string  `qcloud_arg:"loadBalancerId,required"`
	ListenerId     string  `qcloud_arg:"listenerId,required"`
	ListenerName   *string `qcloud_arg:"listenerName"`
	SessionExpire  *int    `qcloud_arg:"sessionExpire"`
	HealthSwitch   *int    `qcloud_arg:"healthSwitch"`
	TimeOut        *int    `qcloud_arg:"timeOut"`
	IntervalTime   *int    `qcloud_arg:"intervalTime"`
	HealthNum      *int    `qcloud_arg:"healthNum"`
	UnhealthNum    *int    `qcloud_arg:"unhealthNum"`
	HttpHash       *int    `qcloud_arg:"httpHash"`
	HttpCode       *int    `qcloud_arg:"httpCode"`
	HttpCheckPath  *string `qcloud_arg:"httpCheckPath"`
	SSLMode        *string `qcloud_arg:"SSLMode"`
	CertId         *string `qcloud_arg:"certId"`
	CertCaId       *string `qcloud_arg:"certCaId"`
	CertCaContent  *string `qcloud_arg:"certCaContent"`
	CertCaName     *string `qcloud_arg:"certCaName"`
	CertContent    *string `qcloud_arg:"certContent"`
	CertKey        *string `qcloud_arg:"certKey"`
	CertName       *string `qcloud_arg:"certName"`
}

type ModifyLoadBalancerListenerResponse

type ModifyLoadBalancerListenerResponse struct {
	Response
	RequestId int `json:"requestId"`
}

func (ModifyLoadBalancerListenerResponse) Id

type RegisterInstancesOpts

type RegisterInstancesOpts struct {
	InstanceId string `qcloud_arg:"instanceId,required"`
	Weight     *int   `qcloud_arg:"weight"`
}

type RegisterInstancesWithLoadBalancerArgs

type RegisterInstancesWithLoadBalancerArgs struct {
	LoadBalancerId string                  `qcloud_arg:"loadBalancerId,required"`
	Backends       []RegisterInstancesOpts `qcloud_arg:"backends,required"`
}

type RegisterInstancesWithLoadBalancerResponse

type RegisterInstancesWithLoadBalancerResponse struct {
	Response
	RequestId int `json:"requestId"`
}

func (RegisterInstancesWithLoadBalancerResponse) Id

type Response

type Response struct {
	Code     int    `json:"code"`
	Message  string `json:"message"`
	CodeDesc string `json:"codeDesc"`
}

type Task

type Task struct {
	// contains filtered or unexported fields
}

func NewTask

func NewTask(requestId int) Task

func (Task) WaitUntilDone

func (task Task) WaitUntilDone(ctx context.Context, client *Client) (int, error)

TODO 如果还未执行tiker已经到了呢 TODO timeout怎么提示

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL