创建转发规则
功能介绍
创建七层转发规则。
接口约束
如果l7policy是重定向到listener的话,不允许创建l7rule。
调用方法
请参见如何调用API。
URI
POST /v3/{project_id}/elb/l7policies/{l7policy_id}/rules
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| l7policy_id | 是 | String | 参数解释:转发策略ID。 |
| project_id | 是 | String | 参数解释:项目ID。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释:IAM鉴权Token。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| rule | 是 | CreateRuleOption object | 参数解释:转发规则对象。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| admin_state_up | 否 | Boolean | 参数解释:转发规则的管理状态。 约束限制:只支持设置为true。 |
| compare_type | 是 | String | 参数解释:转发匹配方式。 约束限制:
取值范围:
|
| key | 否 | String | 参数解释:匹配项的名称,比如转发规则匹配类型是请求头匹配,则key表示请求头参数的名称。 不支持该字段,请勿使用。 |
| value | 是 | String | 参数解释:匹配项的值。比如转发规则匹配类型是域名匹配,则value表示域名的值。 约束限制:仅当conditions空时该字段生效。 取值范围:
|
| project_id | 否 | String | 参数解释:转发规则所在的项目ID。 |
| type | 是 | String | 参数解释:转发规则类别。 约束限制:
取值范围:
|
| invert | 否 | Boolean | 参数解释:是否反向匹配。 取值范围:true、false,默认false。 不支持该字段,请勿使用。 |
| conditions | 否 | Array of CreateRuleCondition objects | 参数解释:转发规则的匹配条件。 约束限制:
|
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 否 | String | 参数解释:匹配项的名称。 约束限制:同一个rule内的conditions列表中所有key必须相同。 取值范围:
|
| value | 是 | String | 参数解释:匹配项的值。 约束限制:
取值范围:
|
响应参数
状态码:201
| 参数 | 参数类型 | 描述 |
|---|---|---|
| request_id | String | 参数解释:请求ID。 注:自动生成 。 |
| rule | L7Rule object | 参数解释:转发规则对象。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| admin_state_up | Boolean | 参数解释:转发规则的管理状,固定为true。 不支持该字段,请勿使用。 |
| compare_type | String | 参数解释:转发规则的匹配方式。 取值范围:type为HOST_NAME时可以为EQUAL_TO。type为PATH时可以为REGEX,STARTS_WITH,EQUAL_TO。 |
| key | String | 参数解释:匹配内容的键值。 约束限制:type为HOST_NAME和PATH时,该字段不生效。 |
| project_id | String | 参数解释:转发规则所在的项目ID。 |
| type | String | 参数解释:转发规则类别。 约束限制:
取值范围:
|
| value | String | 参数解释:匹配内容的值。 约束限制:仅当conditions空时该字段生效。 取值范围:
|
| provisioning_status | String | 参数解释:provisioning状态。该字段无效,默认为ACTIVE。 取值范围:ACTIVE、PENDING_CREATE 或者ERROR。 |
| invert | Boolean | 参数解释:是否反向匹配。 约束限制:固定为false。该字段能更新但不会生效。 |
| id | String | 参数解释:规则ID。 |
| conditions | Array of RuleCondition objects | 参数解释:转发规则的匹配条件。 约束限制:
|
| created_at | String | 参数解释:创建时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 |
| updated_at | String | 参数解释:更新时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 参数解释:匹配项的名称。 约束限制:同一个rule内的conditions列表中所有key必须相同。 取值范围:
|
| value | String | 参数解释:匹配项的值。 约束限制: 同一个rule内的conditions列表中所有value不允许重复。 取值范围:
|
请求示例
创建转发规则,并指定规则类型为路径
POST https://{ELB_Endpoint}/v3/{99a3fff0d03c428eac3678da6a7d0f24}/elb/l7policies/cf4360fd-8631-41ff-a6f5-b72c35da74be/rules
{
"rule" : {
"compare_type" : "EQUAL_TO",
"type" : "PATH",
"value" : "/bbb.html"
}
} 响应示例
状态码:201
POST操作正常返回。
{
"rule" : {
"compare_type" : "EQUAL_TO",
"provisioning_status" : "ACTIVE",
"project_id" : "99a3fff0d03c428eac3678da6a7d0f24",
"invert" : false,
"admin_state_up" : true,
"value" : "/bbb.html",
"key" : null,
"type" : "PATH",
"id" : "84f4fcae-9c15-4e19-a99f-72c0b08fd3d7"
},
"request_id" : "3639f1b7-f04b-496e-9218-ec5a9e493f69"
} 状态码
| 状态码 | 描述 |
|---|---|
| 201 | POST操作正常返回。 |
错误码
请参见错误码。