qcloud

package
v1.19.1 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2022 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Signature

func Signature(key, method, url string, obj interface{}) (string, error)

Signature create signature of request data param method: http method, GET or POST param url: qcloud request url param obj: object to encode, example data before hamcSHA1 : "GETcvm.api.qcloud.com/v2/index.php?Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Nonce=11886&Region=ap-guangzhou&SecretId=xxxxxxxxxx&SignatureMethod=HmacSHA1&Timestamp=1465185768"

Types

type API

type API struct {
	LBClient  *Client
	CVMClient *Client
}

API api implements APIInterface

func (*API) Create4LayerListener

Create4LayerListener create tcp or udp listener

func (*API) Create7LayerListener

func (api *API) Create7LayerListener(input *CreateSeventhLayerListenerInput) (*CreateSeventhLayerListenerOutput, error)

Create7LayerListener create http or https listener

func (*API) CreateLoadBalance

func (api *API) CreateLoadBalance(input *CreateLBInput) (*CreateLBOutput, error)

CreateLoadBalance create lb

func (*API) CreateRules

CreateRules create lb listener rule

func (*API) DeRegInstancesWith4LayerListener

DeRegInstancesWith4LayerListener deregister instance with 4 layer listener

func (*API) DeRegInstancesWith7LayerListener

DeRegInstancesWith7LayerListener deregister instance with 7 layer listener

func (*API) DeleteListener

func (api *API) DeleteListener(input *DeleteForwardLBListenerInput) (*DeleteForwardLBListenerOutput, error)

DeleteListener delete listener

func (*API) DeleteRules

DeleteRules delete lb listener rule

func (*API) DescribeCVMInstance

func (api *API) DescribeCVMInstance(input *DescribeCVMInstanceInput) (*DescribeCVMInstanceOutput, error)

DescribeCVMInstance describe cvm instance info

func (*API) DescribeCVMInstanceV3

func (api *API) DescribeCVMInstanceV3(input *DescribeCVMInstanceV3Input) (*DescribeCVMInstanceV3Output, error)

DescribeCVMInstanceV3 describe cvm instance api v3

func (*API) DescribeForwardLBBackends

func (api *API) DescribeForwardLBBackends(input *DescribeForwardLBBackendsInput) (
	*DescribeForwardLBBackendsOutput, error)

DescribeForwardLBBackends describe forward loadbalancer listener backends

func (*API) DescribeForwardLBListeners

func (api *API) DescribeForwardLBListeners(input *DescribeForwardLBListenersInput) (
	*DescribeForwardLBListenersOutput, error)

DescribeForwardLBListeners describe forward loadbalancer listener info

func (*API) DescribeListener

func (api *API) DescribeListener(input *DescribeListenerInput) (*DescribeListenerOutput, error)

DescribeListener describe listener info

func (*API) DescribeLoadBalance

func (api *API) DescribeLoadBalance(input *DescribeLBInput) (*DescribeLBOutput, error)

DescribeLoadBalance describe lb

func (*API) DescribeLoadBalanceTaskResult

func (api *API) DescribeLoadBalanceTaskResult(input *DescribeLoadBalancersTaskResultInput) (*DescribeLoadBalancersTaskResultOutput, error)

DescribeLoadBalanceTaskResult describe lb task result

func (*API) Modify4LayerListener

Modify4LayerListener modify 4 layer listener session config and health check config

func (*API) Modify7LayerListener

Modify7LayerListener modify 7 layer listener ssl config

func (*API) ModifyForward4LayerBackendsWeight

func (api *API) ModifyForward4LayerBackendsWeight(input *ModifyForwardFourthBackendsInput) (*ModifyForwardFourthBackendsOutput, error)

ModifyForward4LayerBackendsWeight modify 4 layer listener backends weight

func (*API) ModifyForward7LayerBackendsWeight

func (api *API) ModifyForward7LayerBackendsWeight(input *ModifyForwardSeventhBackendsInput) (*ModifyForwardSeventhBackendsOutput, error)

ModifyForward7LayerBackendsWeight modify 7 layer listener backends weight

func (*API) ModifyRuleDomain

ModifyRuleDomain modify rule domain

func (*API) ModifyRuleProbe

ModifyRuleProbe modify rule health check config

func (*API) RegInstancesWith4LayerListener

RegInstancesWith4LayerListener register instance with 4 layer listener

func (*API) RegInstancesWith7LayerListener

RegInstancesWith7LayerListener register instance with 7 layer listener

type APIInterface

