REST Resource: projects.locations.tcpRoutes

Ressource: TcpRoute

TcpRoute ist die Ressource, die definiert, wie TCP-Traffic von einer Mesh-/Gateway-Ressource weitergeleitet werden soll.

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

string

ID. Name der „TcpRoute“-Ressource. Entspricht dem Muster projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Ressourcenaktualisierung.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

description

string

Optional. Eine Textbeschreibung der Ressource. Maximale Länge: 1.024 Zeichen.

rules[]

object (RouteRule)

Erforderlich. Regeln, die definieren, wie Traffic weitergeleitet und verarbeitet wird. Es muss mindestens eine RouteRule angegeben werden. Wenn es mehrere Regeln gibt, wird die Aktion der ersten passenden Regel ausgeführt.

meshes[]

string

Optional. „Meshes“ definiert eine Liste von Mesh-Netzwerken, an die diese TcpRoute angehängt ist, als eine der Routingregeln zum Weiterleiten der Anfragen, die vom Mesh-Netzwerk verarbeitet werden.

Jede Mesh-Netzwerk-Referenz muss dem Muster projects/*/locations/global/meshes/<mesh_name> entsprechen.

Das angehängte Mesh muss vom Typ SIDECAR sein.

gateways[]

string

Optional. „Gateways“ definiert eine Liste von Gateways, an die diese TcpRoute angehängt ist, als eine der Routingregeln zum Weiterleiten der vom Gateway verarbeiteten Anfragen.

Jede Gateway-Referenz muss dem Muster projects/*/locations/global/gateways/<gateway_name> entsprechen.

labels

map (key: string, value: string)

Optional. Eine Reihe von Label-Tags, die der TcpRoute-Ressource zugeordnet sind.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RouteRule

Gibt an, wie Traffic abgeglichen und weitergeleitet wird, wenn er abgeglichen wird.

JSON-Darstellung
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
Felder
matches[]

object (RouteMatch)

Optional. RouteMatch definiert das Prädikat, das zum Abgleichen von Anfragen mit einer bestimmten Aktion verwendet wird. Mehrere Keyword-Optionen werden für die Auswertung mit „OR“ verknüpft. Wenn kein „routeMatch“-Feld angegeben ist, wird diese Regel immer auf Traffic angewendet.

action

object (RouteAction)

Erforderlich. Die detaillierte Regel, die festlegt, wie abgeglichener Traffic weitergeleitet wird.

RouteMatch

RouteMatch definiert das Prädikat, das zum Abgleichen von Anfragen mit einer bestimmten Aktion verwendet wird. Mehrere Keyword-Optionen werden für die Auswertung mit „OR“ verknüpft. Wenn kein „routeMatch“-Feld angegeben ist, wird diese Regel immer auf Traffic angewendet.

JSON-Darstellung
{
  "address": string,
  "port": string
}
Felder
address

string

Erforderlich. Muss im CIDR-Bereichsformat angegeben werden. Ein CIDR-Bereich besteht aus einer IP-Adresse und einer Präfixlänge, mit denen die Subnetzmaske erstellt wird. Standardmäßig ist die Präfixlänge 32 (d.h. sie entspricht einer einzelnen IP-Adresse). Nur IPv4-Adressen werden unterstützt. Beispiele: „10.0.0.1“ – stimmt mit genau dieser IP-Adresse überein. „10.0.0.0/8“ – entspricht jeder IP-Adresse im Subnetz 10.0.0.0 und der Maske 255.255.255.0. „0.0.0.0/0“ – entspricht jeder IP-Adresse.

port

string

Erforderlich. Gibt den Zielport an, mit dem abgeglichen werden soll.

RouteAction

Die Spezifikationen für das Weiterleiten von Traffic und das Anwenden zugehöriger Richtlinien.

JSON-Darstellung
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
Felder
destinations[]

object (RouteDestination)

Optional. Die Zieldienste, an die Traffic weitergeleitet werden soll. Mindestens ein Zieldienst ist erforderlich. Es kann nur entweder das Routenziel oder das ursprüngliche Ziel festgelegt werden.

originalDestination

boolean

Optional. Wenn „true“, verwendet der Router die Ziel-IP-Adresse und den Zielport der ursprünglichen Verbindung als Ziel der Anfrage. Der Standardwert ist "false". Es kann nur eines der beiden Ziele festgelegt werden: das Routenziel oder das ursprüngliche Ziel.

idleTimeout

string (Duration format)

Optional. Gibt das Zeitlimit für die ausgewählte Route an. Das Leerlauf-Zeitlimit wird als der Zeitraum definiert, in dem weder in der Upstream- noch in der Downstream-Verbindung Bytes gesendet oder empfangen werden. Wenn nicht festgelegt, beträgt das standardmäßige Leerlauf-Zeitlimit 30 Sekunden. Wenn der Wert auf „0 s“ gesetzt ist, wird das Zeitlimit deaktiviert.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

RouteDestination

Beschreiben Sie das Ziel, an das der Traffic weitergeleitet werden soll.

JSON-Darstellung
{
  "serviceName": string,
  "weight": integer
}
Felder
serviceName

string

Erforderlich. Die URL eines BackendService, an den Traffic weitergeleitet werden soll.

weight

integer

Optional. Gibt den Anteil der Anfragen an, die an das Backend weitergeleitet werden, auf das im Feld „serviceName“ verwiesen wird. Der Wert wird so berechnet: – Gewichtung/Summe(Gewichtungen in dieser Zielliste). Bei Werten ungleich null kann es je nach Precision, die eine Implementierung unterstützt, zu Abweichungen vom hier definierten genauen Anteil kommen.

Wenn nur ein serviceName angegeben ist und dieser eine Gewichtung von mehr als 0 hat, wird 100 % des Traffics an dieses Backend weitergeleitet.

Wenn Gewichtungen für einen Dienstnamen angegeben werden, müssen sie für alle angegeben werden.

Wenn für alle Dienste keine Gewichtungen angegeben sind, wird der Traffic gleichmäßig auf alle verteilt.

Methoden

create

Erstellt eine neue „TcpRoute“ in einem bestimmten Projekt und an einem bestimmten Standort.

delete

Löscht eine einzelne „TcpRoute“.

get

Ruft Details zu einer einzelnen „TcpRoute“ ab.

list

Listet „TcpRoute“ in einem bestimmten Projekt und an einem bestimmten Standort auf.

patch

Aktualisiert die Parameter einer einzelnen „TcpRoute“

setIamPolicy

Legt die Zugriffssteuerungsrichtlinie für die angegebene Ressource fest.

testIamPermissions

Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück.