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

Erforderlich. Name der TCPRoute-Ressource. Sie stimmt mit dem Muster projects/*/locations/global/tcpRoutes/tcp_route_name> überein.

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, der angibt, wann 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 festlegen, wie Traffic weitergeleitet und verarbeitet wird. Es muss mindestens eine RouteRule angegeben werden. Wenn es mehrere Regeln gibt, wird die Aktion der ersten übereinstimmenden Regel ausgeführt.

meshes[]

string

Optional. Mit „Meshes“ wird eine Liste von Meshes definiert, an die diese TcpRoute angehängt ist. Dies ist eine der Routingregeln für die Weiterleitung der vom Mesh gesendeten Anfragen.

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

Das angehängte Mesh sollte 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 bereitgestellten Anfragen.

Jeder Gateway-Verweis sollte diesem Muster entsprechen: projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

Optional. Satz 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

Hier wird festgelegt, wie Traffic abgeglichen und weitergeleitet wird, wenn ein Abgleich erfolgt.

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

object (RouteMatch)

Optional. Mit „RouteMatch“ wird das Prädikat definiert, mit dem Anfragen mit einer bestimmten Aktion abgeglichen werden. Mehrere Keyword-Optionen werden zur Auswertung mit „ODER“ verknüpft. Wenn kein Feld „routeMatch“ angegeben ist, wird der Traffic mit dieser Regel bedingungslos abgeglichen.

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. Bei der Auswertung werden mehrere Keyword-Optionen „ODER“ verknüpft. Wenn kein Feld „routeMatch“ angegeben ist, wird der Traffic mit dieser Regel bedingungslos abgeglichen.

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, um die Subnetzmaske zu erstellen. 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“ – Übereinstimmung mit genau dieser IP-Adresse. „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 der zugehörigen Richtlinien.

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

object (RouteDestination)

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

originalDestination

boolean

Optional. Wenn diese Option aktiviert ist, 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 Routenziele 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 als Zeitraum definiert, in dem keine Byte über die Upstream- oder Downstream-Verbindung gesendet oder empfangen werden. Wenn die Richtlinie nicht konfiguriert ist, beträgt das standardmäßige Zeitlimit bei Inaktivität 30 Sekunden. Wenn der Wert auf „0 Sekunden“ gesetzt ist, wird die Zeitüberschreitung 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 Back-End-Dienstes, 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. Die Berechnung erfolgt so: - Gewicht ÷ Summe der Gewichte in dieser Zielliste. Bei Werten ungleich 0 kann es je nach Genauigkeit der Implementierung zu Abweichungen vom hier definierten genauen Anteil kommen.

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

Wenn für einen Dienstnamen Gewichtungen angegeben werden, müssen sie für alle 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.

getIamPolicy

Ruft die Zugriffssteuerungsrichtlinie für eine Ressource ab.

list

Listet TcpRoute in einem angegebenen Projekt und an einem angegebenen Standort auf.

patch

Aktualisiert die Parameter einer einzelnen TCP-Route.

setIamPolicy

Legt die Zugriffskontrollrichtlinie für die angegebene Ressource fest.

testIamPermissions

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