REST Resource: projects.locations.tcpRoutes

Recurso: TcpRoute

TcpRoute es el recurso que define cómo un recurso de malla/puerta de enlace debe enrutar el tráfico de TCP.

Representación JSON
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
Campos
name

string

Obligatorio. Nombre del recurso TcpRoute. Coincide con el patrón projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

Solo salida. Marca de tiempo cuando se creó el recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo salida. La marca de tiempo de la actualización del recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

description

string

Opcional. Es una descripción de texto libre del recurso. La longitud máxima es de 1,024 caracteres.

rules[]

object (RouteRule)

Obligatorio. Reglas que definen cómo se enruta y maneja el tráfico. Se debe proporcionar, al menos, una RouteRule. Si hay varias reglas, la acción que se realice será la primera en coincidir.

meshes[]

string

Opcional. Meshes define una lista de mallas a las que se adjunta este TcpRoute, como una de las reglas de enrutamiento para enrutar las solicitudes que entrega la malla.

Cada referencia de malla debe coincidir con el patrón projects/*/locations/global/meshes/<mesh_name>.

La malla conectada debe ser del tipo SIDECAR.

gateways[]

string

Opcional. Las puertas de enlace definen una lista de puertas de enlace a las que se adjunta este TcpRoute, como una de las reglas de enrutamiento para enrutar las solicitudes que entrega la puerta de enlace.

Cada referencia de puerta de enlace debe coincidir con el patrón projects/*/locations/global/gateways/<gateway_name>.

labels

map (key: string, value: string)

Opcional. Conjunto de etiquetas de etiqueta asociadas con el recurso TcpRoute.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RouteRule

Especifica cómo hacer coincidir el tráfico y cómo enrutarlo cuando el tráfico coincide.

Representación JSON
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
Campos
matches[]

object (RouteMatch)

Opcional. RouteMatch define el predicado que se usa para hacer coincidir las solicitudes con una acción determinada. En el caso de varios tipos de concordancia, se utiliza el operador "O" para la evaluación. Si no se especifica un campo routeMatch, esta regla coincidirá con el tráfico de manera incondicional.

action

object (RouteAction)

Obligatorio. La regla detallada que define cómo enrutar el tráfico coincidente.

RouteMatch

RouteMatch define el predicado que se usa para hacer coincidir las solicitudes con una acción determinada. En el caso de varios tipos de concordancia, se utiliza el operador "O" para la evaluación. Si no se especifica un campo routeMatch, esta regla coincidirá con el tráfico de manera incondicional.

Representación JSON
{
  "address": string,
  "port": string
}
Campos
address

string

Obligatorio. Debe especificarse en el formato del rango CIDR. Un rango CIDR consta de una dirección IP y una longitud de prefijo para construir la máscara de subred. De forma predeterminada, la longitud del prefijo es 32 (es decir, coincide con una sola dirección IP). Solo se admiten direcciones IPv4. Ejemplos: “10.0.0.1”: Coincide con esta dirección IP exacta. "10.0.0.0/8": Coincide con cualquier dirección IP dentro de la subred 10.0.0.0 y la máscara 255.255.255.0. "0.0.0.0/0": coincide con cualquier dirección IP'.

port

string

Obligatorio. Especifica el puerto de destino con el que debe coincidir.

RouteAction

Las especificaciones para enrutar el tráfico y aplicar las políticas asociadas.

Representación JSON
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
Campos
destinations[]

object (RouteDestination)

Opcional. Los servicios de destino a los que se debe reenviar el tráfico. Se requiere al menos un servicio de destino. Solo se puede establecer uno de los destinos originales o la ruta de destino.

originalDestination

boolean

Opcional. Si es verdadero, el router usará la IP y el puerto de destino de la conexión original como destino de la solicitud. El valor predeterminado es falso. Solo se puede configurar uno de los destinos de ruta o el destino original.

idleTimeout

string (Duration format)

Opcional. Especifica el tiempo de espera de inactividad para la ruta seleccionada. El tiempo de espera de inactividad se define como el período en el que no se enviaron ni recibieron bytes en la conexión ascendente o descendente. Si no la estableces, el tiempo de espera de inactividad predeterminado será de 30 segundos. Si se configura en 0 s, se inhabilitará el tiempo de espera.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

RouteDestination

Describe el destino al que se enrutará el tráfico.

Representación JSON
{
  "serviceName": string,
  "weight": integer
}
Campos
serviceName

string

Obligatorio. La URL de un BackendService a la que se enrutará el tráfico.

weight

integer

Opcional. Especifica la proporción de solicitudes reenviadas al backend a las que hace referencia el campo serviceName. Esto se calcula de la siguiente manera: - peso/Suma(pesos de esta lista de destino). Para valores distintos de cero, puede haber algo de épsilon de la proporción exacta definida aquí según la precisión que admita una implementación.

Si solo se especifica un serviceName y tiene un peso superior a 0, el 100% del tráfico se reenvía a ese backend.

Si se especifican pesos para cualquier nombre de servicio, deben especificarse para todos.

Si no se especifican los pesos para todos los servicios, el tráfico se distribuye en proporciones iguales para todos ellos.

Métodos

create

Crea un TcpRoute nuevo en un proyecto y una ubicación determinados.

delete

Borra un solo TcpRoute.

get

Obtiene detalles de un solo TcpRoute.

list

Muestra una lista de TcpRoute en un proyecto y una ubicación determinados.

patch

Actualiza los parámetros de un solo TcpRoute.

setIamPolicy

Permite configurar la política de control de acceso en el recurso especificado.

testIamPermissions

Permite mostrar los permisos que tiene un emisor para un recurso específico.