Smart Web Security Load Balancer API, gRPC: LoadBalancerService.List
Lists load balancers in the specified folder.
gRPC request
rpc List (ListLoadBalancersRequest) returns (ListLoadBalancersResponse)
ListLoadBalancersRequest
{
"folder_id": "string"
}
|
Field |
Description |
|
folder_id |
string Required field. ID of the folder to list load balancers in. |
ListLoadBalancersResponse
{
"load_balancers": [
{
"id": "string",
"folder_id": "string",
"cloud_id": "string",
"labels": "map<string, string>",
"name": "string",
"description": "string",
"domains": [
{
"name": "string",
"server_name": "string",
"description": "string",
"security_profile_id": "string",
"http_backend": {
"targets": [
{
"ip_address": "string",
"description": "string",
"port": "int64"
}
],
"use_http2": "bool",
"use_tls": "bool",
"sni": "string",
"trusted_ca_bytes": "string",
"timeout": "google.protobuf.Duration",
"idle_timeout": "google.protobuf.Duration",
"session_affinity": {
// Includes only one of the fields `connection`, `header`, `cookie`
"connection": {
"source_ip": "bool"
},
"header": {
"header_name": "string"
},
"cookie": {
"name": "string",
"ttl": "google.protobuf.Duration",
"path": "string"
}
// end of the list of possible fields
}
},
"tls_listener": {
"enabled": "bool",
"certificate_id": "string",
"port": "int64",
"enable_http1": "bool"
},
"http_listener": {
"enabled": "bool",
"redirect_to_https": "bool",
"port": "int64"
},
"solid_waf_settings": {
"solid_waf_profile_id": "string",
"session_affinity": {
// Includes only one of the fields `connection`, `header`, `cookie`
"connection": {
"source_ip": "bool"
},
"header": {
"header_name": "string"
},
"cookie": {
"name": "string",
"ttl": "google.protobuf.Duration",
"path": "string"
}
// end of the list of possible fields
},
"web_app_id": "string"
},
"rate_limit": {
"all_requests_per_second": "int64",
"requests_per_ip_per_second": "int64"
}
}
],
"created_at": "google.protobuf.Timestamp",
"updated_at": "google.protobuf.Timestamp",
"service_account_id": "string",
"status": "Status",
"log_options": {
"log_group_id": "string",
"disable": "bool",
"discard_rules": [
{
"http_codes": [
"int64"
],
"http_code_intervals": [
"HttpCodeInterval"
],
"discard_percent": "google.protobuf.Int64Value"
}
]
},
"region_id": "string",
"deletion_protection": "bool",
"ip_address": "string",
"resource_units": "int64",
"ddos_protection_provider": "string",
"log_group_id": "string",
"route_options": {
"modify_request_headers": [
{
"name": "string",
// Includes only one of the fields `append`, `replace`, `remove`, `rename`
"append": "string",
"replace": "string",
"remove": "bool",
"rename": "string"
// end of the list of possible fields
}
],
"modify_response_headers": [
{
"name": "string",
// Includes only one of the fields `append`, `replace`, `remove`, `rename`
"append": "string",
"replace": "string",
"remove": "bool",
"rename": "string"
// end of the list of possible fields
}
]
}
}
]
}
|
Field |
Description |
|
load_balancers[] |
List of load balancers. |
LoadBalancer
A Smart Web Security load balancer resource.
|
Field |
Description |
|
id |
string ID of the load balancer. |
|
folder_id |
string ID of the folder that the load balancer belongs to. |
|
cloud_id |
string ID of the cloud that the load balancer belongs to. |
|
labels |
object (map<string, string>) Resource labels as The maximum string length in characters for each value is 63. The string length in characters for each key must be 1-63. Each key must match the regular expression |
|
name |
string Required field. Name of the load balancer. The string length in characters must be 1-50. Value must match the regular expression |
|
description |
string Description of the load balancer. The maximum string length in characters is 512. |
|
domains[] |
Domains served by the load balancer. The number of elements must be in the range 0-500. |
|
created_at |
Creation time. |
|
updated_at |
Last time when the load balancer was modified. |
|
service_account_id |
string Required field. Service account for access to certificate, securityProfile and logGroup. |
|
status |
enum Status Status of the load balancer.
|
|
log_options |
Cloud logging settings. |
|
region_id |
string Required field. "ru-central1", "kz1", etc. |
|
deletion_protection |
bool Forbids Delete() calls. |
|
ip_address |
string IP address of resulting balancer. |
|
resource_units |
int64 Number of initially allocated resource units. |
|
ddos_protection_provider |
string L3-L4 DDoS protection provider. Currently supported: "" or "qrator". |
|
log_group_id |
string Cloud logging log group ID. |
|
route_options |
Options that apply to all domains. |
Domain
A domain served by a Smart Web Security load balancer.
|
Field |
Description |
|
name |
string Unique name of domain within the balancer. Value must match the regular expression |
|
server_name |
string Required field. Server name or wildcard to be matched against SNI in a TLS connection and authority(host) header. The string length in characters must be 1-255. Value must match the regular expression |
|
description |
string Domain description. The maximum string length in characters is 512. |
|
security_profile_id |
string Security Profile ID of SmartWebSecurity service. |
|
http_backend |
Backend settings. |
|
tls_listener |
Optional TLS listener settings. |
|
http_listener |
Optional plaintext listener settings. |
|
solid_waf_settings |
Optional Solid WAF settings. |
|
rate_limit |
Optional rate limit settings. |
HttpBackend
|
Field |
Description |
|
targets[] |
List of targets. The number of elements must be in the range 1-20. |
|
use_http2 |
bool Enables HTTP2 for upstream requests. |
|
use_tls |
bool Enable TLS for upstream requests. |
|
sni |
string SNI string for TLS connections. The maximum string length in characters is 255. Value must match the regular expression |
|
trusted_ca_bytes |
string Trusted certificate authority certificates bundle (PEM text). |
|
timeout |
Backend timeout. If not set, default is 300 seconds. |
|
idle_timeout |
Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout. |
|
session_affinity |
Session affinity. |
Target
|
Field |
Description |
|
ip_address |
string IPv4 address. The string length in characters must be 1-40. |
|
description |
string Target description. The maximum string length in characters is 128. |
|
port |
int64 Target port. Acceptable values are 1 to 65535, inclusive. |
SessionAffinity
|
Field |
Description |
|
connection |
Session affinity based on source IP address. Includes only one of the fields |
|
header |
Session affinity based on an HTTP header. Includes only one of the fields |
|
cookie |
Session affinity based on a cookie. Includes only one of the fields |
ConnectionSessionAffinity
|
Field |
Description |
|
source_ip |
bool IP address. |
HeaderSessionAffinity
|
Field |
Description |
|
header_name |
string Header name. The string length in characters must be 1-256. |
CookieSessionAffinity
|
Field |
Description |
|
name |
string Cookie name. The string length in characters must be 1-256. |
|
ttl |
If not set, session cookie will be used (not persisted between browser restarts). |
|
path |
string Optional cookie path. The string length in characters must be 0-256. |
TlsListener
|
Field |
Description |
|
enabled |
bool Enable TLS listener. |
|
certificate_id |
string Certificate ID in the Certificate Manager. |
|
port |
int64 Listener port. If value is not set, used 443 by default. Acceptable values are 0 to 65535, inclusive. |
|
enable_http1 |
bool Enables HTTP/1.0 and HTTP/1.1 support and disables HTTP/2. |
HttpListener
|
Field |
Description |
|
enabled |
bool Enable http (plaintext) listener. |
|
redirect_to_https |
bool Automatically redirect from HTTP to HTTPS. |
|
port |
int64 Listener port. If value is not set, used 80 by default. Acceptable values are 0 to 65535, inclusive. |
SolidWafSettings
|
Field |
Description |
|
solid_waf_profile_id |
string ID of the Solid WAF profile. |
|
session_affinity |
Session affinity to analyzers. If not set, ConnectionSessionAffinity will be used. |
|
web_app_id |
string ID of the Solid WAF web app. |
RateLimit
|
Field |
Description |
|
all_requests_per_second |
int64 Rate limit for all requests.
The minimum value is 0. |
|
requests_per_ip_per_second |
int64 Rate limit for individual IP addresses.
The minimum value is 0. |
LogOptions
|
Field |
Description |
|
log_group_id |
string ID of Cloud Logging log group. Value must match the regular expression |
|
disable |
bool Do not send logs to Cloud Logging log group. |
|
discard_rules[] |
Ordered list of rules, first matching rule applies. The maximum number of elements is 30. |
LogDiscardRule
LogDiscardRule discards a fraction of logs with certain codes.
If neither codes or intervals are provided, rule applies to all logs.
|
Field |
Description |
|
http_codes[] |
int64 HTTP codes that should be discarded. The maximum number of elements is 500. Acceptable values are 100 to 599, inclusive. |
|
http_code_intervals[] |
enum HttpCodeInterval Groups of HTTP codes like 4xx that should be discarded. The maximum number of elements is 10.
|
|
discard_percent |
Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all. Acceptable values are 0 to 100, inclusive. |
RouteOptions
|
Field |
Description |
|
modify_request_headers[] |
Apply the following modifications to the request headers. |
|
modify_response_headers[] |
Apply the following modifications to the response headers. |
HeaderModification
This is similar to the proposal for Envoy API v3, see
https://github.com/envoyproxy/envoy/issues/8947#issuecomment-551973469
|
Field |
Description |
|
name |
string Required field. Name of the header. |
|
append |
string Append string to the header value. Includes only one of the fields Header values support the following formatters: |
|
replace |
string New value for a header. Includes only one of the fields Header values support the following formatters: |
|
remove |
bool Remove the header. Includes only one of the fields Header values support the following formatters: |
|
rename |
string New name for a header. Includes only one of the fields Header values support the following formatters: |