REST Resource: projects.locations.tcpRoutes

資源:TcpRoute

TcpRoute 是定義 Mesh/Gateway 資源應如何轉送 TCP 流量的資源。

JSON 表示法
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  }
}
欄位
name

string

這是必要旗標,TcpRoute 資源的名稱。符合模式 projects/*/locations/global/tcpRoutes/tcp_route_name>

createTime

string (Timestamp format)

僅供輸出。資源建立時間的時間戳記。

採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

僅供輸出。資源更新時間的時間戳記。

採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

description

string

(非必要) 資源的自由文字說明。長度上限為 1024 個半形字元。

rules[]

object (RouteRule)

這是必要旗標,定義流量轉送和處理方式的規則。您必須提供至少一個 RouteRule。如果有多項規則,系統會採取相符的第一個規則所指定的動作。

meshes[]

string

(非必要) 網格定義了這個 TcpRoute 附加的網格清單,做為轉送規則之一,用於轉送網格提供的要求。

每個網格參照都應符合以下格式:projects/*/locations/global/meshes/<mesh_name>

附加的網格應為 SIDECAR 類型

gateways[]

string

(非必要) 閘道會定義這個 TcpRoute 所連結的閘道清單,做為其中一個轉送規則,用於轉送閘道提供的請求。

每個閘道參照都應符合以下格式:projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

(非必要) 與 TcpRoute 資源相關聯的標籤標記集。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

RouteRule

指定如何比對流量,以及比對流量後的轉送方式。

JSON 表示法
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
欄位
matches[]

object (RouteMatch)

(非必要) RouteMatch 會定義用於將要求與特定動作比對的述詞。多個比對類型會以「或」邏輯進行評估。如未指定 routeMatch 欄位,這個規則會無條件比對流量。

action

object (RouteAction)

這是必要旗標,定義如何轉送相符流量的詳細規則。

RouteMatch

RouteMatch 會定義用於將要求與特定動作比對的謂詞。多個比對類型會以「或」邏輯進行評估。如果未指定 routeMatch 欄位,這個規則會無條件比對流量。

JSON 表示法
{
  "address": string,
  "port": string
}
欄位
address

string

這是必要旗標,必須以 CIDR 範圍格式指定。CIDR 範圍包含 IP 位址和前置字串長度,用於建構子網路遮罩。根據預設,前置長度為 32 (即與單一 IP 位址相符)。僅支援 IPV4 位址。範例:「10.0.0.1」- 與這個 IP 位址完全相符。「10.0.0.0/8」- 比對 10.0.0.0 子網路和 255.255.255.0 遮罩內的任何 IP 位址。「0.0.0.0/0」- 比對任何 IP 位址。

port

string

這是必要旗標,指定要比對的目的地通訊埠。

RouteAction

轉送流量和套用相關政策的規格。

JSON 表示法
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
欄位
destinations[]

object (RouteDestination)

(非必要) 應轉送流量的目的地服務。至少須提供一個目的地服務。只能設定路線目的地或原始目的地。

originalDestination

boolean

(非必要) 如果為 true,Router 會使用原始連線的目的地 IP 和通訊埠做為要求的目的地。預設值為 False。只能設定路線目的地或原始目的地其中一個。

idleTimeout

string (Duration format)

(非必要) 指定所選路徑的閒置逾時時間。閒置逾時時間的定義為上游或下游連線在一段時間內未傳送或接收任何位元組的時間。如果未設定,預設閒置逾時時間為 30 秒。如果設為 0 秒,系統就會停用逾時設定。

以秒為單位的時間長度,最多可有 9 個小數位數,結尾為「s」,例如:"3.5s"

RouteDestination

說明要將流量導向的目的地。

JSON 表示法
{
  "serviceName": string,
  "weight": integer
}
欄位
serviceName

string

這是必要旗標,要將流量轉送至的 BackendService 網址。

weight

integer

(非必要) 指定轉送至 serviceName 欄位所參照後端的要求比例。計算方式為:- 權重/Sum(這個目的地清單中的權重)。對於非零值,實際比例可能會與此處定義的確切比例有些微差異,具體取決於實作項目支援的精確度。

如果只指定一個 serviceName,且其權重大於 0,則 100% 的流量都會轉送至該後端。

如果為任何服務名稱指定權重,則必須為所有服務名稱指定權重。

如果未為所有服務指定權重,則流量會平均分配給所有服務。

方法

create

在指定的專案和位置中建立新的 TcpRoute。

delete

刪除單一 TcpRoute。

get

取得單一 TcpRoute 的詳細資料。

list

列出指定專案和位置中的 TcpRoute。

patch

更新單一 TcpRoute 的參數。

setIamPolicy

設定指定資源的存取權控管政策。

testIamPermissions

傳回呼叫者在指定資源上擁有的權限。