Documentation ¶
Index ¶
- func List(client *golangsdk.ServiceClient, instanceId string, opts ListOptsBuilder) pagination.Pager
- func ListBackendServices(client *golangsdk.ServiceClient, instanceId, chanId string, ...) pagination.Pager
- type AddBackendResult
- type BackendAddOpts
- type BackendAddOptsBuilder
- type BackendListOpts
- type BackendListOptsBuilder
- type ChannelOpts
- type ChannelOptsBuilder
- type ChannelPage
- type CreateResult
- type DeleteResult
- type GetBackendResult
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type Member
- type MemberInfo
- type MemberResult
- type RemoveResult
- type UpdateResult
- type VpcChannel
- type VpcHealthConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *golangsdk.ServiceClient, instanceId string, opts ListOptsBuilder) pagination.Pager
List is a method to obtain an array of one or more vpc channels by query parameters.
func ListBackendServices ¶
func ListBackendServices(client *golangsdk.ServiceClient, instanceId, chanId string, opts BackendListOptsBuilder) pagination.Pager
ListBackendServices is a method to obtain an array of one or more backend services by query parameters.
Types ¶
type AddBackendResult ¶
type AddBackendResult struct {
MemberResult
}
type BackendAddOpts ¶
type BackendAddOpts struct { // Backend server list. Members []MemberInfo `json:"members" required:"true"` }
func (BackendAddOpts) ToBackendAddMap ¶
func (opts BackendAddOpts) ToBackendAddMap() (map[string]interface{}, error)
type BackendAddOptsBuilder ¶
type BackendListOpts ¶
type BackendListOpts struct { // Cloud server name. Name string `q:"name"` // Offset from which the query starts. // If the offset is less than 0, the value is automatically converted to 0. Default to 0. Offset int `q:"offset"` // Number of items displayed on each page. Limit int `q:"limit"` }
BackendListOpts allows to filter list data using given parameters.
func (BackendListOpts) ToBackendListQuery ¶
func (opts BackendListOpts) ToBackendListQuery() (string, error)
type BackendListOptsBuilder ¶
type ChannelOpts ¶
type ChannelOpts struct { // Backend server list. Only one backend server is included if the VPC channel type is set to 1. Members []MemberInfo `json:"members" required:"true"` // VPC channel name. // A VPC channel name can contain 3 to 64 characters, starting with a letter. // Only letters, digits, hyphens (-), and underscores (_) are allowed. // Chinese characters must be in UTF-8 or Unicode format. Name string `json:"name" required:"true"` // VPC channel type. // 1: private network ELB channel (to be deprecated) // 2: fast channel with the load balancing function Type int `json:"type" required:"true"` // Health check details. VpcHealthConfig VpcHealthConfig `json:"vpc_health_config" required:"true"` // Distribution algorithm. // The valid values are as following: // 1: WRR (default) // 2: WLC // 3: SH // 4: URI hashing // This parameter is mandatory if the VPC channel type is set to 2. BalanceStrategy int `json:"balance_strategy,omitempty"` // Member type of the VPC channel. // The valid values are as following: // ip // ecs (default) // This parameter is required if the VPC channel type is set to 2. MemberType string `json:"member_type,omitempty"` // Host port of the VPC channel. // This parameter is valid only when the VPC channel type is set to 2. The value range is 1–65535. // This parameter is required if the VPC channel type is set to 2. Port int `json:"port,omitempty"` }
func (ChannelOpts) ToInstanceCreateMap ¶
func (opts ChannelOpts) ToInstanceCreateMap() (map[string]interface{}, error)
type ChannelOptsBuilder ¶
type ChannelPage ¶
type ChannelPage struct {
pagination.SinglePageBase
}
The ChannelPage represents the result of a List operation.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a create operation.
func AddBackendServices ¶
func AddBackendServices(client *golangsdk.ServiceClient, instanceId, chanId string, opts BackendAddOptsBuilder) (r CreateResult)
AddBackendServices is a method to add a backend instance to vpc channel.
func Create ¶
func Create(client *golangsdk.ServiceClient, instanceId string, opts ChannelOptsBuilder) (r CreateResult)
Create is a method by which to create an APIG vpc channel.
func (CreateResult) Extract ¶
func (r CreateResult) Extract() (*VpcChannel, error)
type DeleteResult ¶
func Delete ¶
func Delete(client *golangsdk.ServiceClient, instanceId, chanId string) (r DeleteResult)
Delete is a method to delete an existing vpc channel.
type GetBackendResult ¶
type GetBackendResult struct {
MemberResult
}
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a update operation.
func Get ¶
func Get(client *golangsdk.ServiceClient, instanceId, chanId string) (r GetResult)
Get is a method to obtain an existing APIG vpc channel by channel ID.
func (GetResult) Extract ¶
func (r GetResult) Extract() (*VpcChannel, error)
type ListOpts ¶
type ListOpts struct { // VPC channel ID. Id string `q:"id"` // VPC channel name. Name string `q:"name"` // VPC channel type. VpcType int `q:"vpc_type"` // Offset from which the query starts. // If the offset is less than 0, the value is automatically converted to 0. Default to 0. Offset int `q:"offset"` // Number of items displayed on each page. Limit int `q:"limit"` // Parameter name (name) for exact matching. PreciseSearch string `q:"precise_search"` }
ListOpts allows to filter list data using given parameters.
func (ListOpts) ToChannelListQuery ¶
type ListOptsBuilder ¶
type Member ¶
type Member struct { // VPC channel name. // A VPC channel name can contain 3 to 64 characters, starting with a letter. // Only letters, digits, hyphens (-), and underscores (_) are allowed. // Chinese characters must be in UTF-8 or Unicode format. Name string `json:"name"` // VPC channel type. // 1: private network ELB channel (to be deprecated) // 2: fast channel with the load balancing function Type int `json:"type"` // Host port of the VPC channel. // This parameter is valid only when the VPC channel type is set to 2. The value range is 1–65535. // This parameter is required if the VPC channel type is set to 2. Port int `json:"port"` // Distribution algorithm. // 1: WRR (default) // 2: WLC // 3: SH // 4: URI hashing // This parameter is mandatory if the VPC channel type is set to 2. BalanceStrategy int `json:"balance_strategy"` // Member type of the VPC channel. // ip // ecs (default) // This parameter is required if the VPC channel type is set to 2. MemberType string `json:"member_type"` // Time when the VPC channel is created. CreateTime string `json:"create_time"` // VPC channel ID. Id string `json:"id"` // VPC channel status. // 1: normal // 2: abnormal Status int `json:"status"` // ID of a private network ELB channel. // This parameter is valid only when the VPC channel type is set to 1. ElbId string `json:"elb_id"` }
type MemberInfo ¶
type MemberInfo struct { // Backend server ID. // This parameter is valid when the member type is instance. // The value can contain 1 to 64 characters, including letters, digits, hyphens (-), and underscores (_). EcsId string `json:"ecs_id,omitempty" xor:"Host"` // Backend server name, which contains of 1 to 64 characters, including letters, digits, periods (.), hyphens (-) // and underscores (_). // This parameter is valid when the member type is instance. EcsName string `json:"ecs_name,omitempty"` // Backend server address. // This parameter is valid when the member type is IP address. Host string `json:"host,omitempty"` // Backend server weight. // The higher the weight is, the more requests a cloud server will receive. // The weight is only available for the WRR and WLC algorithms. // It is valid only when the VPC channel type is set to 2. // The valid value is range from 0 to 100. Weight int `json:"weight,omitempty"` }
type MemberResult ¶
func (MemberResult) Extract ¶
func (r MemberResult) Extract() ([]Member, error)
type RemoveResult ¶
func RemoveBackendService ¶
func RemoveBackendService(client *golangsdk.ServiceClient, instanceId, chanId, memberId string) (r RemoveResult)
RemoveBackendService is a method to remove an existing backend instance form vpc channel.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UdpateResult represents the result of a update operation.
func Update ¶
func Update(client *golangsdk.ServiceClient, instanceId, chanId string, opts ChannelOptsBuilder) (r UpdateResult)
Update is a method by which to update an existing APIG vpc channel by request parameters.
func (UpdateResult) Extract ¶
func (r UpdateResult) Extract() (*VpcChannel, error)
type VpcChannel ¶
type VpcChannel struct { // VPC channel name. // A VPC channel name can contain 3 to 64 characters, starting with a letter. // Only letters, digits, hyphens (-), and underscores (_) are allowed. // Chinese characters must be in UTF-8 or Unicode format. Name string `json:"name"` // VPC channel type. // 1: private network ELB channel (to be deprecated) // 2: fast channel with the load balancing function Type int `json:"type"` // Host port of the VPC channel. // This parameter is valid only when the VPC channel type is set to 2. // This parameter is required if the VPC channel type is set to 2. // The value range is 1–65535. Port int `json:"port"` // Distribution algorithm. // 1: WRR (default) // 2: WLC // 3: SH // 4: URI hashing // This parameter is mandatory if the VPC channel type is set to 2. BalanceStrategy int `json:"balance_strategy"` // Member type of the VPC channel. // ip // ecs (default) // This parameter is required if the VPC channel type is set to 2. MemberType string `json:"member_type"` // Time when the VPC channel is created. CreateTime string `json:"create_time"` // VPC channel ID. Id string `json:"id"` // VPC channel status. // 1: normal // 2: abnormal Status int `json:"status"` // ID of a private network ELB channel. // This parameter is valid only when the VPC channel type is set to 1. ElbId string `json:"elb_id"` // Backend server list. Only one backend server is included if the VPC channel type is set to 1. Members []MemberInfo `json:"members"` // Health check details. VpcHealthConfig VpcHealthConfig `json:"vpc_health_config"` }
func ExtractChannels ¶
func ExtractChannels(r pagination.Page) ([]VpcChannel, error)
ExtractChannels its Extract method to interpret it as a channel array.
type VpcHealthConfig ¶
type VpcHealthConfig struct { // Protocol for performing health checks on backend servers in the VPC channel. // The valid values are as following: // TCP // HTTP // HTTPS Protocol string `json:"protocol" required:"true"` // Healthy threshold, which refers to the number of consecutive successful checks required for a backend server to // be considered healthy. // The valid value is range from 2 to 10. ThresholdNormal int `json:"threshold_normal" required:"true"` // Unhealthy threshold, which refers to the number of consecutive failed checks required for a backend server to be // considered unhealthy. // The valid value is range from 2 to 10. ThresholdAbnormal int `json:"threshold_abnormal" required:"true"` // Interval between consecutive checks, in second. The value must be greater than the value of timeout. // The valid value is range from 5 to 300. TimeInterval int `json:"time_interval" required:"true"` // Timeout for determining whether a health check fails, in second. // The value must be less than the value of time_interval. // The valid value is range from 2 to 30. Timeout int `json:"timeout" required:"true"` // Indicates whether to enable two-way authentication. // If this function is enabled, the certificate specified in the backend_client_certificate configuration item of // the gateway is used. Default to false. EnableClientSsl bool `json:"enable_client_ssl,omitempty"` // Response codes for determining a successful HTTP response. // The value can be any integer within 100–599 in one of the following formats: // Value, for example, 200. // Multiple values, for example, 200,201,202. // Range, for example, 200-299. // Multiple values and ranges, for example, 201,202,210-299. // This parameter is required if protocol is set to http. HttpCodes string `json:"http_code,omitempty"` // Request method for health checks. // The valid values are as following: // GET (default) // HEAD Method string `json:"method,omitempty"` // Destination path for health checks. This parameter is required if protocol is set to http. Path string `json:"path,omitempty"` // Destination port for health checks. By default, the host port of the VPC channel is used. // The valid value is range from 1 to 65535. Port int `json:"port,omitempty"` }