type APIInterface interface {
	DescribeLoadBalanceTaskResult(input *DescribeLoadBalancersTaskResultInput) (*DescribeLoadBalancersTaskResultOutput, error)
	//clb v2
	CreateLoadBalance(input *CreateLBInput) (*CreateLBOutput, error)
	DescribeLoadBalance(input *DescribeLBInput) (*DescribeLBOutput, error)
	Create7LayerListener(input *CreateSeventhLayerListenerInput) (*CreateSeventhLayerListenerOutput, error)
	Create4LayerListener(input *CreateForwardLBFourthLayerListenersInput) (*CreateForwardLBFourthLayerListenersOutput, error)
	DescribeListener(input *DescribeListenerInput) (*DescribeListenerOutput, error)
	DescribeForwardLBListeners(input *DescribeForwardLBListenersInput) (*DescribeForwardLBListenersOutput, error)
	DescribeForwardLBBackends(input *DescribeForwardLBBackendsInput) (*DescribeForwardLBBackendsOutput, error)
	DeleteListener(input *DeleteForwardLBListenerInput) (*DeleteForwardLBListenerOutput, error)
	Modify7LayerListener(input *ModifyForwardLBSeventhListenerInput) (*ModifyForwardLBSeventhListenerOutput, error)
	Modify4LayerListener(input *ModifyForwardLBFourthListenerInput) (*ModifyForwardLBFourthListenerOutput, error)

	RegInstancesWith4LayerListener(input *RegisterInstancesWithForwardLBFourthListenerInput) (*RegisterInstancesWithForwardLBFourthListenerOutput, error)
	DeRegInstancesWith4LayerListener(input *DeregisterInstancesFromForwardLBFourthListenerInput) (*DeregisterInstancesFromForwardLBFourthListenerOutput, error)
	RegInstancesWith7LayerListener(input *RegisterInstancesWithForwardLBSeventhListenerInput) (*RegisterInstancesWithForwardLBSeventhListenerOutput, error)
	DeRegInstancesWith7LayerListener(input *DeregisterInstancesFromForwardLBSeventhListenerInput) (*DeregisterInstancesFromForwardLBSeventhListenerOutput, error)
	ModifyForward4LayerBackendsWeight(input *ModifyForwardFourthBackendsInput) (*ModifyForwardFourthBackendsOutput, error)
	ModifyForward7LayerBackendsWeight(input *ModifyForwardSeventhBackendsInput) (*ModifyForwardSeventhBackendsOutput, error)
	CreateRules(input *CreateForwardLBListenerRulesInput) (*CreateForwardLBListenerRulesOutput, error)
	DeleteRules(input *DeleteForwardLBListenerRulesInput) (*DeleteForwardLBListenerRulesOutput, error)
	ModifyRuleDomain(input *ModifyForwardLBRulesDomainInput) (*ModifyForwardLBRulesDomainOutput, error)
	ModifyRuleProbe(input *ModifyLoadBalancerRulesProbeInput) (*ModifyLoadBalancerRulesProbeOutput, error)
	//cvm
	DescribeCVMInstance(input *DescribeCVMInstanceInput) (*DescribeCVMInstanceOutput, error)
	DescribeCVMInstanceV3(input *DescribeCVMInstanceV3Input) (*DescribeCVMInstanceV3Output, error)
}

APIInterface qcloud api interface

func NewAPI

func NewAPI(lbClient *Client, cvmClient *Client) APIInterface

NewAPI new api

type APIMeta

type APIMeta struct {
	Action    string `url:"Action"`
	Nonce     uint   `url:"Nonce"`
	Region    string `url:"Region"`
	SecretID  string `url:"SecretId"`
	Signature string `url:"Signature,omitempty"` //method is HmacSHA1
	Timestamp uint   `url:"Timestamp"`
}

APIMeta base data structure for qcloud API always use HmacSHA1 method creating signature

type AssignPrivateIPAddr

type AssignPrivateIPAddr struct {
	APIMeta                        `url:",inline"`
	VpcID                          string `url:"vpcId"`
	NetworkInterfaceID             string `url:"networkInterfaceId"`
	SecondaryPrivateIPAddressCount int    `url:"secondaryPrivateIpAddressCount"`
}

AssignPrivateIPAddr assign more ip address to network interface

type AsynchronousBaseResponse

type AsynchronousBaseResponse struct {
	Response  `json:",inline"`
	RequestID int `json:"requestId"`
}

AsynchronousBaseResponse base async response

type BCSValues

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

BCSValues bcs values encode without value encode

func (BCSValues) Encode

func (v BCSValues) Encode() string

Encode encodes the values into "URL encoded" form ("bar=baz&foo=quux") sorted by key.

type BackendTarget

type BackendTarget struct {
	BackendsInstanceID string
	BackendsIP         string
	BackendsPort       int
	BackendsWeight     int
}

BackendTarget backend to be registered with loadbalance

type BackendTargetList

type BackendTargetList []BackendTarget

BackendTargetList backend list

func (BackendTargetList) EncodeValues

func (btl BackendTargetList) EncodeValues(key string, urlv *url.Values) error

EncodeValues encode backend target info into url format

type CVMFilter

type CVMFilter struct {
	Name   string    `url:"Name"`
	Values GroupList `url:"Values"`
}

CVMFilter filter for Describe cvm condition: https://cloud.tencent.com/document/api/213/9388

type CVMFilters

type CVMFilters []CVMFilter

CVMFilters define url interface for url encoding

func (CVMFilters) EncodeValues

func (fs CVMFilters) EncodeValues(key string, urlv *url.Values) error

EncodeValues interface for url encoding

type CVMInstanceInfo

type CVMInstanceInfo struct {
	InstanceName string `json:"instanceName"`
	LanIP        string `json:"lanIp"`
	InstanceID   string `json:"unInstanceId"`
	SubnetID     string `json:"subnetId"`
	ProjectID    int    `json:"projectId"`
	Region       string `json:"Region"`
}

CVMInstanceInfo one cvm instance info

type CVMInstanceV3Info

type CVMInstanceV3Info struct {
	InstanceName     string        `json:"InstanceName"`
	InstanceID       string        `json:"InstanceId"`
	PlaceInfo        PlacementInfo `json:"Placement"`
	SecurityGroupIds []string      `json:"SecurityGroupIds"`
}

CVMInstanceV3Info cvm info

type CVMInstanceV3InfoList

type CVMInstanceV3InfoList struct {
	TotalCount int                 `json:"TotalCount"`
	CVMInfo    []CVMInstanceV3Info `json:"InstanceSet"`
}

CVMInstanceV3InfoList cvm info list

type CVMResponse

type CVMResponse struct {
	TotalCnt    int         `json:"TotalCount"`
	InstanceSet []*Instance `json:"InstanceSet"`
	RequestID   string      `json:"RequestId"`
}

CVMResponse content when DescribeCVM

type Client

type Client struct {
	URL       string //https url info
	SecretKey string //secret key for api signature
}

Client basic signature https client

func NewClient

func NewClient(url, secretKey string) *Client

NewClient constructor function

func (*Client) GetRequest

func (q *Client) GetRequest(obj interface{}) ([]byte, error)

GetRequest create get request to qcloud api service return:

[]byte: http response body
error: err info if do

func (*Client) PostRequest

func (q *Client) PostRequest(obj interface{}) ([]byte, error)

PostRequest create get request to vpc service return:

[]byte: http response body
error: err info if do

type CommonInfo

type CommonInfo struct {
	LoadBalancerPort int    `json:"loadBalancerPort"`
	Protocol         int    `json:"protocol"`
	ProtocolType     string `json:"protocolType"`
	ListenerID       string `json:"listenerId"`
}

