Skip to Content
Load Balance(ULB) DescribeRules

Describe the forwarding rules of application load balancing - DescribeRules

Overview

Describe a specified forwarding rule or all forwarding rules under an application-type load balancer listener

💡 The Weight of the default rule stays in sync with the actual Weight of the target.

Definition

Public Parameters

Parameter NameTypeDescription InformationRequired
ActionstringCorresponding API command name, the current API is DescribeRules.Yes
PublicKeystringThe user’s public key can be obtained from ConsoleYes
SignaturestringUser signature generated based on public key and API command, see Signature AlgorithmYes

Request Parameters

Parameter NameTypeDescription InformationRequired
RegionstringRegion. See List of Regions and Availability ZonesYes
ProjectIdstringProject ID. If not filled in, the default project is used, sub-accounts must be filled in. Please refer to the GetProjectList interface.Yes
LoadBalancerIdstringID of the Application Load Balancer InstanceYes
ListenerIdstringListener’s IDYes
RuleIdstringThe ID of the application load balancing forwarding rule. If RuleId is specified, only this rule will be described.No

Response Field

Field NameTypeDescription InformationRequired
RetCodeintReturn status code. If it is 0, it means successful return. If it is not 0, it means failure.Yes
ActionstringOperation command name.Yes
MessagestringReturns an error message, providing detailed description when RetCode is non-zero.No
Rulesarray[Rule]Forwarding Rule InformationYes

Data Model

Rule

Field NameTypeDescription InformationRequired
RuleIdstringID of the forwarding ruleNo
RuleConditionsarray[RuleCondition]Forwarding rule matching conditions. See RuleCondition for specific structure.No
RuleActionsarray[RuleAction]Forwarding action. For specific rules, see RuleAction.No
IsDefaultbooleanIs it the default forwarding rule?No
PassbooleanWhen the service node for forwarding is empty, should the rule be ignored?No

RuleCondition

Field NameTypeDescription InformationRequired
TypestringMatch condition type. Limited enumeration values: Host, PathYes
HostConfigHostConfigSetDomain-related configuration. Required when Type is Host. See HostConfigSet for specific structure.No
PathConfigPathConfigSetConfiguration related to the path. Required when Type is Path. For detailed structure, see PathConfigSet.No

RuleAction

Field NameTypeDescription InformationRequired
TypestringAction type. Limited enumeration values: Forward, “InsertHeader”, “Cors”, “FixedResponse”, “RemoveHeader”Yes
ForwardConfigForwardConfigSetForward service node related configuration, corresponding to type value: “Forward”. For specific structure, see ForwardConfigSet.No
FixedResponseConfigFixedResponseConfigSetStatic return related configuration, corresponding to type value: “FixedResponse”. For specific structure, see FixedResponseConfigSetNo
InsertHeaderConfigInsertHeaderConfigSetInsert header-related configuration, corresponding to the type value: “InsertHeader”. For the specific structure, see InsertHeaderConfigSet.No
CorsConfigCorsConfigSetConfiguration related to cross-domain, corresponding to type value: “Cors”. For specific structure, see CorsConfigSet.No
RemoveHeaderConfigRemoveHeaderConfigSetDelete header-related configuration, corresponding type value: “RemoveHeader”. For specific structure, see RemoveHeaderConfigSetNo
OrderintThe execution order of forwarding rule actions ranges from 1 to 1000, with actions executed from smallest to largest value. The value cannot be empty or duplicated.

Forward and FixedResponse types of actions do not consider Order and are executed last.
No

ForwardConfigSet

Field NameTypeDescription InformationRequired
Targetsarray[ForwardTargetSet]The backend service nodes to be forwarded. It is limited to the service node pool of the listener; the array length can be 0. See ForwardTargetSet for detailed structure.Yes

FixedResponseConfigSet

Field NameTypeDescription InformationRequired
HttpCodeintReturned HTTP response codes, only supporting 2xx, 4xx, 5xx numbers, where x is any digit.Yes
ContentstringReturned fixed content. Supports storing up to 1 KB, only supports printable characters within the ASCII code range ch >= 32 && ch < 127, excluding $.No

InsertHeaderConfigSet

Field NameTypeDescription InformationRequired
KeystringThe inserted header field name must be 1 to 40 characters long and can include uppercase and lowercase letters a-z, numbers, underscores (_), and hyphens (-). The header field name cannot be reused in InsertHeader.

The header field cannot use the following (case insensitive):

x-real-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-srcport, ucloud-alb-trace, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, authority.
Yes
ValuestringInserted header field content.

When ValueType is SystemDefined, the values are as follows:
ClientSrcPort: Client port.
ClientSrcIp: Client IP address.
Protocol: Protocol of the client’s request (HTTP or HTTPS).
RuleID: ID of the forwarding rule hit by the client’s request.
ALBID: ALB ID.
ALBPort: ALB port.

