@@ -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