REST Resource: projects.locations.tcpRoutes

Risorsa: TcpRoute

TcpRoute è la risorsa che definisce il modo in cui il traffico TCP deve essere instradato da una risorsa Mesh/Gateway.

Rappresentazione JSON
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
Campi
name

string

Obbligatorio. Nome della risorsa TcpRoute. Corrisponde al pattern projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione della risorsa.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo output. Timestamp di aggiornamento della risorsa.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

description

string

Facoltativo. Una descrizione in testo libero della risorsa. Lunghezza massima: 1024 caratteri.

rules[]

object (RouteRule)

Obbligatorio. Regole che definiscono le modalità di routing e gestione del traffico. Devi specificare almeno una regola RouteRule. Se sono presenti più regole, verrà intrapresa l'azione della prima regola che corrisponde.

meshes[]

string

Facoltativo. Meshes definisce un elenco di mesh a cui è associata questa route TCP, come una delle regole di routing per instradare le richieste servite dal mesh.

Ogni riferimento alla mesh deve corrispondere al pattern: projects/*/locations/global/meshes/<mesh_name>

Il mesh collegato deve essere di tipo SIDECAR

gateways[]

string

Facoltativo. Gateways definisce un elenco di gateway a cui è associata questa route TCP, come una delle regole di routing per instradare le richieste servite dal gateway.

Ogni riferimento gateway deve corrispondere al pattern: projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

Facoltativo. Set di tag etichetta associati alla risorsa TcpRoute.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RouteRule

Specifica come associare il traffico e come indirizzarlo quando viene associato.

Rappresentazione JSON
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
Campi
matches[]

object (RouteMatch)

Facoltativo. RouteMatch definisce il predicato utilizzato per associare le richieste a una determinata azione. Più tipi di corrispondenza vengono contrassegnati con "OR" per la valutazione. Se non viene specificato alcun campo routeMatch, questa regola corrisponderà incondizionatamente al traffico.

action

object (RouteAction)

Obbligatorio. La regola dettagliata che definisce il modo in cui instradare il traffico corrispondente.

RouteMatch

RouteMatch definisce il predicato utilizzato per abbinare le richieste a una determinata azione. Per la valutazione vengono utilizzati più tipi di corrispondenza con l'operatore OR. Se non viene specificato alcun campo routeMatch, questa regola corrisponderà incondizionatamente al traffico.

Rappresentazione JSON
{
  "address": string,
  "port": string
}
Campi
address

string

Obbligatorio. Deve essere specificato nel formato dell'intervallo CIDR. Un intervallo CIDR è composto da un indirizzo IP e da un prefisso per creare la subnet mask. Per impostazione predefinita, la lunghezza del prefisso è 32 (ovvero corrisponde a un singolo indirizzo IP). Sono supportati solo gli indirizzi IPV4. Esempi: "10.0.0.1": corrisponde a questo indirizzo IP esatto. "10.0.0.0/8": corrisponde a qualsiasi indirizzo IP all'interno della subnet 10.0.0.0 e della maschera 255.255.255.0. "0.0.0.0/0" - corrisponde a qualsiasi indirizzo IP".

port

string

Obbligatorio. Specifica la porta di destinazione da utilizzare per la corrispondenza.

RouteAction

Le specifiche per il routing del traffico e l'applicazione dei criteri associati.

Rappresentazione JSON
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
Campi
destinations[]

object (RouteDestination)

Facoltativo. I servizi di destinazione a cui deve essere inoltrato il traffico. È necessario almeno un servizio di destinazione. È possibile impostare solo una delle destinazioni del percorso o della destinazione originale.

originalDestination

boolean

Facoltativo. Se impostato su true, il router utilizzerà l'IP di destinazione e la porta della connessione originale come destinazione della richiesta. Il valore predefinito è false. È possibile impostare una sola destinazione del percorso o la destinazione originale.

idleTimeout

string (Duration format)

Facoltativo. Specifica il timeout inattivo per il percorso selezionato. Per timeout di inattività si intende il periodo in cui non vengono inviati o ricevuti byte nella connessione a monte o a valle. Se non viene impostato, il timeout di inattività predefinito è 30 secondi. Se impostato su 0 s, il timeout verrà disattivato.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

RouteDestination

Descrivi la destinazione del traffico da instradare.

Rappresentazione JSON
{
  "serviceName": string,
  "weight": integer
}
Campi
serviceName

string

Obbligatorio. L'URL di un servizio di backend a cui instradare il traffico.

weight

integer

Facoltativo. Specifica la proporzione di richieste inoltrate al backend a cui fa riferimento il campo serviceName. Questo valore viene calcolato come: - weight/somma(ponderazioni in questo elenco di destinazione). Per i valori diversi da zero, potrebbe esserci un'epsilon della proporzione esatta definita qui a seconda della precisione supportata da un'implementazione.

Se viene specificato un solo serviceName e ha un peso maggiore di 0, il 100% del traffico viene inoltrato a quel backend.

Se i pesi vengono specificati per un nome di servizio, devono essere specificati per tutti.

Se le ponderazioni non sono specificate per tutti i servizi, il traffico viene distribuito in proporzioni uguali tra tutti i servizi.

Metodi

create

Crea una nuova route TCP in un determinato progetto e posizione.

delete

Consente di eliminare un singolo TcpRoute.

get

Restituisce i dettagli di una singola TcpRoute.

getIamPolicy

Recupera il criterio di controllo dell'accesso per una risorsa.

list

Elenca TcpRoute in un progetto e in una località specifici.

patch

Aggiorna i parametri di una singola TcpRoute.

setIamPolicy

Imposta il criterio di controllo dell'accesso sulla risorsa specificata.

testIamPermissions

Restituisce le autorizzazioni di cui un chiamante dispone per la risorsa specificata.