When ValueType is UserDefined:

You can customize the header field content, with a length limit of 1~128 characters, supporting printable characters in the ASCII range ch >= 32 && ch < 127, excluding $.

When ValueType is ReferenceHeader:

You can reference a specific field from the request header, with a length limit of 1~128 characters, supporting lowercase letters a~z, numbers, hyphens (-), and underscores (_).
Yes
ValueTypestringHeader field content type. Values:

UserDefined: User specified.

ReferenceHeader: Referencing a field from the user’s request header.

SystemDefined: System defined.
Yes

CorsConfigSet

Field NameTypeDescription InformationRequired
AllowOriginarray[string]Allowed access source list. Supports configuring only one element , or configuring one or more values.

A single value must start with http:// or https://, followed by a correct domain name or a first-level wildcard domain. (Example: http://
.test.abc.example.com)
A single value can be without a port or specify a port, with a port range: 1~65535.
Supports up to 5 values.
Yes
AllowHeadersarray[string]List of Headers allowed for cross-origin. Supports configuration as * or one or more value entries. A single value entry can only contain uppercase and lowercase letters, numbers, and cannot start or end with an underscore (_) or hyphen (-), with a maximum length limit of 32 characters. Supports up to 20 values.No
ExposeHeadersarray[string]List of allowed exposed Headers. Supports configuration as * or one or more value entries. A single value entry can only contain uppercase and lowercase letters, numbers, and cannot start or end with an underscore (_) or hyphen (-), with a maximum length of 32 characters. Supports up to 20 values.No
AllowMethodsarray[string]Select the allowed HTTP methods for cross-domain access. Values:

GET
POST
PUT
DELETE
HEAD
OPTIONS
PATCH
No
AllowCredentialsstringAllow carrying credential information. Values:

on: Yes.
off: No.
No
MaxAgeintThe maximum cache time for preflight requests in the browser, in seconds.

Value range: -1~172800.
No

RemoveHeaderConfigSet

Field NameTypeDescription InformationRequired
KeystringThe names of the header fields to be deleted, currently only the following default configured fields can be deleted: X-Real-IP, X-Forwarded-For, X-Forwarded-Proto, X-Forwarded-SrcPortYes

ForwardTargetSet

Field NameTypeDescription InformationRequired
IdstringIdentification ID of the service nodeYes
WeightintWeight. Only valid when the load balancing algorithm of the listener is weighted round robin; Value range [1-100], default value is 1.No

HostConfigSet

Field NameTypeDescription InformationRequired
Valuesarray[string]Value. Currently only supports an array length of 1; The value must meet the conditions of the relevant matching method.Yes
MatchModestringMatching method. Limited enumeration values: Regular-Regular, Wildcard-Wildcard domain; Default value: Regular.No

PathConfigSet

Field NameTypeDescription InformationRequired
Valuesarray[string]Value. Currently only supports an array length of 1; The value must meet the conditions of the relevant matching method.Yes

Example

Request Example

https://api.genesissai.com/?Action=DescribeRules &Region=cn-zj &ProjectId=AONmKvcb &LoadBalancerId=cCWlIOts &ListenerId=NmxHLcXL &RuleId=vNcPniOK

Response Example

{ "Action": "DescribeRulesResponse", "RetCode": 0, "Rules": [ { "IsDefault": true, "Pass": false, "RuleActions": [ { "InsertHeaderConfig": { "Key": "test1", "Value": "ClientSrcPort", "ValueType": "SystemDefined" }, "Order": 1, "Type": "InsertHeader" }, { "InsertHeaderConfig": { "Key": "test2", "Value": "test2", "ValueType": "UserDefined" }, "Order": 2, "Type": "InsertHeader" }, { "InsertHeaderConfig": { "Key": "test3", "Value": "test3", "ValueType": "UserDefined" }, "Order": 3, "Type": "InsertHeader" }, { "Order": 4, "RemoveHeaderConfig": { "Key": "X-Forwarded-Proto" }, "Type": "RemoveHeader" }, { "CorsConfig": { "AllowCredentials": "on", "AllowHeaders": [ "Origin", "Accept", "Accept" ], "AllowMethods": [ "OPTIONS", "HEAD", "GET", "POST", "PUT", "PATCH" ], "AllowOrigin": [ "http://example.com", "http://example.com", "https://example.com:123", "https://example.com:12313" ], "ExposeHeaders": [ "User-Agent", "Cache-Control" ], "MaxAge": -1 }, "Order": 5, "Type": "Cors" }, { "ForwardConfig": { "Targets": [ { "Id": "ars-XXXXX", "Weight": 1 } ] }, "Type": "Forward" } ], "RuleConditions": [ { "HostConfig": {}, "PathConfig": {}, "Type": "cn-zj" } ], "RuleId": "GHOQYSjh" } ] }