Documentation
¶
Index ¶
- type AddRulesSpec
- type AssAndDisassElasticIpSpec
- type AssAndDisassSecurityGroupsSpec
- type Backend
- type CertificateSpec
- type CreateBackendSpec
- type CreateListenerSpec
- type CreateLoadBalancerSpec
- type CreateTargetGroupSpec
- type CreateUrlMapSpec
- type DeleteRulesSpec
- type HealthCheck
- type HealthCheckSpec
- type Listener
- type LoadBalancer
- type LoadBalancerState
- type ModifyQuotaSpec
- type PrivateIpAddress
- type Quota
- type Rule
- type RuleSpec
- type RuleUpdateSpec
- type Target
- type TargetGroup
- type TargetHealth
- type TargetSpec
- type TargetUpdateSpec
- type UpdateBackendSpec
- type UpdateListenerSpec
- type UpdateLoadBalancerSpec
- type UpdateRulesSpec
- type UpdateTargetGroupSpec
- type UpdateUrlMapSpec
- type UrlMap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddRulesSpec ¶
type AddRulesSpec struct {
/* 转发规则的信息 */
RuleSpecs []RuleSpec `json:"ruleSpecs"`
}
type AssAndDisassElasticIpSpec ¶
type AssAndDisassElasticIpSpec struct {
/* 弹性公网IP ID */
ElasticIpId string `json:"elasticIpId"`
}
type AssAndDisassSecurityGroupsSpec ¶
type AssAndDisassSecurityGroupsSpec struct {
/* 安全组 ID列表 */
SecurityGroupIds []string `json:"securityGroupIds"`
}
type Backend ¶
type Backend struct {
/* 后端服务的Id (Optional) */
BackendId string `json:"backendId"`
/* 后端服务的名字 (Optional) */
BackendName string `json:"backendName"`
/* 后端服务所属loadBalancer的Id (Optional) */
LoadBalancerId string `json:"loadBalancerId"`
/* 后端服务所属负载均衡类型,取值为:alb、nlb、dnlb (Optional) */
LoadBalancerType string `json:"loadBalancerType"`
/* 后端服务的协议 <br>【alb】包括Http,Tcp <br>【nlb】包括Tcp <br>【dnlb】包括Tcp (Optional) */
Protocol string `json:"protocol"`
/* 后端服务的端口,取值范围为[1, 65535] (Optional) */
Port int `json:"port"`
/* 调度算法 <br>【alb,nlb】取值范围为[IpHash, RoundRobin, LeastConn](取值范围的含义:加权源Ip哈希,加权轮询和加权最小连接) <br>【dnlb】取值范围为[IpHash, QuintupleHash](取值范围的含义分别为:加权源Ip哈希和加权五元组哈希) (Optional) */
Algorithm string `json:"algorithm"`
/* 虚拟服务器组的Id列表,目前只支持一个,且与agIds不能同时存在 (Optional) */
TargetGroupIds []string `json:"targetGroupIds"`
/* 高可用组的Id列表,目前只支持一个,且与targetGroupIds不能同时存在 (Optional) */
AgIds []string `json:"agIds"`
/* 【alb tcp协议】通过Proxy Protocol协议获取真实ip, 取值为False(不获取)或者True(获取,支持v1版本) (Optional) */
ProxyProtocol bool `json:"proxyProtocol"`
/* 后端服务的描述信息 (Optional) */
Description string `json:"description"`
/* 【nlb】连接耗尽超时,移除target前连接的最大保持时间,范围[0,3600] (Optional) */
ConnectionDrainingSeconds int `json:"connectionDrainingSeconds"`
/* 会话保持, 取值为false(不开启)或者true(开启) <br>【alb Http协议,RoundRobin算法】支持基于cookie的会话保持 <br>【nlb】支持基于报文源目的IP的会话保持 (Optional) */
SessionStickiness bool `json:"sessionStickiness"`
/* 【nlb】会话保持超时时间,sessionStickiness开启时生效,默认300s, 范围[1-3600] (Optional) */
SessionStickyTimeout int `json:"sessionStickyTimeout"`
/* 【alb Http协议】cookie的过期时间,sessionStickiness开启时生效,取值范围为[0,86400], 0表示cookie与浏览器同生命周期 (Optional) */
HttpCookieExpireSeconds int `json:"httpCookieExpireSeconds"`
/* 【alb http协议】获取负载均衡的协议, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedProtocol bool `json:"httpForwardedProtocol"`
/* 【alb http协议】获取负载均衡的端口, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedPort bool `json:"httpForwardedPort"`
/* 【alb http协议】获取负载均衡的host信息, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedHost bool `json:"httpForwardedHost"`
/* 【alb http协议】获取负载均衡的vip, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedVip bool `json:"httpForwardedVip"`
/* 健康检查,数据结构:<br>protocol(string)健康检查协议,【ALB、NLB】取值为Http, Tcp,【DNLB】取值为Tcp;<br>healthyThresholdCount(integer)健康阀值,取值范围为[1,5],默认为3;<br>unhealthyThresholdCount(integer)不健康阀值,取值范围为[1,5], 默认为3;<br>checkTimeoutSeconds(integer)响应超时时间, 取值范围为[2,60],默认为3s;<br>intervalSeconds(integer)健康检查间隔, 范围为[5,300], 默认为5s;<br>port(integer)检查端口, 取值范围为[0,65535], 默认为0,默认端口为每个后端服务器接收负载均衡流量的端口;<br>httpDomain(string)【Http协议】检查域名;<br>httpPath(string)【Http协议】检查路径, 健康检查的目标路径,必须以"/"开头,允许输入具体的文件路径,默认为根目录;<br>httpCode([]string)【Http协议】检查来自后端服务器的成功响应时,要使用的HTTP状态码。您可以指定:单个数值(例如:"200",取值范围200-499)、一段连续数值(例如:"201-205",取值范围范围200-499,且前面的参数小于后面)和一类连续数值缩写(例如:"3xx",等价于"300-399",取值范围2xx、3xx和4xx)。多个数值之间通过","分割(例如:"200,202-207,302,4xx")。目前仅支持2xx、3xx、4xx。 (Optional) */
HealthCheck interface{} `json:"healthCheck"`
/* 后端服务的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
}
type CertificateSpec ¶
type CreateBackendSpec ¶
type CreateBackendSpec struct {
/* 后端服务名字,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */
BackendName string `json:"backendName"`
/* 后端服务所属负载均衡的Id */
LoadBalancerId string `json:"loadBalancerId"`
/* 后端服务的协议 <br>【alb】取值范围:Http、Tcp <br>【nlb】取值范围:Tcp <br>【dnlb】取值范围:Tcp */
Protocol string `json:"protocol"`
/* 后端服务的端口,取值范围为[1, 65535],如指定了TargetSpec中的port,实际按照target指定的port进行转发 */
Port int `json:"port"`
/* 健康检查信息 */
HealthCheckSpec HealthCheckSpec `json:"healthCheckSpec"`
/* 调度算法 <br>【alb,nlb】取值范围为[IpHash, RoundRobin, LeastConn](取值范围的含义:加权源Ip哈希,加权轮询和加权最小连接),alb和nlb默认为加权轮询 <br>【dnlb】取值范围为[IpHash, QuintupleHash](取值范围的含义分别为:加权源Ip哈希和加权五元组哈希),dnlb默认为加权源Ip哈希 (Optional) */
Algorithm string `json:"algorithm"`
/* 虚拟服务器组的Id列表,目前只支持一个,且与agIds不能同时存在 (Optional) */
TargetGroupIds []string `json:"targetGroupIds"`
/* 高可用组的Id列表,目前只支持一个,且与targetGroupIds不能同时存在 (Optional) */
AgIds []string `json:"agIds"`
/* 【alb Tcp协议】获取真实ip, 取值为False(不获取)或者True(获取,支持Proxy Protocol v1版本),默认为False (Optional) */
ProxyProtocol bool `json:"proxyProtocol"`
/* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* 会话保持, 取值为false(不开启)或者true(开启),默认为false <br>【alb Http协议,RoundRobin算法】支持基于cookie的会话保持 <br>【nlb】支持基于报文源目的IP的会话保持 (Optional) */
SessionStickiness bool `json:"sessionStickiness"`
/* 【nlb】会话保持超时时间,sessionStickiness开启时生效,默认300s, 取值范围[1-3600] (Optional) */
SessionStickyTimeout int `json:"sessionStickyTimeout"`
/* 【nlb】连接耗尽超时。移除target前,连接的最大保持时间,默认300s,取值范围[0-3600] (Optional) */
ConnectionDrainingSeconds int `json:"connectionDrainingSeconds"`
/* 【alb Http协议】cookie的过期时间,sessionStickiness开启时生效,取值范围为[0-86400], 默认为0(表示cookie与浏览器同生命周期) (Optional) */
HttpCookieExpireSeconds int `json:"httpCookieExpireSeconds"`
/* 【alb Http协议】获取负载均衡的协议, 取值为False(不获取)或True(获取), 默认为False (Optional) */
HttpForwardedProtocol bool `json:"httpForwardedProtocol"`
/* 【alb Http协议】获取负载均衡的端口, 取值为False(不获取)或True(获取), 默认为False (Optional) */
HttpForwardedPort bool `json:"httpForwardedPort"`
/* 【alb Http协议】获取负载均衡的host信息, 取值为False(不获取)或True(获取), 默认为False (Optional) */
HttpForwardedHost bool `json:"httpForwardedHost"`
/* 【alb Http协议】获取负载均衡的vip, 取值为False(不获取)或True(获取), 默认为False (Optional) */
HttpForwardedVip bool `json:"httpForwardedVip"`
}
type CreateListenerSpec ¶
type CreateListenerSpec struct {
/* Listener的名字,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */
ListenerName string `json:"listenerName"`
/* 监听协议, 取值为Tcp, Tls, Http, Https <br>【alb】支持Http, Https,Tcp和Tls <br>【nlb】支持Tcp <br>【dnlb】支持Tcp */
Protocol string `json:"protocol"`
/* 监听端口,取值范围为[1, 65535] */
Port int `json:"port"`
/* 默认的后端服务Id */
BackendId string `json:"backendId"`
/* Listener所属loadBalancer的Id */
LoadBalancerId string `json:"loadBalancerId"`
/* 【alb Https和Http协议】转发规则组Id (Optional) */
UrlMapId string `json:"urlMapId"`
/* 默认后端服务的转发策略,取值为Forward或Redirect, 现只支持Forward, 默认为Forward (Optional) */
Action string `json:"action"`
/* 【alb Https和Tls协议】ssl server证书列表,现只支持一个证书 (Optional) */
CertificateSpecs []CertificateSpec `json:"certificateSpecs"`
/* 【alb、nlb】空闲连接超时时间, 范围为[1,86400]。 <br>(Tcp和Tls协议)默认为:1800s <br>(Http和Https协议)默认为:60s <br>【dnlb】不支持 (Optional) */
ConnectionIdleTimeSeconds int `json:"connectionIdleTimeSeconds"`
/* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
}
type CreateLoadBalancerSpec ¶
type CreateLoadBalancerSpec struct {
/* LoadBalancer的名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */
LoadBalancerName string `json:"loadBalancerName"`
/* LoadBalancer所属子网的Id */
SubnetId string `json:"subnetId"`
/* LoadBalancer的类型,取值:alb、nlb、dnlb,默认为alb (Optional) */
Type string `json:"type"`
/* 【alb,nlb】LoadBalancer所属availability Zone列表,对于alb,nlb是必选参数 <br>【dnlb】全可用区可用,不必传该参数 */
Azs []string `json:"azs"`
/* 【alb】支持按用量和按配置(按配置即将下线,请勿使用,已使用该计费方式的服务后续请使用按用量方式创建alb)计费,默认为按用量,目前免费。【nlb】支持按用量计费,目前免费。【dnlb】支持按配置计费,目前免费 (Optional) */
ChargeSpec charge.ChargeSpec `json:"chargeSpec"`
/* 负载均衡关联的弹性IP规格 (Optional) */
ElasticIp vpc.ElasticIpSpec `json:"elasticIp"`
/* 【alb】 安全组 ID列表 (Optional) */
SecurityGroupIds []string `json:"securityGroupIds"`
/* LoadBalancer的描述信息,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* 删除保护,取值为True(开启)或False(关闭),默认为False (Optional) */
DeleteProtection bool `json:"deleteProtection"`
}
type CreateTargetGroupSpec ¶
type CreateUrlMapSpec ¶
type CreateUrlMapSpec struct {
/* 转发规则组名称,同一个负载均衡下,名称不能重复,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */
UrlMapName string `json:"urlMapName"`
/* 转发规则组所属负载均衡的Id */
LoadBalancerId string `json:"loadBalancerId"`
/* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
}
type DeleteRulesSpec ¶
type DeleteRulesSpec struct {
/* rule Id列表 */
RuleIds []string `json:"ruleIds"`
}
type HealthCheck ¶
type HealthCheck struct {
/* 健康检查协议 <br>【alb、nlb】取值为Http, Tcp <br>【dnlb】取值为Tcp (Optional) */
Protocol string `json:"protocol"`
/* 健康阀值,>=1,默认为3 (Optional) */
HealthyThresholdCount int `json:"healthyThresholdCount"`
/* 不健康阀值,>=1, 默认为3 (Optional) */
UnhealthyThresholdCount int `json:"unhealthyThresholdCount"`
/* 响应超时时间, 取值范围为[2,60],默认为3s (Optional) */
CheckTimeoutSeconds int `json:"checkTimeoutSeconds"`
/* 健康检查间隔, 范围为[5,300], 默认为5s (Optional) */
IntervalSeconds int `json:"intervalSeconds"`
/* 检查端口, 取值范围为[0,65535], 默认为0,默认端口为每个后端实例接收负载均衡流量的端口 (Optional) */
Port int `json:"port"`
/* 【Http协议】检查域名 (Optional) */
HttpDomain string `json:"httpDomain"`
/* 【Http协议】检查路径, 健康检查的目标路径,必须以"/"开头,允许输入具体的文件路径,默认为根目录 (Optional) */
HttpPath string `json:"httpPath"`
/* 【Http协议】检查来自后端目标服务器的成功响应时,要使用的HTTP状态码。您可以指定:单个数值(例如:"200",取值范围200-499)、一段连续数值(例如:"201-205",取值范围范围200-499,且前面的参数小于后面)和一类连续数值缩写(例如:"3xx",等价于"300-399",取值范围2xx、3xx和4xx)。多个数值之间通过","分割(例如:"200,202-207,302,4xx")。目前仅支持2xx、3xx、4xx。 (Optional) */
HttpCode []string `json:"httpCode"`
}
type HealthCheckSpec ¶
type HealthCheckSpec struct {
/* 健康检查协议 <br>【alb、nlb】取值为Http, Tcp <br>【dnlb】取值为Tcp */
Protocol string `json:"protocol"`
/* 健康阀值,取值范围为[1,5],默认为3 (Optional) */
HealthyThresholdCount *int `json:"healthyThresholdCount"`
/* 不健康阀值,取值范围为[1,5], 默认为3 (Optional) */
UnhealthyThresholdCount *int `json:"unhealthyThresholdCount"`
/* 响应超时时间, 取值范围为[2,60],默认为3s (Optional) */
CheckTimeoutSeconds *int `json:"checkTimeoutSeconds"`
/* 健康检查间隔, 范围为[5,300], 默认为5s (Optional) */
IntervalSeconds *int `json:"intervalSeconds"`
/* 检查端口, 取值范围为[0,65535], 默认为0,默认端口为每个后端服务器接收负载均衡流量的端口 (Optional) */
Port *int `json:"port"`
/* 检查域名,仅支持HTTP协议 (Optional) */
HttpDomain *string `json:"httpDomain"`
/* 检查路径, 健康检查的目标路径,必须以"/"开头,允许输入具体的文件路径,默认为根目录。当protocol为http时,必填, 仅支持HTTP协议 (Optional) */
HttpPath *string `json:"httpPath"`
/* 检查来自后端服务器的成功响应时,要使用的HTTP状态码。您可以指定单个数值(例如:"200",取值范围200-499)、一段连续数值(例如:"201-205",取值范围范围200-499,且前面的参数小于后面)和一类连续数值缩写(例如:"3xx",等价于"300-399",取值范围2xx、3xx和4xx)。多个数值之间通过","分割(例如:"200,202-207,302,4xx")。目前仅支持2xx、3xx、4xx。仅支持HTTP协议,默认为[2xx、3xx] (Optional) */
HttpCode []string `json:"httpCode"`
}
type Listener ¶
type Listener struct {
/* Listener的Id (Optional) */
ListenerId string `json:"listenerId"`
/* Listener的名称 (Optional) */
ListenerName string `json:"listenerName"`
/* Listener状态, 取值为On或者为Off (Optional) */
Status string `json:"status"`
/* Listener所属loadBalancer的Id (Optional) */
LoadBalancerId string `json:"loadBalancerId"`
/* Listener所属负载均衡类型,取值为:alb、nlb、dnlb (Optional) */
LoadBalancerType string `json:"loadBalancerType"`
/* 监听协议, 取值为Tcp, Tls, Http, Https <br>【alb】支持Http, Https,Tcp和Tls <br>【nlb】支持Tcp <br>【dnlb】支持Tcp (Optional) */
Protocol string `json:"protocol"`
/* 监听端口,取值范围为[1, 65535] (Optional) */
Port int `json:"port"`
/* 默认后端服务的转发策略,取值为Forward或Redirect, 现只支持Forward (Optional) */
Action string `json:"action"`
/* 默认的后端服务Id (Optional) */
BackendId string `json:"backendId"`
/* 【alb Https和Http协议】转发规则组Id (Optional) */
UrlMapId string `json:"urlMapId"`
/* 【alb、nlb】空闲连接超时时间, 范围为[1,86400]。 <br>(Tcp和Tls协议)默认为:1800s <br>(Http和Https协议)默认为:60s <br>【dnlb】不支持 (Optional) */
ConnectionIdleTimeSeconds int `json:"connectionIdleTimeSeconds"`
/* 【alb Https和Tls协议】ssl server证书列表,现只支持一个证书 (Optional) */
CertificateSpecs []CertificateSpec `json:"certificateSpecs"`
/* Listener的描述信息 (Optional) */
Description string `json:"description"`
/* Listener的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
}
type LoadBalancer ¶
type LoadBalancer struct {
/* LoadBalancer的Id (Optional) */
LoadBalancerId string `json:"loadBalancerId"`
/* LoadBalancer的名称 (Optional) */
LoadBalancerName string `json:"loadBalancerName"`
/* LoadBalancer所属子网的Id (Optional) */
SubnetId string `json:"subnetId"`
/* 负载均衡所属vpc Id (Optional) */
VpcId string `json:"vpcId"`
/* LoadBalancer的类型 (Optional) */
Type string `json:"type"`
/* LoadBalancer的状态 (Optional) */
State LoadBalancerState `json:"state"`
/* LoadBalancer所属availability Zone列表 (Optional) */
Azs []string `json:"azs"`
/* LoadBalancer绑定的安全组列表 (Optional) */
SecurityGroupIds []string `json:"securityGroupIds"`
/* LoadBalancer的IP地址信息 (Optional) */
PrivateIp PrivateIpAddress `json:"privateIp"`
/* 计费配置 (Optional) */
Charge charge.Charge `json:"charge"`
/* LoadBalancer的描述信息 (Optional) */
Description string `json:"description"`
/* 删除保护,取值为True(开启)或False(关闭) (Optional) */
DeleteProtection bool `json:"deleteProtection"`
/* LoadBalancer的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
}
type LoadBalancerState ¶
type ModifyQuotaSpec ¶
type ModifyQuotaSpec struct {
/* lb类型,取值范围:alb、nlb、dnlb,默认为alb (Optional) */
LbType string `json:"lbType"`
/* 资源类型,取值范围:loadbalancer、listener、target_group、target、backend、urlMap(仅alb支持)、rules(仅alb支持) */
Type string `json:"type"`
/* type为loadbalancer不设置, type为listener、backend、target_group、urlMap设置为loadbalancerId, type为target设置为targetGroupId, type为rules设置为urlMapId (Optional) */
ParentResourceId string `json:"parentResourceId"`
/* 配额大小 */
MaxLimit int `json:"maxLimit"`
}
type PrivateIpAddress ¶
type Quota ¶
type Quota struct {
/* 资源类型,取值范围:loadbalancer、listener、target_group、target、backend、urlMap(仅alb支持)、rules(仅alb支持) (Optional) */
Type string `json:"type"`
/* type为loadbalancer时,本字段为空。type为listener、backend、target_group、urlMap时,本字段为LoadBalancerId。type为target时,本字段为targetGroupId。type为rules时,本字段为urlMapId (Optional) */
ParentResourceId string `json:"parentResourceId"`
/* 配额大小 (Optional) */
MaxLimit int `json:"maxLimit"`
/* 已存在的资源数量 (Optional) */
Count int `json:"count"`
}
type Rule ¶
type Rule struct {
/* 转发规则Id (Optional) */
RuleId string `json:"ruleId"`
/* 后端服务的Id (Optional) */
BackendId string `json:"backendId"`
/* 域名,用于匹配URL的host字段,支持输入IPv4地址和域名。域名支持精确匹配和通配符匹配:1、仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符;2、通配符匹配支持包括一个星"\*",输入格式为\*.XXX或XXX.\*,不支持仅输入一个星“\*” (Optional) */
Host string `json:"host"`
/* URL访问路径,用于匹配URL的path字段。URL路径支持精确匹配和前缀匹配:1、必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-_.+!'()%:@&=/,区分大小写,且不能超过128字符;2、前缀匹配支持包括一个星"\*",输入格式为/XXX\*或/\*。仅输入"/"表示精确匹配 (Optional) */
Path string `json:"path"`
/* 匹配转发规则后执行的动作,取值为Forward或Redirect。现只支持Forward,表示转发到指定后端服务, 默认为Forward (Optional) */
Action string `json:"action"`
}
type RuleSpec ¶
type RuleSpec struct {
/* 域名,用于匹配URL的host字段,支持输入IPv4地址和域名。域名支持精确匹配和通配符匹配:1、仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符;2、通配符匹配支持包括一个星"\*",输入格式为\*.XXX或XXX.\*,不支持仅输入一个星“\*”。 host和path至少配置其一,host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */
Host *string `json:"host"`
/* URL访问路径,用于匹配URL的path字段。URL路径支持精确匹配和前缀匹配:1、必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-_.+!'()%:@&=/,区分大小写,且不能超过128字符;2、前缀匹配支持包括一个星"\*",输入格式为/XXX\*或/\*,仅输入"/"表示精确匹配。 host和path至少配置其一,host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */
Path *string `json:"path"`
/* 匹配转发规则后执行的动作,取值为Forward或Redirect。现只支持Forward,表示转发到指定后端服务, 默认为Forward (Optional) */
Action *string `json:"action"`
/* 后端服务的Id */
BackendId string `json:"backendId"`
}
type RuleUpdateSpec ¶
type RuleUpdateSpec struct {
/* rule Id */
RuleId string `json:"ruleId"`
/* 域名,用于匹配URL的host字段,支持输入IPv4地址和域名。域名支持精确匹配和通配符匹配:1、仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符;2、通配符匹配支持包括一个星"\*",输入格式为\*.XXX或XXX.\*,不支持仅输入一个星“\*”。 host和path至少配置其一,host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */
Host *string `json:"host"`
/* URL访问路径,用于匹配URL的path字段。URL路径支持精确匹配和前缀匹配:1、必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-_.+!'()%:@&=/,区分大小写,且不能超过128字符;2、前缀匹配支持包括一个星"\*",输入格式为/XXX\*或/\*,仅输入"/"表示精确匹配。 host和path至少配置其一,host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */
Path *string `json:"path"`
/* 匹配转发规则后执行的动作,取值为Forward或Redirect。现只支持Forward,表示转发到指定后端服务, 默认为Forward (Optional) */
Action *string `json:"action"`
/* 后端服务的Id (Optional) */
BackendId *string `json:"backendId"`
}
type Target ¶
type Target struct {
/* Target的Id (Optional) */
TargetId string `json:"targetId"`
/* TargetGroup的Id (Optional) */
TargetGroupId string `json:"targetGroupId"`
/* Target的类型,取值为vm或container, 默认为vm (Optional) */
Type string `json:"type"`
/* Target所属实例的Id (Optional) */
InstanceId string `json:"instanceId"`
/* Target提供服务的端口,取值范围:0-65535,其中0表示与backend的端口相同,默认为0 (Optional) */
Port int `json:"port"`
/* Target的权重,取值范围:1-100 ,默认为10 (Optional) */
Weight int `json:"weight"`
/* Target的内网IP地址 (Optional) */
PrivateIpAddress string `json:"privateIpAddress"`
}
type TargetGroup ¶
type TargetGroup struct {
/* TargetGroup的Id (Optional) */
TargetGroupId string `json:"targetGroupId"`
/* TargetGroup的名字 (Optional) */
TargetGroupName string `json:"targetGroupName"`
/* TargetGroup所属LoadBalancer的Id (Optional) */
LoadBalancerId string `json:"loadBalancerId"`
/* TargetGroup所属负载均衡类型,取值为:alb、nlb、dnlb (Optional) */
LoadBalancerType string `json:"loadBalancerType"`
/* TargetGroup所属LoadBalancer的名称 (Optional) */
LoadBalancerName string `json:"loadBalancerName"`
/* TargetGroup的描述信息 (Optional) */
Description string `json:"description"`
/* TargetGroup的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
/* Target列表。该字段即将下线,请勿使用,已经使用该字段查询Target详情的服务请尽快切换使用describeTargets接口 (Optional) */
Targets []Target `json:"targets"`
}
type TargetHealth ¶
type TargetHealth struct {
/* Target所在的虚拟服务器组Id, 与agId不能并存 (Optional) */
TargetGroupId string `json:"targetGroupId"`
/* Target所在的高可用组Id,与targetGroupId不能并存 (Optional) */
AgId string `json:"agId"`
/* Target所属实例的Id (Optional) */
InstanceId string `json:"instanceId"`
/* Target所属的type,取值为vm或者container,默认为vm (Optional) */
Type string `json:"type"`
/* Target提供服务的端口,取值范围:0-65535,其中0表示与backend的端口相同 (Optional) */
Port int `json:"port"`
/* Target的权重,取值范围:1-100 ,默认为10。 (Optional) */
Weight int `json:"weight"`
/* Target的健康状态,取值为healthy、unhealthy (Optional) */
Status string `json:"status"`
}
type TargetSpec ¶
type TargetSpec struct {
/* Target所属实例的Id <br>【dnlb】使用限制:dnlb同一TargetGroup下,同一实例仅允许一个端口提供服务。 */
InstanceId string `json:"instanceId"`
/* Target所属的type,取值为vm或container,默认为vm。 (Optional) */
Type *string `json:"type"`
/* Target提供服务的端口,取值范围:0-65535,其中0表示与backend的端口相同,默认为0 (Optional) */
Port *int `json:"port"`
/* Target的权重,取值范围:1-100 ,默认为10。 (Optional) */
Weight *int `json:"weight"`
}
type TargetUpdateSpec ¶
type UpdateBackendSpec ¶
type UpdateBackendSpec struct {
/* 后端服务名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 (Optional) */
BackendName string `json:"backendName"`
/* 健康检查信息 (Optional) */
HealthCheckSpec HealthCheckSpec `json:"healthCheckSpec"`
/* 调度算法 <br>【alb,nlb】取值范围为[IpHash, RoundRobin, LeastConn](含义分别为:加权源Ip哈希,加权轮询和加权最小连接) <br>【dnlb】取值范围为[IpHash, QuintupleHash](含义分别为:加权源Ip哈希和加权五元组哈希) (Optional) */
Algorithm string `json:"algorithm"`
/* 虚拟服务器组的Id列表,目前只支持一个,且与agIds不能同时存在 (Optional) */
TargetGroupIds []string `json:"targetGroupIds"`
/* 高可用组的Id列表,目前只支持一个,且与targetGroupIds不能同时存在 (Optional) */
AgIds []string `json:"agIds"`
/* 【alb Tcp协议】是否启用Proxy ProtocolV1协议获取真实源ip, 取值为false(不开启)或者true(开启), 默认为false (Optional) */
ProxyProtocol bool `json:"proxyProtocol"`
/* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* 会话保持, 取值为false(不开启)或者true(开启),默认为false <br>【alb Http协议,RoundRobin算法】支持基于cookie的会话保持 <br>【nlb】支持基于报文源目的IP的会话保持 (Optional) */
SessionStickiness bool `json:"sessionStickiness"`
/* 【nlb】会话保持超时时间,sessionStickiness开启时生效, 取值范围[1-3600] (Optional) */
SessionStickyTimeout int `json:"sessionStickyTimeout"`
/* 【nlb】连接耗尽超时,移除target前,连接的最大保持时间,默认300s,取值范围[0-3600] (Optional) */
ConnectionDrainingSeconds int `json:"connectionDrainingSeconds"`
/* 【alb Http协议】cookie的过期时间,sessionStickiness开启时生效,取值范围为[0-86400], 0表示cookie与浏览器同生命周期 (Optional) */
HttpCookieExpireSeconds int `json:"httpCookieExpireSeconds"`
/* 【alb Http协议】获取负载均衡的协议, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedProtocol bool `json:"httpForwardedProtocol"`
/* 【alb Http协议】获取负载均衡的端口, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedPort bool `json:"httpForwardedPort"`
/* 【alb Http协议】获取负载均衡的host信息, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedHost bool `json:"httpForwardedHost"`
/* 【alb Http协议】获取负载均衡的vip, 取值为False(不获取)或True(获取) (Optional) */
HttpForwardedVip bool `json:"httpForwardedVip"`
/* 【alb,dnlb】关闭健康检查,取值为false(不关闭)或true(关闭) (Optional) */
CloseHealthCheck bool `json:"closeHealthCheck"`
}
type UpdateListenerSpec ¶
type UpdateListenerSpec struct {
/* 监听器名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 (Optional) */
ListenerName string `json:"listenerName"`
/* Listener状态, 取值为On或者为Off (Optional) */
Status string `json:"status"`
/* 【alb Https和Tls协议】ssl server证书列表,现只支持一个证书 (Optional) */
CertificateSpecs []CertificateSpec `json:"certificateSpecs"`
/* 【alb、nlb】空闲连接超时时间, 范围为[1,86400]。 <br>(Tcp和Tls协议)默认为:1800s <br>(Http和Https协议)默认为:60s <br>【dnlb】不支持该功能 (Optional) */
ConnectionIdleTimeSeconds int `json:"connectionIdleTimeSeconds"`
/* 默认后端服务Id (Optional) */
BackendId string `json:"backendId"`
/* 【alb Https和Http协议】转发规则组Id (Optional) */
UrlMapId string `json:"urlMapId"`
/* 监听器描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
}
type UpdateLoadBalancerSpec ¶
type UpdateLoadBalancerSpec struct {
/* LoadBalancer的名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 (Optional) */
LoadBalancerName string `json:"loadBalancerName"`
/* 启用或停止LoadBalancer,取值为Start(启用)或Stop(停止) (Optional) */
Action string `json:"action"`
/* LoadBalancer的描述信息,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* 删除保护,取值为True(开启)或False(关闭),默认为False (Optional) */
DeleteProtection bool `json:"deleteProtection"`
}
type UpdateRulesSpec ¶
type UpdateRulesSpec struct {
/* 更新转发规则rules信息 */
RuleUpdateSpecs []RuleUpdateSpec `json:"ruleUpdateSpecs"`
}
type UpdateTargetGroupSpec ¶
type UpdateUrlMapSpec ¶
type UrlMap ¶
type UrlMap struct {
/* 转发规则组的Id (Optional) */
UrlMapId string `json:"urlMapId"`
/* 转发规则组的名称 (Optional) */
UrlMapName string `json:"urlMapName"`
/* 转发规则组所属LoadBalancer的Id (Optional) */
LoadBalancerId string `json:"loadBalancerId"`
/* 关联的监听器Id列表 (Optional) */
ListenerIds []string `json:"listenerIds"`
/* 转发规则组的描述信息 (Optional) */
Description string `json:"description"`
/* 转发规则组的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
/* 转发规则列表 (Optional) */
Rules []Rule `json:"rules"`
}
Source Files
¶
- AddRulesSpec.go
- AssAndDisassElasticIpSpec.go
- AssAndDisassSecurityGroupsSpec.go
- Backend.go
- CertificateSpec.go
- CreateBackendSpec.go
- CreateListenerSpec.go
- CreateLoadBalancerSpec.go
- CreateTargetGroupSpec.go
- CreateUrlMapSpec.go
- DeleteRulesSpec.go
- HealthCheck.go
- HealthCheckSpec.go
- Listener.go
- LoadBalancer.go
- LoadBalancerState.go
- ModifyQuotaSpec.go
- PrivateIpAddress.go
- Quota.go
- Rule.go
- RuleSpec.go
- RuleUpdateSpec.go
- Target.go
- TargetGroup.go
- TargetHealth.go
- TargetSpec.go
- TargetUpdateSpec.go
- UpdateBackendSpec.go
- UpdateListenerSpec.go
- UpdateLoadBalancerSpec.go
- UpdateRulesSpec.go
- UpdateTargetGroupSpec.go
- UpdateUrlMapSpec.go
- UrlMap.go
Click to show internal directories.
Click to hide internal directories.