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. 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 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. É necessário 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. "Gateways" define uma lista de gateways a que este 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ó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. 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.

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. Vários tipos de correspondência recebem "E" para avaliação. Se nenhum campo "routeMatch" for especificado, a regra corresponderá o tráfego incondicionalmente.

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

string

Opcional. SNI (indicador de nome do servidor) para correspondência. O SNI será comparado com todos os domínios com caracteres curinga, ou seja, www.example.com vai ser comparado primeiro com www.example.com, depois *.example.com, depois *.com.. Caracteres curinga parciais não são aceitos e valores como *w.example.com são inválidos. É necessário incluir pelo menos um dos seguintes valores: sniHost e alpn. É possível definir até 100 hosts de sni em todas as correspondências.

alpn[]

string

Opcional. ALPN (negociação de protocolo na camada do aplicativo) a ser comparado. Exemplos: "http/1.1", "h2". Pelo menos um sniHost e alpn é necessário. É possível configurar até 5 ALPNS em todas as correspondências.

RouteAction

As especificações para rotear o tráfego e aplicar as 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 deve ser encaminhado. É necessário pelo menos um serviço de destino.

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

Defina o destino para onde o tráfego 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 uma nova TlsRoute em um determinado projeto e local.

delete

Exclui uma única TlsRoute.

get

Recebe detalhes de uma única TlsRoute.

list

Lista TlsRoute em um determinado projeto e local.

patch

Atualiza os parâmetros de um único TlsRoute.

setIamPolicy

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

testIamPermissions

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