華為云計(jì)算 云知識 創(chuàng)建轉(zhuǎn)發(fā)規(guī)則CreateL7rule
創(chuàng)建轉(zhuǎn)發(fā)規(guī)則CreateL7rule

 

功能介紹

創(chuàng)建轉(zhuǎn)發(fā)規(guī)則。通過創(chuàng)建域名和路徑類型的轉(zhuǎn)發(fā)規(guī)則,可以匹配請求中的域名、路徑,匹配后的流量轉(zhuǎn)發(fā)到該轉(zhuǎn)發(fā)規(guī)則關(guān)聯(lián)的轉(zhuǎn)發(fā)策略的redirect_pool_id指定的后端 云服務(wù)器 組上。

接口約束

一個轉(zhuǎn)發(fā)策略下的轉(zhuǎn)發(fā)規(guī)則的匹配類型不能重復(fù)。

調(diào)試

您可以在API Explorer中直接運(yùn)行調(diào)試該接口。

URI

POST /v2/{project_id}/elb/l7policies/{l7policy_id}/rules

表1 參數(shù)說明

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

操作用戶的項(xiàng)目ID。

獲取方法詳見獲取項(xiàng)目ID。

l7policy_id

String

轉(zhuǎn)發(fā)策略id。

請求消息

表2 請求參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

rule

Rule object

轉(zhuǎn)發(fā)規(guī)則對象。詳見表3。

表3 rule字段說明

參數(shù)

是否必選

參數(shù)類型

描述

tenant_id

String

轉(zhuǎn)發(fā)規(guī)則所在的項(xiàng)目ID。

獲取方法詳見獲取項(xiàng)目ID。

需要和token中的project_id一致。

支持的最大字符長度:255

admin_state_up

Boolean

轉(zhuǎn)發(fā)規(guī)則的管理狀態(tài);

該字段為預(yù)留字段,暫未啟用。默認(rèn)為true。

type

String

轉(zhuǎn)發(fā)規(guī)則的匹配類型。

取值范圍:

  • HOST_NAME:匹配請求中的域名;
  • PATH:匹配請求中的路徑;

同一個轉(zhuǎn)發(fā)策略下轉(zhuǎn)發(fā)規(guī)則的type不能重復(fù)。

compare_type

String

轉(zhuǎn)發(fā)匹配方式:

type為HOST_NAME時,取值范圍:

  • EQUAL_TO:精確匹配;

type為PATH時,取值范圍:

  • REGEX:正則匹配;
  • STARTS_WITH:前綴匹配;
  • EQUAL_TO:精確匹配。

invert

Boolean

是否反向匹配;

取值范圍:true/false。默認(rèn)值:false;

該字段為預(yù)留字段,暫未啟用。

key

String

匹配內(nèi)容的鍵值。默認(rèn)為null。

該字段為預(yù)留字段,暫未啟用。

支持的最大字符長度:255

value

String

匹配內(nèi)容的值。不能包含空格。

支持的最大字符長度:128

  • 當(dāng)type為HOST_NAME時,取值范圍:String (100),字符串只能包含英文字母、數(shù)字、“-”或“.”,且必須以字母或數(shù)字開頭。
  • 當(dāng)type為PATH時,取值范圍:String (128)。當(dāng)轉(zhuǎn)發(fā)規(guī)則的compare_type為STARTS_WITH、EQUAL_TO時,字符串只能包含英文字母、數(shù)字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必須以"/"開頭。

響應(yīng)消息

表4 響應(yīng)參數(shù)

參數(shù)

參數(shù)類型

描述

rule

Rule object

轉(zhuǎn)發(fā)規(guī)則對象。詳見表5。

表5 rule字段說明

參數(shù)

參數(shù)類型

描述

id

String

轉(zhuǎn)發(fā)規(guī)則ID

tenant_id

String

轉(zhuǎn)發(fā)規(guī)則所在的項(xiàng)目ID。

支持的最大字符長度:255

project_id

String

此參數(shù)和tenant_id參數(shù)含義一樣,均指轉(zhuǎn)發(fā)規(guī)則所在的項(xiàng)目ID。

admin_state_up

Boolean

轉(zhuǎn)發(fā)規(guī)則的管理狀態(tài);

該字段為預(yù)留字段,暫未啟用。取值范圍:true/false。

  • true表示開啟。
  • false表示關(guān)閉。

type

String

轉(zhuǎn)發(fā)規(guī)則的匹配類型。

取值范圍:

  • HOST_NAME:匹配請求中的域名;
  • PATH:匹配請求中的路徑;

compare_type

String

轉(zhuǎn)發(fā)匹配方式:

type為HOST_NAME時,取值范圍:

  • EQUAL_TO:精確匹配;

type為PATH時,取值范圍:

  • REGEX:正則匹配;
  • STARTS_WITH:前綴匹配;
  • EQUAL_TO:精確匹配。

invert

Boolean

是否反向匹配;

取值范圍:true/false。默認(rèn)值:false;

該字段為預(yù)留字段,暫未啟用。

key

String

匹配內(nèi)容的鍵值。默認(rèn)為null。

該字段為預(yù)留字段,暫未啟用。

支持的最大字符長度:255

value

String

匹配內(nèi)容的值。

支持的最大字符長度:128

  • 當(dāng)type為HOST_NAME時,取值范圍:String (100),字符串只能包含英文字母、數(shù)字、“-”或“.”,且必須以字母或數(shù)字開頭。
  • 當(dāng)type為PATH時,取值范圍:String (128)。當(dāng)轉(zhuǎn)發(fā)規(guī)則的compare_type為STARTS_WITH、EQUAL_TO時,字符串只能包含英文字母、數(shù)字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必須以"/"開頭。

provisioning_status

String

該字段為預(yù)留字段,暫未啟用。

轉(zhuǎn)發(fā)規(guī)則的配置狀態(tài),可以為ACTIVE。

請求示例

  • 請求樣例 創(chuàng)建轉(zhuǎn)發(fā)規(guī)則
    POST https://{endpoint}/v2/a31d2bdcf7604c0faaddb058e1e08819/elb/
    l7policies/5ae0e1e7-5f0f-47a1-b39f-5d4c428a1586/rules { "rule": { "compare_type": "EQUAL_TO", "type": "PATH", "value": "/bbb.html" } }

響應(yīng)示例

  • 響應(yīng)樣例
    {
        "rule": {
            "compare_type": "EQUAL_TO", 
            "admin_state_up": true, 
            "provisioning_status": "ACTIVE",
            "tenant_id": "a31d2bdcf7604c0faaddb058e1e08819", 
            "project_id": "a31d2bdcf7604c0faaddb058e1e08819", 
            "invert": false, 
            "value": "/bbb.html", 
            "key": null, 
            "type": "PATH", 
            "id": "c6f457b8-bf6f-45d7-be5c-a3226945b7b1"
        }
    }

返回碼

請參見狀態(tài)碼。