Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-17 GMT+08:00

Adición de una regla de reenvío

Función

Esta API se utiliza para agregar una regla de reenvío.

Restricciones

Si la acción de 17policy se establece en Redirect to another listener, 17rule no se puede crear.

URI

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

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

l7policy_id

String

Especifica el ID de política de reenvío.

project_id

String

Especifica el ID del proyecto.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Especifica el token utilizado para la autenticación IAM.

Tabla 3 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

rule

CreateRuleOption object

Especifica la regla de reenvío.

Tabla 4 CreateRuleOption

Parámetro

Obligatorio

Tipo

Descripción

admin_state_up

No

Boolean

Especifica el estado administrativo de la regla de reenvío. El valor predeterminado es true.

Este parámetro no es compatible. Por favor, no lo use.

compare_type

String

Especifica cómo se comparan las solicitudes con la regla de reenvío. Valores:

  • EQUAL_TO: coincidencia exacta.
  • REGEX: coincidencia de expresiones regulares
  • STARTS_WITH: coincidencia de prefijos

Nota:

  • Si type se establece en HOST_NAME, el valor solo puede ser EQUAL_TO y los asteriscos (*) pueden usarse como caracteres comodín.
  • Si type se establece en PATH, el valor puede ser REGEX, STARTS_WITH o EQUAL_TO.
  • Si type se establece en METHOD o SOURCE_IP, el valor solo puede ser EQUAL_TO.
  • Si type se establece en HEADER o QUERY_STRING, el valor solo puede ser EQUAL_TO, los asteriscos (*) y los signos de interrogación (?) pueden usarse como caracteres comodín.

key

No

String

Especifica la clave del contenido de coincidencia. Por ejemplo, si el encabezado de solicitud se usa para reenviar, key es el encabezado de solicitud.

Este parámetro no es compatible. Por favor, no lo use.

Mínimo: 0

Máximo: 255

value

String

Especifica el valor del contenido de coincidencia. Por ejemplo, si se utiliza un nombre de dominio para hacer coincidir, value es el nombre de dominio. Este parámetro sólo es válido cuando conditions se dejan en blanco.

  • Si type se establece en HOST_NAME, el valor puede contener letras, dígitos, guiones (-) puntos y asteriscos () and must start with a letter or digit. Si desea utilizar un nombre de dominio comodín, introduzca un asterisco () como la etiqueta más a la izquierda del nombre de dominio.
  • Si type se establece en PATH y compare_type en STARTS_WITH or EQUAL_TO, el valor solo puede contener letras, dígitos y caracteres especiales _~';@^-%#&$.*+?,=!:|/()[]{}
  • Si type se establece en METHOD, SOURCE_IP, HEADER, o QUERY_STRING, este parámetro no tendrá efecto, y conditions se utilizará para especificar la clave y el valor.

Mínimo: 1

Máximo: 128

project_id

No

String

Especifica el ID del proyecto.

Mínimo: 32

Máximo: 32

type

Yes

String

Especifica el contenido de coincidencia. El valor puede ser uno de los siguientes:

  • HOST_NAME: Se usará un nombre de dominio para hacer coincidir.
  • PATH: Se usará una URL para hacer coincidir.
  • METHOD: Se usará un método de petición HTTP para la coincidencia.
  • HEADER: El encabezado de solicitud se usará para la coincidencia.
  • QUERY_STRING: Se usará una cadena de consulta para la coincidencia.
  • SOURCE_IP: La dirección IP de origen se usará para la coincidencia. Nota: Si type se establece en HOST_NAME, PATH, METHOD, o SOURCE_IP, solo se puede crear una regla de reenvío para cada tipo.

invert

No

Boolean

Especifica si se admite la coincidencia inversa. El valor puede ser true o false (por defecto).

Este parámetro no es compatible. Por favor, no lo use.

conditions

No

Array of CreateRuleCondition objects

Especifica las condiciones coincidentes de la regla de reenvío. Este parámetro sólo está disponible cuando enhance_l7policy_enable está establecido en true.

Si se especifican conditions, los parámetros key y value no tendrán efecto, y el valor de conditions contendrá todas las condiciones configuradas para la regla de reenvío. Las claves de la lista deben ser las mismas, mientras que cada valor debe ser único.

