Adición de una política de reenvío
Función
Esta API se utiliza para agregar una política de reenvío a un listener.
Restricciones
Las directivas de reenvío solo se pueden agregar a los listeners HTTP o HTTPS.
URI
POST /v3/{project_id}/elb/l7policies
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Especifica el token utilizado para la autenticación IAM. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
l7policy |
Sí |
CreateL7PolicyOption object |
Especifica la política de reenvío. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
action |
Sí |
String |
Especifica dónde se reenviarán las solicitudes. El valor puede ser uno de los siguientes:
REDIRECT_TO_LISTENER tiene la prioridad más alta. Si las solicitudes se van a redirigir a un agente de escucha HTTPS, otras políticas de reenvío del agente de escucha serán inválidas. Nota:
Mínimo: 1 Máximo: 255 |
admin_state_up |
No |
Boolean |
Especifica el estado administrativo de la política de reenvío. El valor predeterminado es true. Este parámetro no es compatible. Por favor, no lo use. |
description |
No |
String |
Proporciona información adicional sobre la política de reenvío. Mínimo: 0 Máximo: 255 |
listener_id |
Sí |
String |
Especifica el ID del agente de escucha al que se agrega la política de reenvío.
|
name |
No |
String |
Especifica el nombre de la política de reenvío. Mínimo: 0 Máximo: 255 |
position |
No |
Integer |
Especifica la prioridad de la política de reenvío. El valor no se puede actualizar. Este parámetro no es compatible. Por favor, no lo use. Mínimo: 1 Máximo: 100 |
priority |
No |
Integer |
Especifica la prioridad de la política de reenvío. Un valor menor indica una mayor prioridad. El valor debe ser único para las directivas de reenvío del mismo agente de escucha. Este parámetro solo tendrá efecto cuando enhance_l7policy_enable esté establecido en true. Si se pasa este parámetro y enhance_l7policy_enable se establece en false , se devolverá un error. Este parámetro no es compatible con balanceadores de carga compartidos.
Este parámetro no es válido para balanceadores de carga compartidos. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use. Mínimo: 0 Máximo: 10000 |
project_id |
No |
String |
Especifica el ID del proyecto en el que se utiliza la política de reenvío. Mínimo: 1 Máximo: 32 |
redirect_listener_id |
No |
String |
Especifica el ID del agente de escucha al que se redirigen las solicitudes. Este parámetro es obligatorio cuando action se establece en REDIRECT_TO_LISTENER. Nota:
|
redirect_pool_id |
No |
String |
Especifica el ID del grupo de servidores backend al que se reenvían las solicitudes. Este parámetro sólo es válido cuando action se establece en REDIRECT_TO_POOL. Nota:
|
redirect_pools_config |
No |
Array of CreateRedirectPoolsConfig objects |
Especifica la configuración del grupo de servidores backend al que se reenvían las solicitudes. Este parámetro sólo es válido cuando action se establece en REDIRECT_TO_POOL. Nota:
|
redirect_url |
No |
String |
Especifica la dirección URL a la que se reenvían las solicitudes. Formato: protocol://host:port/path?query Mínimo: 1 Máximo: 255 |
redirect_url_config |
No |
CreateRedirectUrlConfig object |
Especifica la dirección URL a la que se reenvían las solicitudes. Para balanceadores de carga dedicados, este parámetro solo tendrá efecto cuando el reenvío avanzado está habilitado (enhance_l7policy_enable se establece en true). Si se pasa cuando enhance_l7policy_enable se establece en false, se devolverá un error. Este parámetro es obligatorio cuando action se establece en REDIRECT_TO_URL. No se puede especificar si el valor de action no es REDIRECT_TO_URL. Formato: protocol://host:port/path?query Al menos uno de los cuatro parámetros (protocol, host, port, y path) debe pasarse, o sus valores no se pueden establecer en ${xxx} al mismo tiempo. (${xxx} indica que el valor de la solicitud será heredado. Por ejemplo, ${host} indica el host en la URL que se va a redirigir.) Los valores de protocol y port no pueden ser los mismos que los del listener asociado, y se deben pasar host o path o sus valores no pueden ser ${xxx} al mismo tiempo. Para los balanceadores de carga compartidos, este parámetro no es compatible. Si se pasa, se devolverá un error. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use. |
fixed_response_config |
No |
CreateFixtedResponseConfig object |
Especifica la configuración de la página que se devolverá. Este parámetro tendrá efecto cuando se establezca el valor de enhance_l7policy_enable en true. Si se pasa este parámetro y enhance_l7policy_enable se establece en false , se devolverá un error. Este parámetro es obligatorio cuando action se establece en FIXED_RESPONSE. No se puede especificar si el valor de action no es FIXED_RESPONSE. Para los balanceadores de carga compartidos, este parámetro no es compatible. Si se pasa, se devolverá un error. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use. |
rules |
No |
Array of CreateL7PolicyRuleOption objects |
Muestra las reglas de reenvío de la política de reenvío. La lista puede contener un máximo de 10 reglas de reenvío . (si se especifican conditions, una condición se considera como una regla). Si type se establece en HOST_NAME, PATH, METHOD, o SOURCE_IP, sólo se puede crear una regla de reenvío para cada tipo. Nota:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
pool_id |
Sí |
String |
Especifica el ID del grupo de servidores backend. |
weight |
Sí |
Integer |
Especifica el peso del grupo de servidores backend. El valor varía de 0 a 100. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
protocol |
No |
String |
Especifica el protocolo para la redirección. El valor puede ser HTTP, HTTPS, o ${protocol}. El valor predeterminado es ${protocol}, que indica que se utilizará el protocolo de la solicitud. Valor predeterminado: ${protocol} Mínimo: 1 Máximo: 36 |
host |
No |
String |
Especifica el nombre de host al que se redirigen las solicitudes. El valor solo puede contener letras, dígitos, guiones (-) y puntos (.) y debe comenzar con una letra o un dígito. El valor predeterminado es ${host}, que indica que se utilizará el host de la solicitud. Valor predeterminado: ${host} Mínimo: 1 Máximo: 128 |
port |
No |
String |
Especifica el puerto al que se redirigen las solicitudes. El valor predeterminado es ${port}, que indica que se utilizará el puerto de la solicitud. Valor predeterminado: ${puerto} Mínimo: 1 Máximo: 16 |
path |
No |
String |
Especifica la ruta a la que se redirigen las solicitudes. El valor predeterminado es ${path}, que indica que se utilizará la ruta de acceso de la solicitud. El valor solo puede contener letras, dígitos y caracteres especiales _~';@^- %#&$.*+?,=!:|/) []{} y debe comenzar con una barra diagonal (/). Valor predeterminado: ${ruta} Mínimo: 1 Máximo: 128 |
query |
No |
String |
Especifica la cadena de consulta establecida en la dirección URL para la redirección. El valor predeterminado es ${query}, que indica que se utilizará la cadena de consulta de la solicitud. Por ejemplo, en el https://www.example.com:8080/elb?type=loadbalancer, ${query} indica type=loadbalancer. Si este parámetro se establece en ${query}&name=my_name, la URL será redirigida a https://www.example.com:8080/elb?type=loadbalancer&name=my_name. El valor distingue entre mayúsculas y minúsculas y solo puede contener letras, dígitos y characters!$&'()*+,-./:;=?@^_` Valor predeterminado: ${query} Mínimo: 0 Máximo: 128 |
status_code |
Yes |
String |
Especifica el código de estado devuelto después de redirigir las solicitudes. El valor puede ser 301, 302, 303, 307, o 308. Mínimo: 1 Máximo: 16 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
status_code |
Sí |
String |
Especifica el código de estado HTTP fijo configurado en la regla de reenvío. El valor puede ser cualquier número entero en el intervalo de 200–299, 400–499, or 500–599. Mínimo: 1 Máximo: 16 |
content_type |
No |
String |
Especifica el formato del cuerpo de la respuesta. El valor puede ser text/plain, text/css, text/html, application/javascript, o application/json. Predeterminado: text/plain Mínimo: 0 Máximo: 32 |
message_body |
No |
String |
Especifica el contenido del cuerpo del mensaje de respuesta. Mínimo: 0 Máximo: 1024 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
admin_state_up |
No |
Boolean |
Especifica el estado administrativo de la regla de reenvío. El valor puede ser true o false, y el valor predeterminado es true. Este parámetro no es compatible. Por favor, no lo use. Predeterminado: true |
type |
Sí |
String |
Especifica el tipo de regla de reenvío. El valor puede ser uno de los siguientes:
Si type se establece en HOST_NAME, PATH, METHOD, o 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. |
compare_type |
Sí |
String |
Especifica cómo se comparan las solicitudes con la regla de reenvío. Valores:
Nota:
|
invert |
No |
Boolean |
Especifica si se admite la coincidencia inversa. El valor puede ser true o false, y el valor predeterminado es false. Este parámetro no es compatible. Por favor, no lo use. Predeterminado: false |
key |
No |
String |
Especifica la clave del elemento de coincidencia. Por ejemplo, si se utiliza un encabezado HTTP para la coincidencia, key es el nombre del parámetro de encabezado HTTP. Este parámetro no es compatible. Por favor, no lo use. Mínimo: 1 Máximo: 255 |
value |
Sí |
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.
Mínimo: 1 Máximo: 128 |
conditions |
No |
Array of CreateRuleCondition objects |
Especifica las condiciones contenidas en una 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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
No |
String |
Especifica la clave del elemento de coincidencia.
Todas las claves de la lista de condiciones de la misma regla deben ser las mismas. Mínimo: 1 Máximo: 128 |
value |
Sí |
String |
Especifica el valor del elemento de coincidencia.
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
Parámetro |
Tipo |
Descripción |
---|---|---|
request_id |
String |
Especifica el ID de la solicitud. El valor se genera automáticamente. |
l7policy |
L7Policy object |
Especifica la política de reenvío. |
Parámetro |
Tipo |
Descripción |
---|---|---|
action |
String |
Especifica dónde se reenviarán las solicitudes. El valor puede ser uno de los siguientes:
REDIRECT_TO_LISTENER tiene la prioridad más alta. Si las solicitudes se van a redirigir a un agente de escucha HTTPS, otras políticas de reenvío del agente de escucha serán inválidas. Nota:
|
admin_state_up |
Boolean |
Especifica el estado administrativo de la política de reenvío. El valor predeterminado es true. Este parámetro no es compatible. Por favor, no lo use. |
description |
String |
Proporciona información adicional sobre la política de reenvío. |
id |
String |
Especifica el ID de política de reenvío. |
listener_id |
String |
Especifica el ID del agente de escucha al que se agrega la política de reenvío. |
name |
String |
Especifica el nombre de la política de reenvío. Mínimo: 1 Máximo: 255 |
position |
Integer |
Especifica la prioridad de la política de reenvío. Este parámetro no se puede actualizar. Este parámetro no es compatible. Por favor, no lo use. Mínimo: 1 Máximo: 100 |
priority |
Integer |
Especifica la prioridad de la política de reenvío. Un valor menor indica una mayor prioridad. El valor debe ser único para las directivas de reenvío del mismo agente de escucha. Este parámetro solo tendrá efecto cuando enhance_l7policy_enable esté establecido en true. Si se pasa este parámetro y enhance_l7policy_enable se establece en false , se devolverá un error. Este parámetro no es compatible con balanceadores de carga compartidos.
Este parámetro no es válido para balanceadores de carga compartidos. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use. |
project_id |
String |
Especifica el ID de proyecto de la política de reenvío. |
provisioning_status |
String |
Especifica el estado de aprovisionamiento de la política de reenvío. El valor puede ser ACTIVE o ERROR.
|
redirect_pool_id |
String |
Especifica el ID del grupo de servidores backend al que se reenviarán las solicitudes.
|
redirect_pools_config |
Array of CreateRedirectPoolsConfig objects |
Especifica la configuración del grupo de servidores backend al que se reenvían las solicitudes. Este parámetro sólo es válido cuando action se establece en REDIRECT_TO_POOL. |
redirect_listener_id |
String |
Especifica el ID del agente de escucha al que se redirigen las solicitudes. Este parámetro es obligatorio cuando action se establece en REDIRECT_TO_LISTENER. Nota:
|
redirect_url |
String |
Especifica la dirección URL a la que se reenvían las solicitudes. Formato: protocol://host:port/path?query Este parámetro no es compatible. Por favor, no lo use. |
rules |
Array of RuleRef objects |
Muestra las reglas de reenvío de la política de reenvío. |
redirect_url_config |
RedirectUrlConfig object |
Especifica la dirección URL a la que se reenvían las solicitudes. Para balanceadores de carga dedicados, este parámetro solo tendrá efecto cuando el reenvío avanzado está habilitado (enhance_l7policy_enable se establece en true). Si se pasa cuando enhance_l7policy_enable se establece en false, se devolverá un error. Este parámetro es obligatorio cuando action se establece en REDIRECT_TO_URL. No se puede especificar si el valor de action no es REDIRECT_TO_URL. Formato: protocol://host:port/path?query Al menos uno de los cuatro parámetros (protocol, host, port, y path) debe pasarse, o sus valores no se pueden establecer en ${xxx} al mismo tiempo. (${xxx} indica que el valor de la solicitud será heredado. Por ejemplo, ${host} indica el host en la URL que se va a redirigir.) Los valores de protocol y port no pueden ser los mismos que los del listener asociado, y se deben pasar host o path o sus valores no pueden ser ${xxx} al mismo tiempo. Para los balanceadores de carga compartidos, este parámetro no es compatible. Si se pasa, se devolverá un error. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use. |
fixed_response_config |
FixtedResponseConfig object |
Especifica la configuración de la página que se devolverá. Este parámetro tendrá efecto cuando se establezca el valor de enhance_l7policy_enable en true. Si se pasa este parámetro y enhance_l7policy_enable se establece en false , se devolverá un error. Este parámetro es obligatorio cuando action se establece en FIXED_RESPONSE. No se puede especificar si el valor de action no es FIXED_RESPONSE. Para los balanceadores de carga compartidos, este parámetro no es compatible. Si se pasa, se devolverá un error. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use. |
created_at |
String |
Especifica la hora en que se agregó la política 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 política 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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
pool_id |
String |
Especifica el ID del grupo de servidores backend. |
weight |
Integer |
Especifica el peso del grupo de servidores backend. El valor varía de 0 a 100. |
Parámetro |
Tipo |
Descripción |
---|---|---|
protocol |
String |
Especifica el protocolo para la redirección. El valor puede ser HTTP, HTTPS, o ${protocol}. El valor predeterminado es ${protocol}, que indica que se utilizará el protocolo de la solicitud. Mínimo: 1 Máximo: 36 |
host |
String |
Especifica el nombre de host al que se redirigen las solicitudes. El valor solo puede contener letras, dígitos, guiones (-) y puntos (.) y debe comenzar con una letra o un dígito. El valor predeterminado es ${host}, que indica que se utilizará el host de la solicitud. Valor predeterminado: ${host} Mínimo: 1 Máximo: 128 |
port |
String |
Especifica el puerto al que se redirigen las solicitudes. El valor predeterminado es ${port}, que indica que se utilizará el puerto de la solicitud. Valor predeterminado: ${puerto} Mínimo: 1 Máximo: 16 |
path |
String |
Especifica la ruta a la que se redirigen las solicitudes. El valor predeterminado es ${path}, que indica que se utilizará la ruta de acceso de la solicitud. El valor solo puede contener letras, dígitos y caracteres especiales _-';@^- %#&$.*+?,=!:|/) []{} y debe comenzar con una barra diagonal (/). Valor predeterminado: ${ruta} Mínimo: 1 Máximo: 128 |
query |
String |
Especifica la cadena de consulta establecida en la dirección URL para la redirección. El valor predeterminado es ${query}, que indica que se utilizará la cadena de consulta de la solicitud. Por ejemplo, en el https://www.example.com:8080/elb?type=loadbalancer, ${query} indica type=loadbalancer. Si este parámetro se establece en ${query}&name=my_name, la URL será redirigida a https://www.example.com:8080/elb?type=loadbalancer&name=my_name. El valor distingue entre mayúsculas y minúsculas y solo puede contener letras, dígitos y characters!$&'()*+,-./:;=?@^_` Valor predeterminado: ${query} Mínimo: 0 Máximo: 128 |
status_code |
String |
Especifica el código de estado devuelto después de redirigir las solicitudes. El valor puede ser 301, 302, 303, 307, o 308. Mínimo: 1 Máximo: 16 |
Parámetro |
Tipo |
Descripción |
---|---|---|
status_code |
String |
Especifica el código de estado HTTP configurado en la política de reenvío. El valor puede ser cualquier número entero en el intervalo de 200–299, 400–499, or 500–599. Mínimo: 1 Máximo: 16 |
content_type |
String |
Especifica el formato del cuerpo de la respuesta. El valor puede ser text/plain, text/css, text/html, application/javascript, o application/json. Mínimo: 0 Máximo: 32 |
message_body |
String |
Especifica el contenido del cuerpo del mensaje de respuesta. Mínimo: 0 Máximo: 1024 |
Solicitudes de ejemplo
Creación de una redirección para un listener
POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/l7policies { "l7policy" : { "action" : "REDIRECT_TO_LISTENER", "listener_id" : "e2220d2a-3faf-44f3-8cd6-0c42952bd0ab", "redirect_listener_id" : "48a97732-449e-4aab-b561-828d29e45050" } }
Ejemplo de respuestas
Código de estado: 201
Respuesta normal a las solicitudes POST.
{ "request_id" : "b60d1d9a-5263-45b0-b1d6-2810ac7c52a1", "l7policy" : { "redirect_pool_id" : "768e9e8c-e7cb-4fef-b24b-af9399dbb240", "description" : "", "admin_state_up" : true, "rules" : [ { "id" : "c5c2d625-676b-431e-a4c7-c59cc2664881" } ], "project_id" : "7a9941d34fc1497d8d0797429ecfd354", "listener_id" : "cdb03a19-16b7-4e6b-bfec-047aeec74f56", "redirect_url" : null, "redirect_url_config" : null, "fixed_response_config" : null, "redirect_listener_id" : null, "action" : "REDIRECT_TO_POOL", "position" : 100, "priority" : null, "provisioning_status" : "ACTIVE", "id" : "01832d99-bbd8-4340-9d0c-6ff8f7a37307", "name" : "l7policy-67" } }
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.