forked from docs/doc-exports
468 lines
46 KiB
ReStructuredText
468 lines
46 KiB
ReStructuredText
Adding a Forwarding Rule
|
|
========================
|
|
|
|
Function
|
|
^^^^^^^^
|
|
|
|
This API is used to add a forwarding rule.
|
|
|
|
URI
|
|
^^^
|
|
|
|
POST /v3/{project_id}/elb/l7policies/{l7policy_id}/rules
|
|
|
|
.. table:: **Table 1** Path parameters
|
|
|
|
=========== ========= ====== ===================================
|
|
Parameter Mandatory Type Description
|
|
=========== ========= ====== ===================================
|
|
l7policy_id Yes String Specifies the forwarding policy ID.
|
|
project_id Yes String Specifies the project ID.
|
|
=========== ========= ====== ===================================
|
|
|
|
Request Parameters
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
.. table:: **Table 2** Request header parameters
|
|
|
|
============ ========= ====== ================================================
|
|
Parameter Mandatory Type Description
|
|
============ ========= ====== ================================================
|
|
X-Auth-Token Yes String Specifies the token used for IAM authentication.
|
|
============ ========= ====== ================================================
|
|
|
|
.. table:: **Table 3** Request body parameters
|
|
|
|
+-----------+-----------+---------------------------------------------+--------------------------------+
|
|
| Parameter | Mandatory | Type | Description |
|
|
+===========+===========+=============================================+================================+
|
|
| rule | Yes | `CreateL7RuleOption <#C | Specifies the forwarding rule. |
|
|
| | | reateL7Rule__request_CreateL7RuleOption>`__ | |
|
|
| | | object | |
|
|
+-----------+-----------+---------------------------------------------+--------------------------------+
|
|
|
|
.. table:: **Table 4** CreateL7RuleOption
|
|
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| Parameter | Mandatory | Type | Description |
|
|
+=============================+=============================+=============================+=============================+
|
|
| admin_state_up | No | Boolean | Specifies the |
|
|
| | | | administrative status of |
|
|
| | | | the forwarding rule. The |
|
|
| | | | default value is **true**. |
|
|
| | | | |
|
|
| | | | This parameter is |
|
|
| | | | unsupported. Please do not |
|
|
| | | | use it. |
|
|
| | | | |
|
|
| | | | Default: **true** |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| compare_type | Yes | String | Specifies how requests are |
|
|
| | | | matched and forwarded. |
|
|
| | | | |
|
|
| | | | - If **type** is set to |
|
|
| | | | **HOST_NAME**, this |
|
|
| | | | parameter can only be |
|
|
| | | | set to **EQUAL_TO**. |
|
|
| | | | Asterisks (*) can be |
|
|
| | | | used as wildcard |
|
|
| | | | characters. |
|
|
| | | | |
|
|
| | | | - If **type** is set to |
|
|
| | | | **PATH**, this parameter |
|
|
| | | | can be set to **REGEX**, |
|
|
| | | | **STARTS_WITH**, or |
|
|
| | | | **EQUAL_TO**. |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| key | No | String | Specifies the key of the |
|
|
| | | | match item. For example, if |
|
|
| | | | an HTTP header is used for |
|
|
| | | | matching, **key** is the |
|
|
| | | | name of the HTTP header |
|
|
| | | | parameter. |
|
|
| | | | |
|
|
| | | | This parameter is |
|
|
| | | | unsupported. Please do not |
|
|
| | | | use it. |
|
|
| | | | |
|
|
| | | | Minimum: **1** |
|
|
| | | | |
|
|
| | | | Maximum: **255** |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| value | Yes | String | Specifies the value of the |
|
|
| | | | match item. For example, if |
|
|
| | | | a domain name is used for |
|
|
| | | | matching, **value** is the |
|
|
| | | | domain name. |
|
|
| | | | |
|
|
| | | | - If **type** is set to |
|
|
| | | | **HOST_NAME**, the value |
|
|
| | | | can contain letters, |
|
|
| | | | digits, hyphens (-), and |
|
|
| | | | periods (.) and must |
|
|
| | | | start with a letter or |
|
|
| | | | digit. If you want to |
|
|
| | | | use a wildcard domain |
|
|
| | | | name, enter an asterisk |
|
|
| | | | (*) as the leftmost |
|
|
| | | | label of the domain |
|
|
| | | | name. |
|
|
| | | | |
|
|
| | | | - If **type** is set to |
|
|
| | | | **PATH** and |
|
|
| | | | **compare_type** to |
|
|
| | | | **STARTS_WITH** or |
|
|
| | | | **EQUAL_TO**, the value |
|
|
| | | | must start with a slash |
|
|
| | | | (/) and can contain only |
|
|
| | | | letters, digits, and |
|
|
| | | | special characters |
|
|
| | | | \ |
|
|
| | | | _~';@^-%#&$.*+?,=!:|/()[]{} |
|
|
| | | | |
|
|
| | | | Minimum: **1** |
|
|
| | | | |
|
|
| | | | Maximum: **128** |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| project_id | No | String | Specifies the project ID. |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| type | Yes | String | Specifies the match |
|
|
| | | | content. The value can be |
|
|
| | | | one of the following: |
|
|
| | | | |
|
|
| | | | - **HOST_NAME**: A domain |
|
|
| | | | name will be used for |
|
|
| | | | matching. |
|
|
| | | | |
|
|
| | | | - **PATH**: A URL will be |
|
|
| | | | used for matching. |
|
|
| | | | |
|
|
| | | | If **type** is set to |
|
|
| | | | **HOST_NAME**, **PATH**, |
|
|
| | | | **METHOD**, or |
|
|
| | | | **SOURCE_IP**, only one |
|
|
| | | | forwarding rule can be |
|
|
| | | | created for each type. |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| invert | No | Boolean | Specifies whether reverse |
|
|
| | | | matching is supported. The |
|
|
| | | | value can be **true** or |
|
|
| | | | **false**, and the default |
|
|
| | | | value is **false**. |
|
|
| | | | |
|
|
| | | | This parameter is |
|
|
| | | | unsupported. Please do not |
|
|
| | | | use it. |
|
|
| | | | |
|
|
| | | | Default: **false** |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| conditions | No | Array of | Specifies the matching |
|
|
| | | `CreateRuleCon | conditions of the |
|
|
| | | dition <#CreateL7Rule__requ | forwarding rule. This |
|
|
| | | est_CreateRuleCondition>`__ | parameter will take effect |
|
|
| | | objects | when |
|
|
| | | | **enhance_l7policy_enable** |
|
|
| | | | is set to **true**. |
|
|
| | | | |
|
|
| | | | If **conditions** is |
|
|
| | | | specified, **key** and |
|
|
| | | | **value** will not take |
|
|
| | | | effect, and the value of |
|
|
| | | | this parameter will contain |
|
|
| | | | all conditions configured |
|
|
| | | | for the forwarding rule. |
|
|
| | | | The keys in the list must |
|
|
| | | | be the same, whereas each |
|
|
| | | | value must be unique. |
|
|
| | | | |
|
|
| | | | This parameter is |
|
|
| | | | unsupported. Please do not |
|
|
| | | | use it. |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
|
|
.. table:: **Table 5** CreateRuleCondition
|
|
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| Parameter | Mandatory | Type | Description |
|
|
+=============================+=============================+=============================+=============================+
|
|
| key | No | String | Specifies the key of match |
|
|
| | | | item. This parameter is |
|
|
| | | | left blank. |
|
|
| | | | |
|
|
| | | | Minimum: **1** |
|
|
| | | | |
|
|
| | | | Maximum: **128** |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
| value | Yes | String | Specifies the value of the |
|
|
| | | | match item. |
|
|
| | | | |
|
|
| | | | - If **type** is set to |
|
|
| | | | **HOST_NAME**, **key** |
|
|
| | | | is left blank, and |
|
|
| | | | **value** indicates the |
|
|
| | | | domain name, which can |
|
|
| | | | contain 1 to 128 |
|
|
| | | | characters, including |
|
|
| | | | letters, digits, hyphens |
|
|
| | | | (-), periods (.), and |
|
|
| | | | asterisks (*), and must |
|
|
| | | | start with a letter, |
|
|
| | | | digit, or asterisk (*). |
|
|
| | | | If you want to use a |
|
|
| | | | wildcard domain name, |
|
|
| | | | enter an asterisk (*) as |
|
|
| | | | the leftmost label of |
|
|
| | | | the domain name. |
|
|
| | | | |
|
|
| | | | - If **type** is set to |
|
|
| | | | **PATH**, **key** is |
|
|
| | | | left blank, and |
|
|
| | | | **value** indicates the |
|
|
| | | | request path, which can |
|
|
| | | | contain 1 to 128 |
|
|
| | | | characters. If |
|
|
| | | | **compare_type** is set |
|
|
| | | | to **STARTS_WITH** or |
|
|
| | | | **EQUAL_TO** for the |
|
|
| | | | forwarding rule, the |
|
|
| | | | value must start with a |
|
|
| | | | slash (/) and can |
|
|
| | | | contain only letters, |
|
|
| | | | digits, and special |
|
|
| | | | characters |
|
|
| | | | \ |
|
|
| | | | _~';@^-%#&$.*+?,=!:|/()[]{} |
|
|
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
|
|
|
Response Parameters
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
**Status code: 201**
|
|
|
|
.. table:: **Table 6** Response body parameters
|
|
|
|
+------------+---------------------------------------------------+---------------------------------------------------+
|
|
| Parameter | Type | Description |
|
|
+============+===================================================+===================================================+
|
|
| request_id | String | Specifies the request ID. The value is |
|
|
| | | automatically generated. |
|
|
+------------+---------------------------------------------------+---------------------------------------------------+
|
|
| rule | `L7Rule <#CreateL7Rule__response_L7Rule>`__ | Specifies the forwarding rule. |
|
|
| | object | |
|
|
+------------+---------------------------------------------------+---------------------------------------------------+
|
|
|
|
.. table:: **Table 7** L7Rule
|
|
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| Parameter | Type | Description |
|
|
+=======================================+=======================================+=======================================+
|
|
| admin_state_up | Boolean | Specifies the administrative status |
|
|
| | | of the forwarding rule. The default |
|
|
| | | value is **true**. |
|
|
| | | |
|
|
| | | This parameter is unsupported. Please |
|
|
| | | do not use it. |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| compare_type | String | Specifies how requests are matched |
|
|
| | | with the domain name or URL. |
|
|
| | | |
|
|
| | | - If **type** is set to |
|
|
| | | **HOST_NAME**, this parameter can |
|
|
| | | only be set to **EQUAL_TO**. |
|
|
| | | |
|
|
| | | - If **type** is set to **PATH**, |
|
|
| | | this parameter can be set to |
|
|
| | | **REGEX**, **STARTS_WITH**, or |
|
|
| | | **EQUAL_TO**. |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| key | String | Specifies the key of the match |
|
|
| | | content. This parameter will not take |
|
|
| | | effect when **type** is set to |
|
|
| | | **HOST_NAME** or **PATH**. It can be |
|
|
| | | updated but will not take effect. |
|
|
| | | |
|
|
| | | This parameter is unsupported. Please |
|
|
| | | do not use it. |
|
|
| | | |
|
|
| | | Minimum: **1** |
|
|
| | | |
|
|
| | | Maximum: **255** |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| project_id | String | Specifies the project ID. |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| type | String | Specifies the match content. The |
|
|
| | | value can be one of the following: |
|
|
| | | |
|
|
| | | - **HOST_NAME**: A domain name will |
|
|
| | | be used for matching. |
|
|
| | | |
|
|
| | | - **PATH**: A URL will be used for |
|
|
| | | matching. |
|
|
| | | |
|
|
| | | If **type** is set to **HOST_NAME**, |
|
|
| | | **PATH**, **METHOD**, or |
|
|
| | | **SOURCE_IP**, only one forwarding |
|
|
| | | rule can be created for each type. |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| value | String | Specifies the value of the match |
|
|
| | | item. For example, if a domain name |
|
|
| | | is used for matching, **value** is |
|
|
| | | the domain name. |
|
|
| | | |
|
|
| | | - If **type** is set to |
|
|
| | | **HOST_NAME**, the value can |
|
|
| | | contain letters, digits, hyphens |
|
|
| | | (-), and periods (.) and must |
|
|
| | | start with a letter or digit. If |
|
|
| | | you want to use a wildcard domain |
|
|
| | | name, enter an asterisk (*) as the |
|
|
| | | leftmost label of the domain name. |
|
|
| | | |
|
|
| | | - If **type** is set to **PATH** and |
|
|
| | | **compare_type** to |
|
|
| | | **STARTS_WITH** or **EQUAL_TO**, |
|
|
| | | the value must start with a slash |
|
|
| | | (/) and can contain only letters, |
|
|
| | | digits, and special characters |
|
|
| | | \_~';@^-%#&$.*+?,=!:|/()[]{} |
|
|
| | | |
|
|
| | | Minimum: **1** |
|
|
| | | |
|
|
| | | Maximum: **128** |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| provisioning_status | String | Specifies the provisioning status of |
|
|
| | | the forwarding rule. |
|
|
| | | |
|
|
| | | The value can only be **ACTIVE**. |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| invert | Boolean | Specifies whether reverse matching is |
|
|
| | | supported. The value is fixed at |
|
|
| | | **false**. This parameter can be |
|
|
| | | updated but remains invalid. |
|
|
| | | |
|
|
| | | Default: **false** |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| id | String | Specifies the forwarding policy ID. |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| conditions | Array of | Specifies the matching conditions of |
|
|
| | `RuleCondition <#Cre | the forwarding rule. |
|
|
| | ateL7Rule__response_RuleCondition>`__ | |
|
|
| | objects | - If **conditions** is specified, |
|
|
| | | **key** and **value** will not |
|
|
| | | take effect, and the value of this |
|
|
| | | parameter will contain all |
|
|
| | | conditions configured for the |
|
|
| | | forwarding rule. The keys in the |
|
|
| | | list must be the same, whereas |
|
|
| | | each value must be unique. |
|
|
| | | |
|
|
| | | - If **conditions** is not |
|
|
| | | specified, the values of **key** |
|
|
| | | and **value** are displayed. |
|
|
| | | |
|
|
| | | This parameter is unsupported. Please |
|
|
| | | do not use it. |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
|
|
.. table:: **Table 8** RuleCondition
|
|
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| Parameter | Type | Description |
|
|
+=======================================+=======================================+=======================================+
|
|
| key | String | Specifies the key of match item. This |
|
|
| | | parameter is left blank. |
|
|
| | | |
|
|
| | | Minimum: **1** |
|
|
| | | |
|
|
| | | Maximum: **128** |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
| value | String | Specifies the value of the match |
|
|
| | | item. |
|
|
| | | |
|
|
| | | - If **type** is set to |
|
|
| | | **HOST_NAME**, **key** is left |
|
|
| | | blank, and **value** indicates the |
|
|
| | | domain name, which can contain 1 |
|
|
| | | to 128 characters, including |
|
|
| | | letters, digits, hyphens (-), |
|
|
| | | periods (.), and asterisks (*), |
|
|
| | | and must start with a letter, |
|
|
| | | digit, or asterisk (*). If you |
|
|
| | | want to use a wildcard domain |
|
|
| | | name, enter an asterisk (*) as the |
|
|
| | | leftmost label of the domain name. |
|
|
| | | |
|
|
| | | - If **type** is set to **PATH**, |
|
|
| | | **key** is left blank, and |
|
|
| | | **value** indicates the request |
|
|
| | | path, which can contain 1 to 128 |
|
|
| | | characters. If **compare_type** is |
|
|
| | | set to **STARTS_WITH** or |
|
|
| | | **EQUAL_TO** for the forwarding |
|
|
| | | rule, the value must start with a |
|
|
| | | slash (/) and can contain only |
|
|
| | | letters, digits, and special |
|
|
| | | characters |
|
|
| | | \_~';@^-%#&$.*+?,=!:|/()[]{} |
|
|
| | | |
|
|
| | | Minimum: **1** |
|
|
| | | |
|
|
| | | Maximum: **128** |
|
|
+---------------------------------------+---------------------------------------+---------------------------------------+
|
|
|
|
Example Requests
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
.. code:: screen
|
|
|
|
POST
|
|
|
|
https://{elb_endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/l7policies/cf4360fd-8631-41ff-a6f5-b72c35da74be/rules
|
|
|
|
{
|
|
"rule" : {
|
|
"compare_type" : "EQUAL_TO",
|
|
"type" : "PATH",
|
|
"value" : "/bbb.html"
|
|
}
|
|
}
|
|
|
|
Example Responses
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
**Status code: 201**
|
|
|
|
Successful request.
|
|
|
|
.. code:: screen
|
|
|
|
{
|
|
"rule" : {
|
|
"compare_type" : "EQUAL_TO",
|
|
"provisioning_status" : "ACTIVE",
|
|
"project_id" : "99a3fff0d03c428eac3678da6a7d0f24",
|
|
"invert" : false,
|
|
"admin_state_up" : true,
|
|
"value" : "/bbb.html",
|
|
"type" : "PATH",
|
|
"id" : "84f4fcae-9c15-4e19-a99f-72c0b08fd3d7"
|
|
},
|
|
"request_id" : "3639f1b7-f04b-496e-9218-ec5a9e493f69"
|
|
}
|
|
|
|
Status Codes
|
|
^^^^^^^^^^^^
|
|
|
|
=========== ===================
|
|
Status Code Description
|
|
=========== ===================
|
|
201 Successful request.
|
|
=========== ===================
|
|
|
|
Error Codes
|
|
^^^^^^^^^^^
|
|
|
|
See `Error Codes <errorcode.html>`__.
|
|
|
|
**Parent topic:** `Forwarding Rule <topic_300000010.html>`__
|