REST Resource: projects.locations.tcpRoutes

Ressource: tcpRoute

tcpRoute est la ressource définissant la manière dont le trafic TCP doit être acheminé par une ressource de réseau maillé/passerelle.

Représentation JSON
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
Champs
name

string

Obligatoire. Nom de la ressource tcpRoute. Il correspond au modèle projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de la ressource.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la mise à jour de la ressource.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

description

string

Facultatif. Description en texte libre de la ressource. Longueur maximale : 1 024 caractères.

rules[]

object (RouteRule)

Obligatoire. Des règles qui définissent la manière dont le trafic est acheminé et géré. Vous devez indiquer au moins un RouteRule. S'il existe plusieurs règles, l'action entreprise sera la première à correspondre.

meshes[]

string

Facultatif. Les maillages définissent une liste de réseaux maillés auxquels cette tcpRoute est associée, comme l'une des règles de routage permettant d'acheminer les requêtes diffusées par le maillage.

Chaque référence au maillage doit correspondre au modèle suivant: projects/*/locations/global/meshes/<mesh_name>

Le maillage connecté doit être de type SIDECAR

gateways[]

string

Facultatif. Les passerelles définissent une liste de passerelles auxquelles cette tcpRoute est associée, comme l'une des règles de routage permettant d'acheminer les requêtes diffusées par la passerelle.

Chaque référence de passerelle doit correspondre au format suivant: projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

Facultatif. Ensemble de tags d'étiquettes associés à la ressource tcpRoute.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RouteRule

Spécifie comment mettre en correspondance le trafic et comment l'acheminer lorsqu'il correspond.

Représentation JSON
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
Champs
matches[]

object (RouteMatch)

Facultatif. RouteMatch définit le prédicat utilisé pour faire correspondre les requêtes à une action donnée. Plusieurs types de correspondance sont associés à l'opérateur "OU" pour l'évaluation. Si aucun champ routeMatch n'est spécifié, la règle mettra en correspondance le trafic sans condition.

action

object (RouteAction)

Obligatoire. Règle détaillée définissant comment acheminer le trafic mis en correspondance.

RouteMatch

RouteMatch définit le prédicat utilisé pour faire correspondre les requêtes à une action donnée. Plusieurs types de correspondance sont associés à l'opérateur "OU" pour l'évaluation. Si aucun champ routeMatch n'est spécifié, la règle mettra en correspondance le trafic sans condition.

Représentation JSON
{
  "address": string,
  "port": string
}
Champs
address

string

Obligatoire. Doit être spécifié au format de la plage CIDR. Une plage CIDR se compose d'une adresse IP et d'une longueur de préfixe pour construire le masque de sous-réseau. Par défaut, la longueur de préfixe est de 32 (c'est-à-dire qu'elle correspond à une adresse IP unique). Seules les adresses IPv4 sont acceptées. Exemples: "10.0.0.1" correspond à cette adresse IP exacte. "10.0.0.0/8" : met en correspondance n'importe quelle adresse IP dans le sous-réseau 10.0.0.0 et le masque 255.255.255.0. "0.0.0.0/0" - correspond à n'importe quelle adresse IP.

port

string

Obligatoire. Spécifie le port de destination à mettre en correspondance.

RouteAction

Spécifications pour le routage du trafic et l'application des règles associées

Représentation JSON
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
Champs
destinations[]

object (RouteDestination)

Facultatif. Services de destination vers lesquels le trafic doit être transféré. Veuillez indiquer au moins un service de destination. Vous ne pouvez définir qu'une seule destination d'itinéraire ou destination d'origine.

originalDestination

boolean

Facultatif. Si la valeur est "true", le routeur utilise l'adresse IP et le port de destination de la connexion d'origine comme destination de la requête. La valeur par défaut est "false". Vous ne pouvez définir qu'une seule destination d'itinéraire ou une seule destination d'origine.

idleTimeout

string (Duration format)

Facultatif. Spécifie le délai d'inactivité pour la route sélectionnée. Le délai d'inactivité est défini comme la période au cours de laquelle aucun octet n'est envoyé ni reçu sur la connexion en amont ou en aval. Si cette règle n'est pas configurée, le délai d'inactivité par défaut est de 30 secondes. S'il est défini sur 0 s, le délai avant expiration est désactivé.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

RouteDestination

Décrivez la destination vers laquelle le trafic doit être acheminé.

Représentation JSON
{
  "serviceName": string,
  "weight": integer
}
Champs
serviceName

string

Obligatoire. URL d'un service BackendService vers lequel acheminer le trafic.

weight

integer

Facultatif. Spécifie la proportion de requêtes transférées au backend référencé par le champ serviceName. Cette valeur est calculée de la façon suivante: - weight/Sum(pondérations dans cette liste de destination). Pour les valeurs non nulles, il peut y avoir une valeur epsilon par rapport à la proportion exacte définie ici, en fonction de la précision acceptée par une implémentation.

Si un seul serviceName est spécifié et que sa pondération est supérieure à 0, la totalité du trafic est transmise à ce backend.

Si des pondérations sont spécifiées pour un nom de service donné, elles doivent l'être pour tous les noms de service.

Si les pondérations ne sont pas spécifiées pour tous les services, le trafic est réparti dans des proportions égales entre tous ces services.

Méthodes

create

Crée une route TCP dans un projet et un emplacement donnés.

delete

Supprime une seule route tcp.

get

Récupère les détails d'une seule route tcp.

list

Répertorie tcpRoute dans un projet et un emplacement donnés.

patch

Met à jour les paramètres d'une seule route tcp.

setIamPolicy

Définit la stratégie de contrôle d'accès de la ressource spécifiée.

testIamPermissions

Renvoie les autorisations qu'un appelant a sur la ressource spécifiée.