REST Resource: projects.locations.tcpRoutes

Resource: TcpRoute

TcpRoute adalah resource yang menentukan cara traffic TCP dirutekan oleh resource Mesh/Gateway.

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

string

Wajib. Nama resource TcpRoute. Pola ini cocok dengan pola projects/*/locations/global/tcpRoutes/tcp_route_name>.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource dibuat.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource diperbarui.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

description

string

Opsional. Deskripsi teks bebas tentang resource. Panjang maksimum 1.024 karakter.

rules[]

object (RouteRule)

Wajib. Aturan yang menentukan cara traffic dirutekan dan ditangani. Setidaknya satu RouteRule harus diberikan. Jika ada beberapa aturan, tindakan yang diambil akan menjadi aturan pertama yang cocok.

meshes[]

string

Opsional. Mesh menentukan daftar mesh tempat TcpRoute ini dilampirkan, sebagai salah satu aturan pemilihan rute untuk merutekan permintaan yang ditayangkan oleh mesh.

Setiap referensi mesh harus cocok dengan pola: projects/*/locations/global/meshes/<mesh_name>

Mesh yang terpasang harus berjenis SIDECAR

gateways[]

string

Opsional. Gateway menentukan daftar gateway tempat TcpRoute ini dilampirkan, sebagai salah satu aturan pemilihan rute untuk merutekan permintaan yang ditayangkan oleh gateway.

Setiap referensi gateway harus cocok dengan pola: projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

Opsional. Kumpulan tag label yang terkait dengan resource TcpRoute.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RouteRule

Menentukan cara mencocokkan traffic dan cara merutekan traffic saat traffic dicocokkan.

Representasi JSON
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
Kolom
matches[]

object (RouteMatch)

Opsional. RouteMatch menentukan predikat yang digunakan untuk mencocokkan permintaan dengan tindakan tertentu. Beberapa jenis pencocokan dihubungkan dengan "ATAU" untuk evaluasi. Jika tidak ada kolom routeMatch yang ditentukan, aturan ini akan mencocokkan traffic tanpa syarat.

action

object (RouteAction)

Wajib. Aturan mendetail yang menentukan cara merutekan traffic yang cocok.

RouteMatch

RouteMatch menentukan predikat yang digunakan untuk mencocokkan permintaan dengan tindakan tertentu. Beberapa jenis pencocokan dihubungkan dengan "ATAU" untuk evaluasi. Jika tidak ada kolom routeMatch yang ditentukan, aturan ini akan mencocokkan traffic tanpa syarat.

Representasi JSON
{
  "address": string,
  "port": string
}
Kolom
address

string

Wajib. Harus ditentukan dalam format rentang CIDR. Rentang CIDR terdiri dari Alamat IP dan panjang awalan untuk membuat subnet mask. Secara default, panjang awalan adalah 32 (yaitu cocok dengan satu alamat IP). Hanya alamat IPV4 yang didukung. Contoh: "10.0.0.1" - cocok dengan alamat IP yang persis ini. "10.0.0.0/8" - cocok dengan alamat IP apa pun dalam subnet 10.0.0.0 dan mask 255.255.255.0. "0.0.0.0/0" - cocok dengan alamat IP mana pun.

port

string

Wajib. Menentukan port tujuan yang akan dicocokkan.

RouteAction

Spesifikasi untuk merutekan traffic dan menerapkan kebijakan terkait.

Representasi JSON
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ],
  "originalDestination": boolean,
  "idleTimeout": string
}
Kolom
destinations[]

object (RouteDestination)

Opsional. Layanan tujuan tempat traffic harus diteruskan. Setidaknya diperlukan satu layanan tujuan. Hanya salah satu dari tujuan rute atau tujuan awal yang dapat ditetapkan.

originalDestination

boolean

Opsional. Jika benar, Router akan menggunakan IP tujuan dan port koneksi asli sebagai tujuan permintaan. Defaultnya adalah "false". Hanya salah satu dari tujuan rute atau tujuan awal yang dapat ditetapkan.

idleTimeout

string (Duration format)

Opsional. Menentukan waktu tunggu tidak ada aktivitas untuk rute yang dipilih. Waktu tunggu tidak ada aktivitas ditentukan sebagai periode saat tidak ada byte yang dikirim atau diterima di koneksi upstream atau downstream. Jika tidak ditetapkan, waktu tunggu tidak ada aktivitas defaultnya adalah 30 detik. Jika disetel ke 0 detik, waktu tunggu akan dinonaktifkan.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

RouteDestination

Deskripsikan tujuan traffic yang akan dirutekan.

Representasi JSON
{
  "serviceName": string,
  "weight": integer
}
Kolom
serviceName

string

Wajib. URL BackendService yang akan dirutekan trafficnya.

weight

integer

Opsional. Menentukan proporsi permintaan yang diteruskan ke backend yang dirujuk oleh kolom serviceName. Nilai ini dihitung sebagai: - weight/Sum(weights in this destination list). Untuk nilai non-nol, mungkin ada beberapa epsilon dari proporsi persis yang ditentukan di sini, bergantung pada presisi yang didukung implementasi.

Jika hanya satu serviceName yang ditentukan dan memiliki bobot lebih besar dari 0, 100% traffic akan diteruskan ke backend tersebut.

Jika bobot ditentukan untuk satu nama layanan, bobot tersebut harus ditentukan untuk semua nama layanan.

Jika bobot tidak ditentukan untuk semua layanan, traffic akan didistribusikan dalam proporsi yang sama ke semua layanan.

Metode

create

Membuat TcpRoute baru di project dan lokasi tertentu.

delete

Menghapus satu TcpRoute.

get

Mendapatkan detail satu TcpRoute.

list

Mencantumkan TcpRoute di project dan lokasi tertentu.

patch

Memperbarui parameter satu TcpRoute.