pool

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2024 License: MPL-2.0 Imports: 8 Imported by: 6

Documentation

Index

Constants

View Source
const (
	CreateOptsAlgorithmOptRoundRobin CreateOptsAlgorithmOpt = "ROUND_ROBIN"
	CreateOptsAlgorithmOptLeastConn  CreateOptsAlgorithmOpt = "LEAST_CONNECTIONS"
	CreateOptsAlgorithmOptSourceIP   CreateOptsAlgorithmOpt = "SOURCE_IP"

	CreateOptsProtocolOptTCP   CreateOptsProtocolOpt = "TCP"
	CreateOptsProtocolOptUDP   CreateOptsProtocolOpt = "UDP"
	CreateOptsProtocolOptHTTP  CreateOptsProtocolOpt = "HTTP"
	CreateOptsProtocolOptProxy CreateOptsProtocolOpt = "PROXY"

	CreateOptsHealthCheckProtocolOptTCP     CreateOptsHealthCheckProtocolOpt = "TCP"
	CreateOptsHealthCheckProtocolOptHTTP    CreateOptsHealthCheckProtocolOpt = "HTTP"
	CreateOptsHealthCheckProtocolOptHTTPs   CreateOptsHealthCheckProtocolOpt = "HTTPS"
	CreateOptsHealthCheckProtocolOptPINGUDP CreateOptsHealthCheckProtocolOpt = "PING-UDP"

	CreateOptsHealthCheckMethodOptGET  CreateOptsHealthCheckMethodOpt = "GET"
	CreateOptsHealthCheckMethodOptPUT  CreateOptsHealthCheckMethodOpt = "PUT"
	CreateOptsHealthCheckMethodOptPOST CreateOptsHealthCheckMethodOpt = "POST"

	CreateOptsHealthCheckHttpVersionOptHttp1       CreateOptsHealthCheckHttpVersionOpt = "1.0"
	CreateOptsHealthCheckHttpVersionOptHttp1Minor1 CreateOptsHealthCheckHttpVersionOpt = "1.1"
)

Variables

This section is empty.

Functions

func Create

func Create(pSc *client.ServiceClient, pOpts ICreateOptsBuilder) (*objects.Pool, error)

func Delete

func Delete(pSc *client.ServiceClient, pOpts IDeleteOptsBuilder) error

func Get

func GetMember

func GetMember(pSc *client.ServiceClient, pOpts IGetMemberOptsBuilder) ([]*objects.Member, error)

func IsErrPoolInUse

func IsErrPoolInUse(pErr error) bool

func IsErrPoolMemberUnchanged

func IsErrPoolMemberUnchanged(pErr error) bool

func NewErrPoolInUse

func NewErrPoolInUse(pPoolID, pInfo string) vconError.IErrorBuilder

func NewErrPoolMemberUnchanged

func NewErrPoolMemberUnchanged() vconError.IErrorBuilder

func UpdatePoolMembers

func UpdatePoolMembers(pSc *client.ServiceClient, pOpts IUpdatePoolMembersOptsBuilder) error

Types

type CreateOpts

type CreateOpts struct {
	Algorithm     CreateOptsAlgorithmOpt `json:"algorithm"`
	PoolName      string                 `json:"poolName"`
	PoolProtocol  CreateOptsProtocolOpt  `json:"poolProtocol"`
	Stickiness    *bool                  `json:"stickiness,omitempty"`    // only for l7, l4 doesn't have this field => nil
	TLSEncryption *bool                  `json:"tlsEncryption,omitempty"` // only for l7, l4 doesn't have this field => nil
	HealthMonitor HealthMonitor          `json:"healthMonitor"`
	Members       []Member               `json:"members"`

	common.CommonOpts
	lbCm.LoadBalancerV2Common
}

func (*CreateOpts) ToRequestBody

func (s *CreateOpts) ToRequestBody() interface{}

type CreateOptsAlgorithmOpt

type CreateOptsAlgorithmOpt string

