REST Resource: projects.locations.tcpRoutes

Recurso: TcpRoute

TcpRoute é o recurso que define como o tráfego TCP deve ser encaminhado por um recurso de malha/gateway.

Representação JSON
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
Campos
name

string

Identificador. Nome do recurso TcpRoute. Corresponde ao padrão projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

Apenas saída. A data/hora em que o recurso foi criado.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. A data/hora em que o recurso foi atualizado.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

description

string

Opcional. Uma descrição de texto livre do recurso. Comprimento máximo de 1024 carateres.

rules[]

object (RouteRule)

Obrigatório. Regras que definem como o tráfego é encaminhado e processado. Tem de fornecer, pelo menos, uma RouteRule. Se existirem várias regras, a ação tomada será a da primeira regra que corresponder.

meshes[]

string

Opcional. Meshes define uma lista de malhas às quais esta TcpRoute está associada, como uma das regras de encaminhamento para encaminhar os pedidos apresentados pela malha.

Cada referência de malha deve corresponder ao padrão: projects/*/locations/global/meshes/<mesh_name>

O Mesh anexado deve ser do tipo SIDECAR

gateways[]

string

Opcional. Gateways define uma lista de gateways aos quais este TcpRoute está associado, como uma das regras de encaminhamento para encaminhar os pedidos processados pelo gateway.

Cada referência de gateway deve corresponder ao padrão: projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

Opcional. Conjunto de etiquetas associadas ao recurso TcpRoute.

Um objeto que contém uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RouteRule

Especifica como fazer a correspondência do tráfego e como encaminhar o tráfego quando é feita a correspondência.

Representação JSON
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
Campos
matches[]

object (RouteMatch)

Opcional. RouteMatch define o predicado usado para fazer corresponder pedidos a uma determinada ação. Os vários tipos de correspondência são combinados com "OU" para avaliação. Se não for especificado nenhum campo routeMatch, esta regra vai corresponder incondicionalmente ao tráfego.

action

object (RouteAction)

Obrigatório. A regra detalhada que define como encaminhar o tráfego correspondente.

RouteMatch

RouteMatch define o predicado usado para fazer corresponder pedidos a uma determinada ação. Os vários tipos de correspondência são combinados com "OU" para avaliação. Se não for especificado nenhum campo routeMatch, esta regra vai corresponder incondicionalmente ao tráfego.

Representação JSON
{
  "address": string,
  "port": string
}
Campos
address

string

Obrigatório. Tem de ser especificado no formato de intervalo CIDR. Um intervalo CIDR consiste num endereço IP e num comprimento do prefixo para construir a máscara de sub-rede. Por predefinição, o comprimento do prefixo é 32 (ou seja, corresponde a um único endereço IP). Apenas são suportados endereços IPV4. Exemplos: "10.0.0.1" – corresponde a este endereço IP exato. "10.0.0.0/8": corresponde a qualquer endereço IP na sub-rede 10.0.0.0 e na máscara 255.255.255.0. "0.0.0.0/0" – corresponde a qualquer endereço IP.

port

string

Obrigatório. Especifica a porta de destino com a qual estabelecer correspondência.

RouteAction

As especificações para encaminhar o tráfego e aplicar as políticas associadas.

Representação JSON
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
Campos
destinations[]

object (RouteDestination)

Opcional. Os serviços de destino para os quais o tráfego deve ser encaminhado. É necessário, pelo menos, um serviço de destino. Só é possível definir um destino do trajeto ou um destino original.

originalDestination

boolean

Opcional. Se for verdadeiro, o Router usa o IP e a porta de destino da ligação original como o destino do pedido. O valor predefinido é False. Só é possível definir um dos destinos do trajeto ou o destino original.

idleTimeout

string (Duration format)

Opcional. Especifica o limite de tempo de inatividade para o trajeto selecionado. O limite de tempo de inatividade é definido como o período em que não são enviados nem recebidos bytes na ligação a montante ou a jusante. Se não estiver definido, o tempo limite de inatividade predefinido é de 30 segundos. Se for definido como 0 s, o limite de tempo é desativado.

Uma duração em segundos com até nove dígitos fracionários, que termina com "s". Exemplo: "3.5s".

RouteDestination

Descreva o destino para o qual o tráfego deve ser encaminhado.

Representação JSON
{
  "serviceName": string,
  "weight": integer
}
Campos
serviceName

string

Obrigatório. O URL de um BackendService para o qual encaminhar o tráfego.

weight

integer

Opcional. Especifica a proporção de pedidos encaminhados para o back-end referenciado pelo campo serviceName. Este valor é calculado da seguinte forma: - peso/Soma(pesos nesta lista de destinos). Para valores diferentes de zero, pode haver algum épsilon da proporção exata definida aqui, consoante a precisão suportada por uma implementação.

Se for especificado apenas um serviceName e tiver um peso superior a 0, 100% do tráfego é encaminhado para esse back-end.

Se forem especificados pesos para qualquer nome de serviço, têm de ser especificados para todos.

Se os pesos não forem especificados para todos os serviços, o tráfego é distribuído em proporções iguais por todos eles.

Métodos

create

Cria um novo TcpRoute num determinado projeto e localização.

delete

Elimina um único TcpRoute.

get

Obtém detalhes de um único TcpRoute.

getIamPolicy

Obtém a política de controlo de acesso para um recurso.

list

Lista TcpRoute num determinado projeto e localização.

patch

Atualiza os parâmetros de um único TcpRoute.

setIamPolicy

Define a política de controlo de acesso no recurso especificado.

testIamPermissions

Devolve as autorizações que um autor da chamada tem no recurso especificado.