REST Resource: projects.locations.tlsRoutes

Recurso: TlsRoute

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. 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. É necessário fornecer pelo menos uma RouteRule. Se houver várias regras, a ação realizada será a primeira regra a ser correspondida.

meshes[]

string

Opcional. "Malhas" define uma lista de malhas a que essa TlsRoute está anexada, 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. "Gateways" define uma lista de gateways ao qual o TlsRoute 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ótulos 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 o tráfego e como 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. Quando há vários tipos de correspondência, usamos "OU" para avaliação.

action

object (RouteAction)

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

RouteMatch

RouteMatch define o predicado usado para corresponder solicitações a uma determinada ação. Quando há vários tipos de correspondência, use "AND" para avaliação. Se nenhum campo "routeMatch" for especificado, a regra corresponderá ao tráfego incondicionalmente.

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 de caractere curinga, ou seja, primeiro www.example.com será comparado com www.example.com, depois *.example.com.Em seguida, *.com.. Os caracteres curinga parciais não são compatíveis, e valores como *w.example.com são inválidos. Pelo menos um sniHost e alpn é necessário. É possível definir até 100 hosts SNI em todas as partidas.

alpn[]

string

Opcional. Negociação de protocolo de camada de aplicativo (ALPN, na sigla em inglês) para correspondência. Exemplos: "http/1.1", "h2". Pelo menos um sniHost e alpn é necessário. É possível definir até cinco 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 deixada sem definição, 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 a ser roteado.

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

string

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

weight

integer

Opcional. Especifica a proporção de solicitações protegidas para o back-end referenciado pelo campo serviceName. Isso é calculado da seguinte forma: -weight/Sum(weights in destination) 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 um único TlsRoute.

get

Recebe detalhes de um único TlsRoute.

list

Lista TlsRoute em um determinado projeto e local.

patch

Atualiza os parâmetros de um único TlsRoute.