CommonInfo common information

type CreateForwardLBFourthLayerListenersInput

type CreateForwardLBFourthLayerListenersInput struct {
	APIMeta                   `url:",inline"`
	ListenersListenerName     string `url:"listeners.0.listenerName"`
	ListenersLoadBalancerPort int    `url:"listeners.0.loadBalancerPort"`
	EndPort                   int    `url:"listeners.0.endPort"`
	ListenersProtocol         int    `url:"listeners.0.protocol"`
	ListenerExpireTime        int    `url:"listeners.0.sessionExpire,omitempty"`
	ListenerHealthSwitch      int    `url:"listeners.0.healthSwitch"`
	ListenerIntervalTime      int    `url:"listeners.0.intervalTime,omitempty"`
	ListenerTimeout           int    `url:"listeners.0.timeOut,omitempty"`
	ListenerHealthNum         int    `url:"listeners.0.healthNum,omitempty"`
	ListenerUnHealthNum       int    `url:"listeners.0.unhealthNum,omitempty"`
	ListenerScheduler         string `url:"listeners.0.scheduler,omitempty"`
	LoadBalanceID             string `url:"loadBalancerId,omitempty"`
}

CreateForwardLBFourthLayerListenersInput create 4 lay listener info 4层协议没有加密证书 文档地址 https://cloud.tencent.com/document/api/214/9001 没有摘取的值都是用默认值

type CreateForwardLBFourthLayerListenersOutput

type CreateForwardLBFourthLayerListenersOutput struct {
	AsynchronousBaseResponse `json:",inline"`
	UListenerIds             []string `json:"uListenerIds"`
	ListenerIds              []string `json:"listenerIds"`
}

CreateForwardLBFourthLayerListenersOutput CreateForwardLBFourthLayerListeners result

type CreateForwardLBListenerRulesInput

type CreateForwardLBListenerRulesInput struct {
	APIMeta       `url:",inline"`
	ListenerID    string `url:"listenerId,omitempty"`
	LoadBalanceID string `url:"loadBalancerId,omitempty"`
	Rules         RuleCreateInfoList
}

CreateForwardLBListenerRulesInput input of create forward loadbalance listener

type CreateForwardLBListenerRulesOutput

type CreateForwardLBListenerRulesOutput struct {
	AsynchronousBaseResponse
}

CreateForwardLBListenerRulesOutput create forward lb listener rule result

type CreateLBInput

type CreateLBInput struct {
	APIMeta          `url:",inline"`
	Forward          int    `url:"forward,omitempty"`
	LoadBalancerName string `url:"loadBalancerName,omitempty"`
	LoadBalancerType int    `url:"loadBalancerType,omitempty"`
	ProjectID        int    `url:"projectId,omitempty"`
	SubnetID         string `url:"subnetId,omitempty"`
	VpcID            string `url:"vpcId,omitempty"`
}

CreateLBInput create clb instance info

type CreateLBOutput

type CreateLBOutput struct {
	Response          `json:",inline"`
	UnLoadBalancerIds map[string][]string `json:"unLoadBalancerIds"`
	RequestID         int                 `json:"requestId"`
	DealIds           []string            `json:"dealIds"`
}

CreateLBOutput create lb result

type CreateNIC

type CreateNIC struct {
	APIMeta                        `url:",inline"`
	EniDescription                 string    `url:"eniDescription,omitempty"`
	EniName                        string    `url:"eniName"`
	IPAddressSet                   IPSet     `url:"privateIpAddressSet,omitempty"`
	SecondaryPrivateIPAddressCount int       `url:"secondaryPrivateIpAddressCount,omitempty"`
	SgIds                          GroupList `url:"sgIds,omitempty"`
	SubnetID                       string    `url:"subnetId"`
	VpcID                          string    `url:"vpcId"`
}

CreateNIC object for qcloud api to create new network interface

type CreateSecurityGroupInput

type CreateSecurityGroupInput struct {
	APIMeta   `url:",inline"`
	SgName    string `url:"sgName,omitempty"`
	SgRemark  string `url:"sgRemark,omitempty"`
	ProjectID int    `url:"projectId,omitempty"`
}

CreateSecurityGroupInput info to create security group

type CreateSecurityGroupOutput

type CreateSecurityGroupOutput struct {
	Code    int             `json:"code"`
	Message string          `json:"message"`
	SgInfo  SecureGroupInfo `json:"data"`
}

CreateSecurityGroupOutput create security group api response

type CreateSecurityGroupPolicyInput

type CreateSecurityGroupPolicyInput struct {
	APIMeta             `url:",inline"`
	Direction           string `url:"direction,omitempty"`
	Index               string `url:"index,omitempty"`
	PolicyAction        string `url:"policys.0.action,omitempty"`
	PolicyAddressModule string `url:"policys.0.addressModule,omitempty"`
	PolicyCidrIP        string `url:"policys.0.cidrIp,omitempty"`
	PolicyDesc          string `url:"policys.0.desc,omitempty"`
	PolicyIPProtocol    string `url:"policys.0.ipProtocol,omitempty"`
	PolicyPortRange     string `url:"policys.0.portRange,omitempty"`
	PolicyServiceModule string `url:"policys.0.serviceModule,omitempty"`
	PolicySgID          string `url:"policys.0.sgId,omitempty"`
	SgID                string `url:"sgId,omitempty"`
}

CreateSecurityGroupPolicyInput create security group policy input info

type CreateSecurityGroupPolicyOutput

type CreateSecurityGroupPolicyOutput struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

CreateSecurityGroupPolicyOutput create security group policy result

type CreateSeventhLayerListenerInput

