更新时间:2024-04-19 GMT+08:00

查询转发规则列表

功能介绍

查询转发规则列表。

接口约束

  • 分页查询使用的参数为marker、limit、page_reverse。

  • marker和page_reverse只有和limit一起使用时才会生效,单独使用无效。

调用方法

请参见如何调用API

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

l7policy_id

String

策略ID。

表2 Query参数

参数

是否必选

参数类型

描述

limit

Integer

每页返回的个数。

最小值:0

最大值:2000

缺省值:2000

marker

String

上一页最后一条记录的ID。

使用说明:

  • 必须与limit一起使用。

  • 不指定时表示查询第一页。

  • 该字段不允许为空或无效的ID。

page_reverse

Boolean

是否反向查询。

取值:

  • true:查询上一页。

  • false:查询下一页,默认。

使用说明:

  • 必须与limit一起使用。

  • 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。

id

Array

转发规则ID。

支持多值查询,查询条件格式:id=xxx&id=xxx

compare_type

Array

转发匹配方式。

取值:

  • EQUAL_TO 表示精确匹配。

  • REGEX 表示正则匹配。

  • STARTS_WITH 表示前缀匹配。

支持多值查询,查询条件格式:compare_type=xxx&compare_type=xxx

provisioning_status

Array

转发规则的配置状态。

取值:ACTIVE 表示正常。

支持多值查询,查询条件格式:provisioning_status=xxx&provisioning_status=xxx

invert

Boolean

是否反向匹配。使用说明:固定为false。该字段能更新但不会生效。

admin_state_up

Boolean

转发规则的管理状态,默认为true。

不支持该字段,请勿使用。

value

Array

匹配内容的值。

支持多值查询,查询条件格式:value=xxx&value=xxx

key

Array

匹配内容的键值,用于标识规则。

支持多值查询,查询条件格式:key=xxx&key=xxx

不支持该字段,请勿使用。

type

Array

匹配类别,可以为HOST_NAME,PATH。

一个l7policy下创建的l7rule的type不能重复。

支持多值查询,查询条件格式:type=xxx&type=xxx

enterprise_project_id

Array

企业项目ID。不传时查询default企业项目"0"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。

支持多值查询,查询条件格式:enterprise_project_id=xxx&enterprise_project_id=xxx

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

IAM鉴权Token

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

request_id

String

请求ID。

注:自动生成 。

page_info

PageInfo object

分页信息。

rules

Array of L7Rule objects

规则对象列表。

表5 PageInfo

参数

参数类型

描述

previous_marker

String

分页查询结果中第一条记录的ID。通常用于配合page_reverse=true查询上一页。

next_marker

String

分页查询结果中最后一条记录的ID。通常用于查询下一页。

current_count

Integer

当前的记录数。

表6 L7Rule

参数

参数类型

描述

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时,该字段不生效。

最小长度:1

最大长度:255

project_id

String

转发规则所在的项目ID。

type

String

转发规则类别。

取值:

  • HOST_NAME:匹配域名。

  • PATH:匹配请求路径。

  • METHOD:匹配请求方法。

  • HEADER:匹配请求头。

  • QUERY_STRING:匹配请求查询参数。

  • SOURCE_IP:匹配请求源IP地址。

使用说明:

  • 一个l7policy下创建的l7rule的HOST_NAME,PATH,METHOD,SOURCE_IP不能重复。 HEADER、QUERY_STRING支持重复的rule配置。

value

String

匹配内容的值。仅当conditions空时该字段生效。

当type为HOST_NAME时,字符串只能包含英文字母、数字、-.,必须以字母、数字或开头。

若域名中包含*,则只能出现在开头且必须以.开始。当*开头时表示通配0~任一个字符。

当type为PATH时,当转发规则的compare_type为STARTS_WITH、EQUAL_TO时, 字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\/()[]{},且必须以/开头。

当type为METHOD、SOURCE_IP、HEADER,

QUERY_STRING时,该字段无意义,使用condition_pair来指定key,value。

最小长度:1

最大长度:128

provisioning_status

String

provisioning状态,可以为ACTIVE、PENDING_CREATE 或者ERROR。 说明:该字段无实际含义,默认为ACTIVE。

invert

Boolean

是否反向匹配。 使用说明:固定为false。该字段能更新但不会生效。

id

String

规则ID。

conditions

Array of RuleCondition objects

转发规则的匹配条件。当监听器的高级转发策略功能(enhance_l7policy_enable)开启后才会生效。 若转发规则配置了conditions,字段key、字段value的值无意义。 同一个rule内的conditions列表中所有key必须相同,value不允许重复。

created_at

String

创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。

注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。

updated_at

String

更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。

注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。

表7 RuleCondition

参数

参数类型

描述

key

String

匹配项的名称。

当转发规则类别type为HOST_NAME、PATH、METHOD、SOURCE_IP时,该字段固定为空字符串。

当转发规则类别type为HEADER时,key表示请求头参数的名称,value表示请求头参数的值。 key的长度限制1-40字符,只允许包含字母、数字和-_。

当转发规则类别type为QUERY_STRING时,key表示查询参数的名称,value表示查询参数的值。 key的长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号, '#','&','|',‘%’,‘~’,字母区分大小写。

同一个rule内的conditions列表中所有key必须相同。

最小长度:1

最大长度:128

value

String

匹配项的值。

当转发规则类别type为HOST_NAME时,key固定为空字符串,value表示域名的值。 value长度1-128字符,字符串只能包含英文字母、数字、-.*, 必须以字母、数字或*开头,*只能出现在开头且必须以*.开始。

当转发规则类别type为PATH时,key固定为空字符串,value表示请求路径的值。 value长度1-128字符。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时, 字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\/()[]{},且必须以"/"开头。

当转发规则类别type为HEADER时,key表示请求头参数的名称,value表示请求头参数的值。 value长度限制1-128字符,不支持空格, 双引号,支持以下通配符:*(匹配0个或更多字符)和?(正好匹配1个字符)。

当转发规则类别type为QUERY_STRING时,key表示查询参数的名称,value表示查询参数的值。 value长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号, '#','&','|',‘%’,‘~’,字母区分大小写,支持通配符:*(匹配0个或更多字符)和?(正好匹配1个字符)

当转发规则类别type为METHOD时,key固定为空字符串,value表示请求方式。value取值范围为:GET, PUT, POST,DELETE, PATCH, HEAD, OPTIONS。

当转发规则类别type为SOURCE_IP时,key固定为空字符串,value表示请求源地址。 value为CIDR格式,支持ipv4,ipv6。例如192.168.0.2/32,2049::49/64。

同一个rule内的conditions列表中所有value不允许重复。

最小长度:1

最大长度:128

请求示例

查询转发规则列表

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

响应示例

状态码: 200

操作正常返回。

{
  "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"
}

状态码

状态码

描述

200

操作正常返回。

错误码

请参见错误码