REST Resource: projects.locations.tcpRoutes

Ressource : TcpRoute

TcpRoute est la ressource qui définit la manière dont le trafic TCP doit être acheminé par une ressource Mesh/Gateway.

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

Identifiant. Nom de la ressource TcpRoute. Il correspond au schéma projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

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

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

description

string

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

rules[]

object (RouteRule)

Obligatoire. Règles qui définissent la manière dont le trafic est acheminé et géré. Au moins une RouteRule doit être fournie. S'il existe plusieurs règles, l'action effectuée sera celle de la première règle correspondante.

meshes[]

string

Facultatif. Meshes définit une liste de mailles auxquelles cette TcpRoute est associée, en tant que l'une des règles de routage permettant de router les requêtes traitées par la maille.

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

Le maillage associé doit être de type SIDECAR.

gateways[]

string

Facultatif. "gateways" définit la liste des passerelles auxquelles cette ressource TcpRoute est associée, en tant que règle de routage pour acheminer les requêtes traitées par la passerelle.

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

labels

map (key: string, value: string)

Facultatif. Ensemble de tags de libellé associés à la ressource TcpRoute.

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

RouteRule

Indique comment faire correspondre 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 combinés avec un "OU" pour l'évaluation. Si aucun champ routeMatch n'est spécifié, cette règle correspondra inconditionnellement au trafic.

action

object (RouteAction)

Obligatoire. Règle détaillée définissant comment acheminer le trafic correspondant.

RouteMatch

RouteMatch définit le prédicat utilisé pour faire correspondre les requêtes à une action donnée. Plusieurs types de correspondance sont combinés avec un "OU" pour l'évaluation. Si aucun champ routeMatch n'est spécifié, cette règle correspondra inconditionnellement au trafic.

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

string

Obligatoire. Doit être spécifié au format de 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 du préfixe est de 32 (c'est-à-dire qu'elle correspond à une seule adresse IP). Seules les adresses IPv4 sont acceptées. Exemple : "10.0.0.1" correspond exactement à cette adresse IP. "10.0.0.0/8" : correspond à n'importe quelle adresse IP du sous-réseau 10.0.0.0 et du 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 auquel la règle doit correspondre.

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é. Vous devez indiquer au moins un service de destination. Vous ne pouvez définir qu'une seule destination (destination de l'itinéraire ou destination d'origine).

originalDestination

boolean

Facultatif. Si la valeur est "true", le routeur utilisera 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 de route ou destination d'origine.

idleTimeout

string (Duration format)

Facultatif. Indique le délai d'inactivité pour la route sélectionnée. Le délai d'inactivité est défini comme la période pendant laquelle aucun octet n'est envoyé ni reçu sur la connexion en amont ou en aval. Si aucune valeur n'est définie, le délai d'inactivité par défaut est de 30 secondes. Si la valeur est définie 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 BackendService vers lequel le trafic doit être acheminé.

weight

integer

Facultatif. Spécifie la proportion de requêtes transférées au backend référencé par le champ "serviceName". Il est calculé comme suit : - weight/Sum(weights in this destination list). Pour les valeurs non nulles, il peut y avoir un epsilon par rapport à la proportion exacte définie ici, en fonction de la précision prise en charge par une implémentation.

Si un seul serviceName est spécifié et que sa pondération est supérieure à 0, 100 % du trafic est transféré vers ce backend.

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

Si aucune pondération n'est spécifiée pour tous les services, le trafic est réparti de manière égale entre eux.

Méthodes

create

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

delete

Supprime une seule TcpRoute.

get

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

list

Répertorie les TcpRoute d'un projet et d'un emplacement donnés.

patch

Mettre à jour les paramètres d'une seule route TCP.