type CreateSeventhLayerListenerInput struct {
	APIMeta                   `url:",inline"`
	ListenersCertID           string `url:"listeners.0.certId,omitempty"`
	ListenersCertCaID         string `url:"listeners.0.certCaId,omitempty"`
	ListenersCertCaContent    string `url:"listeners.0.certCaContent,omitempty"`
	ListenersCertCaName       string `url:"listeners.0.certCaName,omitempty"`
	ListenersCertContent      string `url:"listeners.0.certContent,omitempty"`
	ListenersCertKey          string `url:"listeners.0.certContent,omitempty"`
	ListenersCertName         string `url:"listeners.0.certName,omitempty"`
	ListenersListenerName     string `url:"listeners.0.listenerName,omitempty"`
	ListenersLoadBalancerPort int    `url:"listeners.0.loadBalancerPort,omitempty"`
	ListenersProtocol         int    `url:"listeners.0.protocol,omitempty"`
	ListenersSSLMode          string `url:"listeners.0.SSLMode,omitempty"`
	LoadBalanceID             string `url:"loadBalancerId,omitempty"`
}

CreateSeventhLayerListenerInput create 7 layer listener info

type CreateSeventhLayerListenerOutput

type CreateSeventhLayerListenerOutput struct {
	Response    `json:",inline"`
	ListenerIds []string `json:"listenerIds"`
}

CreateSeventhLayerListenerOutput create 7 layer listener response

type DeleteForwardLBListenerInput

type DeleteForwardLBListenerInput struct {
	APIMeta       `url:",inline"`
	ListenerID    string `url:"listenerId,omitempty"`
	LoadBalanceID string `url:"loadBalancerId,omitempty"`
}

DeleteForwardLBListenerInput delete listener api input

type DeleteForwardLBListenerOutput

type DeleteForwardLBListenerOutput struct {
	AsynchronousBaseResponse
}

DeleteForwardLBListenerOutput delete listener api output

type DeleteForwardLBListenerRulesInput

type DeleteForwardLBListenerRulesInput struct {
	APIMeta        `url:",inline"`
	LoadBalanceID  string `url:"loadBalancerId"`
	ListenerID     string `url:"listenerId"`
	LocationIDList RuleIDList
	Domain         string `url:"domain,omitempty"`
	Url            string `url:"url,omitempty"`
}

DeleteForwardLBListenerRulesInput input of delete loadbalance listener rule

type DeleteForwardLBListenerRulesOutput

type DeleteForwardLBListenerRulesOutput struct {
	AsynchronousBaseResponse
}

DeleteForwardLBListenerRulesOutput output of delete loadbalance listener rule

type DeregisterInstancesFromForwardLBFourthListenerInput

type DeregisterInstancesFromForwardLBFourthListenerInput struct {
	RegisterInstancesWithForwardLBFourthListenerInput
}

DeregisterInstancesFromForwardLBFourthListenerInput deregister 4 layer info

type DeregisterInstancesFromForwardLBFourthListenerOutput

type DeregisterInstancesFromForwardLBFourthListenerOutput struct {
	AsynchronousBaseResponse
}

DeregisterInstancesFromForwardLBFourthListenerOutput deregister 4 layer result

type DeregisterInstancesFromForwardLBSeventhListenerInput

type DeregisterInstancesFromForwardLBSeventhListenerInput struct {
	APIMeta       `url:",inline"`
	Backends      BackendTargetList
	ListenerID    string `url:"listenerId,omitempty"`
	LoadBalanceID string `url:"loadBalancerId,omitempty"`
	LocationID    string `url:"locationIds.0,omitempty"`
}

DeregisterInstancesFromForwardLBSeventhListenerInput deregister 7 layer target info

type DeregisterInstancesFromForwardLBSeventhListenerOutput

type DeregisterInstancesFromForwardLBSeventhListenerOutput struct {
	AsynchronousBaseResponse
}

DeregisterInstancesFromForwardLBSeventhListenerOutput deregister 7 layer result

type DescribeCVM

type DescribeCVM struct {
	Action      string     `url:"Action"`
	Filters     CVMFilters `url:"Filters,omitempty"`
	InstanceIds GroupList  `url:"InstanceIds,omitempty"`
	Limit       int        `url:"Limit,omitempty"`
	Nonce       uint       `url:"Nonce"`
	Offset      int        `url:"Offset,omitempty"`
	Region      string     `url:"Region"`
	SecretID    string     `url:"SecretId"`
	Signature   string     `url:"Signature,omitempty"` //method is HmacSHA1
	Timestamp   uint       `url:"Timestamp"`
	Version     string     `url:"Version"` //version must be 2017-03-12
}

DescribeCVM query qcloud vm info

type DescribeCVMInstanceInput

type DescribeCVMInstanceInput struct {
	APIMeta `url:",inline"`
	LanIP   string `url:"lanIps.0,omitempty"`
}

DescribeCVMInstanceInput describe cvm instance info

type DescribeCVMInstanceOutput

type DescribeCVMInstanceOutput struct {
	Response  `json:",inline"`
	Instances []CVMInstanceInfo `json:"instanceSet"`
}

DescribeCVMInstanceOutput describe cvm instance response

type DescribeCVMInstanceV3Input

type DescribeCVMInstanceV3Input struct {
	APIMeta        `url:",inline"`
	FilterIPName   string `url:"Filters.0.Name,omitempty"`
	FilterIPValues FilterIPValueFieldList
	Version        string `url:"Version,omitempty"`
}

DescribeCVMInstanceV3Input describe cvm instance info from v3 api

type DescribeCVMInstanceV3Output

type DescribeCVMInstanceV3Output struct {
	CVMInfos CVMInstanceV3InfoList `json:"Response"`
}

DescribeCVMInstanceV3Output describe cvm instance result from v3 api

type DescribeForwardLBBackendsInput

type DescribeForwardLBBackendsInput struct {
	APIMeta          `url:",inline"`
	ListenerID       string `url:"listenerIds.0,omitempty"`
	LoadBalanceID    string `url:"loadBalancerId,omitempty"`
	LoadBalancerPort int    `url:"loadBalancerPort,omitempty"`
	Protocol         int    `url:"protocol,omitempty"`
}

DescribeForwardLBBackendsInput list clb targets

type DescribeForwardLBBackendsOutput

type DescribeForwardLBBackendsOutput struct {
	Response
	Data []ListenerDetail `json:"data"`
}

DescribeForwardLBBackendsOutput describe forward lb backend response

type DescribeForwardLBListenersInput

