Skip to content

Commit 6fde4a5

Browse files
Google APIscopybara-github
authored andcommitted
feat: Add isolation support to prevent cross-region overflow by adding a new field "isolation_config" to message "ServiceLbPolicy"
PiperOrigin-RevId: 780262024
1 parent b795b2b commit 6fde4a5

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

google/cloud/networkservices/v1/service_lb_policy.proto

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@ message ServiceLbPolicy {
6161
[(google.api.field_behavior) = OPTIONAL];
6262
}
6363

64+
// Configuration to provide isolation support for the associated Backend
65+
// Service.
66+
message IsolationConfig {
67+
// Optional. The isolation granularity of the load balancer.
68+
IsolationGranularity isolation_granularity = 1
69+
[(google.api.field_behavior) = OPTIONAL];
70+
71+
// Optional. The isolation mode of the load balancer.
72+
IsolationMode isolation_mode = 2 [(google.api.field_behavior) = OPTIONAL];
73+
}
74+
6475
// The global load balancing algorithm to be used.
6576
enum LoadBalancingAlgorithm {
6677
// The type of the loadbalancing algorithm is unspecified.
@@ -86,6 +97,30 @@ message ServiceLbPolicy {
8697
WATERFALL_BY_ZONE = 6;
8798
}
8899

100+
// The granularity of this isolation restriction.
101+
enum IsolationGranularity {
102+
// No isolation is configured for the backend service. Traffic can overflow
103+
// based on the load balancing algorithm.
104+
ISOLATION_GRANULARITY_UNSPECIFIED = 0;
105+
106+
// Traffic for this service will be isolated at the cloud region level.
107+
REGION = 1;
108+
}
109+
110+
// The mode of this isolation restriction, defining whether clients in a given
111+
// region are allowed to reach out to another region.
112+
enum IsolationMode {
113+
// No isolation mode is configured for the backend service.
114+
ISOLATION_MODE_UNSPECIFIED = 0;
115+
116+
// Traffic will be sent to the nearest region.
117+
NEAREST = 1;
118+
119+
// Traffic will fail if no serving backends are available in the same region
120+
// as the load balancer.
121+
STRICT = 2;
122+
}
123+
89124
// Identifier. Name of the ServiceLbPolicy resource. It matches pattern
90125
// `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
91126
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
@@ -117,6 +152,11 @@ message ServiceLbPolicy {
117152

118153
// Optional. Configuration related to health based failover.
119154
FailoverConfig failover_config = 10 [(google.api.field_behavior) = OPTIONAL];
155+
156+
// Optional. Configuration to provide isolation support for the associated
157+
// Backend Service.
158+
IsolationConfig isolation_config = 11
159+
[(google.api.field_behavior) = OPTIONAL];
120160
}
121161

122162
// Request used with the ListServiceLbPolicies method.

0 commit comments

Comments
 (0)