Updated on 2025-09-28 GMT+08:00

Querying Forwarding Rules

Function

This API is used to query all forwarding rules.

Constraints

This API has the following constraints:

  • Parameters marker, limit, and page_reverse are used for pagination query.

  • Parameters marker and page_reverse take effect only when they are used together with parameter limit.

Calling Method

For details, see Calling APIs.

URI

GET /v3/{project_id}/elb/l7policies/{l7policy_id}/rules

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition: Specifies the project ID. For details about how to obtain a project ID, see Obtaining a Project ID.

Constraints: N/A

Range: The value can contain a maximum of 32 characters, including digits and lowercase letters.

Default value: N/A

l7policy_id

Yes

String

Definition: Specifies the forwarding policy ID.

Constraints: N/A

Range: N/A

Default value: N/A

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

limit

No

Integer

Definition: Specifies the number of records returned on each page.

Constraints: N/A

Range: 0 to 2000

Default value: 2000

marker

No

String

Definition: Specifies the ID of the last record on the previous page.

Constraints:

  • This parameter must be used together with limit.

  • If the parameter is not specified, only resources on the first page are queried.

  • This parameter cannot be left blank or set to an invalid ID.

Range: N/A

Default value: N/A

page_reverse

No

Boolean

Definition: Specifies whether to use reverse query.

Constraints:

  • This parameter must be used together with limit.

  • If page_reverse is set to true and you want to query the resources on the previous page, set the value of marker to the value of previous_marker.

Range:

  • true: Query resources on the previous page.

  • false: Query resources on the next page.

Default value: false

id

No

Array of strings

Definition: Specifies the forwarding rule ID.

Multiple IDs can be used for query in the format of id=xxx&id=xxx.

Constraints: N/A

Range: N/A

Default value: N/A

compare_type

No

Array of strings

Definition: Specifies how requests are matched.

Multiple values can be used for query in the format of compare_type=xxx&compare_type=xxx.

Range:

  • EQUAL_TO: exact match.

  • REGEX: regular expression match

  • STARTS_WITH: prefix match

Default value: N/A

provisioning_status

No

Array of strings

Definition: Specifies the provisioning status of the forwarding rule.

Multiple provisioning statuses can be used for query in the format of provisioning_status=xxx&provisioning_status=xxx.

Constraints: N/A

Range: The value can only be ACTIVE, indicating that the forwarding rule is provisioned successfully.

Default value: N/A

invert

No

Boolean

Definition: Specifies whether reverse matching is supported.

Constraints: N/A

Range: false

Default value: N/A

admin_state_up

No

Boolean

Definition: Specifies the administrative status of the forwarding rule.

This parameter is unsupported. Please do not use it.

Constraints: N/A

Range: N/A

Default value: N/A

value

No

Array of strings

Definition: Specifies the value of the match content.

Multiple values can be used for query in the format of value=xxx&value=xxx.

Constraints: N/A

Range: N/A

Default value: N/A

key

No

Array of strings

Definition: Specifies the key of the match content that is used to identify the forwarding rule.

Multiple keys can be used for query in the format of key=xxx&key=xxx.

Constraints: N/A

Range: N/A

Default value: N/A

type

No

Array of strings

Definition: Specifies the match type. The value can be HOST_NAME or PATH.

Multiple types can be used for query in the format of type=xxx&type=xxx.

Constraints: N/A

Range: N/A

Default value: N/A

enterprise_project_id

No

Array of strings

Definition: Specifies the ID of the enterprise project.

Multiple values can be used for query in the format of: enterprise_project_id=xxx&enterprise_project_id=xxx.

Constraints:

  • If enterprise_project_id is not specified, resources in all enterprise projects are queried by default. Fine-grained authorization is performed. The elb:l7rules:list permission must be assigned to the user group.

  • If enterprise_project_id is specified, the value can be a specific enterprise project ID or all_granted_eps. If the value is a specific enterprise project ID, only resources in the enterprise project are queried. If the value is all_granted_eps, resources in the enterprise projects with the elb:l7rules:list permission are queried.

Range: N/A

Default value: N/A

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition: Specifies the token used for IAM authentication.

Constraints: N/A

Range: N/A

Default value: N/A

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

request_id

String

Definition: Specifies the request ID.

Range: The value is automatically generated, and can contain characters including digits, lowercase letters, and hyphens (-).

page_info

PageInfo object

Definition: Specifies the pagination information.

rules

Array of L7Rule objects

Definition: Lists the forwarding rules.

Table 5 PageInfo

Parameter

Type

Description

previous_marker

String

Definition: Specifies the ID of the first record in the pagination query result. If page_reverse is set to true, this parameter is used together to query resources on the previous page.

Range: N/A

next_marker

String

Definition: Specifies the ID of the last record in the pagination query result. It is usually used to query resources on the next page.

Range: N/A

current_count

Integer

Definition: Specifies the number of records returned on the current page.

Range: N/A

Table 6 L7Rule

Parameter

Type

Description

admin_state_up

Boolean

Definition: Specifies the administrative status of the forwarding rule.

Range: The value can only be true.

This parameter is unsupported. Please do not use it.

compare_type

String

Definition: Specifies how requests are matched with the forwarding rule.

Range: If type is set to HOST_NAME, this parameter can only be set to EQUAL_TO. If type is set to PATH, the value can be REGEX, STARTS_WITH, or EQUAL_TO.