type DescribeForwardLBListenersInput struct {
	APIMeta          `url:",inline"`
	ListenerID       string `url:"listenerIds.0,omitempty"`
	LoadBalanceID    string `url:"loadBalancerId,omitempty"`
	LoadBalancerPort int    `url:"loadBalancerPort,omitempty"`
	Protocol         int    `url:"protocol,omitempty"`
}

DescribeForwardLBListenersInput input for query forward lb listeners

type DescribeForwardLBListenersOutput

type DescribeForwardLBListenersOutput struct {
	Response  `json:",inline"`
	Listeners []ListenerInfo `json:"listenerSet"`
}

DescribeForwardLBListenersOutput output for query forward lb listeners

type DescribeLBInput

type DescribeLBInput struct {
	APIMeta         `url:",inline"`
	Forward         int    `url:"forward,omitempty"`
	LoadBalanceID   string `url:"loadBalancerIds.0,omitempty"`
	LoadBalanceName string `url:"loadBalancerName,omitempty"`
	LoadBalanceType int    `url:"loadBalancerType,omitempty"`
	ProjectID       int    `url:"projectId,omitempty"`
}

DescribeLBInput query LoadBalance instance info in clb

type DescribeLBOutput

type DescribeLBOutput struct {
	Response     `json:",inline"`
	TotalCount   int               `json:"totalCount"`
	LoadBalances []LoadBalanceInfo `json:"loadBalancerSet"`
}

DescribeLBOutput DescribeLB result

type DescribeListenerInput

type DescribeListenerInput struct {
	APIMeta          `url:",inline"`
	ListenerID       string `url:"listenerIds.0,omitempty"`
	LoadBalanceID    string `url:"loadBalancerId,omitempty"`
	LoadBalancerPort int    `url:"loadBalancerPort,omitempty"`
	Protocol         int    `url:"protocol,omitempty"`
}

DescribeListenerInput query LoadBalance listener info in clb

type DescribeListenerOutput

type DescribeListenerOutput struct {
	Response  `json:",inline"`
	Listeners []ListenerInfo `json:"listenerSet"`
}

DescribeListenerOutput DescribeListener result

type DescribeLoadBalancersTaskResultInput

type DescribeLoadBalancersTaskResultInput struct {
	APIMeta   `url:",inline"`
	RequestID int `url:"requestId,omitempty"`
}

DescribeLoadBalancersTaskResultInput describe lb task result input

type DescribeLoadBalancersTaskResultOutput

type DescribeLoadBalancersTaskResultOutput struct {
	Response `json:",inline"`
	Data     TaskStatus `json:"data"`
}

DescribeLoadBalancersTaskResultOutput describe lb task result output

type DescribeNIC

type DescribeNIC struct {
	APIMeta            `url:",inline"`
	EniDescription     string `url:"eniDescription,omitempty"`
	EniName            string `url:"eniName,omitempty"`
	InstanceID         string `url:"instanceId,omitempty"`
	Limit              int    `url:"limit,omitempty"`
	NetworkInterfaceID string `url:"networkInterfaceId,omitempty"`
	Offset             int    `url:"offset,omitempty"`
	OrderDirection     string `url:"orderDirection,omitempty"`
	OrderField         string `url:"orderField,omitempty"`
	VpcID              string `url:"vpcId,omitempty"`
}

DescribeNIC query NIC info in cloud host

type DescribeResponse

type DescribeResponse struct {
	Response CVMResponse `json:"Response"`
}

type DescribeSecurityGroupPolicysInput

type DescribeSecurityGroupPolicysInput struct {
	APIMeta `url:",inline"`
	SgID    string `url:"sgId,omitempty"`
}

DescribeSecurityGroupPolicysInput describe security group policys info

type DescribeSecurityGroupPolicysOutput

type DescribeSecurityGroupPolicysOutput struct {
	Code    int               `json:"code"`
	Message string            `json:"message"`
	Data    IngressEgressData `json:"data"`
}

DescribeSecurityGroupPolicysOutput get describe security group policy result

type FilterIPValueField

type FilterIPValueField struct {
	IP string
}

FilterIPValueField filter ip field

type FilterIPValueFieldList

type FilterIPValueFieldList []FilterIPValueField

FilterIPValueFieldList filter ip field list

func (FilterIPValueFieldList) EncodeValues

func (ipList FilterIPValueFieldList) EncodeValues(key string, urlv *url.Values) error

EncodeValues encode filter ip field info into url format

type GroupList

type GroupList []string

GroupList id list

func (GroupList) EncodeValues

func (l GroupList) EncodeValues(key string, urlv *url.Values) error

EncodeValues interface for url encoding

type IPSet

type IPSet []PrivateIPAddressSet

IPSet for ip address list url encoding

func (IPSet) EncodeValues

func (ips IPSet) EncodeValues(key string, urlv *url.Values) error

EncodeValues interface for url encoding

type IngressEgressData

type IngressEgressData struct {
	SgID         string                   `json:"sgId"`
	IngressInfos []SecurityGroupGressInfo `json:"ingress"`
	EgressInfos  []SecurityGroupGressInfo `json:"egress"`
}

IngressEgressData include ingress and egress information

type Instance

type Instance struct {
	Placement          PlaceMent `json:"Placement,omitempty"`
	InstanceID         string    `json:"InstanceId"`
	InstanceName       string    `json:"InstanceName"`
	InstanceType       string    `json:"InstanceType"`
	InstanceChargeType string    `json:"InstanceChargeType"`
	CPU                int       `json:"CPU"`
	Memory             int       `json:"Memory"`
	PrivateIPAddresses GroupList `json:"PrivateIpAddresses"`
	PublicIPAddresses  GroupList `json:"PublicIpAddresses,omitempty"`
	VPC                VPCRef    `json:"VirtualPrivateCloud"`
	CreatedTime        string    `json:"CreatedTime"`
	ExpiredTime        string    `json:"ExpiredTime"`
}

Instance for host

type InstanceDetail

