REST Resource: projects.locations.tcpRoutes

Recurso: TcpRoute

O TcpRoute é o recurso que define como o tráfego TCP deve ser roteado por um recurso Mesh/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

Obrigatório. Nome do recurso TcpRoute. Ele corresponde ao padrão projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

Apenas saída. O carimbo de data/hora em que o recurso foi criado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Apenas saída. O carimbo de data/hora em que o recurso foi atualizado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

description

string

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

rules[]

object (RouteRule)

Obrigatório. Regras que definem como o tráfego é roteado e processado. É preciso fornecer pelo menos uma RouteRule. Se houver várias regras, a ação será a primeira regra correspondente.

meshes[]

string

Opcional. As malhas definem uma lista de malhas a que este TcpRoute está anexado, como uma das regras de roteamento para rotear as solicitações exibidas pela malha.

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

A malha anexada deve ser do tipo SIDECAR

gateways[]

string

Opcional. "Gateways" define uma lista de gateways a que este TcpRoute está anexado, como uma das regras de roteamento para rotear as solicitações atendidas pelo gateway.

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

labels

map (key: string, value: string)

Opcional. Conjunto de tags de rótulo associadas ao recurso TcpRoute.

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

RouteRule

Especifica como corresponder e rotear o tráfego quando ele for correspondido.

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

object (RouteMatch)

Opcional. RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Vários tipos de correspondência são "OU" para avaliação. Se nenhum campo "routeMatch" for especificado, a regra corresponderá o tráfego incondicionalmente.

action

object (RouteAction)

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

RouteMatch

O RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Vários tipos de correspondência são "OU" para avaliação. Se nenhum campo "routeMatch" for especificado, a regra corresponderá o tráfego incondicionalmente.

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

string

Obrigatório. Precisa ser especificado no formato de intervalo CIDR. Um intervalo CIDR consiste em um endereço IP e um tamanho de prefixo para criar a máscara de sub-rede. Por padrão, o tamanho do prefixo é 32 (ou seja, corresponde a um único endereço IP). Somente endereços IPV4 são aceitos. Exemplos: "10.0.0.1" corresponde exatamente a este endereço IP. "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 para fazer a correspondência.

RouteAction

As especificações para rotear o tráfego e aplicar 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 dos destinos da rota ou o destino original.

originalDestination

boolean

Opcional. Se verdadeiro, o roteador usa o IP de destino e a porta da conexão original como destino da solicitação. O padrão é "false". Só é possível definir um dos destinos de trajeto ou o destino original.

idleTimeout

string (Duration format)

Opcional. Especifica o tempo limite de inatividade da rota selecionada. O tempo limite de inatividade é definido como o período em que não há bytes enviados ou recebidos na conexão upstream ou downstream. Se não for definido, o tempo limite de inatividade padrão será de 30 segundos. Se definido como 0s, o tempo limite será desativado.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

RouteDestination

Descreva o destino do tráfego que será roteado.

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

string

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

weight

integer

Opcional. Especifica a proporção de solicitações encaminhadas ao back-end referenciado pelo campo serviceName. Isso é calculado como: - peso/Soma(pesos nesta lista de destino). Para valores diferentes de zero, pode haver algum épsilon da proporção exata definida aqui, dependendo da precisão com que uma implementação oferece suporte.

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

Se os pesos forem especificados para qualquer nome de serviço, eles precisarão ser especificados para todos eles.

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

Métodos

create

Cria um novo TcpRoute em um determinado projeto e local.

delete

Exclui um único TcpRoute.

get

Recebe detalhes de um único TcpRoute.

getIamPolicy

Busca a política de controle de acesso de um recurso.

list

Lista TcpRoute em um determinado projeto e local.

patch

Atualiza os parâmetros de um único TcpRoute.

setIamPolicy

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

testIamPermissions

Retorna permissões do autor da chamada no recurso especificado.