type CreateOptsHealthCheckHttpVersionOpt

type CreateOptsHealthCheckHttpVersionOpt string

type CreateOptsHealthCheckMethodOpt

type CreateOptsHealthCheckMethodOpt string

type CreateOptsHealthCheckProtocolOpt

type CreateOptsHealthCheckProtocolOpt string

type CreateOptsProtocolOpt

type CreateOptsProtocolOpt string

type CreateResponse

type CreateResponse struct {
	UUID string `json:"uuid"`
}

func (*CreateResponse) ToPoolObject

func (p *CreateResponse) ToPoolObject() *objects.Pool

type ErrPoolInUse

type ErrPoolInUse struct {
	PoolID string
	vconError.BaseError
}

func (*ErrPoolInUse) Error

func (s *ErrPoolInUse) Error() string

type ErrPoolMemberUnchanged

type ErrPoolMemberUnchanged struct {
	vconError.BaseError
}

func (*ErrPoolMemberUnchanged) Error

func (s *ErrPoolMemberUnchanged) Error() string

type ErrorResolver

type ErrorResolver struct {
	Message string `json:"message"`
}

func (*ErrorResolver) ToError

func (s *ErrorResolver) ToError() error

type GetMemberResponse

type GetMemberResponse struct {
	Data []MemberResponse `json:"data"`
}

func (*GetMemberResponse) ToListMemberObject

func (s *GetMemberResponse) ToListMemberObject() []*objects.Member

type GetResponse

type GetResponse struct {
	Data PoolResponse `json:"data"`
}

func (*GetResponse) ToPoolObject

func (s *GetResponse) ToPoolObject() *objects.Pool

type HealthMonitor

type HealthMonitor struct {
	HealthCheckProtocol CreateOptsHealthCheckProtocolOpt     `json:"healthCheckProtocol"`
	HealthyThreshold    int                                  `json:"healthyThreshold"`
	UnhealthyThreshold  int                                  `json:"unhealthyThreshold"`
	Interval            int                                  `json:"interval"`
	Timeout             int                                  `json:"timeout"`
	HealthCheckMethod   *CreateOptsHealthCheckMethodOpt      `json:"healthCheckMethod,omitempty"`
	HttpVersion         *CreateOptsHealthCheckHttpVersionOpt `json:"httpVersion,omitempty"`
	HealthCheckPath     *string                              `json:"healthCheckPath,omitempty"`
	DomainName          *string                              `json:"domainName,omitempty"`
	SuccessCode         *string                              `json:"successCode,omitempty"`
}

type ICreateOptsBuilder

type ICreateOptsBuilder interface {
	GetLoadBalancerID() string
	GetProjectID() string
	ToRequestBody() interface{}
}

func NewCreateOpts

func NewCreateOpts(pProjectID, pLbID string, pOpts *CreateOpts) ICreateOptsBuilder

type ICreateResponse

type ICreateResponse interface {
	ToPoolObject() *objects.Pool
}

func NewCreateResponse

func NewCreateResponse() ICreateResponse

type IDeleteOptsBuilder

type IDeleteOptsBuilder interface {
	GetLoadBalancerID() string
	GetProjectID() string
	GetPoolID() string
}

func NewDeleteOpts

func NewDeleteOpts(pProjectID, pLbID, pPoolID string) IDeleteOptsBuilder

type IGetMemberOptsBuilder

type IGetMemberOptsBuilder interface {
	GetProjectID() string
	GetPoolID() string
	GetLoadBalancerID() string
}

type IGetMemberResponse

type IGetMemberResponse interface {
	ToListMemberObject() []*objects.Member
}

func NewGetMemberResponse

func NewGetMemberResponse() IGetMemberResponse

type IGetOptsBuilder

type IGetOptsBuilder interface {
	GetLoadBalancerID() string
	GetProjectID() string
	GetPoolID() string
}

type IGetResponse

type IGetResponse interface {
	ToPoolObject() *objects.Pool
}

func NewGetResponse

