• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/compute/v1/compute.proto
18 
19 package com.google.cloud.compute.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Message containing information of one individual backend.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.compute.v1.Backend}
29  */
30 public final class Backend extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.Backend)
33     BackendOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use Backend.newBuilder() to construct.
Backend(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private Backend(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
Backend()40   private Backend() {
41     balancingMode_ = "";
42     description_ = "";
43     group_ = "";
44   }
45 
46   @java.lang.Override
47   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)48   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
49     return new Backend();
50   }
51 
52   @java.lang.Override
getUnknownFields()53   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
54     return this.unknownFields;
55   }
56 
getDescriptor()57   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
58     return com.google.cloud.compute.v1.Compute
59         .internal_static_google_cloud_compute_v1_Backend_descriptor;
60   }
61 
62   @java.lang.Override
63   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()64       internalGetFieldAccessorTable() {
65     return com.google.cloud.compute.v1.Compute
66         .internal_static_google_cloud_compute_v1_Backend_fieldAccessorTable
67         .ensureFieldAccessorsInitialized(
68             com.google.cloud.compute.v1.Backend.class,
69             com.google.cloud.compute.v1.Backend.Builder.class);
70   }
71 
72   /**
73    *
74    *
75    * <pre>
76    * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
77    * </pre>
78    *
79    * Protobuf enum {@code google.cloud.compute.v1.Backend.BalancingMode}
80    */
81   public enum BalancingMode implements com.google.protobuf.ProtocolMessageEnum {
82     /**
83      *
84      *
85      * <pre>
86      * A value indicating that the enum field is not set.
87      * </pre>
88      *
89      * <code>UNDEFINED_BALANCING_MODE = 0;</code>
90      */
91     UNDEFINED_BALANCING_MODE(0),
92     /**
93      *
94      *
95      * <pre>
96      * Balance based on the number of simultaneous connections.
97      * </pre>
98      *
99      * <code>CONNECTION = 246311646;</code>
100      */
101     CONNECTION(246311646),
102     /**
103      *
104      *
105      * <pre>
106      * Balance based on requests per second (RPS).
107      * </pre>
108      *
109      * <code>RATE = 2508000;</code>
110      */
111     RATE(2508000),
112     /**
113      *
114      *
115      * <pre>
116      * Balance based on the backend utilization.
117      * </pre>
118      *
119      * <code>UTILIZATION = 157008386;</code>
120      */
121     UTILIZATION(157008386),
122     UNRECOGNIZED(-1),
123     ;
124 
125     /**
126      *
127      *
128      * <pre>
129      * A value indicating that the enum field is not set.
130      * </pre>
131      *
132      * <code>UNDEFINED_BALANCING_MODE = 0;</code>
133      */
134     public static final int UNDEFINED_BALANCING_MODE_VALUE = 0;
135     /**
136      *
137      *
138      * <pre>
139      * Balance based on the number of simultaneous connections.
140      * </pre>
141      *
142      * <code>CONNECTION = 246311646;</code>
143      */
144     public static final int CONNECTION_VALUE = 246311646;
145     /**
146      *
147      *
148      * <pre>
149      * Balance based on requests per second (RPS).
150      * </pre>
151      *
152      * <code>RATE = 2508000;</code>
153      */
154     public static final int RATE_VALUE = 2508000;
155     /**
156      *
157      *
158      * <pre>
159      * Balance based on the backend utilization.
160      * </pre>
161      *
162      * <code>UTILIZATION = 157008386;</code>
163      */
164     public static final int UTILIZATION_VALUE = 157008386;
165 
getNumber()166     public final int getNumber() {
167       if (this == UNRECOGNIZED) {
168         throw new java.lang.IllegalArgumentException(
169             "Can't get the number of an unknown enum value.");
170       }
171       return value;
172     }
173 
174     /**
175      * @param value The numeric wire value of the corresponding enum entry.
176      * @return The enum associated with the given numeric wire value.
177      * @deprecated Use {@link #forNumber(int)} instead.
178      */
179     @java.lang.Deprecated
valueOf(int value)180     public static BalancingMode valueOf(int value) {
181       return forNumber(value);
182     }
183 
184     /**
185      * @param value The numeric wire value of the corresponding enum entry.
186      * @return The enum associated with the given numeric wire value.
187      */
forNumber(int value)188     public static BalancingMode forNumber(int value) {
189       switch (value) {
190         case 0:
191           return UNDEFINED_BALANCING_MODE;
192         case 246311646:
193           return CONNECTION;
194         case 2508000:
195           return RATE;
196         case 157008386:
197           return UTILIZATION;
198         default:
199           return null;
200       }
201     }
202 
internalGetValueMap()203     public static com.google.protobuf.Internal.EnumLiteMap<BalancingMode> internalGetValueMap() {
204       return internalValueMap;
205     }
206 
207     private static final com.google.protobuf.Internal.EnumLiteMap<BalancingMode> internalValueMap =
208         new com.google.protobuf.Internal.EnumLiteMap<BalancingMode>() {
209           public BalancingMode findValueByNumber(int number) {
210             return BalancingMode.forNumber(number);
211           }
212         };
213 
getValueDescriptor()214     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
215       if (this == UNRECOGNIZED) {
216         throw new java.lang.IllegalStateException(
217             "Can't get the descriptor of an unrecognized enum value.");
218       }
219       return getDescriptor().getValues().get(ordinal());
220     }
221 
getDescriptorForType()222     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
223       return getDescriptor();
224     }
225 
getDescriptor()226     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
227       return com.google.cloud.compute.v1.Backend.getDescriptor().getEnumTypes().get(0);
228     }
229 
230     private static final BalancingMode[] VALUES = values();
231 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)232     public static BalancingMode valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
233       if (desc.getType() != getDescriptor()) {
234         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
235       }
236       if (desc.getIndex() == -1) {
237         return UNRECOGNIZED;
238       }
239       return VALUES[desc.getIndex()];
240     }
241 
242     private final int value;
243 
BalancingMode(int value)244     private BalancingMode(int value) {
245       this.value = value;
246     }
247 
248     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.Backend.BalancingMode)
249   }
250 
251   private int bitField0_;
252   public static final int BALANCING_MODE_FIELD_NUMBER = 430286217;
253 
254   @SuppressWarnings("serial")
255   private volatile java.lang.Object balancingMode_ = "";
256   /**
257    *
258    *
259    * <pre>
260    * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
261    * Check the BalancingMode enum for the list of possible values.
262    * </pre>
263    *
264    * <code>optional string balancing_mode = 430286217;</code>
265    *
266    * @return Whether the balancingMode field is set.
267    */
268   @java.lang.Override
hasBalancingMode()269   public boolean hasBalancingMode() {
270     return ((bitField0_ & 0x00000001) != 0);
271   }
272   /**
273    *
274    *
275    * <pre>
276    * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
277    * Check the BalancingMode enum for the list of possible values.
278    * </pre>
279    *
280    * <code>optional string balancing_mode = 430286217;</code>
281    *
282    * @return The balancingMode.
283    */
284   @java.lang.Override
getBalancingMode()285   public java.lang.String getBalancingMode() {
286     java.lang.Object ref = balancingMode_;
287     if (ref instanceof java.lang.String) {
288       return (java.lang.String) ref;
289     } else {
290       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
291       java.lang.String s = bs.toStringUtf8();
292       balancingMode_ = s;
293       return s;
294     }
295   }
296   /**
297    *
298    *
299    * <pre>
300    * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
301    * Check the BalancingMode enum for the list of possible values.
302    * </pre>
303    *
304    * <code>optional string balancing_mode = 430286217;</code>
305    *
306    * @return The bytes for balancingMode.
307    */
308   @java.lang.Override
getBalancingModeBytes()309   public com.google.protobuf.ByteString getBalancingModeBytes() {
310     java.lang.Object ref = balancingMode_;
311     if (ref instanceof java.lang.String) {
312       com.google.protobuf.ByteString b =
313           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
314       balancingMode_ = b;
315       return b;
316     } else {
317       return (com.google.protobuf.ByteString) ref;
318     }
319   }
320 
321   public static final int CAPACITY_SCALER_FIELD_NUMBER = 315958157;
322   private float capacityScaler_ = 0F;
323   /**
324    *
325    *
326    * <pre>
327    * A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.
328    * </pre>
329    *
330    * <code>optional float capacity_scaler = 315958157;</code>
331    *
332    * @return Whether the capacityScaler field is set.
333    */
334   @java.lang.Override
hasCapacityScaler()335   public boolean hasCapacityScaler() {
336     return ((bitField0_ & 0x00000002) != 0);
337   }
338   /**
339    *
340    *
341    * <pre>
342    * A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.
343    * </pre>
344    *
345    * <code>optional float capacity_scaler = 315958157;</code>
346    *
347    * @return The capacityScaler.
348    */
349   @java.lang.Override
getCapacityScaler()350   public float getCapacityScaler() {
351     return capacityScaler_;
352   }
353 
354   public static final int DESCRIPTION_FIELD_NUMBER = 422937596;
355 
356   @SuppressWarnings("serial")
357   private volatile java.lang.Object description_ = "";
358   /**
359    *
360    *
361    * <pre>
362    * An optional description of this resource. Provide this property when you create the resource.
363    * </pre>
364    *
365    * <code>optional string description = 422937596;</code>
366    *
367    * @return Whether the description field is set.
368    */
369   @java.lang.Override
hasDescription()370   public boolean hasDescription() {
371     return ((bitField0_ & 0x00000004) != 0);
372   }
373   /**
374    *
375    *
376    * <pre>
377    * An optional description of this resource. Provide this property when you create the resource.
378    * </pre>
379    *
380    * <code>optional string description = 422937596;</code>
381    *
382    * @return The description.
383    */
384   @java.lang.Override
getDescription()385   public java.lang.String getDescription() {
386     java.lang.Object ref = description_;
387     if (ref instanceof java.lang.String) {
388       return (java.lang.String) ref;
389     } else {
390       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
391       java.lang.String s = bs.toStringUtf8();
392       description_ = s;
393       return s;
394     }
395   }
396   /**
397    *
398    *
399    * <pre>
400    * An optional description of this resource. Provide this property when you create the resource.
401    * </pre>
402    *
403    * <code>optional string description = 422937596;</code>
404    *
405    * @return The bytes for description.
406    */
407   @java.lang.Override
getDescriptionBytes()408   public com.google.protobuf.ByteString getDescriptionBytes() {
409     java.lang.Object ref = description_;
410     if (ref instanceof java.lang.String) {
411       com.google.protobuf.ByteString b =
412           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
413       description_ = b;
414       return b;
415     } else {
416       return (com.google.protobuf.ByteString) ref;
417     }
418   }
419 
420   public static final int FAILOVER_FIELD_NUMBER = 138892530;
421   private boolean failover_ = false;
422   /**
423    *
424    *
425    * <pre>
426    * This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.
427    * </pre>
428    *
429    * <code>optional bool failover = 138892530;</code>
430    *
431    * @return Whether the failover field is set.
432    */
433   @java.lang.Override
hasFailover()434   public boolean hasFailover() {
435     return ((bitField0_ & 0x00000008) != 0);
436   }
437   /**
438    *
439    *
440    * <pre>
441    * This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.
442    * </pre>
443    *
444    * <code>optional bool failover = 138892530;</code>
445    *
446    * @return The failover.
447    */
448   @java.lang.Override
getFailover()449   public boolean getFailover() {
450     return failover_;
451   }
452 
453   public static final int GROUP_FIELD_NUMBER = 98629247;
454 
455   @SuppressWarnings("serial")
456   private volatile java.lang.Object group_ = "";
457   /**
458    *
459    *
460    * <pre>
461    * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
462    * </pre>
463    *
464    * <code>optional string group = 98629247;</code>
465    *
466    * @return Whether the group field is set.
467    */
468   @java.lang.Override
hasGroup()469   public boolean hasGroup() {
470     return ((bitField0_ & 0x00000010) != 0);
471   }
472   /**
473    *
474    *
475    * <pre>
476    * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
477    * </pre>
478    *
479    * <code>optional string group = 98629247;</code>
480    *
481    * @return The group.
482    */
483   @java.lang.Override
getGroup()484   public java.lang.String getGroup() {
485     java.lang.Object ref = group_;
486     if (ref instanceof java.lang.String) {
487       return (java.lang.String) ref;
488     } else {
489       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
490       java.lang.String s = bs.toStringUtf8();
491       group_ = s;
492       return s;
493     }
494   }
495   /**
496    *
497    *
498    * <pre>
499    * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
500    * </pre>
501    *
502    * <code>optional string group = 98629247;</code>
503    *
504    * @return The bytes for group.
505    */
506   @java.lang.Override
getGroupBytes()507   public com.google.protobuf.ByteString getGroupBytes() {
508     java.lang.Object ref = group_;
509     if (ref instanceof java.lang.String) {
510       com.google.protobuf.ByteString b =
511           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
512       group_ = b;
513       return b;
514     } else {
515       return (com.google.protobuf.ByteString) ref;
516     }
517   }
518 
519   public static final int MAX_CONNECTIONS_FIELD_NUMBER = 110652154;
520   private int maxConnections_ = 0;
521   /**
522    *
523    *
524    * <pre>
525    * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
526    * </pre>
527    *
528    * <code>optional int32 max_connections = 110652154;</code>
529    *
530    * @return Whether the maxConnections field is set.
531    */
532   @java.lang.Override
hasMaxConnections()533   public boolean hasMaxConnections() {
534     return ((bitField0_ & 0x00000020) != 0);
535   }
536   /**
537    *
538    *
539    * <pre>
540    * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
541    * </pre>
542    *
543    * <code>optional int32 max_connections = 110652154;</code>
544    *
545    * @return The maxConnections.
546    */
547   @java.lang.Override
getMaxConnections()548   public int getMaxConnections() {
549     return maxConnections_;
550   }
551 
552   public static final int MAX_CONNECTIONS_PER_ENDPOINT_FIELD_NUMBER = 216904604;
553   private int maxConnectionsPerEndpoint_ = 0;
554   /**
555    *
556    *
557    * <pre>
558    * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
559    * </pre>
560    *
561    * <code>optional int32 max_connections_per_endpoint = 216904604;</code>
562    *
563    * @return Whether the maxConnectionsPerEndpoint field is set.
564    */
565   @java.lang.Override
hasMaxConnectionsPerEndpoint()566   public boolean hasMaxConnectionsPerEndpoint() {
567     return ((bitField0_ & 0x00000040) != 0);
568   }
569   /**
570    *
571    *
572    * <pre>
573    * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
574    * </pre>
575    *
576    * <code>optional int32 max_connections_per_endpoint = 216904604;</code>
577    *
578    * @return The maxConnectionsPerEndpoint.
579    */
580   @java.lang.Override
getMaxConnectionsPerEndpoint()581   public int getMaxConnectionsPerEndpoint() {
582     return maxConnectionsPerEndpoint_;
583   }
584 
585   public static final int MAX_CONNECTIONS_PER_INSTANCE_FIELD_NUMBER = 104671900;
586   private int maxConnectionsPerInstance_ = 0;
587   /**
588    *
589    *
590    * <pre>
591    * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
592    * </pre>
593    *
594    * <code>optional int32 max_connections_per_instance = 104671900;</code>
595    *
596    * @return Whether the maxConnectionsPerInstance field is set.
597    */
598   @java.lang.Override
hasMaxConnectionsPerInstance()599   public boolean hasMaxConnectionsPerInstance() {
600     return ((bitField0_ & 0x00000080) != 0);
601   }
602   /**
603    *
604    *
605    * <pre>
606    * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
607    * </pre>
608    *
609    * <code>optional int32 max_connections_per_instance = 104671900;</code>
610    *
611    * @return The maxConnectionsPerInstance.
612    */
613   @java.lang.Override
getMaxConnectionsPerInstance()614   public int getMaxConnectionsPerInstance() {
615     return maxConnectionsPerInstance_;
616   }
617 
618   public static final int MAX_RATE_FIELD_NUMBER = 408035035;
619   private int maxRate_ = 0;
620   /**
621    *
622    *
623    * <pre>
624    * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
625    * </pre>
626    *
627    * <code>optional int32 max_rate = 408035035;</code>
628    *
629    * @return Whether the maxRate field is set.
630    */
631   @java.lang.Override
hasMaxRate()632   public boolean hasMaxRate() {
633     return ((bitField0_ & 0x00000100) != 0);
634   }
635   /**
636    *
637    *
638    * <pre>
639    * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
640    * </pre>
641    *
642    * <code>optional int32 max_rate = 408035035;</code>
643    *
644    * @return The maxRate.
645    */
646   @java.lang.Override
getMaxRate()647   public int getMaxRate() {
648     return maxRate_;
649   }
650 
651   public static final int MAX_RATE_PER_ENDPOINT_FIELD_NUMBER = 129832283;
652   private float maxRatePerEndpoint_ = 0F;
653   /**
654    *
655    *
656    * <pre>
657    * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
658    * </pre>
659    *
660    * <code>optional float max_rate_per_endpoint = 129832283;</code>
661    *
662    * @return Whether the maxRatePerEndpoint field is set.
663    */
664   @java.lang.Override
hasMaxRatePerEndpoint()665   public boolean hasMaxRatePerEndpoint() {
666     return ((bitField0_ & 0x00000200) != 0);
667   }
668   /**
669    *
670    *
671    * <pre>
672    * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
673    * </pre>
674    *
675    * <code>optional float max_rate_per_endpoint = 129832283;</code>
676    *
677    * @return The maxRatePerEndpoint.
678    */
679   @java.lang.Override
getMaxRatePerEndpoint()680   public float getMaxRatePerEndpoint() {
681     return maxRatePerEndpoint_;
682   }
683 
684   public static final int MAX_RATE_PER_INSTANCE_FIELD_NUMBER = 17599579;
685   private float maxRatePerInstance_ = 0F;
686   /**
687    *
688    *
689    * <pre>
690    * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
691    * </pre>
692    *
693    * <code>optional float max_rate_per_instance = 17599579;</code>
694    *
695    * @return Whether the maxRatePerInstance field is set.
696    */
697   @java.lang.Override
hasMaxRatePerInstance()698   public boolean hasMaxRatePerInstance() {
699     return ((bitField0_ & 0x00000400) != 0);
700   }
701   /**
702    *
703    *
704    * <pre>
705    * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
706    * </pre>
707    *
708    * <code>optional float max_rate_per_instance = 17599579;</code>
709    *
710    * @return The maxRatePerInstance.
711    */
712   @java.lang.Override
getMaxRatePerInstance()713   public float getMaxRatePerInstance() {
714     return maxRatePerInstance_;
715   }
716 
717   public static final int MAX_UTILIZATION_FIELD_NUMBER = 148192199;
718   private float maxUtilization_ = 0F;
719   /**
720    *
721    *
722    * <pre>
723    * Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.
724    * </pre>
725    *
726    * <code>optional float max_utilization = 148192199;</code>
727    *
728    * @return Whether the maxUtilization field is set.
729    */
730   @java.lang.Override
hasMaxUtilization()731   public boolean hasMaxUtilization() {
732     return ((bitField0_ & 0x00000800) != 0);
733   }
734   /**
735    *
736    *
737    * <pre>
738    * Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.
739    * </pre>
740    *
741    * <code>optional float max_utilization = 148192199;</code>
742    *
743    * @return The maxUtilization.
744    */
745   @java.lang.Override
getMaxUtilization()746   public float getMaxUtilization() {
747     return maxUtilization_;
748   }
749 
750   private byte memoizedIsInitialized = -1;
751 
752   @java.lang.Override
isInitialized()753   public final boolean isInitialized() {
754     byte isInitialized = memoizedIsInitialized;
755     if (isInitialized == 1) return true;
756     if (isInitialized == 0) return false;
757 
758     memoizedIsInitialized = 1;
759     return true;
760   }
761 
762   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)763   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
764     if (((bitField0_ & 0x00000400) != 0)) {
765       output.writeFloat(17599579, maxRatePerInstance_);
766     }
767     if (((bitField0_ & 0x00000010) != 0)) {
768       com.google.protobuf.GeneratedMessageV3.writeString(output, 98629247, group_);
769     }
770     if (((bitField0_ & 0x00000080) != 0)) {
771       output.writeInt32(104671900, maxConnectionsPerInstance_);
772     }
773     if (((bitField0_ & 0x00000020) != 0)) {
774       output.writeInt32(110652154, maxConnections_);
775     }
776     if (((bitField0_ & 0x00000200) != 0)) {
777       output.writeFloat(129832283, maxRatePerEndpoint_);
778     }
779     if (((bitField0_ & 0x00000008) != 0)) {
780       output.writeBool(138892530, failover_);
781     }
782     if (((bitField0_ & 0x00000800) != 0)) {
783       output.writeFloat(148192199, maxUtilization_);
784     }
785     if (((bitField0_ & 0x00000040) != 0)) {
786       output.writeInt32(216904604, maxConnectionsPerEndpoint_);
787     }
788     if (((bitField0_ & 0x00000002) != 0)) {
789       output.writeFloat(315958157, capacityScaler_);
790     }
791     if (((bitField0_ & 0x00000100) != 0)) {
792       output.writeInt32(408035035, maxRate_);
793     }
794     if (((bitField0_ & 0x00000004) != 0)) {
795       com.google.protobuf.GeneratedMessageV3.writeString(output, 422937596, description_);
796     }
797     if (((bitField0_ & 0x00000001) != 0)) {
798       com.google.protobuf.GeneratedMessageV3.writeString(output, 430286217, balancingMode_);
799     }
800     getUnknownFields().writeTo(output);
801   }
802 
803   @java.lang.Override
getSerializedSize()804   public int getSerializedSize() {
805     int size = memoizedSize;
806     if (size != -1) return size;
807 
808     size = 0;
809     if (((bitField0_ & 0x00000400) != 0)) {
810       size += com.google.protobuf.CodedOutputStream.computeFloatSize(17599579, maxRatePerInstance_);
811     }
812     if (((bitField0_ & 0x00000010) != 0)) {
813       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(98629247, group_);
814     }
815     if (((bitField0_ & 0x00000080) != 0)) {
816       size +=
817           com.google.protobuf.CodedOutputStream.computeInt32Size(
818               104671900, maxConnectionsPerInstance_);
819     }
820     if (((bitField0_ & 0x00000020) != 0)) {
821       size += com.google.protobuf.CodedOutputStream.computeInt32Size(110652154, maxConnections_);
822     }
823     if (((bitField0_ & 0x00000200) != 0)) {
824       size +=
825           com.google.protobuf.CodedOutputStream.computeFloatSize(129832283, maxRatePerEndpoint_);
826     }
827     if (((bitField0_ & 0x00000008) != 0)) {
828       size += com.google.protobuf.CodedOutputStream.computeBoolSize(138892530, failover_);
829     }
830     if (((bitField0_ & 0x00000800) != 0)) {
831       size += com.google.protobuf.CodedOutputStream.computeFloatSize(148192199, maxUtilization_);
832     }
833     if (((bitField0_ & 0x00000040) != 0)) {
834       size +=
835           com.google.protobuf.CodedOutputStream.computeInt32Size(
836               216904604, maxConnectionsPerEndpoint_);
837     }
838     if (((bitField0_ & 0x00000002) != 0)) {
839       size += com.google.protobuf.CodedOutputStream.computeFloatSize(315958157, capacityScaler_);
840     }
841     if (((bitField0_ & 0x00000100) != 0)) {
842       size += com.google.protobuf.CodedOutputStream.computeInt32Size(408035035, maxRate_);
843     }
844     if (((bitField0_ & 0x00000004) != 0)) {
845       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(422937596, description_);
846     }
847     if (((bitField0_ & 0x00000001) != 0)) {
848       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(430286217, balancingMode_);
849     }
850     size += getUnknownFields().getSerializedSize();
851     memoizedSize = size;
852     return size;
853   }
854 
855   @java.lang.Override
equals(final java.lang.Object obj)856   public boolean equals(final java.lang.Object obj) {
857     if (obj == this) {
858       return true;
859     }
860     if (!(obj instanceof com.google.cloud.compute.v1.Backend)) {
861       return super.equals(obj);
862     }
863     com.google.cloud.compute.v1.Backend other = (com.google.cloud.compute.v1.Backend) obj;
864 
865     if (hasBalancingMode() != other.hasBalancingMode()) return false;
866     if (hasBalancingMode()) {
867       if (!getBalancingMode().equals(other.getBalancingMode())) return false;
868     }
869     if (hasCapacityScaler() != other.hasCapacityScaler()) return false;
870     if (hasCapacityScaler()) {
871       if (java.lang.Float.floatToIntBits(getCapacityScaler())
872           != java.lang.Float.floatToIntBits(other.getCapacityScaler())) return false;
873     }
874     if (hasDescription() != other.hasDescription()) return false;
875     if (hasDescription()) {
876       if (!getDescription().equals(other.getDescription())) return false;
877     }
878     if (hasFailover() != other.hasFailover()) return false;
879     if (hasFailover()) {
880       if (getFailover() != other.getFailover()) return false;
881     }
882     if (hasGroup() != other.hasGroup()) return false;
883     if (hasGroup()) {
884       if (!getGroup().equals(other.getGroup())) return false;
885     }
886     if (hasMaxConnections() != other.hasMaxConnections()) return false;
887     if (hasMaxConnections()) {
888       if (getMaxConnections() != other.getMaxConnections()) return false;
889     }
890     if (hasMaxConnectionsPerEndpoint() != other.hasMaxConnectionsPerEndpoint()) return false;
891     if (hasMaxConnectionsPerEndpoint()) {
892       if (getMaxConnectionsPerEndpoint() != other.getMaxConnectionsPerEndpoint()) return false;
893     }
894     if (hasMaxConnectionsPerInstance() != other.hasMaxConnectionsPerInstance()) return false;
895     if (hasMaxConnectionsPerInstance()) {
896       if (getMaxConnectionsPerInstance() != other.getMaxConnectionsPerInstance()) return false;
897     }
898     if (hasMaxRate() != other.hasMaxRate()) return false;
899     if (hasMaxRate()) {
900       if (getMaxRate() != other.getMaxRate()) return false;
901     }
902     if (hasMaxRatePerEndpoint() != other.hasMaxRatePerEndpoint()) return false;
903     if (hasMaxRatePerEndpoint()) {
904       if (java.lang.Float.floatToIntBits(getMaxRatePerEndpoint())
905           != java.lang.Float.floatToIntBits(other.getMaxRatePerEndpoint())) return false;
906     }
907     if (hasMaxRatePerInstance() != other.hasMaxRatePerInstance()) return false;
908     if (hasMaxRatePerInstance()) {
909       if (java.lang.Float.floatToIntBits(getMaxRatePerInstance())
910           != java.lang.Float.floatToIntBits(other.getMaxRatePerInstance())) return false;
911     }
912     if (hasMaxUtilization() != other.hasMaxUtilization()) return false;
913     if (hasMaxUtilization()) {
914       if (java.lang.Float.floatToIntBits(getMaxUtilization())
915           != java.lang.Float.floatToIntBits(other.getMaxUtilization())) return false;
916     }
917     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
918     return true;
919   }
920 
921   @java.lang.Override
hashCode()922   public int hashCode() {
923     if (memoizedHashCode != 0) {
924       return memoizedHashCode;
925     }
926     int hash = 41;
927     hash = (19 * hash) + getDescriptor().hashCode();
928     if (hasBalancingMode()) {
929       hash = (37 * hash) + BALANCING_MODE_FIELD_NUMBER;
930       hash = (53 * hash) + getBalancingMode().hashCode();
931     }
932     if (hasCapacityScaler()) {
933       hash = (37 * hash) + CAPACITY_SCALER_FIELD_NUMBER;
934       hash = (53 * hash) + java.lang.Float.floatToIntBits(getCapacityScaler());
935     }
936     if (hasDescription()) {
937       hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
938       hash = (53 * hash) + getDescription().hashCode();
939     }
940     if (hasFailover()) {
941       hash = (37 * hash) + FAILOVER_FIELD_NUMBER;
942       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getFailover());
943     }
944     if (hasGroup()) {
945       hash = (37 * hash) + GROUP_FIELD_NUMBER;
946       hash = (53 * hash) + getGroup().hashCode();
947     }
948     if (hasMaxConnections()) {
949       hash = (37 * hash) + MAX_CONNECTIONS_FIELD_NUMBER;
950       hash = (53 * hash) + getMaxConnections();
951     }
952     if (hasMaxConnectionsPerEndpoint()) {
953       hash = (37 * hash) + MAX_CONNECTIONS_PER_ENDPOINT_FIELD_NUMBER;
954       hash = (53 * hash) + getMaxConnectionsPerEndpoint();
955     }
956     if (hasMaxConnectionsPerInstance()) {
957       hash = (37 * hash) + MAX_CONNECTIONS_PER_INSTANCE_FIELD_NUMBER;
958       hash = (53 * hash) + getMaxConnectionsPerInstance();
959     }
960     if (hasMaxRate()) {
961       hash = (37 * hash) + MAX_RATE_FIELD_NUMBER;
962       hash = (53 * hash) + getMaxRate();
963     }
964     if (hasMaxRatePerEndpoint()) {
965       hash = (37 * hash) + MAX_RATE_PER_ENDPOINT_FIELD_NUMBER;
966       hash = (53 * hash) + java.lang.Float.floatToIntBits(getMaxRatePerEndpoint());
967     }
968     if (hasMaxRatePerInstance()) {
969       hash = (37 * hash) + MAX_RATE_PER_INSTANCE_FIELD_NUMBER;
970       hash = (53 * hash) + java.lang.Float.floatToIntBits(getMaxRatePerInstance());
971     }
972     if (hasMaxUtilization()) {
973       hash = (37 * hash) + MAX_UTILIZATION_FIELD_NUMBER;
974       hash = (53 * hash) + java.lang.Float.floatToIntBits(getMaxUtilization());
975     }
976     hash = (29 * hash) + getUnknownFields().hashCode();
977     memoizedHashCode = hash;
978     return hash;
979   }
980 
parseFrom(java.nio.ByteBuffer data)981   public static com.google.cloud.compute.v1.Backend parseFrom(java.nio.ByteBuffer data)
982       throws com.google.protobuf.InvalidProtocolBufferException {
983     return PARSER.parseFrom(data);
984   }
985 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)986   public static com.google.cloud.compute.v1.Backend parseFrom(
987       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
988       throws com.google.protobuf.InvalidProtocolBufferException {
989     return PARSER.parseFrom(data, extensionRegistry);
990   }
991 
parseFrom(com.google.protobuf.ByteString data)992   public static com.google.cloud.compute.v1.Backend parseFrom(com.google.protobuf.ByteString data)
993       throws com.google.protobuf.InvalidProtocolBufferException {
994     return PARSER.parseFrom(data);
995   }
996 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)997   public static com.google.cloud.compute.v1.Backend parseFrom(
998       com.google.protobuf.ByteString data,
999       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1000       throws com.google.protobuf.InvalidProtocolBufferException {
1001     return PARSER.parseFrom(data, extensionRegistry);
1002   }
1003 
parseFrom(byte[] data)1004   public static com.google.cloud.compute.v1.Backend parseFrom(byte[] data)
1005       throws com.google.protobuf.InvalidProtocolBufferException {
1006     return PARSER.parseFrom(data);
1007   }
1008 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1009   public static com.google.cloud.compute.v1.Backend parseFrom(
1010       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1011       throws com.google.protobuf.InvalidProtocolBufferException {
1012     return PARSER.parseFrom(data, extensionRegistry);
1013   }
1014 
parseFrom(java.io.InputStream input)1015   public static com.google.cloud.compute.v1.Backend parseFrom(java.io.InputStream input)
1016       throws java.io.IOException {
1017     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1018   }
1019 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1020   public static com.google.cloud.compute.v1.Backend parseFrom(
1021       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1022       throws java.io.IOException {
1023     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1024         PARSER, input, extensionRegistry);
1025   }
1026 
parseDelimitedFrom(java.io.InputStream input)1027   public static com.google.cloud.compute.v1.Backend parseDelimitedFrom(java.io.InputStream input)
1028       throws java.io.IOException {
1029     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1030   }
1031 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1032   public static com.google.cloud.compute.v1.Backend parseDelimitedFrom(
1033       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1034       throws java.io.IOException {
1035     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1036         PARSER, input, extensionRegistry);
1037   }
1038 
parseFrom( com.google.protobuf.CodedInputStream input)1039   public static com.google.cloud.compute.v1.Backend parseFrom(
1040       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1041     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1042   }
1043 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1044   public static com.google.cloud.compute.v1.Backend parseFrom(
1045       com.google.protobuf.CodedInputStream input,
1046       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1047       throws java.io.IOException {
1048     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1049         PARSER, input, extensionRegistry);
1050   }
1051 
1052   @java.lang.Override
newBuilderForType()1053   public Builder newBuilderForType() {
1054     return newBuilder();
1055   }
1056 
newBuilder()1057   public static Builder newBuilder() {
1058     return DEFAULT_INSTANCE.toBuilder();
1059   }
1060 
newBuilder(com.google.cloud.compute.v1.Backend prototype)1061   public static Builder newBuilder(com.google.cloud.compute.v1.Backend prototype) {
1062     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1063   }
1064 
1065   @java.lang.Override
toBuilder()1066   public Builder toBuilder() {
1067     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1068   }
1069 
1070   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1071   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1072     Builder builder = new Builder(parent);
1073     return builder;
1074   }
1075   /**
1076    *
1077    *
1078    * <pre>
1079    * Message containing information of one individual backend.
1080    * </pre>
1081    *
1082    * Protobuf type {@code google.cloud.compute.v1.Backend}
1083    */
1084   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1085       implements
1086       // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.Backend)
1087       com.google.cloud.compute.v1.BackendOrBuilder {
getDescriptor()1088     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1089       return com.google.cloud.compute.v1.Compute
1090           .internal_static_google_cloud_compute_v1_Backend_descriptor;
1091     }
1092 
1093     @java.lang.Override
1094     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1095         internalGetFieldAccessorTable() {
1096       return com.google.cloud.compute.v1.Compute
1097           .internal_static_google_cloud_compute_v1_Backend_fieldAccessorTable
1098           .ensureFieldAccessorsInitialized(
1099               com.google.cloud.compute.v1.Backend.class,
1100               com.google.cloud.compute.v1.Backend.Builder.class);
1101     }
1102 
1103     // Construct using com.google.cloud.compute.v1.Backend.newBuilder()
Builder()1104     private Builder() {}
1105 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1106     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1107       super(parent);
1108     }
1109 
1110     @java.lang.Override
clear()1111     public Builder clear() {
1112       super.clear();
1113       bitField0_ = 0;
1114       balancingMode_ = "";
1115       capacityScaler_ = 0F;
1116       description_ = "";
1117       failover_ = false;
1118       group_ = "";
1119       maxConnections_ = 0;
1120       maxConnectionsPerEndpoint_ = 0;
1121       maxConnectionsPerInstance_ = 0;
1122       maxRate_ = 0;
1123       maxRatePerEndpoint_ = 0F;
1124       maxRatePerInstance_ = 0F;
1125       maxUtilization_ = 0F;
1126       return this;
1127     }
1128 
1129     @java.lang.Override
getDescriptorForType()1130     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1131       return com.google.cloud.compute.v1.Compute
1132           .internal_static_google_cloud_compute_v1_Backend_descriptor;
1133     }
1134 
1135     @java.lang.Override
getDefaultInstanceForType()1136     public com.google.cloud.compute.v1.Backend getDefaultInstanceForType() {
1137       return com.google.cloud.compute.v1.Backend.getDefaultInstance();
1138     }
1139 
1140     @java.lang.Override
build()1141     public com.google.cloud.compute.v1.Backend build() {
1142       com.google.cloud.compute.v1.Backend result = buildPartial();
1143       if (!result.isInitialized()) {
1144         throw newUninitializedMessageException(result);
1145       }
1146       return result;
1147     }
1148 
1149     @java.lang.Override
buildPartial()1150     public com.google.cloud.compute.v1.Backend buildPartial() {
1151       com.google.cloud.compute.v1.Backend result = new com.google.cloud.compute.v1.Backend(this);
1152       if (bitField0_ != 0) {
1153         buildPartial0(result);
1154       }
1155       onBuilt();
1156       return result;
1157     }
1158 
buildPartial0(com.google.cloud.compute.v1.Backend result)1159     private void buildPartial0(com.google.cloud.compute.v1.Backend result) {
1160       int from_bitField0_ = bitField0_;
1161       int to_bitField0_ = 0;
1162       if (((from_bitField0_ & 0x00000001) != 0)) {
1163         result.balancingMode_ = balancingMode_;
1164         to_bitField0_ |= 0x00000001;
1165       }
1166       if (((from_bitField0_ & 0x00000002) != 0)) {
1167         result.capacityScaler_ = capacityScaler_;
1168         to_bitField0_ |= 0x00000002;
1169       }
1170       if (((from_bitField0_ & 0x00000004) != 0)) {
1171         result.description_ = description_;
1172         to_bitField0_ |= 0x00000004;
1173       }
1174       if (((from_bitField0_ & 0x00000008) != 0)) {
1175         result.failover_ = failover_;
1176         to_bitField0_ |= 0x00000008;
1177       }
1178       if (((from_bitField0_ & 0x00000010) != 0)) {
1179         result.group_ = group_;
1180         to_bitField0_ |= 0x00000010;
1181       }
1182       if (((from_bitField0_ & 0x00000020) != 0)) {
1183         result.maxConnections_ = maxConnections_;
1184         to_bitField0_ |= 0x00000020;
1185       }
1186       if (((from_bitField0_ & 0x00000040) != 0)) {
1187         result.maxConnectionsPerEndpoint_ = maxConnectionsPerEndpoint_;
1188         to_bitField0_ |= 0x00000040;
1189       }
1190       if (((from_bitField0_ & 0x00000080) != 0)) {
1191         result.maxConnectionsPerInstance_ = maxConnectionsPerInstance_;
1192         to_bitField0_ |= 0x00000080;
1193       }
1194       if (((from_bitField0_ & 0x00000100) != 0)) {
1195         result.maxRate_ = maxRate_;
1196         to_bitField0_ |= 0x00000100;
1197       }
1198       if (((from_bitField0_ & 0x00000200) != 0)) {
1199         result.maxRatePerEndpoint_ = maxRatePerEndpoint_;
1200         to_bitField0_ |= 0x00000200;
1201       }
1202       if (((from_bitField0_ & 0x00000400) != 0)) {
1203         result.maxRatePerInstance_ = maxRatePerInstance_;
1204         to_bitField0_ |= 0x00000400;
1205       }
1206       if (((from_bitField0_ & 0x00000800) != 0)) {
1207         result.maxUtilization_ = maxUtilization_;
1208         to_bitField0_ |= 0x00000800;
1209       }
1210       result.bitField0_ |= to_bitField0_;
1211     }
1212 
1213     @java.lang.Override
clone()1214     public Builder clone() {
1215       return super.clone();
1216     }
1217 
1218     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1219     public Builder setField(
1220         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1221       return super.setField(field, value);
1222     }
1223 
1224     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1225     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1226       return super.clearField(field);
1227     }
1228 
1229     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1230     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1231       return super.clearOneof(oneof);
1232     }
1233 
1234     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1235     public Builder setRepeatedField(
1236         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
1237       return super.setRepeatedField(field, index, value);
1238     }
1239 
1240     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1241     public Builder addRepeatedField(
1242         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1243       return super.addRepeatedField(field, value);
1244     }
1245 
1246     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1247     public Builder mergeFrom(com.google.protobuf.Message other) {
1248       if (other instanceof com.google.cloud.compute.v1.Backend) {
1249         return mergeFrom((com.google.cloud.compute.v1.Backend) other);
1250       } else {
1251         super.mergeFrom(other);
1252         return this;
1253       }
1254     }
1255 
mergeFrom(com.google.cloud.compute.v1.Backend other)1256     public Builder mergeFrom(com.google.cloud.compute.v1.Backend other) {
1257       if (other == com.google.cloud.compute.v1.Backend.getDefaultInstance()) return this;
1258       if (other.hasBalancingMode()) {
1259         balancingMode_ = other.balancingMode_;
1260         bitField0_ |= 0x00000001;
1261         onChanged();
1262       }
1263       if (other.hasCapacityScaler()) {
1264         setCapacityScaler(other.getCapacityScaler());
1265       }
1266       if (other.hasDescription()) {
1267         description_ = other.description_;
1268         bitField0_ |= 0x00000004;
1269         onChanged();
1270       }
1271       if (other.hasFailover()) {
1272         setFailover(other.getFailover());
1273       }
1274       if (other.hasGroup()) {
1275         group_ = other.group_;
1276         bitField0_ |= 0x00000010;
1277         onChanged();
1278       }
1279       if (other.hasMaxConnections()) {
1280         setMaxConnections(other.getMaxConnections());
1281       }
1282       if (other.hasMaxConnectionsPerEndpoint()) {
1283         setMaxConnectionsPerEndpoint(other.getMaxConnectionsPerEndpoint());
1284       }
1285       if (other.hasMaxConnectionsPerInstance()) {
1286         setMaxConnectionsPerInstance(other.getMaxConnectionsPerInstance());
1287       }
1288       if (other.hasMaxRate()) {
1289         setMaxRate(other.getMaxRate());
1290       }
1291       if (other.hasMaxRatePerEndpoint()) {
1292         setMaxRatePerEndpoint(other.getMaxRatePerEndpoint());
1293       }
1294       if (other.hasMaxRatePerInstance()) {
1295         setMaxRatePerInstance(other.getMaxRatePerInstance());
1296       }
1297       if (other.hasMaxUtilization()) {
1298         setMaxUtilization(other.getMaxUtilization());
1299       }
1300       this.mergeUnknownFields(other.getUnknownFields());
1301       onChanged();
1302       return this;
1303     }
1304 
1305     @java.lang.Override
isInitialized()1306     public final boolean isInitialized() {
1307       return true;
1308     }
1309 
1310     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1311     public Builder mergeFrom(
1312         com.google.protobuf.CodedInputStream input,
1313         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1314         throws java.io.IOException {
1315       if (extensionRegistry == null) {
1316         throw new java.lang.NullPointerException();
1317       }
1318       try {
1319         boolean done = false;
1320         while (!done) {
1321           int tag = input.readTag();
1322           switch (tag) {
1323             case 0:
1324               done = true;
1325               break;
1326             case 140796637:
1327               {
1328                 maxRatePerInstance_ = input.readFloat();
1329                 bitField0_ |= 0x00000400;
1330                 break;
1331               } // case 140796637
1332             case 789033978:
1333               {
1334                 group_ = input.readStringRequireUtf8();
1335                 bitField0_ |= 0x00000010;
1336                 break;
1337               } // case 789033978
1338             case 837375200:
1339               {
1340                 maxConnectionsPerInstance_ = input.readInt32();
1341                 bitField0_ |= 0x00000080;
1342                 break;
1343               } // case 837375200
1344             case 885217232:
1345               {
1346                 maxConnections_ = input.readInt32();
1347                 bitField0_ |= 0x00000020;
1348                 break;
1349               } // case 885217232
1350             case 1038658269:
1351               {
1352                 maxRatePerEndpoint_ = input.readFloat();
1353                 bitField0_ |= 0x00000200;
1354                 break;
1355               } // case 1038658269
1356             case 1111140240:
1357               {
1358                 failover_ = input.readBool();
1359                 bitField0_ |= 0x00000008;
1360                 break;
1361               } // case 1111140240
1362             case 1185537597:
1363               {
1364                 maxUtilization_ = input.readFloat();
1365                 bitField0_ |= 0x00000800;
1366                 break;
1367               } // case 1185537597
1368             case 1735236832:
1369               {
1370                 maxConnectionsPerEndpoint_ = input.readInt32();
1371                 bitField0_ |= 0x00000040;
1372                 break;
1373               } // case 1735236832
1374             case -1767302035:
1375               {
1376                 capacityScaler_ = input.readFloat();
1377                 bitField0_ |= 0x00000002;
1378                 break;
1379               } // case -1767302035
1380             case -1030687016:
1381               {
1382                 maxRate_ = input.readInt32();
1383                 bitField0_ |= 0x00000100;
1384                 break;
1385               } // case -1030687016
1386             case -911466526:
1387               {
1388                 description_ = input.readStringRequireUtf8();
1389                 bitField0_ |= 0x00000004;
1390                 break;
1391               } // case -911466526
1392             case -852677558:
1393               {
1394                 balancingMode_ = input.readStringRequireUtf8();
1395                 bitField0_ |= 0x00000001;
1396                 break;
1397               } // case -852677558
1398             default:
1399               {
1400                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1401                   done = true; // was an endgroup tag
1402                 }
1403                 break;
1404               } // default:
1405           } // switch (tag)
1406         } // while (!done)
1407       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1408         throw e.unwrapIOException();
1409       } finally {
1410         onChanged();
1411       } // finally
1412       return this;
1413     }
1414 
1415     private int bitField0_;
1416 
1417     private java.lang.Object balancingMode_ = "";
1418     /**
1419      *
1420      *
1421      * <pre>
1422      * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
1423      * Check the BalancingMode enum for the list of possible values.
1424      * </pre>
1425      *
1426      * <code>optional string balancing_mode = 430286217;</code>
1427      *
1428      * @return Whether the balancingMode field is set.
1429      */
hasBalancingMode()1430     public boolean hasBalancingMode() {
1431       return ((bitField0_ & 0x00000001) != 0);
1432     }
1433     /**
1434      *
1435      *
1436      * <pre>
1437      * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
1438      * Check the BalancingMode enum for the list of possible values.
1439      * </pre>
1440      *
1441      * <code>optional string balancing_mode = 430286217;</code>
1442      *
1443      * @return The balancingMode.
1444      */
getBalancingMode()1445     public java.lang.String getBalancingMode() {
1446       java.lang.Object ref = balancingMode_;
1447       if (!(ref instanceof java.lang.String)) {
1448         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1449         java.lang.String s = bs.toStringUtf8();
1450         balancingMode_ = s;
1451         return s;
1452       } else {
1453         return (java.lang.String) ref;
1454       }
1455     }
1456     /**
1457      *
1458      *
1459      * <pre>
1460      * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
1461      * Check the BalancingMode enum for the list of possible values.
1462      * </pre>
1463      *
1464      * <code>optional string balancing_mode = 430286217;</code>
1465      *
1466      * @return The bytes for balancingMode.
1467      */
getBalancingModeBytes()1468     public com.google.protobuf.ByteString getBalancingModeBytes() {
1469       java.lang.Object ref = balancingMode_;
1470       if (ref instanceof String) {
1471         com.google.protobuf.ByteString b =
1472             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1473         balancingMode_ = b;
1474         return b;
1475       } else {
1476         return (com.google.protobuf.ByteString) ref;
1477       }
1478     }
1479     /**
1480      *
1481      *
1482      * <pre>
1483      * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
1484      * Check the BalancingMode enum for the list of possible values.
1485      * </pre>
1486      *
1487      * <code>optional string balancing_mode = 430286217;</code>
1488      *
1489      * @param value The balancingMode to set.
1490      * @return This builder for chaining.
1491      */
setBalancingMode(java.lang.String value)1492     public Builder setBalancingMode(java.lang.String value) {
1493       if (value == null) {
1494         throw new NullPointerException();
1495       }
1496       balancingMode_ = value;
1497       bitField0_ |= 0x00000001;
1498       onChanged();
1499       return this;
1500     }
1501     /**
1502      *
1503      *
1504      * <pre>
1505      * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
1506      * Check the BalancingMode enum for the list of possible values.
1507      * </pre>
1508      *
1509      * <code>optional string balancing_mode = 430286217;</code>
1510      *
1511      * @return This builder for chaining.
1512      */
clearBalancingMode()1513     public Builder clearBalancingMode() {
1514       balancingMode_ = getDefaultInstance().getBalancingMode();
1515       bitField0_ = (bitField0_ & ~0x00000001);
1516       onChanged();
1517       return this;
1518     }
1519     /**
1520      *
1521      *
1522      * <pre>
1523      * Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
1524      * Check the BalancingMode enum for the list of possible values.
1525      * </pre>
1526      *
1527      * <code>optional string balancing_mode = 430286217;</code>
1528      *
1529      * @param value The bytes for balancingMode to set.
1530      * @return This builder for chaining.
1531      */
setBalancingModeBytes(com.google.protobuf.ByteString value)1532     public Builder setBalancingModeBytes(com.google.protobuf.ByteString value) {
1533       if (value == null) {
1534         throw new NullPointerException();
1535       }
1536       checkByteStringIsUtf8(value);
1537       balancingMode_ = value;
1538       bitField0_ |= 0x00000001;
1539       onChanged();
1540       return this;
1541     }
1542 
1543     private float capacityScaler_;
1544     /**
1545      *
1546      *
1547      * <pre>
1548      * A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.
1549      * </pre>
1550      *
1551      * <code>optional float capacity_scaler = 315958157;</code>
1552      *
1553      * @return Whether the capacityScaler field is set.
1554      */
1555     @java.lang.Override
hasCapacityScaler()1556     public boolean hasCapacityScaler() {
1557       return ((bitField0_ & 0x00000002) != 0);
1558     }
1559     /**
1560      *
1561      *
1562      * <pre>
1563      * A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.
1564      * </pre>
1565      *
1566      * <code>optional float capacity_scaler = 315958157;</code>
1567      *
1568      * @return The capacityScaler.
1569      */
1570     @java.lang.Override
getCapacityScaler()1571     public float getCapacityScaler() {
1572       return capacityScaler_;
1573     }
1574     /**
1575      *
1576      *
1577      * <pre>
1578      * A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.
1579      * </pre>
1580      *
1581      * <code>optional float capacity_scaler = 315958157;</code>
1582      *
1583      * @param value The capacityScaler to set.
1584      * @return This builder for chaining.
1585      */
setCapacityScaler(float value)1586     public Builder setCapacityScaler(float value) {
1587 
1588       capacityScaler_ = value;
1589       bitField0_ |= 0x00000002;
1590       onChanged();
1591       return this;
1592     }
1593     /**
1594      *
1595      *
1596      * <pre>
1597      * A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.
1598      * </pre>
1599      *
1600      * <code>optional float capacity_scaler = 315958157;</code>
1601      *
1602      * @return This builder for chaining.
1603      */
clearCapacityScaler()1604     public Builder clearCapacityScaler() {
1605       bitField0_ = (bitField0_ & ~0x00000002);
1606       capacityScaler_ = 0F;
1607       onChanged();
1608       return this;
1609     }
1610 
1611     private java.lang.Object description_ = "";
1612     /**
1613      *
1614      *
1615      * <pre>
1616      * An optional description of this resource. Provide this property when you create the resource.
1617      * </pre>
1618      *
1619      * <code>optional string description = 422937596;</code>
1620      *
1621      * @return Whether the description field is set.
1622      */
hasDescription()1623     public boolean hasDescription() {
1624       return ((bitField0_ & 0x00000004) != 0);
1625     }
1626     /**
1627      *
1628      *
1629      * <pre>
1630      * An optional description of this resource. Provide this property when you create the resource.
1631      * </pre>
1632      *
1633      * <code>optional string description = 422937596;</code>
1634      *
1635      * @return The description.
1636      */
getDescription()1637     public java.lang.String getDescription() {
1638       java.lang.Object ref = description_;
1639       if (!(ref instanceof java.lang.String)) {
1640         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1641         java.lang.String s = bs.toStringUtf8();
1642         description_ = s;
1643         return s;
1644       } else {
1645         return (java.lang.String) ref;
1646       }
1647     }
1648     /**
1649      *
1650      *
1651      * <pre>
1652      * An optional description of this resource. Provide this property when you create the resource.
1653      * </pre>
1654      *
1655      * <code>optional string description = 422937596;</code>
1656      *
1657      * @return The bytes for description.
1658      */
getDescriptionBytes()1659     public com.google.protobuf.ByteString getDescriptionBytes() {
1660       java.lang.Object ref = description_;
1661       if (ref instanceof String) {
1662         com.google.protobuf.ByteString b =
1663             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1664         description_ = b;
1665         return b;
1666       } else {
1667         return (com.google.protobuf.ByteString) ref;
1668       }
1669     }
1670     /**
1671      *
1672      *
1673      * <pre>
1674      * An optional description of this resource. Provide this property when you create the resource.
1675      * </pre>
1676      *
1677      * <code>optional string description = 422937596;</code>
1678      *
1679      * @param value The description to set.
1680      * @return This builder for chaining.
1681      */
setDescription(java.lang.String value)1682     public Builder setDescription(java.lang.String value) {
1683       if (value == null) {
1684         throw new NullPointerException();
1685       }
1686       description_ = value;
1687       bitField0_ |= 0x00000004;
1688       onChanged();
1689       return this;
1690     }
1691     /**
1692      *
1693      *
1694      * <pre>
1695      * An optional description of this resource. Provide this property when you create the resource.
1696      * </pre>
1697      *
1698      * <code>optional string description = 422937596;</code>
1699      *
1700      * @return This builder for chaining.
1701      */
clearDescription()1702     public Builder clearDescription() {
1703       description_ = getDefaultInstance().getDescription();
1704       bitField0_ = (bitField0_ & ~0x00000004);
1705       onChanged();
1706       return this;
1707     }
1708     /**
1709      *
1710      *
1711      * <pre>
1712      * An optional description of this resource. Provide this property when you create the resource.
1713      * </pre>
1714      *
1715      * <code>optional string description = 422937596;</code>
1716      *
1717      * @param value The bytes for description to set.
1718      * @return This builder for chaining.
1719      */
setDescriptionBytes(com.google.protobuf.ByteString value)1720     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
1721       if (value == null) {
1722         throw new NullPointerException();
1723       }
1724       checkByteStringIsUtf8(value);
1725       description_ = value;
1726       bitField0_ |= 0x00000004;
1727       onChanged();
1728       return this;
1729     }
1730 
1731     private boolean failover_;
1732     /**
1733      *
1734      *
1735      * <pre>
1736      * This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.
1737      * </pre>
1738      *
1739      * <code>optional bool failover = 138892530;</code>
1740      *
1741      * @return Whether the failover field is set.
1742      */
1743     @java.lang.Override
hasFailover()1744     public boolean hasFailover() {
1745       return ((bitField0_ & 0x00000008) != 0);
1746     }
1747     /**
1748      *
1749      *
1750      * <pre>
1751      * This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.
1752      * </pre>
1753      *
1754      * <code>optional bool failover = 138892530;</code>
1755      *
1756      * @return The failover.
1757      */
1758     @java.lang.Override
getFailover()1759     public boolean getFailover() {
1760       return failover_;
1761     }
1762     /**
1763      *
1764      *
1765      * <pre>
1766      * This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.
1767      * </pre>
1768      *
1769      * <code>optional bool failover = 138892530;</code>
1770      *
1771      * @param value The failover to set.
1772      * @return This builder for chaining.
1773      */
setFailover(boolean value)1774     public Builder setFailover(boolean value) {
1775 
1776       failover_ = value;
1777       bitField0_ |= 0x00000008;
1778       onChanged();
1779       return this;
1780     }
1781     /**
1782      *
1783      *
1784      * <pre>
1785      * This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.
1786      * </pre>
1787      *
1788      * <code>optional bool failover = 138892530;</code>
1789      *
1790      * @return This builder for chaining.
1791      */
clearFailover()1792     public Builder clearFailover() {
1793       bitField0_ = (bitField0_ & ~0x00000008);
1794       failover_ = false;
1795       onChanged();
1796       return this;
1797     }
1798 
1799     private java.lang.Object group_ = "";
1800     /**
1801      *
1802      *
1803      * <pre>
1804      * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
1805      * </pre>
1806      *
1807      * <code>optional string group = 98629247;</code>
1808      *
1809      * @return Whether the group field is set.
1810      */
hasGroup()1811     public boolean hasGroup() {
1812       return ((bitField0_ & 0x00000010) != 0);
1813     }
1814     /**
1815      *
1816      *
1817      * <pre>
1818      * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
1819      * </pre>
1820      *
1821      * <code>optional string group = 98629247;</code>
1822      *
1823      * @return The group.
1824      */
getGroup()1825     public java.lang.String getGroup() {
1826       java.lang.Object ref = group_;
1827       if (!(ref instanceof java.lang.String)) {
1828         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1829         java.lang.String s = bs.toStringUtf8();
1830         group_ = s;
1831         return s;
1832       } else {
1833         return (java.lang.String) ref;
1834       }
1835     }
1836     /**
1837      *
1838      *
1839      * <pre>
1840      * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
1841      * </pre>
1842      *
1843      * <code>optional string group = 98629247;</code>
1844      *
1845      * @return The bytes for group.
1846      */
getGroupBytes()1847     public com.google.protobuf.ByteString getGroupBytes() {
1848       java.lang.Object ref = group_;
1849       if (ref instanceof String) {
1850         com.google.protobuf.ByteString b =
1851             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1852         group_ = b;
1853         return b;
1854       } else {
1855         return (com.google.protobuf.ByteString) ref;
1856       }
1857     }
1858     /**
1859      *
1860      *
1861      * <pre>
1862      * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
1863      * </pre>
1864      *
1865      * <code>optional string group = 98629247;</code>
1866      *
1867      * @param value The group to set.
1868      * @return This builder for chaining.
1869      */
setGroup(java.lang.String value)1870     public Builder setGroup(java.lang.String value) {
1871       if (value == null) {
1872         throw new NullPointerException();
1873       }
1874       group_ = value;
1875       bitField0_ |= 0x00000010;
1876       onChanged();
1877       return this;
1878     }
1879     /**
1880      *
1881      *
1882      * <pre>
1883      * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
1884      * </pre>
1885      *
1886      * <code>optional string group = 98629247;</code>
1887      *
1888      * @return This builder for chaining.
1889      */
clearGroup()1890     public Builder clearGroup() {
1891       group_ = getDefaultInstance().getGroup();
1892       bitField0_ = (bitField0_ & ~0x00000010);
1893       onChanged();
1894       return this;
1895     }
1896     /**
1897      *
1898      *
1899      * <pre>
1900      * The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.
1901      * </pre>
1902      *
1903      * <code>optional string group = 98629247;</code>
1904      *
1905      * @param value The bytes for group to set.
1906      * @return This builder for chaining.
1907      */
setGroupBytes(com.google.protobuf.ByteString value)1908     public Builder setGroupBytes(com.google.protobuf.ByteString value) {
1909       if (value == null) {
1910         throw new NullPointerException();
1911       }
1912       checkByteStringIsUtf8(value);
1913       group_ = value;
1914       bitField0_ |= 0x00000010;
1915       onChanged();
1916       return this;
1917     }
1918 
1919     private int maxConnections_;
1920     /**
1921      *
1922      *
1923      * <pre>
1924      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
1925      * </pre>
1926      *
1927      * <code>optional int32 max_connections = 110652154;</code>
1928      *
1929      * @return Whether the maxConnections field is set.
1930      */
1931     @java.lang.Override
hasMaxConnections()1932     public boolean hasMaxConnections() {
1933       return ((bitField0_ & 0x00000020) != 0);
1934     }
1935     /**
1936      *
1937      *
1938      * <pre>
1939      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
1940      * </pre>
1941      *
1942      * <code>optional int32 max_connections = 110652154;</code>
1943      *
1944      * @return The maxConnections.
1945      */
1946     @java.lang.Override
getMaxConnections()1947     public int getMaxConnections() {
1948       return maxConnections_;
1949     }
1950     /**
1951      *
1952      *
1953      * <pre>
1954      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
1955      * </pre>
1956      *
1957      * <code>optional int32 max_connections = 110652154;</code>
1958      *
1959      * @param value The maxConnections to set.
1960      * @return This builder for chaining.
1961      */
setMaxConnections(int value)1962     public Builder setMaxConnections(int value) {
1963 
1964       maxConnections_ = value;
1965       bitField0_ |= 0x00000020;
1966       onChanged();
1967       return this;
1968     }
1969     /**
1970      *
1971      *
1972      * <pre>
1973      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
1974      * </pre>
1975      *
1976      * <code>optional int32 max_connections = 110652154;</code>
1977      *
1978      * @return This builder for chaining.
1979      */
clearMaxConnections()1980     public Builder clearMaxConnections() {
1981       bitField0_ = (bitField0_ & ~0x00000020);
1982       maxConnections_ = 0;
1983       onChanged();
1984       return this;
1985     }
1986 
1987     private int maxConnectionsPerEndpoint_;
1988     /**
1989      *
1990      *
1991      * <pre>
1992      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
1993      * </pre>
1994      *
1995      * <code>optional int32 max_connections_per_endpoint = 216904604;</code>
1996      *
1997      * @return Whether the maxConnectionsPerEndpoint field is set.
1998      */
1999     @java.lang.Override
hasMaxConnectionsPerEndpoint()2000     public boolean hasMaxConnectionsPerEndpoint() {
2001       return ((bitField0_ & 0x00000040) != 0);
2002     }
2003     /**
2004      *
2005      *
2006      * <pre>
2007      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
2008      * </pre>
2009      *
2010      * <code>optional int32 max_connections_per_endpoint = 216904604;</code>
2011      *
2012      * @return The maxConnectionsPerEndpoint.
2013      */
2014     @java.lang.Override
getMaxConnectionsPerEndpoint()2015     public int getMaxConnectionsPerEndpoint() {
2016       return maxConnectionsPerEndpoint_;
2017     }
2018     /**
2019      *
2020      *
2021      * <pre>
2022      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
2023      * </pre>
2024      *
2025      * <code>optional int32 max_connections_per_endpoint = 216904604;</code>
2026      *
2027      * @param value The maxConnectionsPerEndpoint to set.
2028      * @return This builder for chaining.
2029      */
setMaxConnectionsPerEndpoint(int value)2030     public Builder setMaxConnectionsPerEndpoint(int value) {
2031 
2032       maxConnectionsPerEndpoint_ = value;
2033       bitField0_ |= 0x00000040;
2034       onChanged();
2035       return this;
2036     }
2037     /**
2038      *
2039      *
2040      * <pre>
2041      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
2042      * </pre>
2043      *
2044      * <code>optional int32 max_connections_per_endpoint = 216904604;</code>
2045      *
2046      * @return This builder for chaining.
2047      */
clearMaxConnectionsPerEndpoint()2048     public Builder clearMaxConnectionsPerEndpoint() {
2049       bitField0_ = (bitField0_ & ~0x00000040);
2050       maxConnectionsPerEndpoint_ = 0;
2051       onChanged();
2052       return this;
2053     }
2054 
2055     private int maxConnectionsPerInstance_;
2056     /**
2057      *
2058      *
2059      * <pre>
2060      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
2061      * </pre>
2062      *
2063      * <code>optional int32 max_connections_per_instance = 104671900;</code>
2064      *
2065      * @return Whether the maxConnectionsPerInstance field is set.
2066      */
2067     @java.lang.Override
hasMaxConnectionsPerInstance()2068     public boolean hasMaxConnectionsPerInstance() {
2069       return ((bitField0_ & 0x00000080) != 0);
2070     }
2071     /**
2072      *
2073      *
2074      * <pre>
2075      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
2076      * </pre>
2077      *
2078      * <code>optional int32 max_connections_per_instance = 104671900;</code>
2079      *
2080      * @return The maxConnectionsPerInstance.
2081      */
2082     @java.lang.Override
getMaxConnectionsPerInstance()2083     public int getMaxConnectionsPerInstance() {
2084       return maxConnectionsPerInstance_;
2085     }
2086     /**
2087      *
2088      *
2089      * <pre>
2090      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
2091      * </pre>
2092      *
2093      * <code>optional int32 max_connections_per_instance = 104671900;</code>
2094      *
2095      * @param value The maxConnectionsPerInstance to set.
2096      * @return This builder for chaining.
2097      */
setMaxConnectionsPerInstance(int value)2098     public Builder setMaxConnectionsPerInstance(int value) {
2099 
2100       maxConnectionsPerInstance_ = value;
2101       bitField0_ |= 0x00000080;
2102       onChanged();
2103       return this;
2104     }
2105     /**
2106      *
2107      *
2108      * <pre>
2109      * Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.
2110      * </pre>
2111      *
2112      * <code>optional int32 max_connections_per_instance = 104671900;</code>
2113      *
2114      * @return This builder for chaining.
2115      */
clearMaxConnectionsPerInstance()2116     public Builder clearMaxConnectionsPerInstance() {
2117       bitField0_ = (bitField0_ & ~0x00000080);
2118       maxConnectionsPerInstance_ = 0;
2119       onChanged();
2120       return this;
2121     }
2122 
2123     private int maxRate_;
2124     /**
2125      *
2126      *
2127      * <pre>
2128      * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2129      * </pre>
2130      *
2131      * <code>optional int32 max_rate = 408035035;</code>
2132      *
2133      * @return Whether the maxRate field is set.
2134      */
2135     @java.lang.Override
hasMaxRate()2136     public boolean hasMaxRate() {
2137       return ((bitField0_ & 0x00000100) != 0);
2138     }
2139     /**
2140      *
2141      *
2142      * <pre>
2143      * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2144      * </pre>
2145      *
2146      * <code>optional int32 max_rate = 408035035;</code>
2147      *
2148      * @return The maxRate.
2149      */
2150     @java.lang.Override
getMaxRate()2151     public int getMaxRate() {
2152       return maxRate_;
2153     }
2154     /**
2155      *
2156      *
2157      * <pre>
2158      * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2159      * </pre>
2160      *
2161      * <code>optional int32 max_rate = 408035035;</code>
2162      *
2163      * @param value The maxRate to set.
2164      * @return This builder for chaining.
2165      */
setMaxRate(int value)2166     public Builder setMaxRate(int value) {
2167 
2168       maxRate_ = value;
2169       bitField0_ |= 0x00000100;
2170       onChanged();
2171       return this;
2172     }
2173     /**
2174      *
2175      *
2176      * <pre>
2177      * Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2178      * </pre>
2179      *
2180      * <code>optional int32 max_rate = 408035035;</code>
2181      *
2182      * @return This builder for chaining.
2183      */
clearMaxRate()2184     public Builder clearMaxRate() {
2185       bitField0_ = (bitField0_ & ~0x00000100);
2186       maxRate_ = 0;
2187       onChanged();
2188       return this;
2189     }
2190 
2191     private float maxRatePerEndpoint_;
2192     /**
2193      *
2194      *
2195      * <pre>
2196      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2197      * </pre>
2198      *
2199      * <code>optional float max_rate_per_endpoint = 129832283;</code>
2200      *
2201      * @return Whether the maxRatePerEndpoint field is set.
2202      */
2203     @java.lang.Override
hasMaxRatePerEndpoint()2204     public boolean hasMaxRatePerEndpoint() {
2205       return ((bitField0_ & 0x00000200) != 0);
2206     }
2207     /**
2208      *
2209      *
2210      * <pre>
2211      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2212      * </pre>
2213      *
2214      * <code>optional float max_rate_per_endpoint = 129832283;</code>
2215      *
2216      * @return The maxRatePerEndpoint.
2217      */
2218     @java.lang.Override
getMaxRatePerEndpoint()2219     public float getMaxRatePerEndpoint() {
2220       return maxRatePerEndpoint_;
2221     }
2222     /**
2223      *
2224      *
2225      * <pre>
2226      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2227      * </pre>
2228      *
2229      * <code>optional float max_rate_per_endpoint = 129832283;</code>
2230      *
2231      * @param value The maxRatePerEndpoint to set.
2232      * @return This builder for chaining.
2233      */
setMaxRatePerEndpoint(float value)2234     public Builder setMaxRatePerEndpoint(float value) {
2235 
2236       maxRatePerEndpoint_ = value;
2237       bitField0_ |= 0x00000200;
2238       onChanged();
2239       return this;
2240     }
2241     /**
2242      *
2243      *
2244      * <pre>
2245      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2246      * </pre>
2247      *
2248      * <code>optional float max_rate_per_endpoint = 129832283;</code>
2249      *
2250      * @return This builder for chaining.
2251      */
clearMaxRatePerEndpoint()2252     public Builder clearMaxRatePerEndpoint() {
2253       bitField0_ = (bitField0_ & ~0x00000200);
2254       maxRatePerEndpoint_ = 0F;
2255       onChanged();
2256       return this;
2257     }
2258 
2259     private float maxRatePerInstance_;
2260     /**
2261      *
2262      *
2263      * <pre>
2264      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2265      * </pre>
2266      *
2267      * <code>optional float max_rate_per_instance = 17599579;</code>
2268      *
2269      * @return Whether the maxRatePerInstance field is set.
2270      */
2271     @java.lang.Override
hasMaxRatePerInstance()2272     public boolean hasMaxRatePerInstance() {
2273       return ((bitField0_ & 0x00000400) != 0);
2274     }
2275     /**
2276      *
2277      *
2278      * <pre>
2279      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2280      * </pre>
2281      *
2282      * <code>optional float max_rate_per_instance = 17599579;</code>
2283      *
2284      * @return The maxRatePerInstance.
2285      */
2286     @java.lang.Override
getMaxRatePerInstance()2287     public float getMaxRatePerInstance() {
2288       return maxRatePerInstance_;
2289     }
2290     /**
2291      *
2292      *
2293      * <pre>
2294      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2295      * </pre>
2296      *
2297      * <code>optional float max_rate_per_instance = 17599579;</code>
2298      *
2299      * @param value The maxRatePerInstance to set.
2300      * @return This builder for chaining.
2301      */
setMaxRatePerInstance(float value)2302     public Builder setMaxRatePerInstance(float value) {
2303 
2304       maxRatePerInstance_ = value;
2305       bitField0_ |= 0x00000400;
2306       onChanged();
2307       return this;
2308     }
2309     /**
2310      *
2311      *
2312      * <pre>
2313      * Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.
2314      * </pre>
2315      *
2316      * <code>optional float max_rate_per_instance = 17599579;</code>
2317      *
2318      * @return This builder for chaining.
2319      */
clearMaxRatePerInstance()2320     public Builder clearMaxRatePerInstance() {
2321       bitField0_ = (bitField0_ & ~0x00000400);
2322       maxRatePerInstance_ = 0F;
2323       onChanged();
2324       return this;
2325     }
2326 
2327     private float maxUtilization_;
2328     /**
2329      *
2330      *
2331      * <pre>
2332      * Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.
2333      * </pre>
2334      *
2335      * <code>optional float max_utilization = 148192199;</code>
2336      *
2337      * @return Whether the maxUtilization field is set.
2338      */
2339     @java.lang.Override
hasMaxUtilization()2340     public boolean hasMaxUtilization() {
2341       return ((bitField0_ & 0x00000800) != 0);
2342     }
2343     /**
2344      *
2345      *
2346      * <pre>
2347      * Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.
2348      * </pre>
2349      *
2350      * <code>optional float max_utilization = 148192199;</code>
2351      *
2352      * @return The maxUtilization.
2353      */
2354     @java.lang.Override
getMaxUtilization()2355     public float getMaxUtilization() {
2356       return maxUtilization_;
2357     }
2358     /**
2359      *
2360      *
2361      * <pre>
2362      * Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.
2363      * </pre>
2364      *
2365      * <code>optional float max_utilization = 148192199;</code>
2366      *
2367      * @param value The maxUtilization to set.
2368      * @return This builder for chaining.
2369      */
setMaxUtilization(float value)2370     public Builder setMaxUtilization(float value) {
2371 
2372       maxUtilization_ = value;
2373       bitField0_ |= 0x00000800;
2374       onChanged();
2375       return this;
2376     }
2377     /**
2378      *
2379      *
2380      * <pre>
2381      * Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.
2382      * </pre>
2383      *
2384      * <code>optional float max_utilization = 148192199;</code>
2385      *
2386      * @return This builder for chaining.
2387      */
clearMaxUtilization()2388     public Builder clearMaxUtilization() {
2389       bitField0_ = (bitField0_ & ~0x00000800);
2390       maxUtilization_ = 0F;
2391       onChanged();
2392       return this;
2393     }
2394 
2395     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2396     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
2397       return super.setUnknownFields(unknownFields);
2398     }
2399 
2400     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2401     public final Builder mergeUnknownFields(
2402         final com.google.protobuf.UnknownFieldSet unknownFields) {
2403       return super.mergeUnknownFields(unknownFields);
2404     }
2405 
2406     // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.Backend)
2407   }
2408 
2409   // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.Backend)
2410   private static final com.google.cloud.compute.v1.Backend DEFAULT_INSTANCE;
2411 
2412   static {
2413     DEFAULT_INSTANCE = new com.google.cloud.compute.v1.Backend();
2414   }
2415 
getDefaultInstance()2416   public static com.google.cloud.compute.v1.Backend getDefaultInstance() {
2417     return DEFAULT_INSTANCE;
2418   }
2419 
2420   private static final com.google.protobuf.Parser<Backend> PARSER =
2421       new com.google.protobuf.AbstractParser<Backend>() {
2422         @java.lang.Override
2423         public Backend parsePartialFrom(
2424             com.google.protobuf.CodedInputStream input,
2425             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2426             throws com.google.protobuf.InvalidProtocolBufferException {
2427           Builder builder = newBuilder();
2428           try {
2429             builder.mergeFrom(input, extensionRegistry);
2430           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2431             throw e.setUnfinishedMessage(builder.buildPartial());
2432           } catch (com.google.protobuf.UninitializedMessageException e) {
2433             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
2434           } catch (java.io.IOException e) {
2435             throw new com.google.protobuf.InvalidProtocolBufferException(e)
2436                 .setUnfinishedMessage(builder.buildPartial());
2437           }
2438           return builder.buildPartial();
2439         }
2440       };
2441 
parser()2442   public static com.google.protobuf.Parser<Backend> parser() {
2443     return PARSER;
2444   }
2445 
2446   @java.lang.Override
getParserForType()2447   public com.google.protobuf.Parser<Backend> getParserForType() {
2448     return PARSER;
2449   }
2450 
2451   @java.lang.Override
getDefaultInstanceForType()2452   public com.google.cloud.compute.v1.Backend getDefaultInstanceForType() {
2453     return DEFAULT_INSTANCE;
2454   }
2455 }
2456