Este parámetro no está disponible en la región eu-nl. Por favor, no lo use.

Tabla 5 CreateRuleCondition

Parámetro

Obligatorio

Tipo

Descripción

key

No

String

Especifica la clave del elemento de coincidencia.

  • Si type se establece en HOST_NAME, PATH, METHOD, o SOURCE_IP, este parámetro se deja en blanco.
  • Si type se establece en HEADER, key indica el nombre del parámetro de encabezado HTTP. El valor puede contener de 1 a 40 caracteres, incluyendo letras, dígitos, guiones (-) y guiones bajos (_).
  • Si type se establece en QUERY_STRING, key indica el nombre del parámetro de consulta. El valor distingue entre mayúsculas y minúsculas y puede contener de 1 a 128 caracteres. Espacios, corchetes ([ ]), corchetes rizados ({ }), corchetes angulares (< >), barras diagonales invertidas (), comillas dobles (" signo "), libra (#), ampersands (& ), las barras verticales (|), los signos de porcentaje (%) y los (~) de tildes no son compatibles.

Todas las claves de la lista de condiciones de la misma regla deben ser las mismas.

Mínimo: 1

Máximo: 128

value

String

Especifica el valor del elemento de coincidencia.

  • Si type se establece en HOST_NAME, key se deja en blanco y value indica el nombre de dominio, que puede contener de 1 a 128 caracteres, incluyendo letras, dígitos, guiones (-) puntos y asteriscos (), and must start with a letter, digit, or asterisk (). Si desea utilizar un nombre de dominio comodín, introduzca un asterisco (*) como la etiqueta más a la izquierda del nombre de dominio.
  • Si type se establece en PATH, key se deja en blanco y el value indica la ruta de la solicitud, que puede contener de 1 a 128 caracteres. Si compare_type se establece en STARTS_WITH o EQUAL_TO para la regla de reenvío, el valor debe comenzar con una barra diagonal (/) y puede contener sólo letras, dígitos y caracteres especiales _~';@^-%#& $.*+?,=!:|/) []{}
  • Si type se establece en HEADER, key indica el nombre del parámetro de encabezado HTTP y value indica el valor del parámetro de encabezado HTTP. El valor puede contener de 1 a 128 caracteres. Se permiten asteriscos (*) y signos de interrogación (?) pero no se permiten espacios ni comillas dobles. Un asterisco puede coincidir con cero o más caracteres, y un signo de interrogación puede coincidir con 1 carácter.
  • Si type se establece en QUERY_STRING, key indica el nombre del parámetro de consulta y value indica el valor del parámetro de consulta. El valor distingue entre mayúsculas y minúsculas y puede contener de 1 a 128 caracteres. Espacios, corchetes ([ ]), corchetes rizados ({ }), corchetes angulares (< >), barras diagonales invertidas (), comillas dobles (" signo "), libra (#), ampersands (& ), las barras verticales (|), los signos de porcentaje (%) y los (~) de tildes no son compatibles. Se permiten asteriscos (*) y signos de interrogación (?). Un asterisco puede coincidir con cero o más caracteres, y un signo de interrogación puede coincidir con 1 carácter.
  • Si type se establece en METHOD, key se deja en blanco, y value indica el método HTTP. El valor puede ser GET, PUT, POST, DELETE, PATCH, HEAD, u OPTIONS.
  • Si type se establece en SOURCE_IP, key se deja en blanco, y value indica la dirección IP de origen de la solicitud. El valor es un bloque CIDR IPv4 o IPv6, por ejemplo, 192.168.0.2/32 o 2049::49/64.

Todas las claves de la lista de condiciones de la misma regla deben ser las mismas.

Mínimo: 1

Máximo: 128

Parámetros de respuesta

Código de estado: 201

Tabla 6 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

request_id

String

Especifica el ID de la solicitud. El valor se genera automáticamente.

rule

L7Rule object

Especifica la regla de reenvío.

Tabla 7 L7Rule

Parámetro

Tipo

Descripción

admin_state_up

Boolean

Especifica el estado administrativo de la regla de reenvío. El valor predeterminado es true.

Este parámetro no es compatible. Por favor, no lo use.

compare_type

String

Especifica cómo se hacen coincidir las solicitudes con el nombre de dominio o la dirección URL.

  • Si type se establece en HOST_NAME, este parámetro solo se puede establecer en EQUAL_TO.
  • Si type se establece en PATH, el valor puede ser REGEX, STARTS_WITH o EQUAL_TO.

key

String

Especifica la clave del contenido de coincidencia. Este parámetro no tendrá efecto si type se establece en HOST_NAME o PATH.

Mínimo: 1

Máximo: 255

project_id

String

Especifica el ID del proyecto.

type

String

Especifica el tipo de regla de reenvío. El valor puede ser uno de los siguientes:

  • HOST_NAME: Se usará un nombre de dominio para hacer coincidir.
  • PATH: Se usará una URL para hacer coincidir.
  • METHOD: Se usará un método de petición HTTP para la coincidencia.
  • HEADER: El encabezado de solicitud se usará para la coincidencia.
  • QUERY_STRING: Se usará una cadena de consulta para la coincidencia.
  • SOURCE_IP: La dirección IP de origen se usará para la coincidencia.

Nota:

Si type se establece en HOST_NAME, PATH, METHOD, y SOURCE_IP, sólo se puede crear una regla de reenvío para cada tipo. Si type se establece en HEADER y QUERY_STRING, se pueden crear varias reglas de reenvío para cada tipo.

value

String

Especifica el valor del elemento de coincidencia. Por ejemplo, si se utiliza un nombre de dominio para hacer coincidir, value es el nombre de dominio. Este parámetro solo tendrá efecto cuando conditions se dejan en blanco.

  • Si type se establece en HOST_NAME, el valor puede contener letras, dígitos, guiones (-) y puntos (.) y debe comenzar con una letra o un dígito. Si desea utilizar un nombre de dominio comodín, introduzca un asterisco (*) como la etiqueta más a la izquierda del nombre de dominio.
  • Si type se establece en PATH y compare_type en STARTS_WITH o EQUAL_TO, el valor debe comenzar con una barra diagonal (/) y puede contener solo letras, dígitos y caracteres especiales _~';@^-%#& $.*+?,=!:|/) []{}
  • Si type se establece en METHOD, SOURCE_IP, HEADER, o QUERY_STRING, este parámetro no tendrá efecto, y condition_pair se utilizará para especificar la clave y el valor.

Mínimo: 1

Máximo: 128

provisioning_status

String

Especifica el estado de aprovisionamiento de la regla de reenvío.

El valor solo puede ser ACTIVE (predeterminado), PENDING_CREATE o ERROR.

Este parámetro no es compatible. Por favor, no lo use.

invert

Boolean

Especifica si se admite la coincidencia inversa. El valor se fija en false. Este parámetro se puede actualizar pero no tendrá efecto.

id

String

Especifica el ID de política de reenvío.

conditions

Array of RuleCondition objects

Especifica las condiciones coincidentes de la regla de reenvío. Este parámetro tendrá efecto cuando se establezca el valor de enhance_l7policy_enable en .true. Si se especifican conditions, key y value no tendrán efecto, y el valor de este parámetro contendrá todas las condiciones configuradas para la regla de reenvío. Las claves de la lista deben ser las mismas, mientras que cada valor debe ser único.

Este parámetro no está disponible en la región eu-nl. Por favor, no lo use.

created_at

String

Especifica la hora a la que se añadió la regla de reenvío. El formato es yyyy-MM-dd'T'HH:mm:ss'Z' (hora UTC).

Este es un campo nuevo en esta versión, y no se devolverá para los recursos asociados con balanceadores de carga dedicados existentes y para los recursos asociados con balanceadores de carga compartidos existentes y nuevos.

updated_at

String

Especifica la hora a la que se actualizó la regla de reenvío. El formato es yyyy-MM-dd'T'HH:mm:ss'Z' (hora UTC).

Este es un campo nuevo en esta versión, y no se devolverá para los recursos asociados con balanceadores de carga dedicados existentes y para los recursos asociados con balanceadores de carga compartidos existentes y nuevos.

Tabla 8 RuleCondition

Parámetro

Tipo

Descripción

key

String

Especifica la clave del elemento de coincidencia.

  • Si type se establece en HOST_NAME, PATH, METHOD, o SOURCE_IP, este parámetro se deja en blanco.
  • Si type se establece en HEADER, key indica el nombre del parámetro de encabezado HTTP. El valor puede contener de 1 a 40 caracteres, incluyendo letras, dígitos, guiones (-) y guiones bajos (_).
  • Si type se establece en QUERY_STRING, key indica el nombre del parámetro de consulta. El valor distingue entre mayúsculas y minúsculas y puede contener de 1 a 128 caracteres. Espacios, corchetes ([ ]), corchetes rizados ({ }), corchetes angulares (< >), barras diagonales invertidas (), comillas dobles (" signo "), libra (#), ampersands (& ), las barras verticales (|), los signos de porcentaje (%) y los (~) de tildes no son compatibles.

Todas las claves de la lista de condiciones de la misma regla deben ser las mismas.

Mínimo: 1

Máximo: 128

value

String

Especifica el valor del elemento de coincidencia.

  • Si type se establece en HOST_NAME, key se deja en blanco y value indica el nombre de dominio, que puede contener de 1 a 128 caracteres, incluyendo letras, dígitos, guiones (-) puntos y asteriscos (), and must start with a letter, digit, or asterisk (). Si desea utilizar un nombre de dominio comodín, introduzca un asterisco (*) como la etiqueta más a la izquierda del nombre de dominio.
  • Si type se establece en PATH, key se deja en blanco y el value indica la ruta de la solicitud, que puede contener de 1 a 128 caracteres. Si compare_type se establece en STARTS_WITH o EQUAL_TO para la regla de reenvío, el valor debe comenzar con una barra diagonal (/) y puede contener sólo letras, dígitos y caracteres especiales _~';@^-%#& $.*+?,=!:|/) []{}
  • Si type se establece en HEADER, key indica el nombre del parámetro de encabezado HTTP y value indica el valor del parámetro de encabezado HTTP. El valor puede contener de 1 a 128 caracteres. Se permiten asteriscos (*) y signos de interrogación (?) pero no se permiten espacios ni comillas dobles. Un asterisco puede coincidir con cero o más caracteres, y un signo de interrogación puede coincidir con 1 carácter.
  • Si type se establece en QUERY_STRING, key indica el nombre del parámetro de consulta y value indica el valor del parámetro de consulta. El valor distingue entre mayúsculas y minúsculas y puede contener de 1 a 128 caracteres. Espacios, corchetes ([ ]), corchetes rizados ({ }), corchetes angulares (< >), barras diagonales invertidas (), comillas dobles (" signo "), libra (#), ampersands (& ), las barras verticales (|), los signos de porcentaje (%) y los (~) de tildes no son compatibles. Se permiten asteriscos (*) y signos de interrogación (?). Un asterisco puede coincidir con cero o más caracteres, y un signo de interrogación puede coincidir con 1 carácter.
  • Si type se establece en METHOD, key se deja en blanco, y value indica el método HTTP. El valor puede ser GET, PUT, POST, DELETE, PATCH, HEAD, u OPTIONS.
  • Si type se establece en SOURCE_IP, key se deja en blanco, y value indica la dirección IP de origen de la solicitud. El valor es un bloque CIDR IPv4 o IPv6, por ejemplo, 192.168.0.2/32 o 2049::49/64.

Todas las claves de la lista de condiciones de la misma regla deben ser las mismas.

Mínimo: 1

Máximo: 128

Solicitudes de ejemplo

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

{
  "rule" : {
    "compare_type" : "EQUAL_TO",
    "type" : "PATH",
    "value" : "/bbb.html"
  }
}

Ejemplo de respuestas

Código de estado: 201

Respuesta normal a las solicitudes POST.

{
  "rule" : {
    "compare_type" : "EQUAL_TO",
    "provisioning_status" : "ACTIVE",
    "project_id" : "99a3fff0d03c428eac3678da6a7d0f24",
    "invert" : false,
    "admin_state_up" : true,
    "value" : "/bbb.html",
    "key" : null,
    "type" : "PATH",
    "id" : "84f4fcae-9c15-4e19-a99f-72c0b08fd3d7"
  },
  "request_id" : "3639f1b7-f04b-496e-9218-ec5a9e493f69"
}

Códigos de estado

Código de estado

Descripción

201

Respuesta normal a las solicitudes POST.

Códigos de error

Consulte Códigos de error.