REST Resource: projects.locations.tlsRoutes

Recurso: TlsRoute

O recurso "TlsRoute" define como o tráfego deve ser roteado com base no SNI e em outros atributos L3 correspondentes.

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 TlsRoute. Ele corresponde ao padrão projects/*/locations/global/tlsRoutes/tls_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 em 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. " Meshes" define uma lista de malhas a que este TlsRoute está anexado, como uma das regras de roteamento para rotear as solicitações atendidas pela malha.

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

A malha anexada precisa ser do tipo SIDECAR

gateways[]

string

Opcional. Os gateways definem uma lista de gateways a que o TlsRoute está anexado, como uma das regras de roteamento para rotear as solicitações enviadas 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 TlsRoute.

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)

Obrigatório. RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Vários tipos de correspondência recebem o operador "OR" para avaliação.

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 "AND"ed para avaliação. Se nenhum campo de routeMatch for especificado, essa regra vai corresponder ao tráfego de forma incondicional.

Representação JSON
{
  "sniHost": [
    string
  ],
  "alpn": [
    string
  ]
}
Campos
sniHost[]

string

Opcional. SNI (indicador de nome do servidor) para correspondência. A SNI será comparada com todos os domínios com caractere curinga. Ou seja, www.example.com será comparado primeiro com www.example.com, depois com *.example.com e, por fim, com *.com.. Não há suporte para caracteres curinga parciais, e valores como *w.example.com são inválidos. Pelo menos um sniHost e alpn é necessário. É possível configurar até 100 hosts Sni em todas as correspondências.

alpn[]

string

Opcional. Negociação de protocolo da camada de aplicativo (ALPN, na sigla em inglês) para correspondência. Exemplos: "http/1.1", "h2". É necessário incluir pelo menos um dos seguintes valores: sniHost e alpn. É possível configurar até 5 ALPNS em todas as correspondências.

RouteAction

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

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

object (RouteDestination)

Obrigatório. Os serviços de destino para os quais o tráfego precisa ser encaminhado. Pelo menos um serviço de destino é necessário.

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 uma hora. 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 da seguinte forma: - peso/Soma(pesos nos destinos) Os pesos em todos os destinos não precisam somar 100.

Métodos

create

Cria um novo TlsRoute em um determinado projeto e local.

delete

Exclui uma única TlsRoute.

get

Recebe detalhes de um único TlsRoute.

list

Lista a TlsRoute em um determinado projeto e local.

patch

Atualiza os parâmetros de um único TlsRoute.