func NewGetResponse() IGetResponse

type IListPoolsBasedLoadBalancerOptsBuilder

type IListPoolsBasedLoadBalancerOptsBuilder interface {
	GetLoadBalancerID() string
	GetProjectID() string
}

func NewListPoolsBasedLoadBalancerOpts

func NewListPoolsBasedLoadBalancerOpts(pProjectID, pLbID string) IListPoolsBasedLoadBalancerOptsBuilder

type IListPoolsBasedLoadBalancerResponse

type IListPoolsBasedLoadBalancerResponse interface {
	ToListPoolObjects() []*objects.Pool
}

func NewListPoolsBasedLoadBalancerResponse

func NewListPoolsBasedLoadBalancerResponse() IListPoolsBasedLoadBalancerResponse

type IUpdatePoolMembersOptsBuilder

type IUpdatePoolMembersOptsBuilder interface {
	GetLoadBalancerID() string
	GetProjectID() string
	GetPoolID() string
	ToRequestBody() interface{}
}

func NewUpdatePoolMembersOpts

func NewUpdatePoolMembersOpts(pProjectID, pLbID, pPoolID string, pOpts *UpdatePoolMembersOpts) IUpdatePoolMembersOptsBuilder

type ListPoolsBasedLoadBalancerOpts

type ListPoolsBasedLoadBalancerOpts struct {
	common.CommonOpts
	lbCm.LoadBalancerV2Common
}

type ListPoolsBasedLoadBalancerResponse

type ListPoolsBasedLoadBalancerResponse struct {
	Data []PoolResponse `json:"data"`
}

func (*ListPoolsBasedLoadBalancerResponse) ToListPoolObjects

func (s *ListPoolsBasedLoadBalancerResponse) ToListPoolObjects() []*objects.Pool

type Member

type Member struct {
	Backup      bool   `json:"backup"`
	IpAddress   string `json:"ipAddress"`
	MonitorPort int    `json:"monitorPort"`
	Name        string `json:"name"`
	Port        int    `json:"port"`
	Weight      int    `json:"weight"`
}

type MemberResponse

type MemberResponse struct {
	Address        string `json:"address"`
	Backup         bool   `json:"backup"`
	CreatedAt      string `json:"createdAt"`
	DisplayStatus  string `json:"displayStatus"`
	MonitorPort    int    `json:"monitorPort"`
	Name           string `json:"name"`
	PoolID         string `json:"poolId"`
	ProgressStatus string `json:"progressStatus"`
	ProtocolPort   int    `json:"protocolPort"`
	SubnetID       string `json:"subnetId"`
	TypeCreate     string `json:"typeCreate"`
	UpdateAt       string `json:"updateAt,omitempty"`
	UUID           string `json:"uuid"`
	Weight         int    `json:"weight"`
}

type PoolResponse

type PoolResponse struct {
	UUID              string           `json:"uuid"`
	Name              string           `json:"name"`
	Protocol          string           `json:"protocol"`
	Description       string           `json:"description,omitempty"`
	LoadBalanceMethod string           `json:"loadBalanceMethod"`
	DisplayStatus     string           `json:"displayStatus"`
	CreatedAt         string           `json:"createdAt"`
	UpdatedAt         string           `json:"updatedAt"`
	Stickiness        bool             `json:"stickiness"`
	TLSEncryption     bool             `json:"tlsEncryption"`
	ProgressStatus    string           `json:"progressStatus"`
	Members           []MemberResponse `json:"members"`
}

**************************************** ListPoolsBasedLoadBalancerResponse *****************************************

type UpdatePoolMembersOpts

type UpdatePoolMembersOpts struct {
	Members []Member `json:"members"`

	common.CommonOpts
	lbCm.LoadBalancerV2Common
	lbCm.PoolV2Common
}

func (*UpdatePoolMembersOpts) ToRequestBody

func (s *UpdatePoolMembersOpts) ToRequestBody() interface{}

Jump to

Keyboard shortcuts

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