REST Resource: projects.locations.tcpRoutes

Ressource: TcpRoute

tcpRoute ist die Ressource, die festlegt, wie TCP-Traffic durch eine 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

Erforderlich. Name der tcpRoute-Ressource. Sie 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.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel für den Zeitpunkt, zu dem die Ressource aktualisiert wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

description

string

Optional. Eine Freitextbeschreibung 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, ist die ausgeführte Aktion die erste Regel, die übereinstimmt.

meshes[]

string

Optional. Meshes definieren eine Liste von Mesh-Netzwerken, an die diese TcpRoute angehängt ist, als eine der Routingregeln zum Weiterleiten der vom Mesh bereitgestellten Anfragen.

Jeder Mesh-Verweis sollte diesem Muster entsprechen: projects/*/locations/global/meshes/<mesh_name>

Das angehängte Mesh-Netzwerk muss vom Typ SIDECAR sein

gateways[]

string

Optional. Gateways definieren eine Liste von Gateways, an die diese TcpRoute angehängt ist. Dies geschieht als eine der Routingregeln zum Weiterleiten der vom Gateway bereitgestellten Anfragen.

Jeder Gatewayverweis sollte dem Muster entsprechen: projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

Optional. Satz von Label-Tags, die mit der TcpRoute-Ressource verknüpft sind.

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

RouteRule

Gibt an, wie der Verkehr 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, mit dem Anfragen einer bestimmten Aktion zugeordnet werden. Mehrere Keyword-Optionen werden zur Auswertung mit „ODER“ verknüpft. Wenn kein „routeMatch“-Feld angegeben ist, gleicht diese Regel den Traffic unbedingt ab.

action

object (RouteAction)

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

RouteMatch

RouteMatch definiert das Prädikat, mit dem Anfragen einer bestimmten Aktion zugeordnet werden. Mehrere Keyword-Optionen werden zur Auswertung mit „ODER“ verknüpft. Wenn kein „routeMatch“-Feld angegeben ist, gleicht diese Regel den Traffic unbedingt ab.

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 zum Erstellen der Subnetzmaske. Standardmäßig beträgt die Präfixlänge 32, d.h., sie entspricht einer einzelnen IP-Adresse. Es werden nur IPv4-Adressen unterstützt. Beispiel: "10.0.0.1" – stimmt mit dieser IP-Adresse überein. "10.0.0.0/8" – stimmt mit jeder IP-Adresse im Subnetz 10.0.0.0 und der Maske 255.255.255.0 überein. „0.0.0.0/0“ – stimmt mit jeder IP-Adresse überein.

port

string

Erforderlich. Gibt den Zielport für den Abgleich an.

RouteAction

Die Spezifikationen für das Routing von Traffic und die Anwendung 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. Bei „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 ein Routenziel oder ein ursprüngliches Ziel festgelegt werden.

idleTimeout

string (Duration format)

Optional. Gibt das Zeitlimit bei Inaktivität für die ausgewählte Route an. Das Zeitlimit bei Inaktivität ist definiert als der Zeitraum, in dem keine Byte über die Upstream- oder die Downstream-Verbindung gesendet oder empfangen wurden. Wenn die Richtlinie nicht konfiguriert ist, beträgt die standardmäßige Zeitüberschreitung bei Inaktivität 30 Sekunden. Bei der Einstellung auf 0 s 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 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 Back-End weitergeleitet werden, auf das im Feld „serviceName“ verwiesen wird. Dies wird wie folgt berechnet: - Gewichtung/Summe(Gewichtungen in dieser Zielliste). Bei Werten ungleich null kann ein Epsilon aus dem hier definierten Anteil vorhanden sein, abhängig von der Genauigkeit, die eine Implementierung unterstützt.

Wenn nur ein serviceName angegeben ist und dieser eine Gewichtung größer als 0 hat, werden 100% des Traffics an dieses Back-End weitergeleitet.

Wenn für einen bestimmten Dienstnamen Gewichtungen angegeben sind, müssen diese für alle Dienstnamen angegeben werden.

Wenn für alle Dienste keine Gewichtungen angegeben sind, wird der Traffic zu gleichen Teilen auf alle Dienste 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.