type InstanceDetail struct {
	InstanceName   string   `json:"instanceName"`
	LanIP          string   `json:"lanIp"`
	WanIPSet       []string `json:"wanIpSet"`
	InstanceStatus int      `json:"instanceStatus"`
	Port           int      `json:"port"`
	Weight         int      `json:"weight"`
	UnInstanceID   string   `json:"unInstanceId"`
	UUID           string   `json:"uuid"`
	AddTimestamp   string   `json:"addTimestamp"`
}

InstanceDetail one backend detail information

type InstanceRef

type InstanceRef struct {
	InstanceID string `json:"instanceId"`
	AttachTime string `json:"attachTime"`
}

InstanceRef info for host

type ListenerDetail

type ListenerDetail struct {
	CommonInfo
	Rules    []RuleDetail     `json:"rules,omitempty"`
	Backends []InstanceDetail `json:"backends,omitempty"`
}

ListenerDetail one listener datail

type ListenerInfo

type ListenerInfo struct {
	LoadBalancerPort int        `json:"loadBalancerPort"`
	EndPort          int        `json:"endPort"`
	Protocol         int        `json:"protocol"`
	ProtocolType     string     `json:"protocolType"`
	ListenerID       string     `json:"listenerId"`
	SSLMode          string     `json:"SSLMode"`
	CertID           string     `json:"certId"`
	CertCaID         string     `json:"certCaId"`
	Rules            []RuleInfo `json:"rules"`
}

ListenerInfo sub info of DescribeListenerResp

type LoadBalanceInfo

type LoadBalanceInfo struct {
	CreateTime       string   `json:"createTime"`
	LoadBalancerID   string   `json:"loadBalancerId"`
	LoadBalancerName string   `json:"loadBalancerName"`
	UnLoadBalancerID string   `json:"unLoadBalancerId"`
	LoadBalancerType int      `json:"loadBalancerType"`
	Forward          int      `json:"forward"`
	Domain           string   `json:"domain"`
	ProjectID        int      `json:"projectId"`
	VpcID            int      `json:"vpcId"`
	SubnetID         int      `json:"subnetId"`
	Isolation        int      `json:"isolation"`
	Snat             bool     `json:"snat"`
	LoadBalancerVips []string `json:"loadBalancerVips"`
	Status           int      `json:"status"`
	StatusTime       string   `json:"statusTime"`
}

LoadBalanceInfo sub info of DescribeLBResp

type ModifyForwardFourthBackendsInput

type ModifyForwardFourthBackendsInput struct {
	LoadbalanceID string `json:"loadBalancerId"`
	ListenerID    string `json:"listenerId"`
	Backends      BackendTargetList
}

ModifyForwardFourthBackendsInput modify 4 layer backends weight input

type ModifyForwardFourthBackendsOutput

type ModifyForwardFourthBackendsOutput struct {
	AsynchronousBaseResponse
}

ModifyForwardFourthBackendsOutput modify 4 layer backends weight output

type ModifyForwardLBFourthListenerInput

type ModifyForwardLBFourthListenerInput struct {
	APIMeta       `url:",inline"`
	LoadBalanceID string `url:"loadBalancerId"`
	ListenerID    string `url:"listenerId"`
	ListenerName  string `url:"listenerName,omitempty"`
	SessionExpire int    `url:"sessionExpire,omitempty"`
	HealthSwitch  int    `url:"healthSwitch"`
	Timeout       int    `url:"timeOut,omitempty"`
	IntervalTime  int    `url:"intervalTime,omitempty"`
	HealthNum     int    `url:"healthNum,omitempty"`
	UnHealthNum   int    `url:"unhealthNum,omitempty"`
	Scheduler     string `url:"scheduler,omitempty"`
}

ModifyForwardLBFourthListenerInput ModifyForwardLBFourthListener input

type ModifyForwardLBFourthListenerOutput

type ModifyForwardLBFourthListenerOutput struct {
	AsynchronousBaseResponse `json:",inline"`
}

ModifyForwardLBFourthListenerOutput ModifyForwardLBFourthListener output

type ModifyForwardLBRulesDomainInput

type ModifyForwardLBRulesDomainInput struct {
	APIMeta       `url:",inline"`
	LoadBalanceID string `url:"loadBalancerId"`
	ListenerID    string `url:"listenerId"`
	LocationID    string `url:"locationId"`
	Domain        string `url:"domain"`
	NewDomain     string `url:"newDomain"`
}

ModifyForwardLBRulesDomainInput ModifyForwardLBRulesDomain input

type ModifyForwardLBRulesDomainOutput

type ModifyForwardLBRulesDomainOutput struct {
	AsynchronousBaseResponse `json:",inline"`
}

ModifyForwardLBRulesDomainOutput ModifyForwardLBRulesDomain output

type ModifyForwardLBSeventhListenerInput

type ModifyForwardLBSeventhListenerInput struct {
	APIMeta       `url:",inline"`
	LoadBalanceID string `url:"loadBalancerId"`
	ListenerID    string `url:"listenerId"`
	ListenerName  string `url:"listenerName,omitempty"`
	SSLMode       string `url:"SSLMode,omitempty"`
	CertID        string `url:"certId,omitempty"`
	CertCaID      string `url:"certCaId,omitempty"`
	CertCaContent string `url:"certCaContent,omitempty"`
	CertCaName    string `url:"certCaName,omitempty"`
	CertContent   string `url:"certContent,omitempty"`
	CertKey       string `url:"certKey,omitempty"`
	CertName      string `url:"certName,omitempty"`
}

ModifyForwardLBSeventhListenerInput ModifyForwardLBSeventhListener input

type ModifyForwardLBSeventhListenerOutput

type ModifyForwardLBSeventhListenerOutput struct {
	AsynchronousBaseResponse `json:",inline"`
}

ModifyForwardLBSeventhListenerOutput ModifyForwardLBSeventhListener output

type ModifyForwardSeventhBackendsInput

type ModifyForwardSeventhBackendsInput struct {
	LoadbalanceID string `json:"loadBalancerId"`
	ListenerID    string `json:"listenerId"`
	LocationID    string `json:"locationIds.0"`
	Backends      BackendTargetList
}

ModifyForwardSeventhBackendsInput modify 7 layer backends weight input

type ModifyForwardSeventhBackendsOutput

type ModifyForwardSeventhBackendsOutput struct {
	AsynchronousBaseResponse
}

ModifyForwardSeventhBackendsOutput modify 7 layer backends weight output

type ModifyLoadBalancerRulesProbeInput

type ModifyLoadBalancerRulesProbeInput struct {
	APIMeta       `url:",inline"`
	LoadBalanceID string `url:"loadBalancerId"`
	ListenerID    string `url:"listenerId"`
	LocationID    string `url:"locationId"`
	URL           string `url:"url,omitempty"`
	SessionExpire int    `url:"sessionExpire,omitempty"`
	HealthSwitch  int    `url:"healthSwitch"`
	Timeout       int    `url:"timeOut,omitempty"`
	IntervalTime  int    `url:"intervalTime,omitempty"`
	HealthNum     int    `url:"healthNum,omitempty"`
	UnHealthNum   int    `url:"unhealthNum,omitempty"`
	HTTPHash      string `url:"httpHash,omitempty"`
	HTTPCode      int    `url:"httpCode,omitempty"`
	HTTPCheckPath string `url:"httpCheckPath,omitempty"`
}

ModifyLoadBalancerRulesProbeInput ModifyLoadBalancerRulesProbe input

type ModifyLoadBalancerRulesProbeOutput

type ModifyLoadBalancerRulesProbeOutput struct {
	AsynchronousBaseResponse `json:",inline"`
}

ModifyLoadBalancerRulesProbeOutput ModifyLoadBalancerRulesProbe output

type ModifyNIC

type ModifyNIC struct {
	EniName            string `url:"eniName,omitempty"`
	EniDescription     string `url:"eniDescription,omitempty"`
	NetworkInterfaceID string `url:"networkInterfaceId"`
	VpcID              string `url:"vpcId"`
}

ModifyNIC object for modifing via api

type ModifySecurityGroupsOfInstanceInput

type ModifySecurityGroupsOfInstanceInput struct {
	APIMeta        `url:",inline"`
	InstanceID     string `url:"InstanceIds.0,omitempty"`
	SecurityGroups SecurityGroupList
	Version        string `url:"Version,omitempty"`
}

ModifySecurityGroupsOfInstanceInput modify security group of cvm instance doc: https://cloud.tencent.com/document/api/213/9381 SecurityGroups1 string `url:"SecurityGroups.0,omitempty"` SecurityGroups2 string `url:"SecurityGroups.1,omitempty"`

type ModifySingleSecurityGroupPolicyInput

type ModifySingleSecurityGroupPolicyInput struct {
	APIMeta          `url:",inline"`
	Direction        string `url:"direction,omitempty"`
	Index            int    `url:"index"`
	PolicyAction     string `url:"policys.action,omitempty"`
	PolicyCidrIp     string `url:"policys.cidrIp,omitempty"`
	PolicyDesc       string `url:"policys.desc,omitempty"`
	PolicyIpProtocol string `url:"policys.ipProtocol,omitempty"`
	PolicyPortRange  string `url:"policys.portRange,omitempty"`
	SgId             string `url:"sgId,omitempty"`
}

ModifySingleSecurityGroupPolicyInput modify security group policy input

type ModifySingleSecurityGroupPolicyOutput

type ModifySingleSecurityGroupPolicyOutput struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

ModifySingleSecurityGroupPolicyOutput modify security group policy output

type NIC

type NIC struct {
	VpcID              string        `json:"vpcId"`
	VpcName            string        `json:"vpcName,omitempty"`
	SubnetID           string        `json:"subnetId"`
	ZoneID             int           `json:"zoneId,omitempty"`
	EniName            string        `json:"eniName"`
	EniDescription     string        `json:"eniDescription,omitempty"`
	NetworkInterfaceID string        `json:"networkInterfaceId"`
	Primary            bool          `json:"primary,omitempty"`
	MacAddress         string        `json:"macAddress"`
	IPAddressSet       IPSet         `json:"privateIpAddressesSet,omitempty"`
	InstanceSet        InstanceRef   `json:"instanceSet,omitempty"`
	GroupSet           []SecureGroup `json:"groupSet,omitempty"`
}

NIC network interface card

type NICAttachHost

type NICAttachHost struct {
	APIMeta            `url:",inline"`
	InstanceID         string `url:"instanceId"`
	NetworkInterfaceID string `url:"networkInterfaceId"`
	VpcID              string `url:"vpcId"`
}

NICAttachHost attach one nic to host

type NICList

type NICList struct {
	TotalCnt int    `json:"totalNum"`
	Data     []*NIC `json:"data"`
}

NICList list of nic

type NICResponse

type NICResponse struct {
	Response `json:",inline"`
	Data     NICList `json:"data"`
}

NICResponse response for DescribeNetworkInterface

type PlaceMent

type PlaceMent struct {
	Zone      string `json:"Zone"`
	HostID    string `json:"HostId,omitempty"`
	ProjectID int    `json:"ProjectId,omitempty"`
}

PlaceMent section of host

type PlacementInfo

type PlacementInfo struct {
	Zone      string `json:"Zone"`
	HostId    string `json:"HostId"`
	ProjectId int    `json:"ProjectId"`
}

PlacementInfo cvm location info

type PrivateIPAddressSet

type PrivateIPAddressSet struct {
	Primary          bool   `url:"primary" json:"primary"`
	PrivateIPAddress string `url:"privateIpAddress" json:"privateIpAddress"`
	Description      string `url:"description,omitempty" json:"description,omitempty"`
	WanIp            string `url:"wanIp,omitempty" json:"wanIp,omitempty"`
	IsWanIpBlocked   bool   `url:"isWanIpBlocked,omitempty" json:"isWanIpBlocked,omitempty"`
	EipId            string `url:"eipId,omitempty" json:"eipId,omitempty"`
}

PrivateIPAddressSet address for New NIC application

type RegisterInstancesWithForwardLBFourthListenerInput