key

String

Definition: Specifies the key of the match content.

Range: N/A

project_id

String

Definition: Specifies the ID of the project where the forwarding rule is used.

Range: N/A

type

String

Definition: Specifies the forwarding rule type.

Range:

  • HOST_NAME: A domain name will be used for matching.

  • PATH: A URL will be used for matching.

  • METHOD: A request method will be used for matching.

  • HEADER: A request header will be used for matching.

  • QUERY_STRING: A query string will be used for matching.

  • SOURCE_IP: A source IP address will be used for matching.

  • COOKIE: A cookie will be used for matching.

value

String

Definition: Specifies the value of the match item.

Range:

  • If type is set to HOST_NAME, the value can contain 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 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: _~';@^-%#&$.*+?,=!:|\/()[]{}

  • If type is set to METHOD, SOURCE_IP, HEADER, or QUERY_STRING, this parameter will not take effect, and conditions will be used to specify the key and value.

provisioning_status

String

Definition: Specifies the provisioning status of the forwarding rule. This parameter is invalid. The default value is ACTIVE.

Range: ACTIVE, PENDING_CREATE, or ERROR.

invert

Boolean

Definition: Specifies whether reverse matching is supported.

Range: N/A

id

String

Definition: Specifies the forwarding rule ID.

Range: N/A

conditions

Array of RuleCondition objects

Definition: Specifies the conditions contained in a forwarding rule.

Range: N/A

created_at

String

Definition: Specifies the creation time.

Range: The value must be a UTC time in the yyyy-MM-dd'T'HH:mm:ss'Z' format.

updated_at

String

Definition: Specifies the update time.

Range: The value must be a UTC time in the yyyy-MM-dd'T'HH:mm:ss'Z' format.

Table 7 RuleCondition

Parameter

Type

Description

key

String

Definition: Specifies the key of match item.

Constraints: All keys in the conditions list in the same rule must be the same.

Range:

  • If type is set to HOST_NAME, PATH, METHOD, or SOURCE_IP, this parameter is an empty string.

  • If type is set to HEADER, key indicates the name of the HTTP header parameter, and value indicates the value of the request header parameter. Each key can contain 1 to 40 characters, including letters, digits, hyphens (-), and underscores (_).

  • If type is set to QUERY_STRING, key indicates the name of the query parameter, and value indicates the value of the query parameter. The key is case sensitive and can contain 1 to 128 characters. Spaces, square brackets ([ ]), curly brackets ({ }), angle brackets (< >), backslashes (), double quotation marks (" "), pound signs (#), ampersands (&), vertical bars (|), percent signs (%), and tildes (~) are not allowed.

Default value: N/A

value

String

Definition: Specifies the value of the match item.

Constraints: The value of each condition in a forwarding rule must be unique.

Range:

  • If type is set to HOST_NAME, key is always an empty string and value indicates the domain name. Each value 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 always an empty string 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 a forwarding rule, the value must start with a slash (/) and can contain only letters, digits, and special characters: _~';@^-%#&$.*+?,=!:|\/()[]{}

  • If type is set to HEADER, key indicates the name of the HTTP header parameter, and value indicates the value of the request header parameter. The value can contain 1 to 128 characters. Asterisks (*) and question marks (?) are allowed, but spaces and double quotation marks are not allowed. An asterisk can match zero or more characters, and a question mark can match one character.

  • If type is set to QUERY_STRING, key indicates the name of the query parameter, and value indicates the value of the query parameter. The value is case sensitive and can contain 1 to 128 characters. Spaces, square brackets ([ ]), curly brackets ({ }), angle brackets (< >), backslashes (), double quotation marks (" "), pound signs (#), ampersands (&), vertical bars (|), percent signs (%), and tildes (~) are not allowed. Asterisks (*) and question marks (?) are allowed. An asterisk can match zero or more characters, and a question mark can match one character.

  • If type is set to METHOD, key is always an empty string and value indicates the HTTP method. The value can be GET, PUT, POST, DELETE, PATCH, HEAD, or OPTIONS.

  • If type is set to SOURCE_IP, key is always an empty string and value indicates the source IP address of the request. The value is an IPv4 or IPv6 CIDR block, for example, 192.168.0.2/32 or 2049::49/64.

Default value: N/A

Example Requests

Querying forwarding rules

GET https://{ELB_Endpoint}/v3/{99a3fff0d03c428eac3678da6a7d0f24}/elb/l7policies/cf4360fd-8631-41ff-a6f5-b72c35da74be/rules

Example Responses

Status code: 200

Successful request.

{
  "rules" : [ {
    "compare_type" : "STARTS_WITH",
    "provisioning_status" : "ACTIVE",
    "project_id" : "99a3fff0d03c428eac3678da6a7d0f24",
    "invert" : false,
    "admin_state_up" : true,
    "value" : "/ccc.html",
    "key" : null,
    "type" : "PATH",
    "id" : "84f4fcae-9c15-4e19-a99f-72c0b08fd3d7"
  } ],
  "page_info" : {
    "previous_marker" : "84f4fcae-9c15-4e19-a99f-72c0b08fd3d7",
    "current_count" : 1
  },
  "request_id" : "ae4dbd7d-9271-4040-98b6-3bfe45bb15ee"
}

Status Codes

Status Code

Description

200

Successful request.

Error Codes

See Error Codes.