Documentation
¶
Index ¶
- type AddListenerCertificatesSpec
- type AddRulesSpec
- type AgInfo
- type AgInfoSpec
- type AgTarget
- type AgTargetUpdateSpec
- type AssAndDisassElasticIpSpec
- type AssAndDisassSecurityGroupsSpec
- type AssElasticIpSpec
- type Backend
- type CertificateSpec
- type CreateBackendSpec
- type CreateListenerSpec
- type CreateLoadBalancerSpec
- type CreateTargetGroupSpec
- type CreateUrlMapSpec
- type CustomizedConfiguration
- type CustomizedConfigurationContent
- type CustomizedConfigurationContentSpec
- type CustomizedConfigurationSpec
- type CustomizedConfigurationUpdateSpec
- type DeleteHeader
- type DeleteHeaderSpec
- type DeleteListenerCertificatesSpec
- type DeleteRulesSpec
- type DisassElasticIpSpec
- type ElasticIpSpec
- type ExportTask
- type ExtCertificateSpec
- type ExtCertificateUpdateSpec
- type ExtensionCertificateSpec
- type HealthCheck
- type HealthCheckSpec
- type InsertHeader
- type InsertHeaderSpec
- type LimitationSpec
- type Listener
- type LoadBalancer
- type LoadBalancerState
- type ModifyQuotaSpec
- type PostAction
- type PostActionSpec
- type PostActionUpdateSpec
- type PreAction
- type PreActionSpec
- type PreActionUpdateSpec
- type PrivateIpAddress
- type Quota
- type RedirectAction
- type RedirectActionSpec
- type Rewrite
- type RewriteSpec
- type Rule
- type RuleSpec
- type RuleUpdateSpec
- type SecurityPolicy
- type SecurityPolicySpec
- type SecurityPolicyUpdateSpec
- type SupportedCipher
- type Tag
- type TagFilter
- type Target
- type TargetGroup
- type TargetHealth
- type TargetSpec
- type TargetUpdateSpec
- type UnhealthReason
- 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 ¶ added in v1.41.0
type AddListenerCertificatesSpec struct {
/* 【alb Https和Tls协议】ssl server证书列表 */
Certificates []ExtCertificateSpec `json:"certificates"`
}
type AddRulesSpec ¶
type AddRulesSpec struct {
/* 转发规则的信息 */
RuleSpecs []RuleSpec `json:"ruleSpecs"`
}
type AgInfoSpec ¶ added in v1.63.0
type AgTarget ¶ added in v1.63.0
type AgTarget struct {
/* Target的Id (Optional) */
TargetId string `json:"targetId"`
/* TargetGroup的Id, target 属于 targetGroup 或者 AG, target 从属于 AG 时,该字段无用 (Optional) */
TargetGroupId string `json:"targetGroupId"`
/* 高可用组(ag)的id, target 属于 targetGroup 或者 AG, target 从属于 targetGroup 时,该字段无用 (Optional) */
AgId string `json:"agId"`
/* 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 AgTargetUpdateSpec ¶ added in v1.63.0
type AssAndDisassElasticIpSpec ¶
type AssAndDisassElasticIpSpec struct {
/* 弹性公网IP ID */
ElasticIpId string `json:"elasticIpId"`
}
type AssAndDisassSecurityGroupsSpec ¶
type AssAndDisassSecurityGroupsSpec struct {
/* 安全组 ID列表 */
SecurityGroupIds []string `json:"securityGroupIds"`
}
type AssElasticIpSpec ¶ added in v1.63.0
type AssElasticIpSpec struct {
/* 弹性公网IP ID */
ElasticIpId string `json:"elasticIpId"`
}
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,Udp <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"`
/* 高可用组属性设置:1.defatult_weight:默认权重 (Optional) */
AgInfos []AgInfo `json:"agInfos"`
/* 【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"`
/* 健康检查 (Optional) */
HealthCheck HealthCheck `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"`
/* 高可用组属性设置:1.defatult_weight:默认权重, 优先级 agInfoSpec > agIds (Optional) */
AgInfoSpec []AgInfoSpec `json:"agInfoSpec"`
/* 【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支持】限速配置 (Optional) */
Limitation LimitationSpec `json:"limitation"`
/* 【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"`
/* 绑定的安全策略id,仅支持应用负载均衡的HTTPS、TLS监听配置,不传默认使用默认安全策略 (Optional) */
SecurityPolicyId string `json:"securityPolicyId"`
}
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 CustomizedConfiguration ¶ added in v1.63.0
type CustomizedConfiguration struct {
/* 个性化配置的Id (Optional) */
CustomizedConfigurationId string `json:"customizedConfigurationId"`
/* 个性化配置的名称 (Optional) */
CustomizedConfigurationName string `json:"customizedConfigurationName"`
/* 关联的资源Id列表, 目前个性化配置支持绑定应用负载均衡 (Optional) */
ResourceIds []string `json:"resourceIds"`
/* 个性化配置的描述信息 (Optional) */
Description string `json:"description"`
/* 个性化配置的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
/* 个性化配置内容 (Optional) */
CustomizedConfigurationContent CustomizedConfigurationContent `json:"customizedConfigurationContent"`
}
type CustomizedConfigurationContent ¶ added in v1.63.0
type CustomizedConfigurationContent struct {
/* 多 LB 共享session ticket,取值:ON/OFF,缺省值为OFF (Optional) */
SessionTicket string `json:"sessionTicket"`
}
type CustomizedConfigurationContentSpec ¶ added in v1.63.0
type CustomizedConfigurationContentSpec struct {
/* 多 LB 共享session ticket,取值:ON/OFF,缺省值为OFF (Optional) */
SessionTicket *string `json:"sessionTicket"`
}
type CustomizedConfigurationSpec ¶ added in v1.63.0
type CustomizedConfigurationSpec struct {
/* 个性化配置名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */
CustomizedConfigurationName string `json:"customizedConfigurationName"`
/* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* 个性化配置内容 (Optional) */
CustomizedConfigurationContent CustomizedConfigurationContentSpec `json:"customizedConfigurationContent"`
}
type CustomizedConfigurationUpdateSpec ¶ added in v1.63.0
type CustomizedConfigurationUpdateSpec struct {
/* 个性化配置名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 (Optional) */
CustomizedConfigurationName string `json:"customizedConfigurationName"`
/* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* 个性化配置内容 (Optional) */
CustomizedConfigurationContent CustomizedConfigurationContentSpec `json:"customizedConfigurationContent"`
}
type DeleteHeader ¶ added in v1.63.0
type DeleteHeader struct {
/* 新增http header的key,必填,最长40个字符,不区分大小写,支持大小写字母、数字、下划线(_)和短划线(-),不允许使用系统header+部分http标准header,同一个key在插入/删除中只能出现一次,具体不允许的key如下:
1.alb系统的header key:X-Forwarded-For、X-Forwarded-Client-Port、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto、X-Forwarded-LBIP
2.部分http标准header:connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie (Optional) */
Key string `json:"key"`
}
type DeleteHeaderSpec ¶ added in v1.63.0
type DeleteHeaderSpec struct {
/* 新增http header的key,必填,最长40个字符,不区分大小写,支持大小写字母、数字、下划线(_)和短划线(-),不允许使用系统header+部分http标准header,同一个key在插入/删除中只能出现一次,具体不允许的key如下:
1.alb系统的header key:X-Forwarded-For、X-Forwarded-Client-Port、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto、X-Forwarded-LBIP
2.部分http标准header:connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie */
Key string `json:"key"`
}
type DeleteListenerCertificatesSpec ¶ added in v1.41.0
type DeleteListenerCertificatesSpec struct {
/* 【alb Https和Tls协议】扩展证书绑定Id */
CertificateBindIds []string `json:"certificateBindIds"`
}
type DeleteRulesSpec ¶
type DeleteRulesSpec struct {
/* rule Id列表 */
RuleIds []string `json:"ruleIds"`
}
type DisassElasticIpSpec ¶ added in v1.63.0
type ElasticIpSpec ¶ added in v1.56.0
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 ¶ added in v1.56.0
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 ¶ added in v1.41.0
type ExtCertificateUpdateSpec ¶ added in v1.41.0
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 ¶ added in v1.41.0
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"`
/* 健康检查的协议类型, HTTP1.0/HTTP1.1,默认选择HTTP1.0 (Optional) */
HttpVersion string `json:"httpVersion"`
/* 健康检查的目标域名,仅支持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"`
/* 健康检查的协议类型 HTTP1.0/HTTP1.1 默认选择HTTP1.0 (Optional) */
HttpVersion *string `json:"httpVersion"`
/* 健康检查的目标域名,仅支持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。仅支持HTTP协议,默认为[2xx、3xx] (Optional) */
HttpCode []string `json:"httpCode"`
}
type InsertHeader ¶ added in v1.63.0
type InsertHeader struct {
/* http header的value类型:1.系统值类型;2.自定义值类型 (Optional) */
ValueType int `json:"valueType"`
/* 新增http header的key,必填,最长40个字符,不区分大小写,支持大小写字母、数字、下划线(_)和短划线(-),不允许使用系统header+部分http标准header,同一个key在插入/删除中只能出现一次,具体不允许的key如下:
1.alb系统的header key:X-Forwarded-For、X-Forwarded-Client-Port、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto、X-Forwarded-LBIP
2.部分http标准header:connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie
(Optional) */
Key string `json:"key"`
/* 新增http header的value,必填,取值包括两种:
1.引用alb系统定义的header值:X-Forwarded-For、X-Forwarded-Client-Port、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto、X-Forwarded-LBIP
2.客户自定义的header值,输入限制:最长128个字符,ASCII码值ch >= 32 && ch < 127范围内的可打印字符,字母区分大小写,开头和结尾不能为空格 (Optional) */
Value string `json:"value"`
}
type InsertHeaderSpec ¶ added in v1.63.0
type InsertHeaderSpec struct {
/* http header的value类型:1.系统值类型;2.自定义值类型 */
ValueType int `json:"valueType"`
/* 新增http header的key,必填,最长40个字符,不区分大小写,支持大小写字母、数字、下划线(_)和短划线(-),不允许使用系统header+部分http标准header,同一个key在插入/删除中只能出现一次,具体不允许的key如下:
1.alb系统的header key:X-Forwarded-For、X-Forwarded-Client-Port、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto、X-Forwarded-LBIP
2.部分http标准header:connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie
*/
Key string `json:"key"`
/* 新增http header的value,必填,取值包括两种:
1.引用alb系统定义的header值:X-Forwarded-For、X-Forwarded-Client-Port、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto、X-Forwarded-LBIP
2.客户自定义的header值,输入限制:最长128个字符,ASCII码值ch >= 32 && ch < 127范围内的可打印字符,字母区分大小写,开头和结尾不能为空格 */
Value string `json:"value"`
}
type LimitationSpec ¶ added in v1.63.0
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"`
/* 【仅ALB支持】限速配置 (Optional) */
Limitation LimitationSpec `json:"limitation"`
/* Listener的描述信息 (Optional) */
Description string `json:"description"`
/* Listener的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
/* 【alb Https和Tls协议】Listener绑定的扩展证书列表 (Optional) */
ExtensionCertificateSpecs []ExtensionCertificateSpec `json:"extensionCertificateSpecs"`
/* 绑定的安全策略id,仅支持应用负载均衡的HTTPS、TLS监听配置 (Optional) */
SecurityPolicyId string `json:"securityPolicyId"`
}
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"`
/* 负载均衡绑定的个性化配置id (Optional) */
CustomizedConfigurationId string `json:"customizedConfigurationId"`
}
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支持)、ruleExtendAction(仅alb支持)、extensionCertificate(仅alb支持)、customizedConfiguration */
Type string `json:"type"`
/* type为loadbalancer、customizedConfiguration不设置, 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 PostAction ¶ added in v1.63.0
type PostAction struct {
/* 负载均衡将后端服务器应答流量转发给客户端时的后置动作类型:3.插入http header动作;4.删除http header动作 (Optional) */
ExtendActionType int `json:"extendActionType"`
/* 插入http header动作配置,当extendActionType为3时有值 (Optional) */
InsertHeader InsertHeader `json:"insertHeader"`
/* 删除http header动作配置,当extendActionType为4时有值 (Optional) */
DeleteHeader DeleteHeader `json:"deleteHeader"`
}
type PostActionSpec ¶ added in v1.63.0
type PostActionSpec struct {
/* 负载均衡将后端服务器应答流量转发给客户端时的后置动作类型:取值为3和4。3表示插入http header动作;4表示删除http header动作 */
ExtendActionType int `json:"extendActionType"`
/* 插入http header动作配置,当extendActionType为3时必须配置本参数 (Optional) */
InsertHeaderSpec *InsertHeaderSpec `json:"insertHeaderSpec"`
/* 删除http header动作配置,当extendActionType为4时必须配置本参数 (Optional) */
DeleteHeaderSpec *DeleteHeaderSpec `json:"deleteHeaderSpec"`
}
type PostActionUpdateSpec ¶ added in v1.63.0
type PostActionUpdateSpec struct {
/* 负载均衡将后端服务器应答流量转发给客户端时的后置动作类型:3.插入http header动作;4.删除http header动作 */
ExtendActionType int `json:"extendActionType"`
/* 插入http header动作配置,当extendActionType为3时必须配置本参数 (Optional) */
InsertHeaderSpec *InsertHeaderSpec `json:"insertHeaderSpec"`
/* 删除http header动作配置,当extendActionType为4时必须配置本参数 (Optional) */
DeleteHeaderSpec *DeleteHeaderSpec `json:"deleteHeaderSpec"`
}
type PreAction ¶ added in v1.63.0
type PreAction struct {
/* 负载均衡将客户端流量向后端服务器转发时的前置动作类型:1.rewrite动作;2.mirror动作;3.插入http header动作;4.删除http header动作 (Optional) */
ExtendActionType int `json:"extendActionType"`
/* mirror动作的目的backendId,当extendActionType为2时有值 (Optional) */
MirrorBackendId string `json:"mirrorBackendId"`
/* 插入http header动作配置,当extendActionType为3时有值 (Optional) */
InsertHeader InsertHeader `json:"insertHeader"`
/* 删除http header动作配置,当extendActionType为4时有值 (Optional) */
DeleteHeader DeleteHeader `json:"deleteHeader"`
/* rewrite动作配置,当extendActionType为1时有值 (Optional) */
Rewrite Rewrite `json:"rewrite"`
}
type PreActionSpec ¶ added in v1.63.0
type PreActionSpec struct {
/* 负载均衡将客户端流量向后端服务器转发时的前置动作类型:1.rewrite动作;2.mirror动作;3.插入http header动作;4.删除http header动作 */
ExtendActionType int `json:"extendActionType"`
/* mirror动作的目的backendId,当extendActionType为2时必须配置本参数,不允许与forward的目的backendId相同,一条rule中最多配置一个mirror动作 (Optional) */
MirrorBackendId *string `json:"mirrorBackendId"`
/* 插入http header动作配置,当extendActionType为3时必须配置本参数 (Optional) */
InsertHeaderSpec *InsertHeaderSpec `json:"insertHeaderSpec"`
/* 删除http header动作配置,当extendActionType为4时必须配置本参数 (Optional) */
DeleteHeaderSpec *DeleteHeaderSpec `json:"deleteHeaderSpec"`
/* rewrite动作配置,当extendActionType为1时必须配置本参数,一条rule中最多配置一个rewrite动作 (Optional) */
RewriteSpec *RewriteSpec `json:"rewriteSpec"`
}
type PreActionUpdateSpec ¶ added in v1.63.0
type PreActionUpdateSpec struct {
/* 负载均衡将客户端流量向后端服务器转发时的前置动作类型:1.rewrite动作;2.mirror动作;3.插入http header动作;4.删除http header动作 */
ExtendActionType int `json:"extendActionType"`
/* mirror动作的目的backendId,当extendActionType为2时必须配置本参数,不允许与forward的目的backendId相同,一条rule中最多配置一个mirror动作 (Optional) */
MirrorBackendId *string `json:"mirrorBackendId"`
/* 插入http header动作配置,当extendActionType为3时必须配置本参数 (Optional) */
InsertHeaderSpec *InsertHeaderSpec `json:"insertHeaderSpec"`
/* 删除http header动作配置,当extendActionType为4时必须配置本参数 (Optional) */
DeleteHeaderSpec *DeleteHeaderSpec `json:"deleteHeaderSpec"`
/* rewrite动作配置,当extendActionType为1时必须配置本参数,一条rule中最多配置一个rewrite动作 (Optional) */
RewriteSpec *RewriteSpec `json:"rewriteSpec"`
}
type PrivateIpAddress ¶
type Quota ¶
type Quota struct {
/* 资源类型,取值范围:loadbalancer、listener、target_group、target、backend、urlMap(仅alb支持)、rules(仅alb支持)、extensionCertificate(仅alb支持)、customizedConfiguration、securityPolicy (Optional) */
Type string `json:"type"`
/* type为loadbalancer、customizedConfiguration、securityPolicy不设置, 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 ¶ added in v1.41.0
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 ¶ added in v1.41.0
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、http_307、http_308。301对应308表示永久重定向,302对应307表示暂时重定向,有些浏览器在收到301、302状态码,在自动重定向时候会错误的把POST方法转为GET方法 */
StatusCode string `json:"statusCode"`
}
type Rewrite ¶ added in v1.63.0
type Rewrite struct {
/* 重写后的域名
1.支持输入IP地址及域名。域名仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符。
2.默认为${host},表示重写后不修改域名
3.不支持通配符
(Optional) */
Host string `json:"host"`
/* 重写后的路径,重写原则:a.重写的内容为url path全路径 b.重写前和重写后通配符*表示的内容一致。支持的场景如下:
1.支持精确path1→精确path2,如:/path1/abc→/bbb 或 /path1/abc->/path1
2.模糊匹配path1→模糊匹配path2 ,如:/path1/*→/*,表示重写后把“path1/”部分截取掉了;www.www.baidu.com/a/*——>www.baidu.com/*
3.模糊匹配path→精确path ,如配置的urlmap rule为:/path1/*→/aaa,表示所有以“path1”为前缀的请求都重写为了“/aaa”
4.精确path->模糊path————不支持
输入限制:
1.必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-.+!'()%:@&=/,区分大小写,且不能超过128字符
2.支持输入通配符*,*表示匹配0或多个字符,仅支持输入一个*
3.默认为${path},表示重写后不修改路径
(Optional) */
Path string `json:"path"`
/* 查询参数:
1.输入限制同urlmap重定向字段
2.默认为${query},表示重写后不修改查询字段
3.不支持通配符 (Optional) */
Query string `json:"query"`
}
type RewriteSpec ¶ added in v1.63.0
type RewriteSpec struct {
/* 重写后的域名
1.支持输入IP地址及域名。域名仅支持输入大小写字母、数字、英文中划线“-”和点“.”,最少包括一个点".",不能以点"."和中划线"-"开头或结尾,中划线"-"前后不能为点".",不区分大小写,且不能超过110字符。
2.默认为${host},表示重写后不修改域名,host、path、query三者至少修改其一
3.不支持通配符
(Optional) */
Host *string `json:"host"`
/* 重写后的路径,重写原则:a.重写的内容为url path全路径 b.重写前和重写后通配符*表示的内容一致。支持的场景如下:
1.支持精确path1→精确path2,如:/path1/abc→/bbb 或 /path1/abc->/path1
2.模糊匹配path1→模糊匹配path2 ,如:/path1/*→/*,表示重写后把“path1/”部分截取掉了;www.www.baidu.com/a/*——>www.baidu.com/*
3.模糊匹配path→精确path ,如配置的urlmap rule为:/path1/*→/aaa,表示所有以“path1”为前缀的请求都重写为了“/aaa”
4.精确path->模糊path————不支持
输入限制:
1.必须以/开头,仅支持输入大小写字母、数字和特殊字符:$-.+!'()%:@&=/,区分大小写,且不能超过128字符
2.支持输入通配符*,*表示匹配0或多个字符,仅支持输入一个*
3.默认为${path},表示重写后不修改路径,host、path、query三者至少修改其一
(Optional) */
Path *string `json:"path"`
/* 查询参数:
1.输入限制同urlmap重定向字段
2.默认为${query},表示重写后不修改查询字段,host、path、query三者至少修改其一
3.不需手动添加?,系统默认添加
(Optional) */
Query *string `json:"query"`
}
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"`
/* 负载均衡将客户端流量向后端服务器转发时的前置动作配置 (Optional) */
PreActions []PreAction `json:"preActions"`
/* 负载均衡将后端服务器应答流量转发给客户端时的后置动作配置 (Optional) */
PostActions []PostAction `json:"postActions"`
}
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 (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"`
/* 负载均衡将客户端流量向后端服务器转发时的前置动作配置,当action选择Forward时可以配置本参数 (Optional) */
PreActions []PreActionSpec `json:"preActions"`
/* 负载均衡将后端服务器应答流量转发给客户端时的后置动作配置,当action选择Forward/Redirect时可以配置本参数 (Optional) */
PostActions []PostActionSpec `json:"postActions"`
}
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。修改动作类型, preActions和postActions将被清空,如需要可重新配置。 (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"`
/* 负载均衡将客户端流量向后端服务器转发时的前置动作配置,当action选择Forward时可以配置本参数。preActions更新方式为全量覆盖。 (Optional) */
PreActions []PreActionUpdateSpec `json:"preActions"`
/* 负载均衡将后端服务器应答流量转发给客户端时的后置动作配置,当action选择Forward/Redirect时可以配置本参数。postActions更新方式为全量覆盖。 (Optional) */
PostActions []PostActionUpdateSpec `json:"postActions"`
}
type SecurityPolicy ¶ added in v1.63.0
type SecurityPolicy struct {
/* 安全策略的Id (Optional) */
SecurityPolicyId string `json:"securityPolicyId"`
/* 安全策略的名称 (Optional) */
SecurityPolicyName string `json:"securityPolicyName"`
/* 安全策略类型,SYSTEM:系统安全策略,CUSTOM:自定义安全策略 (Optional) */
SecurityPolicyType string `json:"securityPolicyType"`
/* 关联的监听器ID列表,目前安全策略只支持应用型负载均衡的HTTPS和TLS监听器 (Optional) */
ListenerIds []string `json:"listenerIds"`
/* 安全策略的描述信息 (Optional) */
Description string `json:"description"`
/* TLS协议版本列表,目前支持TLSv1、TLSv1.1、TLSv1.2和TLSv1.3,传入的每个protocol至少需要传入一个支持的cipher (Optional) */
Protocols []string `json:"protocols"`
/* TLS加密套件列表,传入的每个cipher至少需要传入一个能够支持的protocol
TLSv1和TLSv1.1支持的加密套件:
AES128-SHA
AES256-SHA
CAMELLIA128-SHA
CAMELLIA256-SHA
DES-CBC3-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-RSA-DES-CBC3-SHA
IDEA-CBC-SHA
SEED-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.2支持的加密套件:
AES128-CCM
AES128-CCM8
AES128-GCM-SHA256
AES128-SHA
AES128-SHA256
AES256-CCM
AES256-CCM8
AES256-GCM-SHA384
AES256-SHA
AES256-SHA256
ARIA128-GCM-SHA256
ARIA256-GCM-SHA384
CAMELLIA128-SHA
CAMELLIA128-SHA256
CAMELLIA256-SHA
CAMELLIA256-SHA256
DES-CBC3-SHA
ECDHE-ARIA128-GCM-SHA256
ECDHE-ARIA256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-CAMELLIA128-SHA256
ECDHE-RSA-CAMELLIA256-SHA384
ECDHE-RSA-CHACHA20-POLY1305
ECDHE-RSA-DES-CBC3-SHA
SEED-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-CCM8
ECDHE-ECDSA-AES256-CCM
ECDHE-ECDSA-ARIA256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-CCM8
ECDHE-ECDSA-AES128-CCM
ECDHE-ECDSA-ARIA128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-CAMELLIA256-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-CAMELLIA128-SHA256
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.3支持的加密套件:
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
(Optional) */
Ciphers []string `json:"ciphers"`
/* 安全策略的创建时间 (Optional) */
CreatedTime string `json:"createdTime"`
}
type SecurityPolicySpec ¶ added in v1.63.0
type SecurityPolicySpec struct {
/* 安全策略名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 */
SecurityPolicyName string `json:"securityPolicyName"`
/* 安全策略描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* TLS协议版本列表,目前支持TLSv1、TLSv1.1、TLSv1.2和TLSv1.3,传入的每个protocol至少需要传入一个支持的cipher */
Protocols []string `json:"protocols"`
/* TLS加密套件列表,传入的每个cipher至少需要传入一个能够支持的protocol
TLSv1和TLSv1.1支持的加密套件:
AES128-SHA
AES256-SHA
CAMELLIA128-SHA
CAMELLIA256-SHA
DES-CBC3-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-RSA-DES-CBC3-SHA
IDEA-CBC-SHA
SEED-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.2支持的加密套件:
AES128-CCM
AES128-CCM8
AES128-GCM-SHA256
AES128-SHA
AES128-SHA256
AES256-CCM
AES256-CCM8
AES256-GCM-SHA384
AES256-SHA
AES256-SHA256
ARIA128-GCM-SHA256
ARIA256-GCM-SHA384
CAMELLIA128-SHA
CAMELLIA128-SHA256
CAMELLIA256-SHA
CAMELLIA256-SHA256
DES-CBC3-SHA
ECDHE-ARIA128-GCM-SHA256
ECDHE-ARIA256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-CAMELLIA128-SHA256
ECDHE-RSA-CAMELLIA256-SHA384
ECDHE-RSA-CHACHA20-POLY1305
ECDHE-RSA-DES-CBC3-SHA
SEED-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-CCM8
ECDHE-ECDSA-AES256-CCM
ECDHE-ECDSA-ARIA256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-CCM8
ECDHE-ECDSA-AES128-CCM
ECDHE-ECDSA-ARIA128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-CAMELLIA256-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-CAMELLIA128-SHA256
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.3支持的加密套件:
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256 */
Ciphers []string `json:"ciphers"`
}
type SecurityPolicyUpdateSpec ¶ added in v1.63.0
type SecurityPolicyUpdateSpec struct {
/* 安全策略名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符 (Optional) */
SecurityPolicyName string `json:"securityPolicyName"`
/* 安全策略描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description string `json:"description"`
/* TLS协议版本列表,目前支持TLSv1、TLSv1.1、TLSv1.2和TLSv1.3,传入的每个protocol至少需要传入一个支持的cipher (Optional) */
Protocols []string `json:"protocols"`
/* TLS加密套件列表,传入的每个cipher至少需要传入一个能够支持的protocol
TLSv1和TLSv1.1支持的加密套件:
AES128-SHA
AES256-SHA
CAMELLIA128-SHA
CAMELLIA256-SHA
DES-CBC3-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-RSA-DES-CBC3-SHA
IDEA-CBC-SHA
SEED-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.2支持的加密套件:
AES128-CCM
AES128-CCM8
AES128-GCM-SHA256
AES128-SHA
AES128-SHA256
AES256-CCM
AES256-CCM8
AES256-GCM-SHA384
AES256-SHA
AES256-SHA256
ARIA128-GCM-SHA256
ARIA256-GCM-SHA384
CAMELLIA128-SHA
CAMELLIA128-SHA256
CAMELLIA256-SHA
CAMELLIA256-SHA256
DES-CBC3-SHA
ECDHE-ARIA128-GCM-SHA256
ECDHE-ARIA256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-CAMELLIA128-SHA256
ECDHE-RSA-CAMELLIA256-SHA384
ECDHE-RSA-CHACHA20-POLY1305
ECDHE-RSA-DES-CBC3-SHA
SEED-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-CCM8
ECDHE-ECDSA-AES256-CCM
ECDHE-ECDSA-ARIA256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-CCM8
ECDHE-ECDSA-AES128-CCM
ECDHE-ECDSA-ARIA128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-CAMELLIA256-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-CAMELLIA128-SHA256
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.3支持的加密套件:
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256 (Optional) */
Ciphers []string `json:"ciphers"`
}
type SupportedCipher ¶ added in v1.63.0
type SupportedCipher struct {
/* TLS加密套件列表,传入的每个cipher至少需要传入一个能够支持的protocol
TLSv1和TLSv1.1支持的加密套件:
AES128-SHA
AES256-SHA
CAMELLIA128-SHA
CAMELLIA256-SHA
DES-CBC3-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-RSA-DES-CBC3-SHA
IDEA-CBC-SHA
SEED-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-RC4-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.2支持的加密套件:
AES128-CCM
AES128-CCM8
AES128-GCM-SHA256
AES128-SHA
AES128-SHA256
AES256-CCM
AES256-CCM8
AES256-GCM-SHA384
AES256-SHA
AES256-SHA256
ARIA128-GCM-SHA256
ARIA256-GCM-SHA384
CAMELLIA128-SHA
CAMELLIA128-SHA256
CAMELLIA256-SHA
CAMELLIA256-SHA256
DES-CBC3-SHA
ECDHE-ARIA128-GCM-SHA256
ECDHE-ARIA256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-CAMELLIA128-SHA256
ECDHE-RSA-CAMELLIA256-SHA384
ECDHE-RSA-CHACHA20-POLY1305
ECDHE-RSA-DES-CBC3-SHA
SEED-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-CCM8
ECDHE-ECDSA-AES256-CCM
ECDHE-ECDSA-ARIA256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-CCM8
ECDHE-ECDSA-AES128-CCM
ECDHE-ECDSA-ARIA128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-CAMELLIA256-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-CAMELLIA128-SHA256
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-DES-CBC3-SHA
TLSv1.3支持的加密套件:
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
(Optional) */
Cipher string `json:"cipher"`
/* TLS协议版本列表,目前支持TLSv1、TLSv1.1、TLSv1.2和TLSv1.3,传入的每个protocol至少需要传入一个支持的cipher (Optional) */
Protocols []string `json:"protocols"`
}
type Target ¶
type Target struct {
/* Target的Id (Optional) */
TargetId string `json:"targetId"`
/* TargetGroup的Id, target 属于 targetGroup 或者 AG, target 从属于 AG 时,该字段无用 (Optional) */
TargetGroupId string `json:"targetGroupId"`
/* 高可用组(ag)的id, target 属于 targetGroup 或者 AG, target 从属于 targetGroup 时,该字段无用 (Optional) */
AgId string `json:"agId"`
/* 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"`
/* 健康异常结构 (Optional) */
UnhealthReason UnhealthReason `json:"unhealthReason"`
}
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 UnhealthReason ¶ added in v1.63.0
type UnhealthReason struct {
/* CONNECT_FAILED:LB与后端server建立连接失败(HTTP/TCP);CONNECT_TIMEOUT: LB与后端server建立连接超时(HTTP/TCP);CONNECT_INTERRUPT: LB与后端服务器连接中断(TCP/HTTP); RECEIVE_RESPONSE_FAILED: LB接受后端服务器响应失败(HTTP/TCP/ICMP);RECEIVE_RESPONSE_TIMEOUT: LB接受后端服务器响应超时(HTTP/TCP/ICMP);REQUEST_FAILED: LB向后端server发送请求失败(HTTP/TCP/ICMP);REQUEST_TIMEOUT: LB向后端server发送请求超时(HTTP/TCP/ICMP);HTTP_CODE_MISMATCH: LB从后端收到的响应码与预期正常的不一致(HTTP);RESPONSE_FORMAT_ERROR: LB从后端接收的响应格式错误(HTTP/TCP) (Optional) */
Reason string `json:"reason"`
/* 原因描述 (Optional) */
Detail string `json:"detail"`
}
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"`
/* 高可用组属性设置:1.defatult_weight:默认权重, 优先级 agInfoSpec > agIds (Optional) */
AgInfoSpec []AgInfoSpec `json:"agInfoSpec"`
/* 【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 ¶ added in v1.41.0
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支持】限速配置 (Optional) */
Limitation LimitationSpec `json:"limitation"`
/* 【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"`
/* 绑定的安全策略id,仅支持应用负载均衡的HTTPS、TLS监听配置 (Optional) */
SecurityPolicyId string `json:"securityPolicyId"`
}
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
- AgInfo.go
- AgInfoSpec.go
- AgTarget.go
- AgTargetUpdateSpec.go
- AssAndDisassElasticIpSpec.go
- AssAndDisassSecurityGroupsSpec.go
- AssElasticIpSpec.go
- Backend.go
- CertificateSpec.go
- CreateBackendSpec.go
- CreateListenerSpec.go
- CreateLoadBalancerSpec.go
- CreateTargetGroupSpec.go
- CreateUrlMapSpec.go
- CustomizedConfiguration.go
- CustomizedConfigurationContent.go
- CustomizedConfigurationContentSpec.go
- CustomizedConfigurationSpec.go
- CustomizedConfigurationUpdateSpec.go
- DeleteHeader.go
- DeleteHeaderSpec.go
- DeleteListenerCertificatesSpec.go
- DeleteRulesSpec.go
- DisassElasticIpSpec.go
- ElasticIpSpec.go
- ExportTask.go
- ExtCertificateSpec.go
- ExtCertificateUpdateSpec.go
- ExtensionCertificateSpec.go
- HealthCheck.go
- HealthCheckSpec.go
- InsertHeader.go
- InsertHeaderSpec.go
- LimitationSpec.go
- Listener.go
- LoadBalancer.go
- LoadBalancerState.go
- ModifyQuotaSpec.go
- PostAction.go
- PostActionSpec.go
- PostActionUpdateSpec.go
- PreAction.go
- PreActionSpec.go
- PreActionUpdateSpec.go
- PrivateIpAddress.go
- Quota.go
- RedirectAction.go
- RedirectActionSpec.go
- Rewrite.go
- RewriteSpec.go
- Rule.go
- RuleSpec.go
- RuleUpdateSpec.go
- SecurityPolicy.go
- SecurityPolicySpec.go
- SecurityPolicyUpdateSpec.go
- SupportedCipher.go
- Tag.go
- TagFilter.go
- Target.go
- TargetGroup.go
- TargetHealth.go
- TargetSpec.go
- TargetUpdateSpec.go
- UnhealthReason.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.