Documentation ¶
Index ¶
- type AddListenerCertificatesSpec
- type AddRulesSpec
- type AssAndDisassElasticIpSpec
- type AssAndDisassSecurityGroupsSpec
- type Backend
- type CertificateSpec
- type CreateBackendSpec
- type CreateListenerSpec
- type CreateLoadBalancerSpec
- type CreateTargetGroupSpec
- type CreateUrlMapSpec
- type DeleteListenerCertificatesSpec
- type DeleteRulesSpec
- type ElasticIpSpec
- type ExportTask
- type ExtCertificateSpec
- type ExtCertificateUpdateSpec
- type ExtensionCertificateSpec
- type HealthCheck
- type HealthCheckSpec
- type Listener
- type LoadBalancer
- type LoadBalancerState
- type ModifyQuotaSpec
- type PrivateIpAddress
- type Quota
- type RedirectAction
- type RedirectActionSpec
- type Rule
- type RuleSpec
- type RuleUpdateSpec
- type Tag
- type TagFilter
- type Target
- type TargetGroup
- type TargetHealth
- type TargetSpec
- type TargetUpdateSpec
- type UpdateBackendSpec
- type UpdateListenerCertificatesSpec
- 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 AddListenerCertificatesSpec ¶
type AddListenerCertificatesSpec struct { /* 【alb Https和Tls协议】ssl server证书列表 */ Certificates []ExtCertificateSpec `json:"certificates"` }
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,Udp <br>【dnlb】包括Tcp,Udp (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/Udp协议】通过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"` /* 【alb Http协议】获取请求端使用的端口, 取值为False(不获取)或True(获取) (Optional) */ HttpForwardedClientPort bool `json:"httpForwardedClientPort"` /* 健康检查,数据结构:<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、Udp <br>【nlb】取值范围:Tcp、Udp <br>【dnlb】取值范围:Tcp、Udp */ 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、Udp协议】获取真实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"` /* 【alb Http协议】获取请求端使用的端口, 取值为False(不获取)或True(获取), 默认为False (Optional) */ HttpForwardedClientPort bool `json:"httpForwardedClientPort"` }
type CreateListenerSpec ¶
type CreateListenerSpec struct { /* Listener的名字,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */ ListenerName string `json:"listenerName"` /* 监听协议, 取值为Tcp, Tls, Http, Https, Udp <br>【alb】支持Http, Https,Tcp、Tls和Udp <br>【nlb】支持Tcp, Udp <br>【dnlb】支持Tcp, Udp */ Protocol string `json:"protocol"` /* 【alb使用https时支持】是否开启HSTS,True(开启), False(关闭),缺省为False (Optional) */ HstsEnable bool `json:"hstsEnable"` /* 【alb使用https时支持】HSTS过期时间(秒),取值范围为[1, 94608000(3年)],缺省为31536000(1年) (Optional) */ HstsMaxAge int `json:"hstsMaxAge"` /* 监听端口,取值范围为[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协议】Listener绑定的默认证书,最多支持两个,两个证书的加密算法需要不同 (Optional) */ CertificateSpecs []CertificateSpec `json:"certificateSpecs"` /* 【alb、nlb】空闲连接超时时间, 范围为[1,86400]。 <br>(Tcp和Tls协议)默认为:1800s <br>(Udp协议)默认为:300s <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是必选参数,可用区个数不能超过2个 <br>【dnlb】中心可用区,dnlb不需要传该参数,全可用区可用;边缘可用区,仅支持传入单可用区 (Optional) */ Azs []string `json:"azs"` /* 【alb】支持按用量计费,默认为按用量。【nlb】支持按用量计费。【dnlb】支持按配置计费 (Optional) */ ChargeSpec charge.ChargeSpec `json:"chargeSpec"` /* 负载均衡关联的弹性IP规格 (Optional) */ ElasticIp vpc.ElasticIpSpec `json:"elasticIp"` /* 指定LoadBalancer的VIP(内网IPv4地址),需要属于指定的子网并且未被占用 (Optional) */ PrivateIpAddress string `json:"privateIpAddress"` /* 【alb】 安全组 ID列表 (Optional) */ SecurityGroupIds []string `json:"securityGroupIds"` /* LoadBalancer的描述信息,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */ Description string `json:"description"` /* 删除保护,取值为True(开启)或False(关闭),默认为False (Optional) */ DeleteProtection bool `json:"deleteProtection"` /* 用户tag 信息 (Optional) */ UserTags []Tag `json:"userTags"` }
type CreateTargetGroupSpec ¶
type CreateTargetGroupSpec struct { /* 虚拟服务器组名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */ TargetGroupName string `json:"targetGroupName"` /* 负载均衡的Id */ LoadBalancerId string `json:"loadBalancerId"` /* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */ Description string `json:"description"` /* 类型,取值为instance或ip (Optional) */ Type string `json:"type"` }
type CreateUrlMapSpec ¶
type CreateUrlMapSpec struct { /* 转发规则组名称,同一个负载均衡下,名称不能重复,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */ UrlMapName string `json:"urlMapName"` /* 转发规则组所属负载均衡的Id */ LoadBalancerId string `json:"loadBalancerId"` /* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */ Description string `json:"description"` }
type DeleteListenerCertificatesSpec ¶
type DeleteListenerCertificatesSpec struct { /* 【alb Https和Tls协议】扩展证书绑定Id */ CertificateBindIds []string `json:"certificateBindIds"` }
type DeleteRulesSpec ¶
type DeleteRulesSpec struct { /* rule Id列表 */ RuleIds []string `json:"ruleIds"` }
type ElasticIpSpec ¶
type ElasticIpSpec struct { /* 弹性公网IP的限速(单位:Mbps),取值范围为[1-200] */ Bandwidth int `json:"bandwidth"` /* IP服务商,取值为bgp或no_bgp <br>【cn-north-1】:bgp; <br>【cn-south-1】:bgp; <br>【cn-east-1】:bgp; <br>【cn-east-2】:bgp */ Provider string `json:"provider"` /* 计费配置 (Optional) */ ChargeSpec charge.ChargeSpec `json:"chargeSpec"` }
type ExportTask ¶
type ExportTask struct { /* 导出地域 (Optional) */ Region string `json:"region"` /* 导出lb的类型:alb, nlb, dnlb (Optional) */ LoadBalancerType string `json:"loadBalancerType"` /* 导出任务的任务Id (Optional) */ TaskId string `json:"taskId"` /* 导出文件的文件名 (Optional) */ FileName string `json:"fileName"` /* 导出任务的状态:2. 任务处理中; 3. 任务完成; 4. 任务失败 (Optional) */ Status int `json:"status"` /* 导出任务的创建时间 (Optional) */ CreatedTime string `json:"createdTime"` /* 导出文件的下载地址 (Optional) */ DownloadUrl string `json:"downloadUrl"` }
type ExtCertificateSpec ¶
type ExtCertificateUpdateSpec ¶
type ExtCertificateUpdateSpec struct { /* 证书绑定Id */ CertificateBindId string `json:"certificateBindId"` /* 证书Id (Optional) */ CertificateId *string `json:"certificateId"` /* 域名,支持输入精确域名和通配符域名:1、仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符;2、通配符匹配支持包括一个星"\*",输入格式为\*.XXX,不支持仅输入一个星“\*”。监听器创建时绑定的默认证书不允许修改域名。 (Optional) */ Domain *string `json:"domain"` }
type ExtensionCertificateSpec ¶
type ExtensionCertificateSpec struct { /* 证书Id */ CertificateId string `json:"certificateId"` /* 证书绑定Id (Optional) */ CertificateBindId string `json:"certificateBindId"` /* 域名,支持输入精确域名和通配符域名:1、仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符;2、通配符匹配支持包括一个星"\*",输入格式为\*.XXX,不支持仅输入一个星“\*”。监听器创建时绑定的默认证书不允许修改域名。 (Optional) */ Domain string `json:"domain"` }
type HealthCheck ¶
type HealthCheck struct { /* 健康检查协议 <br>【alb、nlb】取值为Http, Tcp, Icmp(仅支持alb/nlb的Udp的Backend) <br>【dnlb】取值为Tcp, Icmp(仅支持dnlb的Udp的Backend) (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,默认端口为每个后端实例接收负载均衡流量的端口,Icmp不支持端口 (Optional) */ Port int `json:"port"` /* 健康检查的目标域名,仅支持HTTP协议。支持输入域名和IP地址。如果输入域名,仅支持大小写字母、数字、英文中划线"-"和点".",不区分大小写,且不超过255个字符。默认为空,表示健康检查不携带域名 (Optional) */ HttpDomain string `json:"httpDomain"` /* 健康检查的目标路径,仅支持HTTP协议。必须以"/"开头,支持大小写字母、数字、汉字和英文字符-/.%?#&_;~!()*[]@^:',+=<>{}。%后仅支持输入URL编码后字符,且不超过1000个字符 (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, Icmp(仅支持alb/nlb的Udp的Backend) <br>【dnlb】取值为Tcp, Icmp(仅支持dnlb的Udp的Backend) */ 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,默认端口为每个后端实例接收负载均衡流量的端口,Icmp类型不支持配置端口 (Optional) */ Port *int `json:"port"` /* 健康检查的目标域名,仅支持HTTP协议。支持输入域名和IP地址。如果输入域名,仅支持大小写字母、数字、英文中划线"-"和点".",不区分大小写,且不超过255个字符。默认为空,表示健康检查不携带域名 (Optional) */ HttpDomain *string `json:"httpDomain"` /* 健康检查的目标路径,仅支持HTTP协议。必须以"/"开头,支持大小写字母、数字、汉字和英文字符-/.%?#&_;~!()*[]@^:',+=<>{}。%后仅支持输入URL编码后字符,且不超过1000个字符 (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, Udp <br>【alb】支持Http, Https, Tcp, Tls和Udp <br>【nlb】支持Tcp, Udp <br>【dnlb】支持Tcp, Udp (Optional) */ Protocol string `json:"protocol"` /* 【alb使用https时支持】是否开启HSTS,True(开启), False(关闭) (Optional) */ HstsEnable bool `json:"hstsEnable"` /* 【alb使用https时支持】HSTS过期时间(秒),取值范围为[1, 94608000(3年)] (Optional) */ HstsMaxAge int `json:"hstsMaxAge"` /* 监听端口,取值范围为[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>(Udp协议)默认为:300s <br>(Http和Https协议)默认为:60s <br>【dnlb】不支持 (Optional) */ ConnectionIdleTimeSeconds int `json:"connectionIdleTimeSeconds"` /* 【alb Https和Tls协议】Listener绑定的默认证书,最多支持两个,两个证书的加密算法需要不同 (Optional) */ CertificateSpecs []CertificateSpec `json:"certificateSpecs"` /* Listener的描述信息 (Optional) */ Description string `json:"description"` /* Listener的创建时间 (Optional) */ CreatedTime string `json:"createdTime"` /* 【alb Https和Tls协议】Listener绑定的扩展证书列表 (Optional) */ ExtensionCertificateSpecs []ExtensionCertificateSpec `json:"extensionCertificateSpecs"` }
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"` /* 描述LB的私有对象信息 (Optional) */ PrivateIp PrivateIpAddress `json:"privateIp"` /* 计费配置 (Optional) */ Charge charge.Charge `json:"charge"` /* tag信息 (Optional) */ Tags []Tag `json:"tags"` /* LoadBalancer的描述信息 (Optional) */ Description string `json:"description"` /* 删除保护,取值为True(开启)或False(关闭) (Optional) */ DeleteProtection bool `json:"deleteProtection"` /* LoadBalancer的创建时间 (Optional) */ CreatedTime string `json:"createdTime"` /* 负载均衡所在可用区类型,取值包括:standard(标准可用区)、edge(边缘可用区) (Optional) */ AzType string `json:"azType"` }
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支持)、extensionCertificate(仅alb支持) */ Type string `json:"type"` /* type为loadbalancer不设置, type为listener、backend、target_group、urlMap设置为loadbalancerId, type为target设置为targetGroupId, type为rules设置为urlMapId,type为extensionCertificate设置为listenerId (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支持)、extensionCertificate(仅alb支持) (Optional) */ Type string `json:"type"` /* type为loadbalancer不设置, type为listener、backend、target_group、urlMap设置为loadbalancerId, type为target设置为targetGroupId, type为rules设置为urlMapId,type为extensionCertificate设置为listenerId (Optional) */ ParentResourceId string `json:"parentResourceId"` /* 配额大小 (Optional) */ MaxLimit int `json:"maxLimit"` /* 已存在的资源数量 (Optional) */ Count int `json:"count"` }
type RedirectAction ¶
type RedirectAction struct { /* 重定向后协议,取值为Http、Https。不设置,表示重定向不修改请求协议,与客户端请求协议一致 (Optional) */ Protocol string `json:"protocol"` /* 重定向后端口,取值范围为1-65535。不设置,表示重定向不修改请求端口,与客户端请求端口一致 (Optional) */ Port int `json:"port"` /* 重定向后域名。不设置,表示重定向不修改请求域名,与客户端请求域名一致。支持输入IPv4地址和域名。域名输入限制为:仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符 (Optional) */ Host string `json:"host"` /* 重定向后URL路径。不设置,表示重定向不修改请求URL路径,与客户端请求URL路径一致。必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-_.+!'()%:@&=/,区分大小写,且不能超过128字符 (Optional) */ Path string `json:"path"` /* 重定向后查询参数,不需手动输入,系统默认添加,不超过128字符,不设置,表示重定向不修改查询参数,与客户端请求查询参数一致 (Optional) */ Query string `json:"query"` /* 取值为http_301、http_302。301表示永久性转移,302表示暂时性转移 (Optional) */ StatusCode string `json:"statusCode"` }
type RedirectActionSpec ¶
type RedirectActionSpec struct { /* 重定向后协议,取值为Http、Https。不设置,表示重定向不修改请求协议,与客户端请求协议一致 (Optional) */ Protocol *string `json:"protocol"` /* 重定向后端口,取值范围为1-65535。不设置,表示重定向不修改请求端口,与客户端请求端口一致 (Optional) */ Port *int `json:"port"` /* 重定向后域名。不设置,表示重定向不修改请求域名,与客户端请求域名一致。支持输入IPv4地址和域名。域名输入限制为:仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符 (Optional) */ Host *string `json:"host"` /* 重定向后URL路径。不设置,表示重定向不修改请求URL路径,与客户端请求URL路径一致。必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-_.+!'()%:@&=/,区分大小写,且不能超过128字符 (Optional) */ Path *string `json:"path"` /* 重定向后查询参数,不需手动输入?,系统默认添加,不超过128字符,不设置,表示重定向不修改查询参数,与客户端请求查询参数一致。 (Optional) */ Query *string `json:"query"` /* 取值为http_301、http_302。301表示永久性转移,302表示暂时性转移 */ StatusCode string `json:"statusCode"` }
type Rule ¶
type Rule struct { /* 转发规则Id (Optional) */ RuleId string `json:"ruleId"` /* 域名,用于匹配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。 (Optional) */ Action string `json:"action"` /* 后端服务的Id。当action选择Forward时显示本参数 (Optional) */ BackendId string `json:"backendId"` /* 重定向的相关参数。当action选择Redirect时显示相关参数 (Optional) */ RedirectAction RedirectAction `json:"redirectAction"` }
type RuleSpec ¶
type RuleSpec struct { /* 域名,用于匹配URL的host字段,支持输入IPv4地址和域名。域名支持精确匹配和通配符匹配:1、仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符;2、通配符匹配支持包括一个星"\*",输入格式为\*.XXX或XXX.\*,不支持仅输入一个星“\*”。 host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */ Host *string `json:"host"` /* URL访问路径,用于匹配URL的path字段。URL路径支持精确匹配和前缀匹配:1、必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-_.+!'()%:@&=/,区分大小写,且不能超过128字符;2、前缀匹配支持包括一个星"\*",输入格式为/XXX\*或/\*,仅输入"/"表示精确匹配。 host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */ Path *string `json:"path"` /* 匹配转发规则后执行的动作,取值为Forward或Redirect。默认为Forward (Optional) */ Action *string `json:"action"` /* 后端服务的Id。当action选择Forward时需配置本参数 (Optional) */ BackendId *string `json:"backendId"` /* 重定向动作配置。当action选择Redirect时需配置本参数,且重定向配置参数protocol、port、host、path和query至少配置其一 (Optional) */ RedirectActionSpec *RedirectActionSpec `json:"redirectActionSpec"` }
type RuleUpdateSpec ¶
type RuleUpdateSpec struct { /* rule资源Id */ RuleId string `json:"ruleId"` /* 域名,用于匹配URL的host字段,支持输入IPv4地址和域名。域名支持精确匹配和通配符匹配:1、仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符;2、通配符匹配支持包括一个星"\*",输入格式为\*.XXX或XXX.\*,不支持仅输入一个星“\*”。 host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */ Host *string `json:"host"` /* URL访问路径,用于匹配URL的path字段。URL路径支持精确匹配和前缀匹配:1、必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-_.+!'()%:@&=/,区分大小写,且不能超过128字符;2、前缀匹配支持包括一个星"\*",输入格式为/XXX\*或/\*,仅输入"/"表示精确匹配。 host缺省为空(含义是匹配所有) ,path缺省为/\*(含义是匹配所有) (Optional) */ Path *string `json:"path"` /* 匹配转发规则后执行的动作,取值为Forward或Redirect (Optional) */ Action *string `json:"action"` /* 后端服务的Id。当action选择Forward时需配置本参数 (Optional) */ BackendId *string `json:"backendId"` /* 重定向动作配置。当action选择Redirect时需配置本参数,且重定向配置参数protocol、port、host、path和query至少配置其一 (Optional) */ RedirectActionSpec *RedirectActionSpec `json:"redirectActionSpec"` }
type Target ¶
type Target struct { /* Target的Id (Optional) */ TargetId string `json:"targetId"` /* TargetGroup的Id (Optional) */ TargetGroupId string `json:"targetGroupId"` /* Target的类型,取值为vm、container或ip, 默认为vm (Optional) */ Type string `json:"type"` /* Target所属实例(vm或container)的Id (Optional) */ InstanceId string `json:"instanceId"` /* Target提供服务的端口,取值范围:0-65535,其中0表示与backend的端口相同,默认为0。 <br>【dnlb】使用限制:dnlb同一TargetGroup下,同一实例/ip仅允许一个端口提供服务 (Optional) */ Port int `json:"port"` /* 该Target的权重,取值范围:0-100 ,默认为10。0表示不参与流量转发,仅alb支持权重为0的target (Optional) */ Weight int `json:"weight"` /* Target所属实例(vm或container)的内网IP地址 (Optional) */ PrivateIpAddress string `json:"privateIpAddress"` /* Target的IP地址。当Target类型为vm或container时,表示vm或container的内网IP地址;当Target类型为ip时,表示注册Target时指定的IP地址 (Optional) */ IpAddress string `json:"ipAddress"` }
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"` /* 实例或IP (Optional) */ Type string `json:"type"` }
type TargetHealth ¶
type TargetHealth struct { /* Target所在的虚拟服务器组Id, 与agId不能并存 (Optional) */ TargetGroupId string `json:"targetGroupId"` /* Target所在的高可用组Id,与targetGroupId不能并存 (Optional) */ AgId string `json:"agId"` /* Target所属实例的Id(type为vm或container时显示) (Optional) */ InstanceId string `json:"instanceId"` /* Target所属的type,取值为vm、container或ip,默认为vm (Optional) */ Type string `json:"type"` /* 健康检查的port (Optional) */ Port int `json:"port"` /* 该Target的权重,取值范围:0-100 ,默认为10。0表示不参与流量转发 (Optional) */ Weight int `json:"weight"` /* 该Target的健康状态,取值为healthy、unhealthy (Optional) */ Status string `json:"status"` /* Target的IP地址。当Target type为vm或container时,表示vm或container的私网IP;当Target type为ip时,表示注册Target时指定的IP地址 (Optional) */ IpAddress string `json:"ipAddress"` }
type TargetSpec ¶
type TargetSpec struct { /* Target所属实例的Id,只有type为vm或container时此项才需要 (Optional) */ InstanceId *string `json:"instanceId"` /* Target所属的type,取值为vm、container或ip,默认为vm。vm和container类型对应服务器组的instance类型,ip类型对应服务器组的ip类型。 (Optional) */ Type *string `json:"type"` /* Target提供服务的端口,取值范围:0-65535,其中0表示与backend的端口相同,默认为0。 <br>【dnlb】使用限制:dnlb同一TargetGroup下,同一实例/ip仅允许一个端口提供服务 (Optional) */ Port *int `json:"port"` /* 该Target的权重,取值范围:0-100 ,默认为10。0表示不参与流量转发,仅alb支持权重为0的target (Optional) */ Weight *int `json:"weight"` /* Target的ip地址。仅当type为ip时,此项必须配置。 (Optional) */ IpAddress *string `json:"ipAddress"` }
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、Udp协议】是否启用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 Http协议】获取请求端使用的端口, 取值为False(不获取)或True(获取) (Optional) */ HttpForwardedClientPort bool `json:"httpForwardedClientPort"` /* 【alb,dnlb】关闭健康检查,取值为false(不关闭)或true(关闭) (Optional) */ CloseHealthCheck bool `json:"closeHealthCheck"` }
type UpdateListenerCertificatesSpec ¶
type UpdateListenerCertificatesSpec struct { /* 【alb Https和Tls协议】Listener绑定的扩展证书列表 */ Certificates []ExtCertificateUpdateSpec `json:"certificates"` }
type UpdateListenerSpec ¶
type UpdateListenerSpec struct { /* 监听器名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 (Optional) */ ListenerName string `json:"listenerName"` /* Listener状态, 取值为On或者为Off (Optional) */ Status string `json:"status"` /* 【alb使用https时支持】是否开启HSTS,True(开启), False(关闭),缺省为不改变原值 (Optional) */ HstsEnable bool `json:"hstsEnable"` /* 【alb使用https时支持】HSTS过期时间(秒),取值范围为[1, 94608000(3年)],缺省为不改变原值 (Optional) */ HstsMaxAge int `json:"hstsMaxAge"` /* 【alb Https和Tls协议】Listener绑定的默认证书,最多支持两个,两个证书的加密算法需要不同 (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"` /* 是否绑定域名,包括外网和内网,缺省为不改变原值 (Optional) */ DomainEnable bool `json:"domainEnable"` /* 删除保护,取值为True(开启)或False(关闭),默认为False (Optional) */ DeleteProtection bool `json:"deleteProtection"` /* 变更loadBalancer的vip地址,新地址只允许是loadBalancer本子网中的空闲ip地址,缺省为不改变原值 (Optional) */ PrivateIpAddress string `json:"privateIpAddress"` }
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 ¶
- AddListenerCertificatesSpec.go
- AddRulesSpec.go
- AssAndDisassElasticIpSpec.go
- AssAndDisassSecurityGroupsSpec.go
- Backend.go
- CertificateSpec.go
- CreateBackendSpec.go
- CreateListenerSpec.go
- CreateLoadBalancerSpec.go
- CreateTargetGroupSpec.go
- CreateUrlMapSpec.go
- DeleteListenerCertificatesSpec.go
- DeleteRulesSpec.go
- ElasticIpSpec.go
- ExportTask.go
- ExtCertificateSpec.go
- ExtCertificateUpdateSpec.go
- ExtensionCertificateSpec.go
- HealthCheck.go
- HealthCheckSpec.go
- Listener.go
- LoadBalancer.go
- LoadBalancerState.go
- ModifyQuotaSpec.go
- PrivateIpAddress.go
- Quota.go
- RedirectAction.go
- RedirectActionSpec.go
- Rule.go
- RuleSpec.go
- RuleUpdateSpec.go
- Tag.go
- TagFilter.go
- Target.go
- TargetGroup.go
- TargetHealth.go
- TargetSpec.go
- TargetUpdateSpec.go
- UpdateBackendSpec.go
- UpdateListenerCertificatesSpec.go
- UpdateListenerSpec.go
- UpdateLoadBalancerSpec.go
- UpdateRulesSpec.go
- UpdateTargetGroupSpec.go
- UpdateUrlMapSpec.go
- UrlMap.go
Click to show internal directories.
Click to hide internal directories.