type RegisterInstancesWithForwardLBFourthListenerInput struct {
	APIMeta       `url:",inline"`
	Backends      BackendTargetList
	ListenerID    string `url:"listenerId,omitempty"`
	LoadBalanceID string `url:"loadBalancerId,omitempty"`
}

RegisterInstancesWithForwardLBFourthListenerInput regitster instance info 4 layer

type RegisterInstancesWithForwardLBFourthListenerOutput

type RegisterInstancesWithForwardLBFourthListenerOutput struct {
	AsynchronousBaseResponse
}

RegisterInstancesWithForwardLBFourthListenerOutput register 4 layer result

type RegisterInstancesWithForwardLBSeventhListenerInput

type RegisterInstancesWithForwardLBSeventhListenerInput struct {
	APIMeta       `url:",inline"`
	Backends      BackendTargetList
	ListenerID    string `url:"listenerId,omitempty"`
	LoadBalanceID string `url:"loadBalancerId,omitempty"`
	LocationID    string `url:"locationIds.0,omitempty"`
	URL           string `url:"url,omitempty"`
}

RegisterInstancesWithForwardLBSeventhListenerInput register instance info 7 layer

type RegisterInstancesWithForwardLBSeventhListenerOutput

type RegisterInstancesWithForwardLBSeventhListenerOutput struct {
	AsynchronousBaseResponse
}

RegisterInstancesWithForwardLBSeventhListenerOutput register instance response

type Response

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

Response common api response from qcloud

type RuleCreateInfo

type RuleCreateInfo struct {
	RuleDomain        string
	RuleURL           string
	RuleHealthSwitch  int
	RuleHTTPCheckPath string
	RuleHTTPHash      string
	RuleHTTPCode      int
	RuleIntervalTime  int
	RuleHealthNum     int
	RuleUnhealthNum   int
	RuleSessionExpire int
}

RuleCreateInfo rule info for creation

type RuleCreateInfoList

type RuleCreateInfoList []RuleCreateInfo

RuleCreateInfoList rule list

func (RuleCreateInfoList) EncodeValues

func (list RuleCreateInfoList) EncodeValues(key string, urlv *url.Values) error

EncodeValues encode rule info list

type RuleDetail

type RuleDetail struct {
	LocationID string           `json:"locationId"`
	Domain     string           `json:"domain"`
	URL        string           `json:"url"`
	Backends   []InstanceDetail `json:"backends"`
}

RuleDetail describe one listener rule info

type RuleID

type RuleID string

RuleID rule id

type RuleIDList

type RuleIDList []RuleID

RuleIDList rule id list

func (RuleIDList) EncodeValues

func (list RuleIDList) EncodeValues(key string, urlv *url.Values) error

EncodeValues encode rule id list

type RuleInfo

type RuleInfo struct {
	LocationID      string `json:"locationId"`
	Domain          string `json:"domain"`
	URL             string `json:"url"`
	HTTPHash        string `json:"httpHash"`
	SessionExpire   int    `json:"sessionExpire"`
	HealthSwitch    int    `json:"healthSwitch"`
	TimeOut         int    `json:"timeOut"`
	IntervalTime    int    `json:"intervalTime"`
	HealthNum       int    `json:"healthNum"`
	UnhealthNum     int    `json:"unhealthNum"`
	HTTPCode        int    `json:"httpCode"`
	HTTPCheckPath   string `json:"httpCheckPath"`
	HTTPCheckMethod string `json:"httpCheckMethod"`
}

RuleInfo sub info of ListenerInfo

type SecureGroup

type SecureGroup struct {
	SgID      string `json:"sgId"`
	SgName    string `json:"sgName"`
	ProjectID int    `json:"projectId"`
}

SecureGroup group

type SecureGroupInfo

type SecureGroupInfo struct {
	SgID     string `json:"sgId"`
	SgName   string `json:"sgName"`
	SgRemark string `json:"sgRemark"`
}

SecureGroupInfo security group info

type SecurityGroupGressInfo

type SecurityGroupGressInfo struct {
	Index         int    `json:"index"`
	AddressModule string `json:"addressModule"`
	IPProtocol    string `json:"ipProtocol"`
	CidrIP        string `json:"cidrIp"`
	SgID          string `json:"sgId"`
	PortRange     string `json:"portRange"`
	ServiceModule string `json:"serviceModule"`
	Desc          string `json:"desc"`
	Action        string `json:"action"`
	Version       int    `json:"version"`
}

SecurityGroupGressInfo ingress/egress information

type SecurityGroupList

type SecurityGroupList []string

SecurityGroupList security group list

func (SecurityGroupList) EncodeValues

func (sgs SecurityGroupList) EncodeValues(key string, urlv *url.Values) error

EncodeValues encode security group list info into url format

type TaskData

type TaskData struct {
	Output interface{} `json:"output,omitempty"`
	Status int         `json:"status,omitempty"`
	TaskID int         `json:"taskId,omitempty"`
}

TaskData data holder for TaskResponse

type TaskRequest

type TaskRequest struct {
	APIMeta `url:",inline"`
	TaskID  int `url:"taskId"`
}

TaskRequest request for task status

type TaskResponse

type TaskResponse struct {
	Response `json:",inline"`
	Data     TaskData `json:"data"`
}

TaskResponse response task id with qcloud task

type TaskStatus

type TaskStatus struct {
	Status int `json:"status"`
}

TaskStatus task status of lb task

type VPCRef

type VPCRef struct {
	VpcID              string    `json:"VpcId"`
	SubnetID           string    `json:"SubnetId"`
	AsVpcGateway       bool      `json:"AsVpcGateway,omitempty"`
	PrivateIPAddresses GroupList `json:"PrivateIpAddresses,omitempty"`
}

VPCRef VirtualPrivateCloud referrence

type VirtualPrivateCloudInfo

type VirtualPrivateCloudInfo struct {
	VpcId        string `json:"VpcId"`
	SubnetId     string `json:"SubnetId"`
	AsVpcGateway bool   `json:"AsVpcGateway"`
}

VirtualPrivateCloudInfo virtual network info about cvm instance

Jump to

Keyboard shortcuts

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