创建应用型负载均衡的转发规则 - CreateRule
简介
给应用型负载均衡监听器创建一条转发规则
定义
公共参数
| 参数名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Action | string | 对应的 API 指令名称,当前 API 为 CreateRule | Yes | 
| PublicKey | string | 用户公钥,可从 控制台 获取 | Yes | 
| Signature | string | 根据公钥及 API 指令生成的用户签名,参见 签名算法 | Yes | 
请求参数
| 参数名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Region | string | 地域。 参见 地域和可用区列表 | Yes | 
| ProjectId | string | 项目ID。不填写为默认项目,子帐号必须填写。 请参考GetProjectList接口 | Yes | 
| LoadBalancerId | string | 应用型负载均衡实例的ID | Yes | 
| ListenerId | string | 应用型负载均衡监听器的ID | Yes | 
| RuleConditions | array[RuleCondition] | 转发规则匹配条件。数组长度至少为1,目前最多支持一个域名和一个路径类型的 RuleCondition,即数组长度最多为2且不同类型。 具体结构见下方 RuleCondition | Yes | 
| RuleActions | array[RuleAction] | 转发动作。 数组长度只能为1。具体结构见下方 RuleAction | Yes | 
| Pass | bool | 当转发的服务节点为空时,规则是否忽略。默认值true; 默认转发规则不可更改 | No | 
数据模型
RuleCondition
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Type | string | 匹配条件类型。限定枚举值:Host,Path | Yes | 
| HostConfig | HostConfigSet | 域名相关配置。Type为Host时必填。具体结构详见 HostConfigSet | No | 
| PathConfig | PathConfigSet | 路径相关配置。Type为Path时必填。具体结构详见 PathConfigSet | No | 
HostConfigSet
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| MatchMode | string | 匹配方式。限定枚举值:Regular-正则,Wildcard-泛域名; 默认值:Regular | No | 
| Values | array[string] | 取值。暂时只支持数组长度为1; 取值需符合相关匹配方式的条件 | Yes | 
PathConfigSet
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Values | array[string] | 取值。暂时只支持数组长度为1; 取值需符合相关匹配方式的条件 | Yes | 
RuleAction
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Type | string | 动作类型。限定枚举值:Forward | Yes | 
| ForwardConfig | ForwardConfigSet | 转发服务节点相关配置。 具体结构详见 ForwardConfigSet | No | 
ForwardConfigSet
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Targets | array[ForwardTargetSet] | 转发的后端服务节点。限定在监听器的服务节点池里;数组长度可以为0。具体结构详见 ForwardTargetSet | Yes | 
ForwardTargetSet
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Id | string | 服务节点的标识ID | Yes | 
| Weight | int | 权重。仅监听器负载均衡算法是加权轮询是有效;取值范围[1-100],默认值为1 | No | 
响应字段
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| RetCode | int | 返回状态码,为 0 则为成功返回,非 0 为失败 | Yes | 
| Action | string | 操作指令名称 | Yes | 
| Message | string | 返回错误消息,当 RetCode非 0 时提供详细的描述信息 | No | 
| RuleId | int | 转发规则的ID | No | 
示例
请求示例
curl 'https://api.tnqacloud.com' \
--header 'Content-Type: application/json' \
--data '{
  "Action": "CreateRule",
  "Region": "cn-bj2",
  "ProjectId": "org-XXXXX",
  "LoadBalancerId": "alb-XXXXX",
  "ListenerId": "als-XXXXX",
  "RuleConditions": [
    {
      "Type": "Host",
      "HostConfig": {
        "MatchMode": "Regular",
        "Values": ["www.test.com"]
      }
    },
    {
      "Type": "Path",
      "PathConfig": {
        "Values": ["/abc"]
      }
    }
  ],
  "RuleActions": [
    {
      "Type": "Forward",
      "ForwardConfig": {
        "Targets": [
          {
            "Id": "ars-XXXXX",
            "Weight": 1
          }
        ]
      }
    }
  ]
}'响应示例
{
  "Action": "CreateRuleResponse",
  "RetCode": 0,
  "RuleId": "rule-XXXXX"
}