• 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  * Represents a Managed Instance Group resource. An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use the regionInstanceGroupManagers resource.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.compute.v1.InstanceGroupManager}
29  */
30 public final class InstanceGroupManager extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.InstanceGroupManager)
33     InstanceGroupManagerOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use InstanceGroupManager.newBuilder() to construct.
InstanceGroupManager(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private InstanceGroupManager(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
InstanceGroupManager()40   private InstanceGroupManager() {
41     autoHealingPolicies_ = java.util.Collections.emptyList();
42     baseInstanceName_ = "";
43     creationTimestamp_ = "";
44     description_ = "";
45     fingerprint_ = "";
46     instanceGroup_ = "";
47     instanceTemplate_ = "";
48     kind_ = "";
49     listManagedInstancesResults_ = "";
50     name_ = "";
51     namedPorts_ = java.util.Collections.emptyList();
52     region_ = "";
53     selfLink_ = "";
54     targetPools_ = com.google.protobuf.LazyStringArrayList.EMPTY;
55     versions_ = java.util.Collections.emptyList();
56     zone_ = "";
57   }
58 
59   @java.lang.Override
60   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)61   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
62     return new InstanceGroupManager();
63   }
64 
65   @java.lang.Override
getUnknownFields()66   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
67     return this.unknownFields;
68   }
69 
getDescriptor()70   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
71     return com.google.cloud.compute.v1.Compute
72         .internal_static_google_cloud_compute_v1_InstanceGroupManager_descriptor;
73   }
74 
75   @java.lang.Override
76   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()77       internalGetFieldAccessorTable() {
78     return com.google.cloud.compute.v1.Compute
79         .internal_static_google_cloud_compute_v1_InstanceGroupManager_fieldAccessorTable
80         .ensureFieldAccessorsInitialized(
81             com.google.cloud.compute.v1.InstanceGroupManager.class,
82             com.google.cloud.compute.v1.InstanceGroupManager.Builder.class);
83   }
84 
85   /**
86    *
87    *
88    * <pre>
89    * Pagination behavior of the listManagedInstances API method for this managed instance group.
90    * </pre>
91    *
92    * Protobuf enum {@code google.cloud.compute.v1.InstanceGroupManager.ListManagedInstancesResults}
93    */
94   public enum ListManagedInstancesResults implements com.google.protobuf.ProtocolMessageEnum {
95     /**
96      *
97      *
98      * <pre>
99      * A value indicating that the enum field is not set.
100      * </pre>
101      *
102      * <code>UNDEFINED_LIST_MANAGED_INSTANCES_RESULTS = 0;</code>
103      */
104     UNDEFINED_LIST_MANAGED_INSTANCES_RESULTS(0),
105     /**
106      *
107      *
108      * <pre>
109      * (Default) Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.
110      * </pre>
111      *
112      * <code>PAGELESS = 32183464;</code>
113      */
114     PAGELESS(32183464),
115     /**
116      *
117      *
118      * <pre>
119      * Pagination is enabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are respected.
120      * </pre>
121      *
122      * <code>PAGINATED = 40190637;</code>
123      */
124     PAGINATED(40190637),
125     UNRECOGNIZED(-1),
126     ;
127 
128     /**
129      *
130      *
131      * <pre>
132      * A value indicating that the enum field is not set.
133      * </pre>
134      *
135      * <code>UNDEFINED_LIST_MANAGED_INSTANCES_RESULTS = 0;</code>
136      */
137     public static final int UNDEFINED_LIST_MANAGED_INSTANCES_RESULTS_VALUE = 0;
138     /**
139      *
140      *
141      * <pre>
142      * (Default) Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.
143      * </pre>
144      *
145      * <code>PAGELESS = 32183464;</code>
146      */
147     public static final int PAGELESS_VALUE = 32183464;
148     /**
149      *
150      *
151      * <pre>
152      * Pagination is enabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are respected.
153      * </pre>
154      *
155      * <code>PAGINATED = 40190637;</code>
156      */
157     public static final int PAGINATED_VALUE = 40190637;
158 
getNumber()159     public final int getNumber() {
160       if (this == UNRECOGNIZED) {
161         throw new java.lang.IllegalArgumentException(
162             "Can't get the number of an unknown enum value.");
163       }
164       return value;
165     }
166 
167     /**
168      * @param value The numeric wire value of the corresponding enum entry.
169      * @return The enum associated with the given numeric wire value.
170      * @deprecated Use {@link #forNumber(int)} instead.
171      */
172     @java.lang.Deprecated
valueOf(int value)173     public static ListManagedInstancesResults valueOf(int value) {
174       return forNumber(value);
175     }
176 
177     /**
178      * @param value The numeric wire value of the corresponding enum entry.
179      * @return The enum associated with the given numeric wire value.
180      */
forNumber(int value)181     public static ListManagedInstancesResults forNumber(int value) {
182       switch (value) {
183         case 0:
184           return UNDEFINED_LIST_MANAGED_INSTANCES_RESULTS;
185         case 32183464:
186           return PAGELESS;
187         case 40190637:
188           return PAGINATED;
189         default:
190           return null;
191       }
192     }
193 
194     public static com.google.protobuf.Internal.EnumLiteMap<ListManagedInstancesResults>
internalGetValueMap()195         internalGetValueMap() {
196       return internalValueMap;
197     }
198 
199     private static final com.google.protobuf.Internal.EnumLiteMap<ListManagedInstancesResults>
200         internalValueMap =
201             new com.google.protobuf.Internal.EnumLiteMap<ListManagedInstancesResults>() {
202               public ListManagedInstancesResults findValueByNumber(int number) {
203                 return ListManagedInstancesResults.forNumber(number);
204               }
205             };
206 
getValueDescriptor()207     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
208       if (this == UNRECOGNIZED) {
209         throw new java.lang.IllegalStateException(
210             "Can't get the descriptor of an unrecognized enum value.");
211       }
212       return getDescriptor().getValues().get(ordinal());
213     }
214 
getDescriptorForType()215     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
216       return getDescriptor();
217     }
218 
getDescriptor()219     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
220       return com.google.cloud.compute.v1.InstanceGroupManager.getDescriptor().getEnumTypes().get(0);
221     }
222 
223     private static final ListManagedInstancesResults[] VALUES = values();
224 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)225     public static ListManagedInstancesResults valueOf(
226         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
227       if (desc.getType() != getDescriptor()) {
228         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
229       }
230       if (desc.getIndex() == -1) {
231         return UNRECOGNIZED;
232       }
233       return VALUES[desc.getIndex()];
234     }
235 
236     private final int value;
237 
ListManagedInstancesResults(int value)238     private ListManagedInstancesResults(int value) {
239       this.value = value;
240     }
241 
242     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InstanceGroupManager.ListManagedInstancesResults)
243   }
244 
245   private int bitField0_;
246   public static final int AUTO_HEALING_POLICIES_FIELD_NUMBER = 456799109;
247 
248   @SuppressWarnings("serial")
249   private java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy>
250       autoHealingPolicies_;
251   /**
252    *
253    *
254    * <pre>
255    * The autohealing policy for this managed instance group. You can specify only one value.
256    * </pre>
257    *
258    * <code>
259    * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
260    * </code>
261    */
262   @java.lang.Override
263   public java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy>
getAutoHealingPoliciesList()264       getAutoHealingPoliciesList() {
265     return autoHealingPolicies_;
266   }
267   /**
268    *
269    *
270    * <pre>
271    * The autohealing policy for this managed instance group. You can specify only one value.
272    * </pre>
273    *
274    * <code>
275    * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
276    * </code>
277    */
278   @java.lang.Override
279   public java.util.List<
280           ? extends com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicyOrBuilder>
getAutoHealingPoliciesOrBuilderList()281       getAutoHealingPoliciesOrBuilderList() {
282     return autoHealingPolicies_;
283   }
284   /**
285    *
286    *
287    * <pre>
288    * The autohealing policy for this managed instance group. You can specify only one value.
289    * </pre>
290    *
291    * <code>
292    * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
293    * </code>
294    */
295   @java.lang.Override
getAutoHealingPoliciesCount()296   public int getAutoHealingPoliciesCount() {
297     return autoHealingPolicies_.size();
298   }
299   /**
300    *
301    *
302    * <pre>
303    * The autohealing policy for this managed instance group. You can specify only one value.
304    * </pre>
305    *
306    * <code>
307    * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
308    * </code>
309    */
310   @java.lang.Override
getAutoHealingPolicies( int index)311   public com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy getAutoHealingPolicies(
312       int index) {
313     return autoHealingPolicies_.get(index);
314   }
315   /**
316    *
317    *
318    * <pre>
319    * The autohealing policy for this managed instance group. You can specify only one value.
320    * </pre>
321    *
322    * <code>
323    * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
324    * </code>
325    */
326   @java.lang.Override
327   public com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicyOrBuilder
getAutoHealingPoliciesOrBuilder(int index)328       getAutoHealingPoliciesOrBuilder(int index) {
329     return autoHealingPolicies_.get(index);
330   }
331 
332   public static final int BASE_INSTANCE_NAME_FIELD_NUMBER = 389106439;
333 
334   @SuppressWarnings("serial")
335   private volatile java.lang.Object baseInstanceName_ = "";
336   /**
337    *
338    *
339    * <pre>
340    * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
341    * </pre>
342    *
343    * <code>optional string base_instance_name = 389106439;</code>
344    *
345    * @return Whether the baseInstanceName field is set.
346    */
347   @java.lang.Override
hasBaseInstanceName()348   public boolean hasBaseInstanceName() {
349     return ((bitField0_ & 0x00000001) != 0);
350   }
351   /**
352    *
353    *
354    * <pre>
355    * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
356    * </pre>
357    *
358    * <code>optional string base_instance_name = 389106439;</code>
359    *
360    * @return The baseInstanceName.
361    */
362   @java.lang.Override
getBaseInstanceName()363   public java.lang.String getBaseInstanceName() {
364     java.lang.Object ref = baseInstanceName_;
365     if (ref instanceof java.lang.String) {
366       return (java.lang.String) ref;
367     } else {
368       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
369       java.lang.String s = bs.toStringUtf8();
370       baseInstanceName_ = s;
371       return s;
372     }
373   }
374   /**
375    *
376    *
377    * <pre>
378    * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
379    * </pre>
380    *
381    * <code>optional string base_instance_name = 389106439;</code>
382    *
383    * @return The bytes for baseInstanceName.
384    */
385   @java.lang.Override
getBaseInstanceNameBytes()386   public com.google.protobuf.ByteString getBaseInstanceNameBytes() {
387     java.lang.Object ref = baseInstanceName_;
388     if (ref instanceof java.lang.String) {
389       com.google.protobuf.ByteString b =
390           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
391       baseInstanceName_ = b;
392       return b;
393     } else {
394       return (com.google.protobuf.ByteString) ref;
395     }
396   }
397 
398   public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 30525366;
399 
400   @SuppressWarnings("serial")
401   private volatile java.lang.Object creationTimestamp_ = "";
402   /**
403    *
404    *
405    * <pre>
406    * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
407    * </pre>
408    *
409    * <code>optional string creation_timestamp = 30525366;</code>
410    *
411    * @return Whether the creationTimestamp field is set.
412    */
413   @java.lang.Override
hasCreationTimestamp()414   public boolean hasCreationTimestamp() {
415     return ((bitField0_ & 0x00000002) != 0);
416   }
417   /**
418    *
419    *
420    * <pre>
421    * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
422    * </pre>
423    *
424    * <code>optional string creation_timestamp = 30525366;</code>
425    *
426    * @return The creationTimestamp.
427    */
428   @java.lang.Override
getCreationTimestamp()429   public java.lang.String getCreationTimestamp() {
430     java.lang.Object ref = creationTimestamp_;
431     if (ref instanceof java.lang.String) {
432       return (java.lang.String) ref;
433     } else {
434       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
435       java.lang.String s = bs.toStringUtf8();
436       creationTimestamp_ = s;
437       return s;
438     }
439   }
440   /**
441    *
442    *
443    * <pre>
444    * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
445    * </pre>
446    *
447    * <code>optional string creation_timestamp = 30525366;</code>
448    *
449    * @return The bytes for creationTimestamp.
450    */
451   @java.lang.Override
getCreationTimestampBytes()452   public com.google.protobuf.ByteString getCreationTimestampBytes() {
453     java.lang.Object ref = creationTimestamp_;
454     if (ref instanceof java.lang.String) {
455       com.google.protobuf.ByteString b =
456           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
457       creationTimestamp_ = b;
458       return b;
459     } else {
460       return (com.google.protobuf.ByteString) ref;
461     }
462   }
463 
464   public static final int CURRENT_ACTIONS_FIELD_NUMBER = 164045879;
465   private com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary currentActions_;
466   /**
467    *
468    *
469    * <pre>
470    * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
471    * </pre>
472    *
473    * <code>
474    * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
475    * </code>
476    *
477    * @return Whether the currentActions field is set.
478    */
479   @java.lang.Override
hasCurrentActions()480   public boolean hasCurrentActions() {
481     return ((bitField0_ & 0x00000004) != 0);
482   }
483   /**
484    *
485    *
486    * <pre>
487    * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
488    * </pre>
489    *
490    * <code>
491    * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
492    * </code>
493    *
494    * @return The currentActions.
495    */
496   @java.lang.Override
getCurrentActions()497   public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary getCurrentActions() {
498     return currentActions_ == null
499         ? com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.getDefaultInstance()
500         : currentActions_;
501   }
502   /**
503    *
504    *
505    * <pre>
506    * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
507    * </pre>
508    *
509    * <code>
510    * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
511    * </code>
512    */
513   @java.lang.Override
514   public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummaryOrBuilder
getCurrentActionsOrBuilder()515       getCurrentActionsOrBuilder() {
516     return currentActions_ == null
517         ? com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.getDefaultInstance()
518         : currentActions_;
519   }
520 
521   public static final int DESCRIPTION_FIELD_NUMBER = 422937596;
522 
523   @SuppressWarnings("serial")
524   private volatile java.lang.Object description_ = "";
525   /**
526    *
527    *
528    * <pre>
529    * An optional description of this resource.
530    * </pre>
531    *
532    * <code>optional string description = 422937596;</code>
533    *
534    * @return Whether the description field is set.
535    */
536   @java.lang.Override
hasDescription()537   public boolean hasDescription() {
538     return ((bitField0_ & 0x00000008) != 0);
539   }
540   /**
541    *
542    *
543    * <pre>
544    * An optional description of this resource.
545    * </pre>
546    *
547    * <code>optional string description = 422937596;</code>
548    *
549    * @return The description.
550    */
551   @java.lang.Override
getDescription()552   public java.lang.String getDescription() {
553     java.lang.Object ref = description_;
554     if (ref instanceof java.lang.String) {
555       return (java.lang.String) ref;
556     } else {
557       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
558       java.lang.String s = bs.toStringUtf8();
559       description_ = s;
560       return s;
561     }
562   }
563   /**
564    *
565    *
566    * <pre>
567    * An optional description of this resource.
568    * </pre>
569    *
570    * <code>optional string description = 422937596;</code>
571    *
572    * @return The bytes for description.
573    */
574   @java.lang.Override
getDescriptionBytes()575   public com.google.protobuf.ByteString getDescriptionBytes() {
576     java.lang.Object ref = description_;
577     if (ref instanceof java.lang.String) {
578       com.google.protobuf.ByteString b =
579           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
580       description_ = b;
581       return b;
582     } else {
583       return (com.google.protobuf.ByteString) ref;
584     }
585   }
586 
587   public static final int DISTRIBUTION_POLICY_FIELD_NUMBER = 534558541;
588   private com.google.cloud.compute.v1.DistributionPolicy distributionPolicy_;
589   /**
590    *
591    *
592    * <pre>
593    * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
594    * </pre>
595    *
596    * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
597    * </code>
598    *
599    * @return Whether the distributionPolicy field is set.
600    */
601   @java.lang.Override
hasDistributionPolicy()602   public boolean hasDistributionPolicy() {
603     return ((bitField0_ & 0x00000010) != 0);
604   }
605   /**
606    *
607    *
608    * <pre>
609    * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
610    * </pre>
611    *
612    * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
613    * </code>
614    *
615    * @return The distributionPolicy.
616    */
617   @java.lang.Override
getDistributionPolicy()618   public com.google.cloud.compute.v1.DistributionPolicy getDistributionPolicy() {
619     return distributionPolicy_ == null
620         ? com.google.cloud.compute.v1.DistributionPolicy.getDefaultInstance()
621         : distributionPolicy_;
622   }
623   /**
624    *
625    *
626    * <pre>
627    * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
628    * </pre>
629    *
630    * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
631    * </code>
632    */
633   @java.lang.Override
getDistributionPolicyOrBuilder()634   public com.google.cloud.compute.v1.DistributionPolicyOrBuilder getDistributionPolicyOrBuilder() {
635     return distributionPolicy_ == null
636         ? com.google.cloud.compute.v1.DistributionPolicy.getDefaultInstance()
637         : distributionPolicy_;
638   }
639 
640   public static final int FINGERPRINT_FIELD_NUMBER = 234678500;
641 
642   @SuppressWarnings("serial")
643   private volatile java.lang.Object fingerprint_ = "";
644   /**
645    *
646    *
647    * <pre>
648    * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
649    * </pre>
650    *
651    * <code>optional string fingerprint = 234678500;</code>
652    *
653    * @return Whether the fingerprint field is set.
654    */
655   @java.lang.Override
hasFingerprint()656   public boolean hasFingerprint() {
657     return ((bitField0_ & 0x00000020) != 0);
658   }
659   /**
660    *
661    *
662    * <pre>
663    * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
664    * </pre>
665    *
666    * <code>optional string fingerprint = 234678500;</code>
667    *
668    * @return The fingerprint.
669    */
670   @java.lang.Override
getFingerprint()671   public java.lang.String getFingerprint() {
672     java.lang.Object ref = fingerprint_;
673     if (ref instanceof java.lang.String) {
674       return (java.lang.String) ref;
675     } else {
676       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
677       java.lang.String s = bs.toStringUtf8();
678       fingerprint_ = s;
679       return s;
680     }
681   }
682   /**
683    *
684    *
685    * <pre>
686    * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
687    * </pre>
688    *
689    * <code>optional string fingerprint = 234678500;</code>
690    *
691    * @return The bytes for fingerprint.
692    */
693   @java.lang.Override
getFingerprintBytes()694   public com.google.protobuf.ByteString getFingerprintBytes() {
695     java.lang.Object ref = fingerprint_;
696     if (ref instanceof java.lang.String) {
697       com.google.protobuf.ByteString b =
698           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
699       fingerprint_ = b;
700       return b;
701     } else {
702       return (com.google.protobuf.ByteString) ref;
703     }
704   }
705 
706   public static final int ID_FIELD_NUMBER = 3355;
707   private long id_ = 0L;
708   /**
709    *
710    *
711    * <pre>
712    * [Output Only] A unique identifier for this resource type. The server generates this identifier.
713    * </pre>
714    *
715    * <code>optional uint64 id = 3355;</code>
716    *
717    * @return Whether the id field is set.
718    */
719   @java.lang.Override
hasId()720   public boolean hasId() {
721     return ((bitField0_ & 0x00000040) != 0);
722   }
723   /**
724    *
725    *
726    * <pre>
727    * [Output Only] A unique identifier for this resource type. The server generates this identifier.
728    * </pre>
729    *
730    * <code>optional uint64 id = 3355;</code>
731    *
732    * @return The id.
733    */
734   @java.lang.Override
getId()735   public long getId() {
736     return id_;
737   }
738 
739   public static final int INSTANCE_GROUP_FIELD_NUMBER = 81095253;
740 
741   @SuppressWarnings("serial")
742   private volatile java.lang.Object instanceGroup_ = "";
743   /**
744    *
745    *
746    * <pre>
747    * [Output Only] The URL of the Instance Group resource.
748    * </pre>
749    *
750    * <code>optional string instance_group = 81095253;</code>
751    *
752    * @return Whether the instanceGroup field is set.
753    */
754   @java.lang.Override
hasInstanceGroup()755   public boolean hasInstanceGroup() {
756     return ((bitField0_ & 0x00000080) != 0);
757   }
758   /**
759    *
760    *
761    * <pre>
762    * [Output Only] The URL of the Instance Group resource.
763    * </pre>
764    *
765    * <code>optional string instance_group = 81095253;</code>
766    *
767    * @return The instanceGroup.
768    */
769   @java.lang.Override
getInstanceGroup()770   public java.lang.String getInstanceGroup() {
771     java.lang.Object ref = instanceGroup_;
772     if (ref instanceof java.lang.String) {
773       return (java.lang.String) ref;
774     } else {
775       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
776       java.lang.String s = bs.toStringUtf8();
777       instanceGroup_ = s;
778       return s;
779     }
780   }
781   /**
782    *
783    *
784    * <pre>
785    * [Output Only] The URL of the Instance Group resource.
786    * </pre>
787    *
788    * <code>optional string instance_group = 81095253;</code>
789    *
790    * @return The bytes for instanceGroup.
791    */
792   @java.lang.Override
getInstanceGroupBytes()793   public com.google.protobuf.ByteString getInstanceGroupBytes() {
794     java.lang.Object ref = instanceGroup_;
795     if (ref instanceof java.lang.String) {
796       com.google.protobuf.ByteString b =
797           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
798       instanceGroup_ = b;
799       return b;
800     } else {
801       return (com.google.protobuf.ByteString) ref;
802     }
803   }
804 
805   public static final int INSTANCE_TEMPLATE_FIELD_NUMBER = 309248228;
806 
807   @SuppressWarnings("serial")
808   private volatile java.lang.Object instanceTemplate_ = "";
809   /**
810    *
811    *
812    * <pre>
813    * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
814    * </pre>
815    *
816    * <code>optional string instance_template = 309248228;</code>
817    *
818    * @return Whether the instanceTemplate field is set.
819    */
820   @java.lang.Override
hasInstanceTemplate()821   public boolean hasInstanceTemplate() {
822     return ((bitField0_ & 0x00000100) != 0);
823   }
824   /**
825    *
826    *
827    * <pre>
828    * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
829    * </pre>
830    *
831    * <code>optional string instance_template = 309248228;</code>
832    *
833    * @return The instanceTemplate.
834    */
835   @java.lang.Override
getInstanceTemplate()836   public java.lang.String getInstanceTemplate() {
837     java.lang.Object ref = instanceTemplate_;
838     if (ref instanceof java.lang.String) {
839       return (java.lang.String) ref;
840     } else {
841       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
842       java.lang.String s = bs.toStringUtf8();
843       instanceTemplate_ = s;
844       return s;
845     }
846   }
847   /**
848    *
849    *
850    * <pre>
851    * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
852    * </pre>
853    *
854    * <code>optional string instance_template = 309248228;</code>
855    *
856    * @return The bytes for instanceTemplate.
857    */
858   @java.lang.Override
getInstanceTemplateBytes()859   public com.google.protobuf.ByteString getInstanceTemplateBytes() {
860     java.lang.Object ref = instanceTemplate_;
861     if (ref instanceof java.lang.String) {
862       com.google.protobuf.ByteString b =
863           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
864       instanceTemplate_ = b;
865       return b;
866     } else {
867       return (com.google.protobuf.ByteString) ref;
868     }
869   }
870 
871   public static final int KIND_FIELD_NUMBER = 3292052;
872 
873   @SuppressWarnings("serial")
874   private volatile java.lang.Object kind_ = "";
875   /**
876    *
877    *
878    * <pre>
879    * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
880    * </pre>
881    *
882    * <code>optional string kind = 3292052;</code>
883    *
884    * @return Whether the kind field is set.
885    */
886   @java.lang.Override
hasKind()887   public boolean hasKind() {
888     return ((bitField0_ & 0x00000200) != 0);
889   }
890   /**
891    *
892    *
893    * <pre>
894    * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
895    * </pre>
896    *
897    * <code>optional string kind = 3292052;</code>
898    *
899    * @return The kind.
900    */
901   @java.lang.Override
getKind()902   public java.lang.String getKind() {
903     java.lang.Object ref = kind_;
904     if (ref instanceof java.lang.String) {
905       return (java.lang.String) ref;
906     } else {
907       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
908       java.lang.String s = bs.toStringUtf8();
909       kind_ = s;
910       return s;
911     }
912   }
913   /**
914    *
915    *
916    * <pre>
917    * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
918    * </pre>
919    *
920    * <code>optional string kind = 3292052;</code>
921    *
922    * @return The bytes for kind.
923    */
924   @java.lang.Override
getKindBytes()925   public com.google.protobuf.ByteString getKindBytes() {
926     java.lang.Object ref = kind_;
927     if (ref instanceof java.lang.String) {
928       com.google.protobuf.ByteString b =
929           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
930       kind_ = b;
931       return b;
932     } else {
933       return (com.google.protobuf.ByteString) ref;
934     }
935   }
936 
937   public static final int LIST_MANAGED_INSTANCES_RESULTS_FIELD_NUMBER = 296047156;
938 
939   @SuppressWarnings("serial")
940   private volatile java.lang.Object listManagedInstancesResults_ = "";
941   /**
942    *
943    *
944    * <pre>
945    * Pagination behavior of the listManagedInstances API method for this managed instance group.
946    * Check the ListManagedInstancesResults enum for the list of possible values.
947    * </pre>
948    *
949    * <code>optional string list_managed_instances_results = 296047156;</code>
950    *
951    * @return Whether the listManagedInstancesResults field is set.
952    */
953   @java.lang.Override
hasListManagedInstancesResults()954   public boolean hasListManagedInstancesResults() {
955     return ((bitField0_ & 0x00000400) != 0);
956   }
957   /**
958    *
959    *
960    * <pre>
961    * Pagination behavior of the listManagedInstances API method for this managed instance group.
962    * Check the ListManagedInstancesResults enum for the list of possible values.
963    * </pre>
964    *
965    * <code>optional string list_managed_instances_results = 296047156;</code>
966    *
967    * @return The listManagedInstancesResults.
968    */
969   @java.lang.Override
getListManagedInstancesResults()970   public java.lang.String getListManagedInstancesResults() {
971     java.lang.Object ref = listManagedInstancesResults_;
972     if (ref instanceof java.lang.String) {
973       return (java.lang.String) ref;
974     } else {
975       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
976       java.lang.String s = bs.toStringUtf8();
977       listManagedInstancesResults_ = s;
978       return s;
979     }
980   }
981   /**
982    *
983    *
984    * <pre>
985    * Pagination behavior of the listManagedInstances API method for this managed instance group.
986    * Check the ListManagedInstancesResults enum for the list of possible values.
987    * </pre>
988    *
989    * <code>optional string list_managed_instances_results = 296047156;</code>
990    *
991    * @return The bytes for listManagedInstancesResults.
992    */
993   @java.lang.Override
getListManagedInstancesResultsBytes()994   public com.google.protobuf.ByteString getListManagedInstancesResultsBytes() {
995     java.lang.Object ref = listManagedInstancesResults_;
996     if (ref instanceof java.lang.String) {
997       com.google.protobuf.ByteString b =
998           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
999       listManagedInstancesResults_ = b;
1000       return b;
1001     } else {
1002       return (com.google.protobuf.ByteString) ref;
1003     }
1004   }
1005 
1006   public static final int NAME_FIELD_NUMBER = 3373707;
1007 
1008   @SuppressWarnings("serial")
1009   private volatile java.lang.Object name_ = "";
1010   /**
1011    *
1012    *
1013    * <pre>
1014    * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
1015    * </pre>
1016    *
1017    * <code>optional string name = 3373707;</code>
1018    *
1019    * @return Whether the name field is set.
1020    */
1021   @java.lang.Override
hasName()1022   public boolean hasName() {
1023     return ((bitField0_ & 0x00000800) != 0);
1024   }
1025   /**
1026    *
1027    *
1028    * <pre>
1029    * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
1030    * </pre>
1031    *
1032    * <code>optional string name = 3373707;</code>
1033    *
1034    * @return The name.
1035    */
1036   @java.lang.Override
getName()1037   public java.lang.String getName() {
1038     java.lang.Object ref = name_;
1039     if (ref instanceof java.lang.String) {
1040       return (java.lang.String) ref;
1041     } else {
1042       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1043       java.lang.String s = bs.toStringUtf8();
1044       name_ = s;
1045       return s;
1046     }
1047   }
1048   /**
1049    *
1050    *
1051    * <pre>
1052    * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
1053    * </pre>
1054    *
1055    * <code>optional string name = 3373707;</code>
1056    *
1057    * @return The bytes for name.
1058    */
1059   @java.lang.Override
getNameBytes()1060   public com.google.protobuf.ByteString getNameBytes() {
1061     java.lang.Object ref = name_;
1062     if (ref instanceof java.lang.String) {
1063       com.google.protobuf.ByteString b =
1064           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1065       name_ = b;
1066       return b;
1067     } else {
1068       return (com.google.protobuf.ByteString) ref;
1069     }
1070   }
1071 
1072   public static final int NAMED_PORTS_FIELD_NUMBER = 427598732;
1073 
1074   @SuppressWarnings("serial")
1075   private java.util.List<com.google.cloud.compute.v1.NamedPort> namedPorts_;
1076   /**
1077    *
1078    *
1079    * <pre>
1080    * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
1081    * </pre>
1082    *
1083    * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
1084    */
1085   @java.lang.Override
getNamedPortsList()1086   public java.util.List<com.google.cloud.compute.v1.NamedPort> getNamedPortsList() {
1087     return namedPorts_;
1088   }
1089   /**
1090    *
1091    *
1092    * <pre>
1093    * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
1094    * </pre>
1095    *
1096    * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
1097    */
1098   @java.lang.Override
1099   public java.util.List<? extends com.google.cloud.compute.v1.NamedPortOrBuilder>
getNamedPortsOrBuilderList()1100       getNamedPortsOrBuilderList() {
1101     return namedPorts_;
1102   }
1103   /**
1104    *
1105    *
1106    * <pre>
1107    * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
1108    * </pre>
1109    *
1110    * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
1111    */
1112   @java.lang.Override
getNamedPortsCount()1113   public int getNamedPortsCount() {
1114     return namedPorts_.size();
1115   }
1116   /**
1117    *
1118    *
1119    * <pre>
1120    * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
1121    * </pre>
1122    *
1123    * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
1124    */
1125   @java.lang.Override
getNamedPorts(int index)1126   public com.google.cloud.compute.v1.NamedPort getNamedPorts(int index) {
1127     return namedPorts_.get(index);
1128   }
1129   /**
1130    *
1131    *
1132    * <pre>
1133    * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
1134    * </pre>
1135    *
1136    * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
1137    */
1138   @java.lang.Override
getNamedPortsOrBuilder(int index)1139   public com.google.cloud.compute.v1.NamedPortOrBuilder getNamedPortsOrBuilder(int index) {
1140     return namedPorts_.get(index);
1141   }
1142 
1143   public static final int REGION_FIELD_NUMBER = 138946292;
1144 
1145   @SuppressWarnings("serial")
1146   private volatile java.lang.Object region_ = "";
1147   /**
1148    *
1149    *
1150    * <pre>
1151    * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
1152    * </pre>
1153    *
1154    * <code>optional string region = 138946292;</code>
1155    *
1156    * @return Whether the region field is set.
1157    */
1158   @java.lang.Override
hasRegion()1159   public boolean hasRegion() {
1160     return ((bitField0_ & 0x00001000) != 0);
1161   }
1162   /**
1163    *
1164    *
1165    * <pre>
1166    * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
1167    * </pre>
1168    *
1169    * <code>optional string region = 138946292;</code>
1170    *
1171    * @return The region.
1172    */
1173   @java.lang.Override
getRegion()1174   public java.lang.String getRegion() {
1175     java.lang.Object ref = region_;
1176     if (ref instanceof java.lang.String) {
1177       return (java.lang.String) ref;
1178     } else {
1179       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1180       java.lang.String s = bs.toStringUtf8();
1181       region_ = s;
1182       return s;
1183     }
1184   }
1185   /**
1186    *
1187    *
1188    * <pre>
1189    * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
1190    * </pre>
1191    *
1192    * <code>optional string region = 138946292;</code>
1193    *
1194    * @return The bytes for region.
1195    */
1196   @java.lang.Override
getRegionBytes()1197   public com.google.protobuf.ByteString getRegionBytes() {
1198     java.lang.Object ref = region_;
1199     if (ref instanceof java.lang.String) {
1200       com.google.protobuf.ByteString b =
1201           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1202       region_ = b;
1203       return b;
1204     } else {
1205       return (com.google.protobuf.ByteString) ref;
1206     }
1207   }
1208 
1209   public static final int SELF_LINK_FIELD_NUMBER = 456214797;
1210 
1211   @SuppressWarnings("serial")
1212   private volatile java.lang.Object selfLink_ = "";
1213   /**
1214    *
1215    *
1216    * <pre>
1217    * [Output Only] The URL for this managed instance group. The server defines this URL.
1218    * </pre>
1219    *
1220    * <code>optional string self_link = 456214797;</code>
1221    *
1222    * @return Whether the selfLink field is set.
1223    */
1224   @java.lang.Override
hasSelfLink()1225   public boolean hasSelfLink() {
1226     return ((bitField0_ & 0x00002000) != 0);
1227   }
1228   /**
1229    *
1230    *
1231    * <pre>
1232    * [Output Only] The URL for this managed instance group. The server defines this URL.
1233    * </pre>
1234    *
1235    * <code>optional string self_link = 456214797;</code>
1236    *
1237    * @return The selfLink.
1238    */
1239   @java.lang.Override
getSelfLink()1240   public java.lang.String getSelfLink() {
1241     java.lang.Object ref = selfLink_;
1242     if (ref instanceof java.lang.String) {
1243       return (java.lang.String) ref;
1244     } else {
1245       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1246       java.lang.String s = bs.toStringUtf8();
1247       selfLink_ = s;
1248       return s;
1249     }
1250   }
1251   /**
1252    *
1253    *
1254    * <pre>
1255    * [Output Only] The URL for this managed instance group. The server defines this URL.
1256    * </pre>
1257    *
1258    * <code>optional string self_link = 456214797;</code>
1259    *
1260    * @return The bytes for selfLink.
1261    */
1262   @java.lang.Override
getSelfLinkBytes()1263   public com.google.protobuf.ByteString getSelfLinkBytes() {
1264     java.lang.Object ref = selfLink_;
1265     if (ref instanceof java.lang.String) {
1266       com.google.protobuf.ByteString b =
1267           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1268       selfLink_ = b;
1269       return b;
1270     } else {
1271       return (com.google.protobuf.ByteString) ref;
1272     }
1273   }
1274 
1275   public static final int STATEFUL_POLICY_FIELD_NUMBER = 47538565;
1276   private com.google.cloud.compute.v1.StatefulPolicy statefulPolicy_;
1277   /**
1278    *
1279    *
1280    * <pre>
1281    * Stateful configuration for this Instanced Group Manager
1282    * </pre>
1283    *
1284    * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
1285    *
1286    * @return Whether the statefulPolicy field is set.
1287    */
1288   @java.lang.Override
hasStatefulPolicy()1289   public boolean hasStatefulPolicy() {
1290     return ((bitField0_ & 0x00004000) != 0);
1291   }
1292   /**
1293    *
1294    *
1295    * <pre>
1296    * Stateful configuration for this Instanced Group Manager
1297    * </pre>
1298    *
1299    * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
1300    *
1301    * @return The statefulPolicy.
1302    */
1303   @java.lang.Override
getStatefulPolicy()1304   public com.google.cloud.compute.v1.StatefulPolicy getStatefulPolicy() {
1305     return statefulPolicy_ == null
1306         ? com.google.cloud.compute.v1.StatefulPolicy.getDefaultInstance()
1307         : statefulPolicy_;
1308   }
1309   /**
1310    *
1311    *
1312    * <pre>
1313    * Stateful configuration for this Instanced Group Manager
1314    * </pre>
1315    *
1316    * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
1317    */
1318   @java.lang.Override
getStatefulPolicyOrBuilder()1319   public com.google.cloud.compute.v1.StatefulPolicyOrBuilder getStatefulPolicyOrBuilder() {
1320     return statefulPolicy_ == null
1321         ? com.google.cloud.compute.v1.StatefulPolicy.getDefaultInstance()
1322         : statefulPolicy_;
1323   }
1324 
1325   public static final int STATUS_FIELD_NUMBER = 181260274;
1326   private com.google.cloud.compute.v1.InstanceGroupManagerStatus status_;
1327   /**
1328    *
1329    *
1330    * <pre>
1331    * [Output Only] The status of this managed instance group.
1332    * </pre>
1333    *
1334    * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
1335    *
1336    * @return Whether the status field is set.
1337    */
1338   @java.lang.Override
hasStatus()1339   public boolean hasStatus() {
1340     return ((bitField0_ & 0x00008000) != 0);
1341   }
1342   /**
1343    *
1344    *
1345    * <pre>
1346    * [Output Only] The status of this managed instance group.
1347    * </pre>
1348    *
1349    * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
1350    *
1351    * @return The status.
1352    */
1353   @java.lang.Override
getStatus()1354   public com.google.cloud.compute.v1.InstanceGroupManagerStatus getStatus() {
1355     return status_ == null
1356         ? com.google.cloud.compute.v1.InstanceGroupManagerStatus.getDefaultInstance()
1357         : status_;
1358   }
1359   /**
1360    *
1361    *
1362    * <pre>
1363    * [Output Only] The status of this managed instance group.
1364    * </pre>
1365    *
1366    * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
1367    */
1368   @java.lang.Override
getStatusOrBuilder()1369   public com.google.cloud.compute.v1.InstanceGroupManagerStatusOrBuilder getStatusOrBuilder() {
1370     return status_ == null
1371         ? com.google.cloud.compute.v1.InstanceGroupManagerStatus.getDefaultInstance()
1372         : status_;
1373   }
1374 
1375   public static final int TARGET_POOLS_FIELD_NUMBER = 336072617;
1376 
1377   @SuppressWarnings("serial")
1378   private com.google.protobuf.LazyStringList targetPools_;
1379   /**
1380    *
1381    *
1382    * <pre>
1383    * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
1384    * </pre>
1385    *
1386    * <code>repeated string target_pools = 336072617;</code>
1387    *
1388    * @return A list containing the targetPools.
1389    */
getTargetPoolsList()1390   public com.google.protobuf.ProtocolStringList getTargetPoolsList() {
1391     return targetPools_;
1392   }
1393   /**
1394    *
1395    *
1396    * <pre>
1397    * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
1398    * </pre>
1399    *
1400    * <code>repeated string target_pools = 336072617;</code>
1401    *
1402    * @return The count of targetPools.
1403    */
getTargetPoolsCount()1404   public int getTargetPoolsCount() {
1405     return targetPools_.size();
1406   }
1407   /**
1408    *
1409    *
1410    * <pre>
1411    * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
1412    * </pre>
1413    *
1414    * <code>repeated string target_pools = 336072617;</code>
1415    *
1416    * @param index The index of the element to return.
1417    * @return The targetPools at the given index.
1418    */
getTargetPools(int index)1419   public java.lang.String getTargetPools(int index) {
1420     return targetPools_.get(index);
1421   }
1422   /**
1423    *
1424    *
1425    * <pre>
1426    * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
1427    * </pre>
1428    *
1429    * <code>repeated string target_pools = 336072617;</code>
1430    *
1431    * @param index The index of the value to return.
1432    * @return The bytes of the targetPools at the given index.
1433    */
getTargetPoolsBytes(int index)1434   public com.google.protobuf.ByteString getTargetPoolsBytes(int index) {
1435     return targetPools_.getByteString(index);
1436   }
1437 
1438   public static final int TARGET_SIZE_FIELD_NUMBER = 62880239;
1439   private int targetSize_ = 0;
1440   /**
1441    *
1442    *
1443    * <pre>
1444    * The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.
1445    * </pre>
1446    *
1447    * <code>optional int32 target_size = 62880239;</code>
1448    *
1449    * @return Whether the targetSize field is set.
1450    */
1451   @java.lang.Override
hasTargetSize()1452   public boolean hasTargetSize() {
1453     return ((bitField0_ & 0x00010000) != 0);
1454   }
1455   /**
1456    *
1457    *
1458    * <pre>
1459    * The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.
1460    * </pre>
1461    *
1462    * <code>optional int32 target_size = 62880239;</code>
1463    *
1464    * @return The targetSize.
1465    */
1466   @java.lang.Override
getTargetSize()1467   public int getTargetSize() {
1468     return targetSize_;
1469   }
1470 
1471   public static final int UPDATE_POLICY_FIELD_NUMBER = 175809896;
1472   private com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy updatePolicy_;
1473   /**
1474    *
1475    *
1476    * <pre>
1477    * The update policy for this managed instance group.
1478    * </pre>
1479    *
1480    * <code>
1481    * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
1482    * </code>
1483    *
1484    * @return Whether the updatePolicy field is set.
1485    */
1486   @java.lang.Override
hasUpdatePolicy()1487   public boolean hasUpdatePolicy() {
1488     return ((bitField0_ & 0x00020000) != 0);
1489   }
1490   /**
1491    *
1492    *
1493    * <pre>
1494    * The update policy for this managed instance group.
1495    * </pre>
1496    *
1497    * <code>
1498    * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
1499    * </code>
1500    *
1501    * @return The updatePolicy.
1502    */
1503   @java.lang.Override
getUpdatePolicy()1504   public com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy getUpdatePolicy() {
1505     return updatePolicy_ == null
1506         ? com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.getDefaultInstance()
1507         : updatePolicy_;
1508   }
1509   /**
1510    *
1511    *
1512    * <pre>
1513    * The update policy for this managed instance group.
1514    * </pre>
1515    *
1516    * <code>
1517    * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
1518    * </code>
1519    */
1520   @java.lang.Override
1521   public com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicyOrBuilder
getUpdatePolicyOrBuilder()1522       getUpdatePolicyOrBuilder() {
1523     return updatePolicy_ == null
1524         ? com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.getDefaultInstance()
1525         : updatePolicy_;
1526   }
1527 
1528   public static final int VERSIONS_FIELD_NUMBER = 162430619;
1529 
1530   @SuppressWarnings("serial")
1531   private java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerVersion> versions_;
1532   /**
1533    *
1534    *
1535    * <pre>
1536    * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
1537    * </pre>
1538    *
1539    * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
1540    * </code>
1541    */
1542   @java.lang.Override
getVersionsList()1543   public java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerVersion> getVersionsList() {
1544     return versions_;
1545   }
1546   /**
1547    *
1548    *
1549    * <pre>
1550    * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
1551    * </pre>
1552    *
1553    * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
1554    * </code>
1555    */
1556   @java.lang.Override
1557   public java.util.List<? extends com.google.cloud.compute.v1.InstanceGroupManagerVersionOrBuilder>
getVersionsOrBuilderList()1558       getVersionsOrBuilderList() {
1559     return versions_;
1560   }
1561   /**
1562    *
1563    *
1564    * <pre>
1565    * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
1566    * </pre>
1567    *
1568    * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
1569    * </code>
1570    */
1571   @java.lang.Override
getVersionsCount()1572   public int getVersionsCount() {
1573     return versions_.size();
1574   }
1575   /**
1576    *
1577    *
1578    * <pre>
1579    * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
1580    * </pre>
1581    *
1582    * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
1583    * </code>
1584    */
1585   @java.lang.Override
getVersions(int index)1586   public com.google.cloud.compute.v1.InstanceGroupManagerVersion getVersions(int index) {
1587     return versions_.get(index);
1588   }
1589   /**
1590    *
1591    *
1592    * <pre>
1593    * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
1594    * </pre>
1595    *
1596    * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
1597    * </code>
1598    */
1599   @java.lang.Override
getVersionsOrBuilder( int index)1600   public com.google.cloud.compute.v1.InstanceGroupManagerVersionOrBuilder getVersionsOrBuilder(
1601       int index) {
1602     return versions_.get(index);
1603   }
1604 
1605   public static final int ZONE_FIELD_NUMBER = 3744684;
1606 
1607   @SuppressWarnings("serial")
1608   private volatile java.lang.Object zone_ = "";
1609   /**
1610    *
1611    *
1612    * <pre>
1613    * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
1614    * </pre>
1615    *
1616    * <code>optional string zone = 3744684;</code>
1617    *
1618    * @return Whether the zone field is set.
1619    */
1620   @java.lang.Override
hasZone()1621   public boolean hasZone() {
1622     return ((bitField0_ & 0x00040000) != 0);
1623   }
1624   /**
1625    *
1626    *
1627    * <pre>
1628    * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
1629    * </pre>
1630    *
1631    * <code>optional string zone = 3744684;</code>
1632    *
1633    * @return The zone.
1634    */
1635   @java.lang.Override
getZone()1636   public java.lang.String getZone() {
1637     java.lang.Object ref = zone_;
1638     if (ref instanceof java.lang.String) {
1639       return (java.lang.String) ref;
1640     } else {
1641       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1642       java.lang.String s = bs.toStringUtf8();
1643       zone_ = s;
1644       return s;
1645     }
1646   }
1647   /**
1648    *
1649    *
1650    * <pre>
1651    * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
1652    * </pre>
1653    *
1654    * <code>optional string zone = 3744684;</code>
1655    *
1656    * @return The bytes for zone.
1657    */
1658   @java.lang.Override
getZoneBytes()1659   public com.google.protobuf.ByteString getZoneBytes() {
1660     java.lang.Object ref = zone_;
1661     if (ref instanceof java.lang.String) {
1662       com.google.protobuf.ByteString b =
1663           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1664       zone_ = b;
1665       return b;
1666     } else {
1667       return (com.google.protobuf.ByteString) ref;
1668     }
1669   }
1670 
1671   private byte memoizedIsInitialized = -1;
1672 
1673   @java.lang.Override
isInitialized()1674   public final boolean isInitialized() {
1675     byte isInitialized = memoizedIsInitialized;
1676     if (isInitialized == 1) return true;
1677     if (isInitialized == 0) return false;
1678 
1679     memoizedIsInitialized = 1;
1680     return true;
1681   }
1682 
1683   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1684   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1685     if (((bitField0_ & 0x00000040) != 0)) {
1686       output.writeUInt64(3355, id_);
1687     }
1688     if (((bitField0_ & 0x00000200) != 0)) {
1689       com.google.protobuf.GeneratedMessageV3.writeString(output, 3292052, kind_);
1690     }
1691     if (((bitField0_ & 0x00000800) != 0)) {
1692       com.google.protobuf.GeneratedMessageV3.writeString(output, 3373707, name_);
1693     }
1694     if (((bitField0_ & 0x00040000) != 0)) {
1695       com.google.protobuf.GeneratedMessageV3.writeString(output, 3744684, zone_);
1696     }
1697     if (((bitField0_ & 0x00000002) != 0)) {
1698       com.google.protobuf.GeneratedMessageV3.writeString(output, 30525366, creationTimestamp_);
1699     }
1700     if (((bitField0_ & 0x00004000) != 0)) {
1701       output.writeMessage(47538565, getStatefulPolicy());
1702     }
1703     if (((bitField0_ & 0x00010000) != 0)) {
1704       output.writeInt32(62880239, targetSize_);
1705     }
1706     if (((bitField0_ & 0x00000080) != 0)) {
1707       com.google.protobuf.GeneratedMessageV3.writeString(output, 81095253, instanceGroup_);
1708     }
1709     if (((bitField0_ & 0x00001000) != 0)) {
1710       com.google.protobuf.GeneratedMessageV3.writeString(output, 138946292, region_);
1711     }
1712     for (int i = 0; i < versions_.size(); i++) {
1713       output.writeMessage(162430619, versions_.get(i));
1714     }
1715     if (((bitField0_ & 0x00000004) != 0)) {
1716       output.writeMessage(164045879, getCurrentActions());
1717     }
1718     if (((bitField0_ & 0x00020000) != 0)) {
1719       output.writeMessage(175809896, getUpdatePolicy());
1720     }
1721     if (((bitField0_ & 0x00008000) != 0)) {
1722       output.writeMessage(181260274, getStatus());
1723     }
1724     if (((bitField0_ & 0x00000020) != 0)) {
1725       com.google.protobuf.GeneratedMessageV3.writeString(output, 234678500, fingerprint_);
1726     }
1727     if (((bitField0_ & 0x00000400) != 0)) {
1728       com.google.protobuf.GeneratedMessageV3.writeString(
1729           output, 296047156, listManagedInstancesResults_);
1730     }
1731     if (((bitField0_ & 0x00000100) != 0)) {
1732       com.google.protobuf.GeneratedMessageV3.writeString(output, 309248228, instanceTemplate_);
1733     }
1734     for (int i = 0; i < targetPools_.size(); i++) {
1735       com.google.protobuf.GeneratedMessageV3.writeString(output, 336072617, targetPools_.getRaw(i));
1736     }
1737     if (((bitField0_ & 0x00000001) != 0)) {
1738       com.google.protobuf.GeneratedMessageV3.writeString(output, 389106439, baseInstanceName_);
1739     }
1740     if (((bitField0_ & 0x00000008) != 0)) {
1741       com.google.protobuf.GeneratedMessageV3.writeString(output, 422937596, description_);
1742     }
1743     for (int i = 0; i < namedPorts_.size(); i++) {
1744       output.writeMessage(427598732, namedPorts_.get(i));
1745     }
1746     if (((bitField0_ & 0x00002000) != 0)) {
1747       com.google.protobuf.GeneratedMessageV3.writeString(output, 456214797, selfLink_);
1748     }
1749     for (int i = 0; i < autoHealingPolicies_.size(); i++) {
1750       output.writeMessage(456799109, autoHealingPolicies_.get(i));
1751     }
1752     if (((bitField0_ & 0x00000010) != 0)) {
1753       output.writeMessage(534558541, getDistributionPolicy());
1754     }
1755     getUnknownFields().writeTo(output);
1756   }
1757 
1758   @java.lang.Override
getSerializedSize()1759   public int getSerializedSize() {
1760     int size = memoizedSize;
1761     if (size != -1) return size;
1762 
1763     size = 0;
1764     if (((bitField0_ & 0x00000040) != 0)) {
1765       size += com.google.protobuf.CodedOutputStream.computeUInt64Size(3355, id_);
1766     }
1767     if (((bitField0_ & 0x00000200) != 0)) {
1768       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3292052, kind_);
1769     }
1770     if (((bitField0_ & 0x00000800) != 0)) {
1771       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3373707, name_);
1772     }
1773     if (((bitField0_ & 0x00040000) != 0)) {
1774       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3744684, zone_);
1775     }
1776     if (((bitField0_ & 0x00000002) != 0)) {
1777       size +=
1778           com.google.protobuf.GeneratedMessageV3.computeStringSize(30525366, creationTimestamp_);
1779     }
1780     if (((bitField0_ & 0x00004000) != 0)) {
1781       size +=
1782           com.google.protobuf.CodedOutputStream.computeMessageSize(47538565, getStatefulPolicy());
1783     }
1784     if (((bitField0_ & 0x00010000) != 0)) {
1785       size += com.google.protobuf.CodedOutputStream.computeInt32Size(62880239, targetSize_);
1786     }
1787     if (((bitField0_ & 0x00000080) != 0)) {
1788       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(81095253, instanceGroup_);
1789     }
1790     if (((bitField0_ & 0x00001000) != 0)) {
1791       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(138946292, region_);
1792     }
1793     for (int i = 0; i < versions_.size(); i++) {
1794       size += com.google.protobuf.CodedOutputStream.computeMessageSize(162430619, versions_.get(i));
1795     }
1796     if (((bitField0_ & 0x00000004) != 0)) {
1797       size +=
1798           com.google.protobuf.CodedOutputStream.computeMessageSize(164045879, getCurrentActions());
1799     }
1800     if (((bitField0_ & 0x00020000) != 0)) {
1801       size +=
1802           com.google.protobuf.CodedOutputStream.computeMessageSize(175809896, getUpdatePolicy());
1803     }
1804     if (((bitField0_ & 0x00008000) != 0)) {
1805       size += com.google.protobuf.CodedOutputStream.computeMessageSize(181260274, getStatus());
1806     }
1807     if (((bitField0_ & 0x00000020) != 0)) {
1808       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(234678500, fingerprint_);
1809     }
1810     if (((bitField0_ & 0x00000400) != 0)) {
1811       size +=
1812           com.google.protobuf.GeneratedMessageV3.computeStringSize(
1813               296047156, listManagedInstancesResults_);
1814     }
1815     if (((bitField0_ & 0x00000100) != 0)) {
1816       size +=
1817           com.google.protobuf.GeneratedMessageV3.computeStringSize(309248228, instanceTemplate_);
1818     }
1819     {
1820       int dataSize = 0;
1821       for (int i = 0; i < targetPools_.size(); i++) {
1822         dataSize += computeStringSizeNoTag(targetPools_.getRaw(i));
1823       }
1824       size += dataSize;
1825       size += 5 * getTargetPoolsList().size();
1826     }
1827     if (((bitField0_ & 0x00000001) != 0)) {
1828       size +=
1829           com.google.protobuf.GeneratedMessageV3.computeStringSize(389106439, baseInstanceName_);
1830     }
1831     if (((bitField0_ & 0x00000008) != 0)) {
1832       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(422937596, description_);
1833     }
1834     for (int i = 0; i < namedPorts_.size(); i++) {
1835       size +=
1836           com.google.protobuf.CodedOutputStream.computeMessageSize(427598732, namedPorts_.get(i));
1837     }
1838     if (((bitField0_ & 0x00002000) != 0)) {
1839       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(456214797, selfLink_);
1840     }
1841     for (int i = 0; i < autoHealingPolicies_.size(); i++) {
1842       size +=
1843           com.google.protobuf.CodedOutputStream.computeMessageSize(
1844               456799109, autoHealingPolicies_.get(i));
1845     }
1846     if (((bitField0_ & 0x00000010) != 0)) {
1847       size +=
1848           com.google.protobuf.CodedOutputStream.computeMessageSize(
1849               534558541, getDistributionPolicy());
1850     }
1851     size += getUnknownFields().getSerializedSize();
1852     memoizedSize = size;
1853     return size;
1854   }
1855 
1856   @java.lang.Override
equals(final java.lang.Object obj)1857   public boolean equals(final java.lang.Object obj) {
1858     if (obj == this) {
1859       return true;
1860     }
1861     if (!(obj instanceof com.google.cloud.compute.v1.InstanceGroupManager)) {
1862       return super.equals(obj);
1863     }
1864     com.google.cloud.compute.v1.InstanceGroupManager other =
1865         (com.google.cloud.compute.v1.InstanceGroupManager) obj;
1866 
1867     if (!getAutoHealingPoliciesList().equals(other.getAutoHealingPoliciesList())) return false;
1868     if (hasBaseInstanceName() != other.hasBaseInstanceName()) return false;
1869     if (hasBaseInstanceName()) {
1870       if (!getBaseInstanceName().equals(other.getBaseInstanceName())) return false;
1871     }
1872     if (hasCreationTimestamp() != other.hasCreationTimestamp()) return false;
1873     if (hasCreationTimestamp()) {
1874       if (!getCreationTimestamp().equals(other.getCreationTimestamp())) return false;
1875     }
1876     if (hasCurrentActions() != other.hasCurrentActions()) return false;
1877     if (hasCurrentActions()) {
1878       if (!getCurrentActions().equals(other.getCurrentActions())) return false;
1879     }
1880     if (hasDescription() != other.hasDescription()) return false;
1881     if (hasDescription()) {
1882       if (!getDescription().equals(other.getDescription())) return false;
1883     }
1884     if (hasDistributionPolicy() != other.hasDistributionPolicy()) return false;
1885     if (hasDistributionPolicy()) {
1886       if (!getDistributionPolicy().equals(other.getDistributionPolicy())) return false;
1887     }
1888     if (hasFingerprint() != other.hasFingerprint()) return false;
1889     if (hasFingerprint()) {
1890       if (!getFingerprint().equals(other.getFingerprint())) return false;
1891     }
1892     if (hasId() != other.hasId()) return false;
1893     if (hasId()) {
1894       if (getId() != other.getId()) return false;
1895     }
1896     if (hasInstanceGroup() != other.hasInstanceGroup()) return false;
1897     if (hasInstanceGroup()) {
1898       if (!getInstanceGroup().equals(other.getInstanceGroup())) return false;
1899     }
1900     if (hasInstanceTemplate() != other.hasInstanceTemplate()) return false;
1901     if (hasInstanceTemplate()) {
1902       if (!getInstanceTemplate().equals(other.getInstanceTemplate())) return false;
1903     }
1904     if (hasKind() != other.hasKind()) return false;
1905     if (hasKind()) {
1906       if (!getKind().equals(other.getKind())) return false;
1907     }
1908     if (hasListManagedInstancesResults() != other.hasListManagedInstancesResults()) return false;
1909     if (hasListManagedInstancesResults()) {
1910       if (!getListManagedInstancesResults().equals(other.getListManagedInstancesResults()))
1911         return false;
1912     }
1913     if (hasName() != other.hasName()) return false;
1914     if (hasName()) {
1915       if (!getName().equals(other.getName())) return false;
1916     }
1917     if (!getNamedPortsList().equals(other.getNamedPortsList())) return false;
1918     if (hasRegion() != other.hasRegion()) return false;
1919     if (hasRegion()) {
1920       if (!getRegion().equals(other.getRegion())) return false;
1921     }
1922     if (hasSelfLink() != other.hasSelfLink()) return false;
1923     if (hasSelfLink()) {
1924       if (!getSelfLink().equals(other.getSelfLink())) return false;
1925     }
1926     if (hasStatefulPolicy() != other.hasStatefulPolicy()) return false;
1927     if (hasStatefulPolicy()) {
1928       if (!getStatefulPolicy().equals(other.getStatefulPolicy())) return false;
1929     }
1930     if (hasStatus() != other.hasStatus()) return false;
1931     if (hasStatus()) {
1932       if (!getStatus().equals(other.getStatus())) return false;
1933     }
1934     if (!getTargetPoolsList().equals(other.getTargetPoolsList())) return false;
1935     if (hasTargetSize() != other.hasTargetSize()) return false;
1936     if (hasTargetSize()) {
1937       if (getTargetSize() != other.getTargetSize()) return false;
1938     }
1939     if (hasUpdatePolicy() != other.hasUpdatePolicy()) return false;
1940     if (hasUpdatePolicy()) {
1941       if (!getUpdatePolicy().equals(other.getUpdatePolicy())) return false;
1942     }
1943     if (!getVersionsList().equals(other.getVersionsList())) return false;
1944     if (hasZone() != other.hasZone()) return false;
1945     if (hasZone()) {
1946       if (!getZone().equals(other.getZone())) return false;
1947     }
1948     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1949     return true;
1950   }
1951 
1952   @java.lang.Override
hashCode()1953   public int hashCode() {
1954     if (memoizedHashCode != 0) {
1955       return memoizedHashCode;
1956     }
1957     int hash = 41;
1958     hash = (19 * hash) + getDescriptor().hashCode();
1959     if (getAutoHealingPoliciesCount() > 0) {
1960       hash = (37 * hash) + AUTO_HEALING_POLICIES_FIELD_NUMBER;
1961       hash = (53 * hash) + getAutoHealingPoliciesList().hashCode();
1962     }
1963     if (hasBaseInstanceName()) {
1964       hash = (37 * hash) + BASE_INSTANCE_NAME_FIELD_NUMBER;
1965       hash = (53 * hash) + getBaseInstanceName().hashCode();
1966     }
1967     if (hasCreationTimestamp()) {
1968       hash = (37 * hash) + CREATION_TIMESTAMP_FIELD_NUMBER;
1969       hash = (53 * hash) + getCreationTimestamp().hashCode();
1970     }
1971     if (hasCurrentActions()) {
1972       hash = (37 * hash) + CURRENT_ACTIONS_FIELD_NUMBER;
1973       hash = (53 * hash) + getCurrentActions().hashCode();
1974     }
1975     if (hasDescription()) {
1976       hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
1977       hash = (53 * hash) + getDescription().hashCode();
1978     }
1979     if (hasDistributionPolicy()) {
1980       hash = (37 * hash) + DISTRIBUTION_POLICY_FIELD_NUMBER;
1981       hash = (53 * hash) + getDistributionPolicy().hashCode();
1982     }
1983     if (hasFingerprint()) {
1984       hash = (37 * hash) + FINGERPRINT_FIELD_NUMBER;
1985       hash = (53 * hash) + getFingerprint().hashCode();
1986     }
1987     if (hasId()) {
1988       hash = (37 * hash) + ID_FIELD_NUMBER;
1989       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getId());
1990     }
1991     if (hasInstanceGroup()) {
1992       hash = (37 * hash) + INSTANCE_GROUP_FIELD_NUMBER;
1993       hash = (53 * hash) + getInstanceGroup().hashCode();
1994     }
1995     if (hasInstanceTemplate()) {
1996       hash = (37 * hash) + INSTANCE_TEMPLATE_FIELD_NUMBER;
1997       hash = (53 * hash) + getInstanceTemplate().hashCode();
1998     }
1999     if (hasKind()) {
2000       hash = (37 * hash) + KIND_FIELD_NUMBER;
2001       hash = (53 * hash) + getKind().hashCode();
2002     }
2003     if (hasListManagedInstancesResults()) {
2004       hash = (37 * hash) + LIST_MANAGED_INSTANCES_RESULTS_FIELD_NUMBER;
2005       hash = (53 * hash) + getListManagedInstancesResults().hashCode();
2006     }
2007     if (hasName()) {
2008       hash = (37 * hash) + NAME_FIELD_NUMBER;
2009       hash = (53 * hash) + getName().hashCode();
2010     }
2011     if (getNamedPortsCount() > 0) {
2012       hash = (37 * hash) + NAMED_PORTS_FIELD_NUMBER;
2013       hash = (53 * hash) + getNamedPortsList().hashCode();
2014     }
2015     if (hasRegion()) {
2016       hash = (37 * hash) + REGION_FIELD_NUMBER;
2017       hash = (53 * hash) + getRegion().hashCode();
2018     }
2019     if (hasSelfLink()) {
2020       hash = (37 * hash) + SELF_LINK_FIELD_NUMBER;
2021       hash = (53 * hash) + getSelfLink().hashCode();
2022     }
2023     if (hasStatefulPolicy()) {
2024       hash = (37 * hash) + STATEFUL_POLICY_FIELD_NUMBER;
2025       hash = (53 * hash) + getStatefulPolicy().hashCode();
2026     }
2027     if (hasStatus()) {
2028       hash = (37 * hash) + STATUS_FIELD_NUMBER;
2029       hash = (53 * hash) + getStatus().hashCode();
2030     }
2031     if (getTargetPoolsCount() > 0) {
2032       hash = (37 * hash) + TARGET_POOLS_FIELD_NUMBER;
2033       hash = (53 * hash) + getTargetPoolsList().hashCode();
2034     }
2035     if (hasTargetSize()) {
2036       hash = (37 * hash) + TARGET_SIZE_FIELD_NUMBER;
2037       hash = (53 * hash) + getTargetSize();
2038     }
2039     if (hasUpdatePolicy()) {
2040       hash = (37 * hash) + UPDATE_POLICY_FIELD_NUMBER;
2041       hash = (53 * hash) + getUpdatePolicy().hashCode();
2042     }
2043     if (getVersionsCount() > 0) {
2044       hash = (37 * hash) + VERSIONS_FIELD_NUMBER;
2045       hash = (53 * hash) + getVersionsList().hashCode();
2046     }
2047     if (hasZone()) {
2048       hash = (37 * hash) + ZONE_FIELD_NUMBER;
2049       hash = (53 * hash) + getZone().hashCode();
2050     }
2051     hash = (29 * hash) + getUnknownFields().hashCode();
2052     memoizedHashCode = hash;
2053     return hash;
2054   }
2055 
parseFrom(java.nio.ByteBuffer data)2056   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(java.nio.ByteBuffer data)
2057       throws com.google.protobuf.InvalidProtocolBufferException {
2058     return PARSER.parseFrom(data);
2059   }
2060 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2061   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2062       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2063       throws com.google.protobuf.InvalidProtocolBufferException {
2064     return PARSER.parseFrom(data, extensionRegistry);
2065   }
2066 
parseFrom( com.google.protobuf.ByteString data)2067   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2068       com.google.protobuf.ByteString data)
2069       throws com.google.protobuf.InvalidProtocolBufferException {
2070     return PARSER.parseFrom(data);
2071   }
2072 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2073   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2074       com.google.protobuf.ByteString data,
2075       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2076       throws com.google.protobuf.InvalidProtocolBufferException {
2077     return PARSER.parseFrom(data, extensionRegistry);
2078   }
2079 
parseFrom(byte[] data)2080   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(byte[] data)
2081       throws com.google.protobuf.InvalidProtocolBufferException {
2082     return PARSER.parseFrom(data);
2083   }
2084 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2085   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2086       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2087       throws com.google.protobuf.InvalidProtocolBufferException {
2088     return PARSER.parseFrom(data, extensionRegistry);
2089   }
2090 
parseFrom( java.io.InputStream input)2091   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2092       java.io.InputStream input) throws java.io.IOException {
2093     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2094   }
2095 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2096   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2097       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2098       throws java.io.IOException {
2099     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2100         PARSER, input, extensionRegistry);
2101   }
2102 
parseDelimitedFrom( java.io.InputStream input)2103   public static com.google.cloud.compute.v1.InstanceGroupManager parseDelimitedFrom(
2104       java.io.InputStream input) throws java.io.IOException {
2105     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
2106   }
2107 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2108   public static com.google.cloud.compute.v1.InstanceGroupManager parseDelimitedFrom(
2109       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2110       throws java.io.IOException {
2111     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
2112         PARSER, input, extensionRegistry);
2113   }
2114 
parseFrom( com.google.protobuf.CodedInputStream input)2115   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2116       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
2117     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2118   }
2119 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2120   public static com.google.cloud.compute.v1.InstanceGroupManager parseFrom(
2121       com.google.protobuf.CodedInputStream input,
2122       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2123       throws java.io.IOException {
2124     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2125         PARSER, input, extensionRegistry);
2126   }
2127 
2128   @java.lang.Override
newBuilderForType()2129   public Builder newBuilderForType() {
2130     return newBuilder();
2131   }
2132 
newBuilder()2133   public static Builder newBuilder() {
2134     return DEFAULT_INSTANCE.toBuilder();
2135   }
2136 
newBuilder(com.google.cloud.compute.v1.InstanceGroupManager prototype)2137   public static Builder newBuilder(com.google.cloud.compute.v1.InstanceGroupManager prototype) {
2138     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2139   }
2140 
2141   @java.lang.Override
toBuilder()2142   public Builder toBuilder() {
2143     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
2144   }
2145 
2146   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2147   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2148     Builder builder = new Builder(parent);
2149     return builder;
2150   }
2151   /**
2152    *
2153    *
2154    * <pre>
2155    * Represents a Managed Instance Group resource. An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use the regionInstanceGroupManagers resource.
2156    * </pre>
2157    *
2158    * Protobuf type {@code google.cloud.compute.v1.InstanceGroupManager}
2159    */
2160   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
2161       implements
2162       // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.InstanceGroupManager)
2163       com.google.cloud.compute.v1.InstanceGroupManagerOrBuilder {
getDescriptor()2164     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
2165       return com.google.cloud.compute.v1.Compute
2166           .internal_static_google_cloud_compute_v1_InstanceGroupManager_descriptor;
2167     }
2168 
2169     @java.lang.Override
2170     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()2171         internalGetFieldAccessorTable() {
2172       return com.google.cloud.compute.v1.Compute
2173           .internal_static_google_cloud_compute_v1_InstanceGroupManager_fieldAccessorTable
2174           .ensureFieldAccessorsInitialized(
2175               com.google.cloud.compute.v1.InstanceGroupManager.class,
2176               com.google.cloud.compute.v1.InstanceGroupManager.Builder.class);
2177     }
2178 
2179     // Construct using com.google.cloud.compute.v1.InstanceGroupManager.newBuilder()
Builder()2180     private Builder() {
2181       maybeForceBuilderInitialization();
2182     }
2183 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2184     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2185       super(parent);
2186       maybeForceBuilderInitialization();
2187     }
2188 
maybeForceBuilderInitialization()2189     private void maybeForceBuilderInitialization() {
2190       if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
2191         getAutoHealingPoliciesFieldBuilder();
2192         getCurrentActionsFieldBuilder();
2193         getDistributionPolicyFieldBuilder();
2194         getNamedPortsFieldBuilder();
2195         getStatefulPolicyFieldBuilder();
2196         getStatusFieldBuilder();
2197         getUpdatePolicyFieldBuilder();
2198         getVersionsFieldBuilder();
2199       }
2200     }
2201 
2202     @java.lang.Override
clear()2203     public Builder clear() {
2204       super.clear();
2205       bitField0_ = 0;
2206       if (autoHealingPoliciesBuilder_ == null) {
2207         autoHealingPolicies_ = java.util.Collections.emptyList();
2208       } else {
2209         autoHealingPolicies_ = null;
2210         autoHealingPoliciesBuilder_.clear();
2211       }
2212       bitField0_ = (bitField0_ & ~0x00000001);
2213       baseInstanceName_ = "";
2214       creationTimestamp_ = "";
2215       currentActions_ = null;
2216       if (currentActionsBuilder_ != null) {
2217         currentActionsBuilder_.dispose();
2218         currentActionsBuilder_ = null;
2219       }
2220       description_ = "";
2221       distributionPolicy_ = null;
2222       if (distributionPolicyBuilder_ != null) {
2223         distributionPolicyBuilder_.dispose();
2224         distributionPolicyBuilder_ = null;
2225       }
2226       fingerprint_ = "";
2227       id_ = 0L;
2228       instanceGroup_ = "";
2229       instanceTemplate_ = "";
2230       kind_ = "";
2231       listManagedInstancesResults_ = "";
2232       name_ = "";
2233       if (namedPortsBuilder_ == null) {
2234         namedPorts_ = java.util.Collections.emptyList();
2235       } else {
2236         namedPorts_ = null;
2237         namedPortsBuilder_.clear();
2238       }
2239       bitField0_ = (bitField0_ & ~0x00002000);
2240       region_ = "";
2241       selfLink_ = "";
2242       statefulPolicy_ = null;
2243       if (statefulPolicyBuilder_ != null) {
2244         statefulPolicyBuilder_.dispose();
2245         statefulPolicyBuilder_ = null;
2246       }
2247       status_ = null;
2248       if (statusBuilder_ != null) {
2249         statusBuilder_.dispose();
2250         statusBuilder_ = null;
2251       }
2252       targetPools_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2253       bitField0_ = (bitField0_ & ~0x00040000);
2254       targetSize_ = 0;
2255       updatePolicy_ = null;
2256       if (updatePolicyBuilder_ != null) {
2257         updatePolicyBuilder_.dispose();
2258         updatePolicyBuilder_ = null;
2259       }
2260       if (versionsBuilder_ == null) {
2261         versions_ = java.util.Collections.emptyList();
2262       } else {
2263         versions_ = null;
2264         versionsBuilder_.clear();
2265       }
2266       bitField0_ = (bitField0_ & ~0x00200000);
2267       zone_ = "";
2268       return this;
2269     }
2270 
2271     @java.lang.Override
getDescriptorForType()2272     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
2273       return com.google.cloud.compute.v1.Compute
2274           .internal_static_google_cloud_compute_v1_InstanceGroupManager_descriptor;
2275     }
2276 
2277     @java.lang.Override
getDefaultInstanceForType()2278     public com.google.cloud.compute.v1.InstanceGroupManager getDefaultInstanceForType() {
2279       return com.google.cloud.compute.v1.InstanceGroupManager.getDefaultInstance();
2280     }
2281 
2282     @java.lang.Override
build()2283     public com.google.cloud.compute.v1.InstanceGroupManager build() {
2284       com.google.cloud.compute.v1.InstanceGroupManager result = buildPartial();
2285       if (!result.isInitialized()) {
2286         throw newUninitializedMessageException(result);
2287       }
2288       return result;
2289     }
2290 
2291     @java.lang.Override
buildPartial()2292     public com.google.cloud.compute.v1.InstanceGroupManager buildPartial() {
2293       com.google.cloud.compute.v1.InstanceGroupManager result =
2294           new com.google.cloud.compute.v1.InstanceGroupManager(this);
2295       buildPartialRepeatedFields(result);
2296       if (bitField0_ != 0) {
2297         buildPartial0(result);
2298       }
2299       onBuilt();
2300       return result;
2301     }
2302 
buildPartialRepeatedFields( com.google.cloud.compute.v1.InstanceGroupManager result)2303     private void buildPartialRepeatedFields(
2304         com.google.cloud.compute.v1.InstanceGroupManager result) {
2305       if (autoHealingPoliciesBuilder_ == null) {
2306         if (((bitField0_ & 0x00000001) != 0)) {
2307           autoHealingPolicies_ = java.util.Collections.unmodifiableList(autoHealingPolicies_);
2308           bitField0_ = (bitField0_ & ~0x00000001);
2309         }
2310         result.autoHealingPolicies_ = autoHealingPolicies_;
2311       } else {
2312         result.autoHealingPolicies_ = autoHealingPoliciesBuilder_.build();
2313       }
2314       if (namedPortsBuilder_ == null) {
2315         if (((bitField0_ & 0x00002000) != 0)) {
2316           namedPorts_ = java.util.Collections.unmodifiableList(namedPorts_);
2317           bitField0_ = (bitField0_ & ~0x00002000);
2318         }
2319         result.namedPorts_ = namedPorts_;
2320       } else {
2321         result.namedPorts_ = namedPortsBuilder_.build();
2322       }
2323       if (((bitField0_ & 0x00040000) != 0)) {
2324         targetPools_ = targetPools_.getUnmodifiableView();
2325         bitField0_ = (bitField0_ & ~0x00040000);
2326       }
2327       result.targetPools_ = targetPools_;
2328       if (versionsBuilder_ == null) {
2329         if (((bitField0_ & 0x00200000) != 0)) {
2330           versions_ = java.util.Collections.unmodifiableList(versions_);
2331           bitField0_ = (bitField0_ & ~0x00200000);
2332         }
2333         result.versions_ = versions_;
2334       } else {
2335         result.versions_ = versionsBuilder_.build();
2336       }
2337     }
2338 
buildPartial0(com.google.cloud.compute.v1.InstanceGroupManager result)2339     private void buildPartial0(com.google.cloud.compute.v1.InstanceGroupManager result) {
2340       int from_bitField0_ = bitField0_;
2341       int to_bitField0_ = 0;
2342       if (((from_bitField0_ & 0x00000002) != 0)) {
2343         result.baseInstanceName_ = baseInstanceName_;
2344         to_bitField0_ |= 0x00000001;
2345       }
2346       if (((from_bitField0_ & 0x00000004) != 0)) {
2347         result.creationTimestamp_ = creationTimestamp_;
2348         to_bitField0_ |= 0x00000002;
2349       }
2350       if (((from_bitField0_ & 0x00000008) != 0)) {
2351         result.currentActions_ =
2352             currentActionsBuilder_ == null ? currentActions_ : currentActionsBuilder_.build();
2353         to_bitField0_ |= 0x00000004;
2354       }
2355       if (((from_bitField0_ & 0x00000010) != 0)) {
2356         result.description_ = description_;
2357         to_bitField0_ |= 0x00000008;
2358       }
2359       if (((from_bitField0_ & 0x00000020) != 0)) {
2360         result.distributionPolicy_ =
2361             distributionPolicyBuilder_ == null
2362                 ? distributionPolicy_
2363                 : distributionPolicyBuilder_.build();
2364         to_bitField0_ |= 0x00000010;
2365       }
2366       if (((from_bitField0_ & 0x00000040) != 0)) {
2367         result.fingerprint_ = fingerprint_;
2368         to_bitField0_ |= 0x00000020;
2369       }
2370       if (((from_bitField0_ & 0x00000080) != 0)) {
2371         result.id_ = id_;
2372         to_bitField0_ |= 0x00000040;
2373       }
2374       if (((from_bitField0_ & 0x00000100) != 0)) {
2375         result.instanceGroup_ = instanceGroup_;
2376         to_bitField0_ |= 0x00000080;
2377       }
2378       if (((from_bitField0_ & 0x00000200) != 0)) {
2379         result.instanceTemplate_ = instanceTemplate_;
2380         to_bitField0_ |= 0x00000100;
2381       }
2382       if (((from_bitField0_ & 0x00000400) != 0)) {
2383         result.kind_ = kind_;
2384         to_bitField0_ |= 0x00000200;
2385       }
2386       if (((from_bitField0_ & 0x00000800) != 0)) {
2387         result.listManagedInstancesResults_ = listManagedInstancesResults_;
2388         to_bitField0_ |= 0x00000400;
2389       }
2390       if (((from_bitField0_ & 0x00001000) != 0)) {
2391         result.name_ = name_;
2392         to_bitField0_ |= 0x00000800;
2393       }
2394       if (((from_bitField0_ & 0x00004000) != 0)) {
2395         result.region_ = region_;
2396         to_bitField0_ |= 0x00001000;
2397       }
2398       if (((from_bitField0_ & 0x00008000) != 0)) {
2399         result.selfLink_ = selfLink_;
2400         to_bitField0_ |= 0x00002000;
2401       }
2402       if (((from_bitField0_ & 0x00010000) != 0)) {
2403         result.statefulPolicy_ =
2404             statefulPolicyBuilder_ == null ? statefulPolicy_ : statefulPolicyBuilder_.build();
2405         to_bitField0_ |= 0x00004000;
2406       }
2407       if (((from_bitField0_ & 0x00020000) != 0)) {
2408         result.status_ = statusBuilder_ == null ? status_ : statusBuilder_.build();
2409         to_bitField0_ |= 0x00008000;
2410       }
2411       if (((from_bitField0_ & 0x00080000) != 0)) {
2412         result.targetSize_ = targetSize_;
2413         to_bitField0_ |= 0x00010000;
2414       }
2415       if (((from_bitField0_ & 0x00100000) != 0)) {
2416         result.updatePolicy_ =
2417             updatePolicyBuilder_ == null ? updatePolicy_ : updatePolicyBuilder_.build();
2418         to_bitField0_ |= 0x00020000;
2419       }
2420       if (((from_bitField0_ & 0x00400000) != 0)) {
2421         result.zone_ = zone_;
2422         to_bitField0_ |= 0x00040000;
2423       }
2424       result.bitField0_ |= to_bitField0_;
2425     }
2426 
2427     @java.lang.Override
clone()2428     public Builder clone() {
2429       return super.clone();
2430     }
2431 
2432     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2433     public Builder setField(
2434         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2435       return super.setField(field, value);
2436     }
2437 
2438     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2439     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
2440       return super.clearField(field);
2441     }
2442 
2443     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2444     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2445       return super.clearOneof(oneof);
2446     }
2447 
2448     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2449     public Builder setRepeatedField(
2450         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
2451       return super.setRepeatedField(field, index, value);
2452     }
2453 
2454     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2455     public Builder addRepeatedField(
2456         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2457       return super.addRepeatedField(field, value);
2458     }
2459 
2460     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)2461     public Builder mergeFrom(com.google.protobuf.Message other) {
2462       if (other instanceof com.google.cloud.compute.v1.InstanceGroupManager) {
2463         return mergeFrom((com.google.cloud.compute.v1.InstanceGroupManager) other);
2464       } else {
2465         super.mergeFrom(other);
2466         return this;
2467       }
2468     }
2469 
mergeFrom(com.google.cloud.compute.v1.InstanceGroupManager other)2470     public Builder mergeFrom(com.google.cloud.compute.v1.InstanceGroupManager other) {
2471       if (other == com.google.cloud.compute.v1.InstanceGroupManager.getDefaultInstance())
2472         return this;
2473       if (autoHealingPoliciesBuilder_ == null) {
2474         if (!other.autoHealingPolicies_.isEmpty()) {
2475           if (autoHealingPolicies_.isEmpty()) {
2476             autoHealingPolicies_ = other.autoHealingPolicies_;
2477             bitField0_ = (bitField0_ & ~0x00000001);
2478           } else {
2479             ensureAutoHealingPoliciesIsMutable();
2480             autoHealingPolicies_.addAll(other.autoHealingPolicies_);
2481           }
2482           onChanged();
2483         }
2484       } else {
2485         if (!other.autoHealingPolicies_.isEmpty()) {
2486           if (autoHealingPoliciesBuilder_.isEmpty()) {
2487             autoHealingPoliciesBuilder_.dispose();
2488             autoHealingPoliciesBuilder_ = null;
2489             autoHealingPolicies_ = other.autoHealingPolicies_;
2490             bitField0_ = (bitField0_ & ~0x00000001);
2491             autoHealingPoliciesBuilder_ =
2492                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2493                     ? getAutoHealingPoliciesFieldBuilder()
2494                     : null;
2495           } else {
2496             autoHealingPoliciesBuilder_.addAllMessages(other.autoHealingPolicies_);
2497           }
2498         }
2499       }
2500       if (other.hasBaseInstanceName()) {
2501         baseInstanceName_ = other.baseInstanceName_;
2502         bitField0_ |= 0x00000002;
2503         onChanged();
2504       }
2505       if (other.hasCreationTimestamp()) {
2506         creationTimestamp_ = other.creationTimestamp_;
2507         bitField0_ |= 0x00000004;
2508         onChanged();
2509       }
2510       if (other.hasCurrentActions()) {
2511         mergeCurrentActions(other.getCurrentActions());
2512       }
2513       if (other.hasDescription()) {
2514         description_ = other.description_;
2515         bitField0_ |= 0x00000010;
2516         onChanged();
2517       }
2518       if (other.hasDistributionPolicy()) {
2519         mergeDistributionPolicy(other.getDistributionPolicy());
2520       }
2521       if (other.hasFingerprint()) {
2522         fingerprint_ = other.fingerprint_;
2523         bitField0_ |= 0x00000040;
2524         onChanged();
2525       }
2526       if (other.hasId()) {
2527         setId(other.getId());
2528       }
2529       if (other.hasInstanceGroup()) {
2530         instanceGroup_ = other.instanceGroup_;
2531         bitField0_ |= 0x00000100;
2532         onChanged();
2533       }
2534       if (other.hasInstanceTemplate()) {
2535         instanceTemplate_ = other.instanceTemplate_;
2536         bitField0_ |= 0x00000200;
2537         onChanged();
2538       }
2539       if (other.hasKind()) {
2540         kind_ = other.kind_;
2541         bitField0_ |= 0x00000400;
2542         onChanged();
2543       }
2544       if (other.hasListManagedInstancesResults()) {
2545         listManagedInstancesResults_ = other.listManagedInstancesResults_;
2546         bitField0_ |= 0x00000800;
2547         onChanged();
2548       }
2549       if (other.hasName()) {
2550         name_ = other.name_;
2551         bitField0_ |= 0x00001000;
2552         onChanged();
2553       }
2554       if (namedPortsBuilder_ == null) {
2555         if (!other.namedPorts_.isEmpty()) {
2556           if (namedPorts_.isEmpty()) {
2557             namedPorts_ = other.namedPorts_;
2558             bitField0_ = (bitField0_ & ~0x00002000);
2559           } else {
2560             ensureNamedPortsIsMutable();
2561             namedPorts_.addAll(other.namedPorts_);
2562           }
2563           onChanged();
2564         }
2565       } else {
2566         if (!other.namedPorts_.isEmpty()) {
2567           if (namedPortsBuilder_.isEmpty()) {
2568             namedPortsBuilder_.dispose();
2569             namedPortsBuilder_ = null;
2570             namedPorts_ = other.namedPorts_;
2571             bitField0_ = (bitField0_ & ~0x00002000);
2572             namedPortsBuilder_ =
2573                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2574                     ? getNamedPortsFieldBuilder()
2575                     : null;
2576           } else {
2577             namedPortsBuilder_.addAllMessages(other.namedPorts_);
2578           }
2579         }
2580       }
2581       if (other.hasRegion()) {
2582         region_ = other.region_;
2583         bitField0_ |= 0x00004000;
2584         onChanged();
2585       }
2586       if (other.hasSelfLink()) {
2587         selfLink_ = other.selfLink_;
2588         bitField0_ |= 0x00008000;
2589         onChanged();
2590       }
2591       if (other.hasStatefulPolicy()) {
2592         mergeStatefulPolicy(other.getStatefulPolicy());
2593       }
2594       if (other.hasStatus()) {
2595         mergeStatus(other.getStatus());
2596       }
2597       if (!other.targetPools_.isEmpty()) {
2598         if (targetPools_.isEmpty()) {
2599           targetPools_ = other.targetPools_;
2600           bitField0_ = (bitField0_ & ~0x00040000);
2601         } else {
2602           ensureTargetPoolsIsMutable();
2603           targetPools_.addAll(other.targetPools_);
2604         }
2605         onChanged();
2606       }
2607       if (other.hasTargetSize()) {
2608         setTargetSize(other.getTargetSize());
2609       }
2610       if (other.hasUpdatePolicy()) {
2611         mergeUpdatePolicy(other.getUpdatePolicy());
2612       }
2613       if (versionsBuilder_ == null) {
2614         if (!other.versions_.isEmpty()) {
2615           if (versions_.isEmpty()) {
2616             versions_ = other.versions_;
2617             bitField0_ = (bitField0_ & ~0x00200000);
2618           } else {
2619             ensureVersionsIsMutable();
2620             versions_.addAll(other.versions_);
2621           }
2622           onChanged();
2623         }
2624       } else {
2625         if (!other.versions_.isEmpty()) {
2626           if (versionsBuilder_.isEmpty()) {
2627             versionsBuilder_.dispose();
2628             versionsBuilder_ = null;
2629             versions_ = other.versions_;
2630             bitField0_ = (bitField0_ & ~0x00200000);
2631             versionsBuilder_ =
2632                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2633                     ? getVersionsFieldBuilder()
2634                     : null;
2635           } else {
2636             versionsBuilder_.addAllMessages(other.versions_);
2637           }
2638         }
2639       }
2640       if (other.hasZone()) {
2641         zone_ = other.zone_;
2642         bitField0_ |= 0x00400000;
2643         onChanged();
2644       }
2645       this.mergeUnknownFields(other.getUnknownFields());
2646       onChanged();
2647       return this;
2648     }
2649 
2650     @java.lang.Override
isInitialized()2651     public final boolean isInitialized() {
2652       return true;
2653     }
2654 
2655     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2656     public Builder mergeFrom(
2657         com.google.protobuf.CodedInputStream input,
2658         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2659         throws java.io.IOException {
2660       if (extensionRegistry == null) {
2661         throw new java.lang.NullPointerException();
2662       }
2663       try {
2664         boolean done = false;
2665         while (!done) {
2666           int tag = input.readTag();
2667           switch (tag) {
2668             case 0:
2669               done = true;
2670               break;
2671             case 26840:
2672               {
2673                 id_ = input.readUInt64();
2674                 bitField0_ |= 0x00000080;
2675                 break;
2676               } // case 26840
2677             case 26336418:
2678               {
2679                 kind_ = input.readStringRequireUtf8();
2680                 bitField0_ |= 0x00000400;
2681                 break;
2682               } // case 26336418
2683             case 26989658:
2684               {
2685                 name_ = input.readStringRequireUtf8();
2686                 bitField0_ |= 0x00001000;
2687                 break;
2688               } // case 26989658
2689             case 29957474:
2690               {
2691                 zone_ = input.readStringRequireUtf8();
2692                 bitField0_ |= 0x00400000;
2693                 break;
2694               } // case 29957474
2695             case 244202930:
2696               {
2697                 creationTimestamp_ = input.readStringRequireUtf8();
2698                 bitField0_ |= 0x00000004;
2699                 break;
2700               } // case 244202930
2701             case 380308522:
2702               {
2703                 input.readMessage(getStatefulPolicyFieldBuilder().getBuilder(), extensionRegistry);
2704                 bitField0_ |= 0x00010000;
2705                 break;
2706               } // case 380308522
2707             case 503041912:
2708               {
2709                 targetSize_ = input.readInt32();
2710                 bitField0_ |= 0x00080000;
2711                 break;
2712               } // case 503041912
2713             case 648762026:
2714               {
2715                 instanceGroup_ = input.readStringRequireUtf8();
2716                 bitField0_ |= 0x00000100;
2717                 break;
2718               } // case 648762026
2719             case 1111570338:
2720               {
2721                 region_ = input.readStringRequireUtf8();
2722                 bitField0_ |= 0x00004000;
2723                 break;
2724               } // case 1111570338
2725             case 1299444954:
2726               {
2727                 com.google.cloud.compute.v1.InstanceGroupManagerVersion m =
2728                     input.readMessage(
2729                         com.google.cloud.compute.v1.InstanceGroupManagerVersion.parser(),
2730                         extensionRegistry);
2731                 if (versionsBuilder_ == null) {
2732                   ensureVersionsIsMutable();
2733                   versions_.add(m);
2734                 } else {
2735                   versionsBuilder_.addMessage(m);
2736                 }
2737                 break;
2738               } // case 1299444954
2739             case 1312367034:
2740               {
2741                 input.readMessage(getCurrentActionsFieldBuilder().getBuilder(), extensionRegistry);
2742                 bitField0_ |= 0x00000008;
2743                 break;
2744               } // case 1312367034
2745             case 1406479170:
2746               {
2747                 input.readMessage(getUpdatePolicyFieldBuilder().getBuilder(), extensionRegistry);
2748                 bitField0_ |= 0x00100000;
2749                 break;
2750               } // case 1406479170
2751             case 1450082194:
2752               {
2753                 input.readMessage(getStatusFieldBuilder().getBuilder(), extensionRegistry);
2754                 bitField0_ |= 0x00020000;
2755                 break;
2756               } // case 1450082194
2757             case 1877428002:
2758               {
2759                 fingerprint_ = input.readStringRequireUtf8();
2760                 bitField0_ |= 0x00000040;
2761                 break;
2762               } // case 1877428002
2763             case -1926590046:
2764               {
2765                 listManagedInstancesResults_ = input.readStringRequireUtf8();
2766                 bitField0_ |= 0x00000800;
2767                 break;
2768               } // case -1926590046
2769             case -1820981470:
2770               {
2771                 instanceTemplate_ = input.readStringRequireUtf8();
2772                 bitField0_ |= 0x00000200;
2773                 break;
2774               } // case -1820981470
2775             case -1606386358:
2776               {
2777                 java.lang.String s = input.readStringRequireUtf8();
2778                 ensureTargetPoolsIsMutable();
2779                 targetPools_.add(s);
2780                 break;
2781               } // case -1606386358
2782             case -1182115782:
2783               {
2784                 baseInstanceName_ = input.readStringRequireUtf8();
2785                 bitField0_ |= 0x00000002;
2786                 break;
2787               } // case -1182115782
2788             case -911466526:
2789               {
2790                 description_ = input.readStringRequireUtf8();
2791                 bitField0_ |= 0x00000010;
2792                 break;
2793               } // case -911466526
2794             case -874177438:
2795               {
2796                 com.google.cloud.compute.v1.NamedPort m =
2797                     input.readMessage(
2798                         com.google.cloud.compute.v1.NamedPort.parser(), extensionRegistry);
2799                 if (namedPortsBuilder_ == null) {
2800                   ensureNamedPortsIsMutable();
2801                   namedPorts_.add(m);
2802                 } else {
2803                   namedPortsBuilder_.addMessage(m);
2804                 }
2805                 break;
2806               } // case -874177438
2807             case -645248918:
2808               {
2809                 selfLink_ = input.readStringRequireUtf8();
2810                 bitField0_ |= 0x00008000;
2811                 break;
2812               } // case -645248918
2813             case -640574422:
2814               {
2815                 com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy m =
2816                     input.readMessage(
2817                         com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.parser(),
2818                         extensionRegistry);
2819                 if (autoHealingPoliciesBuilder_ == null) {
2820                   ensureAutoHealingPoliciesIsMutable();
2821                   autoHealingPolicies_.add(m);
2822                 } else {
2823                   autoHealingPoliciesBuilder_.addMessage(m);
2824                 }
2825                 break;
2826               } // case -640574422
2827             case -18498966:
2828               {
2829                 input.readMessage(
2830                     getDistributionPolicyFieldBuilder().getBuilder(), extensionRegistry);
2831                 bitField0_ |= 0x00000020;
2832                 break;
2833               } // case -18498966
2834             default:
2835               {
2836                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2837                   done = true; // was an endgroup tag
2838                 }
2839                 break;
2840               } // default:
2841           } // switch (tag)
2842         } // while (!done)
2843       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2844         throw e.unwrapIOException();
2845       } finally {
2846         onChanged();
2847       } // finally
2848       return this;
2849     }
2850 
2851     private int bitField0_;
2852 
2853     private java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy>
2854         autoHealingPolicies_ = java.util.Collections.emptyList();
2855 
ensureAutoHealingPoliciesIsMutable()2856     private void ensureAutoHealingPoliciesIsMutable() {
2857       if (!((bitField0_ & 0x00000001) != 0)) {
2858         autoHealingPolicies_ =
2859             new java.util.ArrayList<
2860                 com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy>(
2861                 autoHealingPolicies_);
2862         bitField0_ |= 0x00000001;
2863       }
2864     }
2865 
2866     private com.google.protobuf.RepeatedFieldBuilderV3<
2867             com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy,
2868             com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder,
2869             com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicyOrBuilder>
2870         autoHealingPoliciesBuilder_;
2871 
2872     /**
2873      *
2874      *
2875      * <pre>
2876      * The autohealing policy for this managed instance group. You can specify only one value.
2877      * </pre>
2878      *
2879      * <code>
2880      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
2881      * </code>
2882      */
2883     public java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy>
getAutoHealingPoliciesList()2884         getAutoHealingPoliciesList() {
2885       if (autoHealingPoliciesBuilder_ == null) {
2886         return java.util.Collections.unmodifiableList(autoHealingPolicies_);
2887       } else {
2888         return autoHealingPoliciesBuilder_.getMessageList();
2889       }
2890     }
2891     /**
2892      *
2893      *
2894      * <pre>
2895      * The autohealing policy for this managed instance group. You can specify only one value.
2896      * </pre>
2897      *
2898      * <code>
2899      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
2900      * </code>
2901      */
getAutoHealingPoliciesCount()2902     public int getAutoHealingPoliciesCount() {
2903       if (autoHealingPoliciesBuilder_ == null) {
2904         return autoHealingPolicies_.size();
2905       } else {
2906         return autoHealingPoliciesBuilder_.getCount();
2907       }
2908     }
2909     /**
2910      *
2911      *
2912      * <pre>
2913      * The autohealing policy for this managed instance group. You can specify only one value.
2914      * </pre>
2915      *
2916      * <code>
2917      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
2918      * </code>
2919      */
getAutoHealingPolicies( int index)2920     public com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy getAutoHealingPolicies(
2921         int index) {
2922       if (autoHealingPoliciesBuilder_ == null) {
2923         return autoHealingPolicies_.get(index);
2924       } else {
2925         return autoHealingPoliciesBuilder_.getMessage(index);
2926       }
2927     }
2928     /**
2929      *
2930      *
2931      * <pre>
2932      * The autohealing policy for this managed instance group. You can specify only one value.
2933      * </pre>
2934      *
2935      * <code>
2936      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
2937      * </code>
2938      */
setAutoHealingPolicies( int index, com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy value)2939     public Builder setAutoHealingPolicies(
2940         int index, com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy value) {
2941       if (autoHealingPoliciesBuilder_ == null) {
2942         if (value == null) {
2943           throw new NullPointerException();
2944         }
2945         ensureAutoHealingPoliciesIsMutable();
2946         autoHealingPolicies_.set(index, value);
2947         onChanged();
2948       } else {
2949         autoHealingPoliciesBuilder_.setMessage(index, value);
2950       }
2951       return this;
2952     }
2953     /**
2954      *
2955      *
2956      * <pre>
2957      * The autohealing policy for this managed instance group. You can specify only one value.
2958      * </pre>
2959      *
2960      * <code>
2961      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
2962      * </code>
2963      */
setAutoHealingPolicies( int index, com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder builderForValue)2964     public Builder setAutoHealingPolicies(
2965         int index,
2966         com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder builderForValue) {
2967       if (autoHealingPoliciesBuilder_ == null) {
2968         ensureAutoHealingPoliciesIsMutable();
2969         autoHealingPolicies_.set(index, builderForValue.build());
2970         onChanged();
2971       } else {
2972         autoHealingPoliciesBuilder_.setMessage(index, builderForValue.build());
2973       }
2974       return this;
2975     }
2976     /**
2977      *
2978      *
2979      * <pre>
2980      * The autohealing policy for this managed instance group. You can specify only one value.
2981      * </pre>
2982      *
2983      * <code>
2984      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
2985      * </code>
2986      */
addAutoHealingPolicies( com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy value)2987     public Builder addAutoHealingPolicies(
2988         com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy value) {
2989       if (autoHealingPoliciesBuilder_ == null) {
2990         if (value == null) {
2991           throw new NullPointerException();
2992         }
2993         ensureAutoHealingPoliciesIsMutable();
2994         autoHealingPolicies_.add(value);
2995         onChanged();
2996       } else {
2997         autoHealingPoliciesBuilder_.addMessage(value);
2998       }
2999       return this;
3000     }
3001     /**
3002      *
3003      *
3004      * <pre>
3005      * The autohealing policy for this managed instance group. You can specify only one value.
3006      * </pre>
3007      *
3008      * <code>
3009      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3010      * </code>
3011      */
addAutoHealingPolicies( int index, com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy value)3012     public Builder addAutoHealingPolicies(
3013         int index, com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy value) {
3014       if (autoHealingPoliciesBuilder_ == null) {
3015         if (value == null) {
3016           throw new NullPointerException();
3017         }
3018         ensureAutoHealingPoliciesIsMutable();
3019         autoHealingPolicies_.add(index, value);
3020         onChanged();
3021       } else {
3022         autoHealingPoliciesBuilder_.addMessage(index, value);
3023       }
3024       return this;
3025     }
3026     /**
3027      *
3028      *
3029      * <pre>
3030      * The autohealing policy for this managed instance group. You can specify only one value.
3031      * </pre>
3032      *
3033      * <code>
3034      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3035      * </code>
3036      */
addAutoHealingPolicies( com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder builderForValue)3037     public Builder addAutoHealingPolicies(
3038         com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder builderForValue) {
3039       if (autoHealingPoliciesBuilder_ == null) {
3040         ensureAutoHealingPoliciesIsMutable();
3041         autoHealingPolicies_.add(builderForValue.build());
3042         onChanged();
3043       } else {
3044         autoHealingPoliciesBuilder_.addMessage(builderForValue.build());
3045       }
3046       return this;
3047     }
3048     /**
3049      *
3050      *
3051      * <pre>
3052      * The autohealing policy for this managed instance group. You can specify only one value.
3053      * </pre>
3054      *
3055      * <code>
3056      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3057      * </code>
3058      */
addAutoHealingPolicies( int index, com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder builderForValue)3059     public Builder addAutoHealingPolicies(
3060         int index,
3061         com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder builderForValue) {
3062       if (autoHealingPoliciesBuilder_ == null) {
3063         ensureAutoHealingPoliciesIsMutable();
3064         autoHealingPolicies_.add(index, builderForValue.build());
3065         onChanged();
3066       } else {
3067         autoHealingPoliciesBuilder_.addMessage(index, builderForValue.build());
3068       }
3069       return this;
3070     }
3071     /**
3072      *
3073      *
3074      * <pre>
3075      * The autohealing policy for this managed instance group. You can specify only one value.
3076      * </pre>
3077      *
3078      * <code>
3079      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3080      * </code>
3081      */
addAllAutoHealingPolicies( java.lang.Iterable< ? extends com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy> values)3082     public Builder addAllAutoHealingPolicies(
3083         java.lang.Iterable<
3084                 ? extends com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy>
3085             values) {
3086       if (autoHealingPoliciesBuilder_ == null) {
3087         ensureAutoHealingPoliciesIsMutable();
3088         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, autoHealingPolicies_);
3089         onChanged();
3090       } else {
3091         autoHealingPoliciesBuilder_.addAllMessages(values);
3092       }
3093       return this;
3094     }
3095     /**
3096      *
3097      *
3098      * <pre>
3099      * The autohealing policy for this managed instance group. You can specify only one value.
3100      * </pre>
3101      *
3102      * <code>
3103      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3104      * </code>
3105      */
clearAutoHealingPolicies()3106     public Builder clearAutoHealingPolicies() {
3107       if (autoHealingPoliciesBuilder_ == null) {
3108         autoHealingPolicies_ = java.util.Collections.emptyList();
3109         bitField0_ = (bitField0_ & ~0x00000001);
3110         onChanged();
3111       } else {
3112         autoHealingPoliciesBuilder_.clear();
3113       }
3114       return this;
3115     }
3116     /**
3117      *
3118      *
3119      * <pre>
3120      * The autohealing policy for this managed instance group. You can specify only one value.
3121      * </pre>
3122      *
3123      * <code>
3124      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3125      * </code>
3126      */
removeAutoHealingPolicies(int index)3127     public Builder removeAutoHealingPolicies(int index) {
3128       if (autoHealingPoliciesBuilder_ == null) {
3129         ensureAutoHealingPoliciesIsMutable();
3130         autoHealingPolicies_.remove(index);
3131         onChanged();
3132       } else {
3133         autoHealingPoliciesBuilder_.remove(index);
3134       }
3135       return this;
3136     }
3137     /**
3138      *
3139      *
3140      * <pre>
3141      * The autohealing policy for this managed instance group. You can specify only one value.
3142      * </pre>
3143      *
3144      * <code>
3145      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3146      * </code>
3147      */
3148     public com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder
getAutoHealingPoliciesBuilder(int index)3149         getAutoHealingPoliciesBuilder(int index) {
3150       return getAutoHealingPoliciesFieldBuilder().getBuilder(index);
3151     }
3152     /**
3153      *
3154      *
3155      * <pre>
3156      * The autohealing policy for this managed instance group. You can specify only one value.
3157      * </pre>
3158      *
3159      * <code>
3160      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3161      * </code>
3162      */
3163     public com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicyOrBuilder
getAutoHealingPoliciesOrBuilder(int index)3164         getAutoHealingPoliciesOrBuilder(int index) {
3165       if (autoHealingPoliciesBuilder_ == null) {
3166         return autoHealingPolicies_.get(index);
3167       } else {
3168         return autoHealingPoliciesBuilder_.getMessageOrBuilder(index);
3169       }
3170     }
3171     /**
3172      *
3173      *
3174      * <pre>
3175      * The autohealing policy for this managed instance group. You can specify only one value.
3176      * </pre>
3177      *
3178      * <code>
3179      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3180      * </code>
3181      */
3182     public java.util.List<
3183             ? extends com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicyOrBuilder>
getAutoHealingPoliciesOrBuilderList()3184         getAutoHealingPoliciesOrBuilderList() {
3185       if (autoHealingPoliciesBuilder_ != null) {
3186         return autoHealingPoliciesBuilder_.getMessageOrBuilderList();
3187       } else {
3188         return java.util.Collections.unmodifiableList(autoHealingPolicies_);
3189       }
3190     }
3191     /**
3192      *
3193      *
3194      * <pre>
3195      * The autohealing policy for this managed instance group. You can specify only one value.
3196      * </pre>
3197      *
3198      * <code>
3199      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3200      * </code>
3201      */
3202     public com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder
addAutoHealingPoliciesBuilder()3203         addAutoHealingPoliciesBuilder() {
3204       return getAutoHealingPoliciesFieldBuilder()
3205           .addBuilder(
3206               com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy
3207                   .getDefaultInstance());
3208     }
3209     /**
3210      *
3211      *
3212      * <pre>
3213      * The autohealing policy for this managed instance group. You can specify only one value.
3214      * </pre>
3215      *
3216      * <code>
3217      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3218      * </code>
3219      */
3220     public com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder
addAutoHealingPoliciesBuilder(int index)3221         addAutoHealingPoliciesBuilder(int index) {
3222       return getAutoHealingPoliciesFieldBuilder()
3223           .addBuilder(
3224               index,
3225               com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy
3226                   .getDefaultInstance());
3227     }
3228     /**
3229      *
3230      *
3231      * <pre>
3232      * The autohealing policy for this managed instance group. You can specify only one value.
3233      * </pre>
3234      *
3235      * <code>
3236      * repeated .google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy auto_healing_policies = 456799109;
3237      * </code>
3238      */
3239     public java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder>
getAutoHealingPoliciesBuilderList()3240         getAutoHealingPoliciesBuilderList() {
3241       return getAutoHealingPoliciesFieldBuilder().getBuilderList();
3242     }
3243 
3244     private com.google.protobuf.RepeatedFieldBuilderV3<
3245             com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy,
3246             com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder,
3247             com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicyOrBuilder>
getAutoHealingPoliciesFieldBuilder()3248         getAutoHealingPoliciesFieldBuilder() {
3249       if (autoHealingPoliciesBuilder_ == null) {
3250         autoHealingPoliciesBuilder_ =
3251             new com.google.protobuf.RepeatedFieldBuilderV3<
3252                 com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy,
3253                 com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy.Builder,
3254                 com.google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicyOrBuilder>(
3255                 autoHealingPolicies_,
3256                 ((bitField0_ & 0x00000001) != 0),
3257                 getParentForChildren(),
3258                 isClean());
3259         autoHealingPolicies_ = null;
3260       }
3261       return autoHealingPoliciesBuilder_;
3262     }
3263 
3264     private java.lang.Object baseInstanceName_ = "";
3265     /**
3266      *
3267      *
3268      * <pre>
3269      * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
3270      * </pre>
3271      *
3272      * <code>optional string base_instance_name = 389106439;</code>
3273      *
3274      * @return Whether the baseInstanceName field is set.
3275      */
hasBaseInstanceName()3276     public boolean hasBaseInstanceName() {
3277       return ((bitField0_ & 0x00000002) != 0);
3278     }
3279     /**
3280      *
3281      *
3282      * <pre>
3283      * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
3284      * </pre>
3285      *
3286      * <code>optional string base_instance_name = 389106439;</code>
3287      *
3288      * @return The baseInstanceName.
3289      */
getBaseInstanceName()3290     public java.lang.String getBaseInstanceName() {
3291       java.lang.Object ref = baseInstanceName_;
3292       if (!(ref instanceof java.lang.String)) {
3293         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3294         java.lang.String s = bs.toStringUtf8();
3295         baseInstanceName_ = s;
3296         return s;
3297       } else {
3298         return (java.lang.String) ref;
3299       }
3300     }
3301     /**
3302      *
3303      *
3304      * <pre>
3305      * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
3306      * </pre>
3307      *
3308      * <code>optional string base_instance_name = 389106439;</code>
3309      *
3310      * @return The bytes for baseInstanceName.
3311      */
getBaseInstanceNameBytes()3312     public com.google.protobuf.ByteString getBaseInstanceNameBytes() {
3313       java.lang.Object ref = baseInstanceName_;
3314       if (ref instanceof String) {
3315         com.google.protobuf.ByteString b =
3316             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3317         baseInstanceName_ = b;
3318         return b;
3319       } else {
3320         return (com.google.protobuf.ByteString) ref;
3321       }
3322     }
3323     /**
3324      *
3325      *
3326      * <pre>
3327      * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
3328      * </pre>
3329      *
3330      * <code>optional string base_instance_name = 389106439;</code>
3331      *
3332      * @param value The baseInstanceName to set.
3333      * @return This builder for chaining.
3334      */
setBaseInstanceName(java.lang.String value)3335     public Builder setBaseInstanceName(java.lang.String value) {
3336       if (value == null) {
3337         throw new NullPointerException();
3338       }
3339       baseInstanceName_ = value;
3340       bitField0_ |= 0x00000002;
3341       onChanged();
3342       return this;
3343     }
3344     /**
3345      *
3346      *
3347      * <pre>
3348      * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
3349      * </pre>
3350      *
3351      * <code>optional string base_instance_name = 389106439;</code>
3352      *
3353      * @return This builder for chaining.
3354      */
clearBaseInstanceName()3355     public Builder clearBaseInstanceName() {
3356       baseInstanceName_ = getDefaultInstance().getBaseInstanceName();
3357       bitField0_ = (bitField0_ & ~0x00000002);
3358       onChanged();
3359       return this;
3360     }
3361     /**
3362      *
3363      *
3364      * <pre>
3365      * The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.
3366      * </pre>
3367      *
3368      * <code>optional string base_instance_name = 389106439;</code>
3369      *
3370      * @param value The bytes for baseInstanceName to set.
3371      * @return This builder for chaining.
3372      */
setBaseInstanceNameBytes(com.google.protobuf.ByteString value)3373     public Builder setBaseInstanceNameBytes(com.google.protobuf.ByteString value) {
3374       if (value == null) {
3375         throw new NullPointerException();
3376       }
3377       checkByteStringIsUtf8(value);
3378       baseInstanceName_ = value;
3379       bitField0_ |= 0x00000002;
3380       onChanged();
3381       return this;
3382     }
3383 
3384     private java.lang.Object creationTimestamp_ = "";
3385     /**
3386      *
3387      *
3388      * <pre>
3389      * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
3390      * </pre>
3391      *
3392      * <code>optional string creation_timestamp = 30525366;</code>
3393      *
3394      * @return Whether the creationTimestamp field is set.
3395      */
hasCreationTimestamp()3396     public boolean hasCreationTimestamp() {
3397       return ((bitField0_ & 0x00000004) != 0);
3398     }
3399     /**
3400      *
3401      *
3402      * <pre>
3403      * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
3404      * </pre>
3405      *
3406      * <code>optional string creation_timestamp = 30525366;</code>
3407      *
3408      * @return The creationTimestamp.
3409      */
getCreationTimestamp()3410     public java.lang.String getCreationTimestamp() {
3411       java.lang.Object ref = creationTimestamp_;
3412       if (!(ref instanceof java.lang.String)) {
3413         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3414         java.lang.String s = bs.toStringUtf8();
3415         creationTimestamp_ = s;
3416         return s;
3417       } else {
3418         return (java.lang.String) ref;
3419       }
3420     }
3421     /**
3422      *
3423      *
3424      * <pre>
3425      * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
3426      * </pre>
3427      *
3428      * <code>optional string creation_timestamp = 30525366;</code>
3429      *
3430      * @return The bytes for creationTimestamp.
3431      */
getCreationTimestampBytes()3432     public com.google.protobuf.ByteString getCreationTimestampBytes() {
3433       java.lang.Object ref = creationTimestamp_;
3434       if (ref instanceof String) {
3435         com.google.protobuf.ByteString b =
3436             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3437         creationTimestamp_ = b;
3438         return b;
3439       } else {
3440         return (com.google.protobuf.ByteString) ref;
3441       }
3442     }
3443     /**
3444      *
3445      *
3446      * <pre>
3447      * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
3448      * </pre>
3449      *
3450      * <code>optional string creation_timestamp = 30525366;</code>
3451      *
3452      * @param value The creationTimestamp to set.
3453      * @return This builder for chaining.
3454      */
setCreationTimestamp(java.lang.String value)3455     public Builder setCreationTimestamp(java.lang.String value) {
3456       if (value == null) {
3457         throw new NullPointerException();
3458       }
3459       creationTimestamp_ = value;
3460       bitField0_ |= 0x00000004;
3461       onChanged();
3462       return this;
3463     }
3464     /**
3465      *
3466      *
3467      * <pre>
3468      * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
3469      * </pre>
3470      *
3471      * <code>optional string creation_timestamp = 30525366;</code>
3472      *
3473      * @return This builder for chaining.
3474      */
clearCreationTimestamp()3475     public Builder clearCreationTimestamp() {
3476       creationTimestamp_ = getDefaultInstance().getCreationTimestamp();
3477       bitField0_ = (bitField0_ & ~0x00000004);
3478       onChanged();
3479       return this;
3480     }
3481     /**
3482      *
3483      *
3484      * <pre>
3485      * [Output Only] The creation timestamp for this managed instance group in RFC3339 text format.
3486      * </pre>
3487      *
3488      * <code>optional string creation_timestamp = 30525366;</code>
3489      *
3490      * @param value The bytes for creationTimestamp to set.
3491      * @return This builder for chaining.
3492      */
setCreationTimestampBytes(com.google.protobuf.ByteString value)3493     public Builder setCreationTimestampBytes(com.google.protobuf.ByteString value) {
3494       if (value == null) {
3495         throw new NullPointerException();
3496       }
3497       checkByteStringIsUtf8(value);
3498       creationTimestamp_ = value;
3499       bitField0_ |= 0x00000004;
3500       onChanged();
3501       return this;
3502     }
3503 
3504     private com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary currentActions_;
3505     private com.google.protobuf.SingleFieldBuilderV3<
3506             com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary,
3507             com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder,
3508             com.google.cloud.compute.v1.InstanceGroupManagerActionsSummaryOrBuilder>
3509         currentActionsBuilder_;
3510     /**
3511      *
3512      *
3513      * <pre>
3514      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3515      * </pre>
3516      *
3517      * <code>
3518      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3519      * </code>
3520      *
3521      * @return Whether the currentActions field is set.
3522      */
hasCurrentActions()3523     public boolean hasCurrentActions() {
3524       return ((bitField0_ & 0x00000008) != 0);
3525     }
3526     /**
3527      *
3528      *
3529      * <pre>
3530      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3531      * </pre>
3532      *
3533      * <code>
3534      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3535      * </code>
3536      *
3537      * @return The currentActions.
3538      */
getCurrentActions()3539     public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary getCurrentActions() {
3540       if (currentActionsBuilder_ == null) {
3541         return currentActions_ == null
3542             ? com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.getDefaultInstance()
3543             : currentActions_;
3544       } else {
3545         return currentActionsBuilder_.getMessage();
3546       }
3547     }
3548     /**
3549      *
3550      *
3551      * <pre>
3552      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3553      * </pre>
3554      *
3555      * <code>
3556      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3557      * </code>
3558      */
setCurrentActions( com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary value)3559     public Builder setCurrentActions(
3560         com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary value) {
3561       if (currentActionsBuilder_ == null) {
3562         if (value == null) {
3563           throw new NullPointerException();
3564         }
3565         currentActions_ = value;
3566       } else {
3567         currentActionsBuilder_.setMessage(value);
3568       }
3569       bitField0_ |= 0x00000008;
3570       onChanged();
3571       return this;
3572     }
3573     /**
3574      *
3575      *
3576      * <pre>
3577      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3578      * </pre>
3579      *
3580      * <code>
3581      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3582      * </code>
3583      */
setCurrentActions( com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder builderForValue)3584     public Builder setCurrentActions(
3585         com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder builderForValue) {
3586       if (currentActionsBuilder_ == null) {
3587         currentActions_ = builderForValue.build();
3588       } else {
3589         currentActionsBuilder_.setMessage(builderForValue.build());
3590       }
3591       bitField0_ |= 0x00000008;
3592       onChanged();
3593       return this;
3594     }
3595     /**
3596      *
3597      *
3598      * <pre>
3599      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3600      * </pre>
3601      *
3602      * <code>
3603      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3604      * </code>
3605      */
mergeCurrentActions( com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary value)3606     public Builder mergeCurrentActions(
3607         com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary value) {
3608       if (currentActionsBuilder_ == null) {
3609         if (((bitField0_ & 0x00000008) != 0)
3610             && currentActions_ != null
3611             && currentActions_
3612                 != com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary
3613                     .getDefaultInstance()) {
3614           getCurrentActionsBuilder().mergeFrom(value);
3615         } else {
3616           currentActions_ = value;
3617         }
3618       } else {
3619         currentActionsBuilder_.mergeFrom(value);
3620       }
3621       bitField0_ |= 0x00000008;
3622       onChanged();
3623       return this;
3624     }
3625     /**
3626      *
3627      *
3628      * <pre>
3629      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3630      * </pre>
3631      *
3632      * <code>
3633      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3634      * </code>
3635      */
clearCurrentActions()3636     public Builder clearCurrentActions() {
3637       bitField0_ = (bitField0_ & ~0x00000008);
3638       currentActions_ = null;
3639       if (currentActionsBuilder_ != null) {
3640         currentActionsBuilder_.dispose();
3641         currentActionsBuilder_ = null;
3642       }
3643       onChanged();
3644       return this;
3645     }
3646     /**
3647      *
3648      *
3649      * <pre>
3650      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3651      * </pre>
3652      *
3653      * <code>
3654      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3655      * </code>
3656      */
3657     public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder
getCurrentActionsBuilder()3658         getCurrentActionsBuilder() {
3659       bitField0_ |= 0x00000008;
3660       onChanged();
3661       return getCurrentActionsFieldBuilder().getBuilder();
3662     }
3663     /**
3664      *
3665      *
3666      * <pre>
3667      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3668      * </pre>
3669      *
3670      * <code>
3671      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3672      * </code>
3673      */
3674     public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummaryOrBuilder
getCurrentActionsOrBuilder()3675         getCurrentActionsOrBuilder() {
3676       if (currentActionsBuilder_ != null) {
3677         return currentActionsBuilder_.getMessageOrBuilder();
3678       } else {
3679         return currentActions_ == null
3680             ? com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.getDefaultInstance()
3681             : currentActions_;
3682       }
3683     }
3684     /**
3685      *
3686      *
3687      * <pre>
3688      * [Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions.
3689      * </pre>
3690      *
3691      * <code>
3692      * optional .google.cloud.compute.v1.InstanceGroupManagerActionsSummary current_actions = 164045879;
3693      * </code>
3694      */
3695     private com.google.protobuf.SingleFieldBuilderV3<
3696             com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary,
3697             com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder,
3698             com.google.cloud.compute.v1.InstanceGroupManagerActionsSummaryOrBuilder>
getCurrentActionsFieldBuilder()3699         getCurrentActionsFieldBuilder() {
3700       if (currentActionsBuilder_ == null) {
3701         currentActionsBuilder_ =
3702             new com.google.protobuf.SingleFieldBuilderV3<
3703                 com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary,
3704                 com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder,
3705                 com.google.cloud.compute.v1.InstanceGroupManagerActionsSummaryOrBuilder>(
3706                 getCurrentActions(), getParentForChildren(), isClean());
3707         currentActions_ = null;
3708       }
3709       return currentActionsBuilder_;
3710     }
3711 
3712     private java.lang.Object description_ = "";
3713     /**
3714      *
3715      *
3716      * <pre>
3717      * An optional description of this resource.
3718      * </pre>
3719      *
3720      * <code>optional string description = 422937596;</code>
3721      *
3722      * @return Whether the description field is set.
3723      */
hasDescription()3724     public boolean hasDescription() {
3725       return ((bitField0_ & 0x00000010) != 0);
3726     }
3727     /**
3728      *
3729      *
3730      * <pre>
3731      * An optional description of this resource.
3732      * </pre>
3733      *
3734      * <code>optional string description = 422937596;</code>
3735      *
3736      * @return The description.
3737      */
getDescription()3738     public java.lang.String getDescription() {
3739       java.lang.Object ref = description_;
3740       if (!(ref instanceof java.lang.String)) {
3741         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3742         java.lang.String s = bs.toStringUtf8();
3743         description_ = s;
3744         return s;
3745       } else {
3746         return (java.lang.String) ref;
3747       }
3748     }
3749     /**
3750      *
3751      *
3752      * <pre>
3753      * An optional description of this resource.
3754      * </pre>
3755      *
3756      * <code>optional string description = 422937596;</code>
3757      *
3758      * @return The bytes for description.
3759      */
getDescriptionBytes()3760     public com.google.protobuf.ByteString getDescriptionBytes() {
3761       java.lang.Object ref = description_;
3762       if (ref instanceof String) {
3763         com.google.protobuf.ByteString b =
3764             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3765         description_ = b;
3766         return b;
3767       } else {
3768         return (com.google.protobuf.ByteString) ref;
3769       }
3770     }
3771     /**
3772      *
3773      *
3774      * <pre>
3775      * An optional description of this resource.
3776      * </pre>
3777      *
3778      * <code>optional string description = 422937596;</code>
3779      *
3780      * @param value The description to set.
3781      * @return This builder for chaining.
3782      */
setDescription(java.lang.String value)3783     public Builder setDescription(java.lang.String value) {
3784       if (value == null) {
3785         throw new NullPointerException();
3786       }
3787       description_ = value;
3788       bitField0_ |= 0x00000010;
3789       onChanged();
3790       return this;
3791     }
3792     /**
3793      *
3794      *
3795      * <pre>
3796      * An optional description of this resource.
3797      * </pre>
3798      *
3799      * <code>optional string description = 422937596;</code>
3800      *
3801      * @return This builder for chaining.
3802      */
clearDescription()3803     public Builder clearDescription() {
3804       description_ = getDefaultInstance().getDescription();
3805       bitField0_ = (bitField0_ & ~0x00000010);
3806       onChanged();
3807       return this;
3808     }
3809     /**
3810      *
3811      *
3812      * <pre>
3813      * An optional description of this resource.
3814      * </pre>
3815      *
3816      * <code>optional string description = 422937596;</code>
3817      *
3818      * @param value The bytes for description to set.
3819      * @return This builder for chaining.
3820      */
setDescriptionBytes(com.google.protobuf.ByteString value)3821     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
3822       if (value == null) {
3823         throw new NullPointerException();
3824       }
3825       checkByteStringIsUtf8(value);
3826       description_ = value;
3827       bitField0_ |= 0x00000010;
3828       onChanged();
3829       return this;
3830     }
3831 
3832     private com.google.cloud.compute.v1.DistributionPolicy distributionPolicy_;
3833     private com.google.protobuf.SingleFieldBuilderV3<
3834             com.google.cloud.compute.v1.DistributionPolicy,
3835             com.google.cloud.compute.v1.DistributionPolicy.Builder,
3836             com.google.cloud.compute.v1.DistributionPolicyOrBuilder>
3837         distributionPolicyBuilder_;
3838     /**
3839      *
3840      *
3841      * <pre>
3842      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3843      * </pre>
3844      *
3845      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3846      * </code>
3847      *
3848      * @return Whether the distributionPolicy field is set.
3849      */
hasDistributionPolicy()3850     public boolean hasDistributionPolicy() {
3851       return ((bitField0_ & 0x00000020) != 0);
3852     }
3853     /**
3854      *
3855      *
3856      * <pre>
3857      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3858      * </pre>
3859      *
3860      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3861      * </code>
3862      *
3863      * @return The distributionPolicy.
3864      */
getDistributionPolicy()3865     public com.google.cloud.compute.v1.DistributionPolicy getDistributionPolicy() {
3866       if (distributionPolicyBuilder_ == null) {
3867         return distributionPolicy_ == null
3868             ? com.google.cloud.compute.v1.DistributionPolicy.getDefaultInstance()
3869             : distributionPolicy_;
3870       } else {
3871         return distributionPolicyBuilder_.getMessage();
3872       }
3873     }
3874     /**
3875      *
3876      *
3877      * <pre>
3878      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3879      * </pre>
3880      *
3881      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3882      * </code>
3883      */
setDistributionPolicy(com.google.cloud.compute.v1.DistributionPolicy value)3884     public Builder setDistributionPolicy(com.google.cloud.compute.v1.DistributionPolicy value) {
3885       if (distributionPolicyBuilder_ == null) {
3886         if (value == null) {
3887           throw new NullPointerException();
3888         }
3889         distributionPolicy_ = value;
3890       } else {
3891         distributionPolicyBuilder_.setMessage(value);
3892       }
3893       bitField0_ |= 0x00000020;
3894       onChanged();
3895       return this;
3896     }
3897     /**
3898      *
3899      *
3900      * <pre>
3901      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3902      * </pre>
3903      *
3904      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3905      * </code>
3906      */
setDistributionPolicy( com.google.cloud.compute.v1.DistributionPolicy.Builder builderForValue)3907     public Builder setDistributionPolicy(
3908         com.google.cloud.compute.v1.DistributionPolicy.Builder builderForValue) {
3909       if (distributionPolicyBuilder_ == null) {
3910         distributionPolicy_ = builderForValue.build();
3911       } else {
3912         distributionPolicyBuilder_.setMessage(builderForValue.build());
3913       }
3914       bitField0_ |= 0x00000020;
3915       onChanged();
3916       return this;
3917     }
3918     /**
3919      *
3920      *
3921      * <pre>
3922      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3923      * </pre>
3924      *
3925      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3926      * </code>
3927      */
mergeDistributionPolicy(com.google.cloud.compute.v1.DistributionPolicy value)3928     public Builder mergeDistributionPolicy(com.google.cloud.compute.v1.DistributionPolicy value) {
3929       if (distributionPolicyBuilder_ == null) {
3930         if (((bitField0_ & 0x00000020) != 0)
3931             && distributionPolicy_ != null
3932             && distributionPolicy_
3933                 != com.google.cloud.compute.v1.DistributionPolicy.getDefaultInstance()) {
3934           getDistributionPolicyBuilder().mergeFrom(value);
3935         } else {
3936           distributionPolicy_ = value;
3937         }
3938       } else {
3939         distributionPolicyBuilder_.mergeFrom(value);
3940       }
3941       bitField0_ |= 0x00000020;
3942       onChanged();
3943       return this;
3944     }
3945     /**
3946      *
3947      *
3948      * <pre>
3949      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3950      * </pre>
3951      *
3952      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3953      * </code>
3954      */
clearDistributionPolicy()3955     public Builder clearDistributionPolicy() {
3956       bitField0_ = (bitField0_ & ~0x00000020);
3957       distributionPolicy_ = null;
3958       if (distributionPolicyBuilder_ != null) {
3959         distributionPolicyBuilder_.dispose();
3960         distributionPolicyBuilder_ = null;
3961       }
3962       onChanged();
3963       return this;
3964     }
3965     /**
3966      *
3967      *
3968      * <pre>
3969      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3970      * </pre>
3971      *
3972      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3973      * </code>
3974      */
getDistributionPolicyBuilder()3975     public com.google.cloud.compute.v1.DistributionPolicy.Builder getDistributionPolicyBuilder() {
3976       bitField0_ |= 0x00000020;
3977       onChanged();
3978       return getDistributionPolicyFieldBuilder().getBuilder();
3979     }
3980     /**
3981      *
3982      *
3983      * <pre>
3984      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
3985      * </pre>
3986      *
3987      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
3988      * </code>
3989      */
3990     public com.google.cloud.compute.v1.DistributionPolicyOrBuilder
getDistributionPolicyOrBuilder()3991         getDistributionPolicyOrBuilder() {
3992       if (distributionPolicyBuilder_ != null) {
3993         return distributionPolicyBuilder_.getMessageOrBuilder();
3994       } else {
3995         return distributionPolicy_ == null
3996             ? com.google.cloud.compute.v1.DistributionPolicy.getDefaultInstance()
3997             : distributionPolicy_;
3998       }
3999     }
4000     /**
4001      *
4002      *
4003      * <pre>
4004      * Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.
4005      * </pre>
4006      *
4007      * <code>optional .google.cloud.compute.v1.DistributionPolicy distribution_policy = 534558541;
4008      * </code>
4009      */
4010     private com.google.protobuf.SingleFieldBuilderV3<
4011             com.google.cloud.compute.v1.DistributionPolicy,
4012             com.google.cloud.compute.v1.DistributionPolicy.Builder,
4013             com.google.cloud.compute.v1.DistributionPolicyOrBuilder>
getDistributionPolicyFieldBuilder()4014         getDistributionPolicyFieldBuilder() {
4015       if (distributionPolicyBuilder_ == null) {
4016         distributionPolicyBuilder_ =
4017             new com.google.protobuf.SingleFieldBuilderV3<
4018                 com.google.cloud.compute.v1.DistributionPolicy,
4019                 com.google.cloud.compute.v1.DistributionPolicy.Builder,
4020                 com.google.cloud.compute.v1.DistributionPolicyOrBuilder>(
4021                 getDistributionPolicy(), getParentForChildren(), isClean());
4022         distributionPolicy_ = null;
4023       }
4024       return distributionPolicyBuilder_;
4025     }
4026 
4027     private java.lang.Object fingerprint_ = "";
4028     /**
4029      *
4030      *
4031      * <pre>
4032      * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
4033      * </pre>
4034      *
4035      * <code>optional string fingerprint = 234678500;</code>
4036      *
4037      * @return Whether the fingerprint field is set.
4038      */
hasFingerprint()4039     public boolean hasFingerprint() {
4040       return ((bitField0_ & 0x00000040) != 0);
4041     }
4042     /**
4043      *
4044      *
4045      * <pre>
4046      * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
4047      * </pre>
4048      *
4049      * <code>optional string fingerprint = 234678500;</code>
4050      *
4051      * @return The fingerprint.
4052      */
getFingerprint()4053     public java.lang.String getFingerprint() {
4054       java.lang.Object ref = fingerprint_;
4055       if (!(ref instanceof java.lang.String)) {
4056         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4057         java.lang.String s = bs.toStringUtf8();
4058         fingerprint_ = s;
4059         return s;
4060       } else {
4061         return (java.lang.String) ref;
4062       }
4063     }
4064     /**
4065      *
4066      *
4067      * <pre>
4068      * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
4069      * </pre>
4070      *
4071      * <code>optional string fingerprint = 234678500;</code>
4072      *
4073      * @return The bytes for fingerprint.
4074      */
getFingerprintBytes()4075     public com.google.protobuf.ByteString getFingerprintBytes() {
4076       java.lang.Object ref = fingerprint_;
4077       if (ref instanceof String) {
4078         com.google.protobuf.ByteString b =
4079             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4080         fingerprint_ = b;
4081         return b;
4082       } else {
4083         return (com.google.protobuf.ByteString) ref;
4084       }
4085     }
4086     /**
4087      *
4088      *
4089      * <pre>
4090      * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
4091      * </pre>
4092      *
4093      * <code>optional string fingerprint = 234678500;</code>
4094      *
4095      * @param value The fingerprint to set.
4096      * @return This builder for chaining.
4097      */
setFingerprint(java.lang.String value)4098     public Builder setFingerprint(java.lang.String value) {
4099       if (value == null) {
4100         throw new NullPointerException();
4101       }
4102       fingerprint_ = value;
4103       bitField0_ |= 0x00000040;
4104       onChanged();
4105       return this;
4106     }
4107     /**
4108      *
4109      *
4110      * <pre>
4111      * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
4112      * </pre>
4113      *
4114      * <code>optional string fingerprint = 234678500;</code>
4115      *
4116      * @return This builder for chaining.
4117      */
clearFingerprint()4118     public Builder clearFingerprint() {
4119       fingerprint_ = getDefaultInstance().getFingerprint();
4120       bitField0_ = (bitField0_ & ~0x00000040);
4121       onChanged();
4122       return this;
4123     }
4124     /**
4125      *
4126      *
4127      * <pre>
4128      * Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
4129      * </pre>
4130      *
4131      * <code>optional string fingerprint = 234678500;</code>
4132      *
4133      * @param value The bytes for fingerprint to set.
4134      * @return This builder for chaining.
4135      */
setFingerprintBytes(com.google.protobuf.ByteString value)4136     public Builder setFingerprintBytes(com.google.protobuf.ByteString value) {
4137       if (value == null) {
4138         throw new NullPointerException();
4139       }
4140       checkByteStringIsUtf8(value);
4141       fingerprint_ = value;
4142       bitField0_ |= 0x00000040;
4143       onChanged();
4144       return this;
4145     }
4146 
4147     private long id_;
4148     /**
4149      *
4150      *
4151      * <pre>
4152      * [Output Only] A unique identifier for this resource type. The server generates this identifier.
4153      * </pre>
4154      *
4155      * <code>optional uint64 id = 3355;</code>
4156      *
4157      * @return Whether the id field is set.
4158      */
4159     @java.lang.Override
hasId()4160     public boolean hasId() {
4161       return ((bitField0_ & 0x00000080) != 0);
4162     }
4163     /**
4164      *
4165      *
4166      * <pre>
4167      * [Output Only] A unique identifier for this resource type. The server generates this identifier.
4168      * </pre>
4169      *
4170      * <code>optional uint64 id = 3355;</code>
4171      *
4172      * @return The id.
4173      */
4174     @java.lang.Override
getId()4175     public long getId() {
4176       return id_;
4177     }
4178     /**
4179      *
4180      *
4181      * <pre>
4182      * [Output Only] A unique identifier for this resource type. The server generates this identifier.
4183      * </pre>
4184      *
4185      * <code>optional uint64 id = 3355;</code>
4186      *
4187      * @param value The id to set.
4188      * @return This builder for chaining.
4189      */
setId(long value)4190     public Builder setId(long value) {
4191 
4192       id_ = value;
4193       bitField0_ |= 0x00000080;
4194       onChanged();
4195       return this;
4196     }
4197     /**
4198      *
4199      *
4200      * <pre>
4201      * [Output Only] A unique identifier for this resource type. The server generates this identifier.
4202      * </pre>
4203      *
4204      * <code>optional uint64 id = 3355;</code>
4205      *
4206      * @return This builder for chaining.
4207      */
clearId()4208     public Builder clearId() {
4209       bitField0_ = (bitField0_ & ~0x00000080);
4210       id_ = 0L;
4211       onChanged();
4212       return this;
4213     }
4214 
4215     private java.lang.Object instanceGroup_ = "";
4216     /**
4217      *
4218      *
4219      * <pre>
4220      * [Output Only] The URL of the Instance Group resource.
4221      * </pre>
4222      *
4223      * <code>optional string instance_group = 81095253;</code>
4224      *
4225      * @return Whether the instanceGroup field is set.
4226      */
hasInstanceGroup()4227     public boolean hasInstanceGroup() {
4228       return ((bitField0_ & 0x00000100) != 0);
4229     }
4230     /**
4231      *
4232      *
4233      * <pre>
4234      * [Output Only] The URL of the Instance Group resource.
4235      * </pre>
4236      *
4237      * <code>optional string instance_group = 81095253;</code>
4238      *
4239      * @return The instanceGroup.
4240      */
getInstanceGroup()4241     public java.lang.String getInstanceGroup() {
4242       java.lang.Object ref = instanceGroup_;
4243       if (!(ref instanceof java.lang.String)) {
4244         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4245         java.lang.String s = bs.toStringUtf8();
4246         instanceGroup_ = s;
4247         return s;
4248       } else {
4249         return (java.lang.String) ref;
4250       }
4251     }
4252     /**
4253      *
4254      *
4255      * <pre>
4256      * [Output Only] The URL of the Instance Group resource.
4257      * </pre>
4258      *
4259      * <code>optional string instance_group = 81095253;</code>
4260      *
4261      * @return The bytes for instanceGroup.
4262      */
getInstanceGroupBytes()4263     public com.google.protobuf.ByteString getInstanceGroupBytes() {
4264       java.lang.Object ref = instanceGroup_;
4265       if (ref instanceof String) {
4266         com.google.protobuf.ByteString b =
4267             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4268         instanceGroup_ = b;
4269         return b;
4270       } else {
4271         return (com.google.protobuf.ByteString) ref;
4272       }
4273     }
4274     /**
4275      *
4276      *
4277      * <pre>
4278      * [Output Only] The URL of the Instance Group resource.
4279      * </pre>
4280      *
4281      * <code>optional string instance_group = 81095253;</code>
4282      *
4283      * @param value The instanceGroup to set.
4284      * @return This builder for chaining.
4285      */
setInstanceGroup(java.lang.String value)4286     public Builder setInstanceGroup(java.lang.String value) {
4287       if (value == null) {
4288         throw new NullPointerException();
4289       }
4290       instanceGroup_ = value;
4291       bitField0_ |= 0x00000100;
4292       onChanged();
4293       return this;
4294     }
4295     /**
4296      *
4297      *
4298      * <pre>
4299      * [Output Only] The URL of the Instance Group resource.
4300      * </pre>
4301      *
4302      * <code>optional string instance_group = 81095253;</code>
4303      *
4304      * @return This builder for chaining.
4305      */
clearInstanceGroup()4306     public Builder clearInstanceGroup() {
4307       instanceGroup_ = getDefaultInstance().getInstanceGroup();
4308       bitField0_ = (bitField0_ & ~0x00000100);
4309       onChanged();
4310       return this;
4311     }
4312     /**
4313      *
4314      *
4315      * <pre>
4316      * [Output Only] The URL of the Instance Group resource.
4317      * </pre>
4318      *
4319      * <code>optional string instance_group = 81095253;</code>
4320      *
4321      * @param value The bytes for instanceGroup to set.
4322      * @return This builder for chaining.
4323      */
setInstanceGroupBytes(com.google.protobuf.ByteString value)4324     public Builder setInstanceGroupBytes(com.google.protobuf.ByteString value) {
4325       if (value == null) {
4326         throw new NullPointerException();
4327       }
4328       checkByteStringIsUtf8(value);
4329       instanceGroup_ = value;
4330       bitField0_ |= 0x00000100;
4331       onChanged();
4332       return this;
4333     }
4334 
4335     private java.lang.Object instanceTemplate_ = "";
4336     /**
4337      *
4338      *
4339      * <pre>
4340      * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
4341      * </pre>
4342      *
4343      * <code>optional string instance_template = 309248228;</code>
4344      *
4345      * @return Whether the instanceTemplate field is set.
4346      */
hasInstanceTemplate()4347     public boolean hasInstanceTemplate() {
4348       return ((bitField0_ & 0x00000200) != 0);
4349     }
4350     /**
4351      *
4352      *
4353      * <pre>
4354      * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
4355      * </pre>
4356      *
4357      * <code>optional string instance_template = 309248228;</code>
4358      *
4359      * @return The instanceTemplate.
4360      */
getInstanceTemplate()4361     public java.lang.String getInstanceTemplate() {
4362       java.lang.Object ref = instanceTemplate_;
4363       if (!(ref instanceof java.lang.String)) {
4364         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4365         java.lang.String s = bs.toStringUtf8();
4366         instanceTemplate_ = s;
4367         return s;
4368       } else {
4369         return (java.lang.String) ref;
4370       }
4371     }
4372     /**
4373      *
4374      *
4375      * <pre>
4376      * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
4377      * </pre>
4378      *
4379      * <code>optional string instance_template = 309248228;</code>
4380      *
4381      * @return The bytes for instanceTemplate.
4382      */
getInstanceTemplateBytes()4383     public com.google.protobuf.ByteString getInstanceTemplateBytes() {
4384       java.lang.Object ref = instanceTemplate_;
4385       if (ref instanceof String) {
4386         com.google.protobuf.ByteString b =
4387             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4388         instanceTemplate_ = b;
4389         return b;
4390       } else {
4391         return (com.google.protobuf.ByteString) ref;
4392       }
4393     }
4394     /**
4395      *
4396      *
4397      * <pre>
4398      * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
4399      * </pre>
4400      *
4401      * <code>optional string instance_template = 309248228;</code>
4402      *
4403      * @param value The instanceTemplate to set.
4404      * @return This builder for chaining.
4405      */
setInstanceTemplate(java.lang.String value)4406     public Builder setInstanceTemplate(java.lang.String value) {
4407       if (value == null) {
4408         throw new NullPointerException();
4409       }
4410       instanceTemplate_ = value;
4411       bitField0_ |= 0x00000200;
4412       onChanged();
4413       return this;
4414     }
4415     /**
4416      *
4417      *
4418      * <pre>
4419      * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
4420      * </pre>
4421      *
4422      * <code>optional string instance_template = 309248228;</code>
4423      *
4424      * @return This builder for chaining.
4425      */
clearInstanceTemplate()4426     public Builder clearInstanceTemplate() {
4427       instanceTemplate_ = getDefaultInstance().getInstanceTemplate();
4428       bitField0_ = (bitField0_ & ~0x00000200);
4429       onChanged();
4430       return this;
4431     }
4432     /**
4433      *
4434      *
4435      * <pre>
4436      * The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.
4437      * </pre>
4438      *
4439      * <code>optional string instance_template = 309248228;</code>
4440      *
4441      * @param value The bytes for instanceTemplate to set.
4442      * @return This builder for chaining.
4443      */
setInstanceTemplateBytes(com.google.protobuf.ByteString value)4444     public Builder setInstanceTemplateBytes(com.google.protobuf.ByteString value) {
4445       if (value == null) {
4446         throw new NullPointerException();
4447       }
4448       checkByteStringIsUtf8(value);
4449       instanceTemplate_ = value;
4450       bitField0_ |= 0x00000200;
4451       onChanged();
4452       return this;
4453     }
4454 
4455     private java.lang.Object kind_ = "";
4456     /**
4457      *
4458      *
4459      * <pre>
4460      * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
4461      * </pre>
4462      *
4463      * <code>optional string kind = 3292052;</code>
4464      *
4465      * @return Whether the kind field is set.
4466      */
hasKind()4467     public boolean hasKind() {
4468       return ((bitField0_ & 0x00000400) != 0);
4469     }
4470     /**
4471      *
4472      *
4473      * <pre>
4474      * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
4475      * </pre>
4476      *
4477      * <code>optional string kind = 3292052;</code>
4478      *
4479      * @return The kind.
4480      */
getKind()4481     public java.lang.String getKind() {
4482       java.lang.Object ref = kind_;
4483       if (!(ref instanceof java.lang.String)) {
4484         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4485         java.lang.String s = bs.toStringUtf8();
4486         kind_ = s;
4487         return s;
4488       } else {
4489         return (java.lang.String) ref;
4490       }
4491     }
4492     /**
4493      *
4494      *
4495      * <pre>
4496      * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
4497      * </pre>
4498      *
4499      * <code>optional string kind = 3292052;</code>
4500      *
4501      * @return The bytes for kind.
4502      */
getKindBytes()4503     public com.google.protobuf.ByteString getKindBytes() {
4504       java.lang.Object ref = kind_;
4505       if (ref instanceof String) {
4506         com.google.protobuf.ByteString b =
4507             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4508         kind_ = b;
4509         return b;
4510       } else {
4511         return (com.google.protobuf.ByteString) ref;
4512       }
4513     }
4514     /**
4515      *
4516      *
4517      * <pre>
4518      * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
4519      * </pre>
4520      *
4521      * <code>optional string kind = 3292052;</code>
4522      *
4523      * @param value The kind to set.
4524      * @return This builder for chaining.
4525      */
setKind(java.lang.String value)4526     public Builder setKind(java.lang.String value) {
4527       if (value == null) {
4528         throw new NullPointerException();
4529       }
4530       kind_ = value;
4531       bitField0_ |= 0x00000400;
4532       onChanged();
4533       return this;
4534     }
4535     /**
4536      *
4537      *
4538      * <pre>
4539      * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
4540      * </pre>
4541      *
4542      * <code>optional string kind = 3292052;</code>
4543      *
4544      * @return This builder for chaining.
4545      */
clearKind()4546     public Builder clearKind() {
4547       kind_ = getDefaultInstance().getKind();
4548       bitField0_ = (bitField0_ & ~0x00000400);
4549       onChanged();
4550       return this;
4551     }
4552     /**
4553      *
4554      *
4555      * <pre>
4556      * [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.
4557      * </pre>
4558      *
4559      * <code>optional string kind = 3292052;</code>
4560      *
4561      * @param value The bytes for kind to set.
4562      * @return This builder for chaining.
4563      */
setKindBytes(com.google.protobuf.ByteString value)4564     public Builder setKindBytes(com.google.protobuf.ByteString value) {
4565       if (value == null) {
4566         throw new NullPointerException();
4567       }
4568       checkByteStringIsUtf8(value);
4569       kind_ = value;
4570       bitField0_ |= 0x00000400;
4571       onChanged();
4572       return this;
4573     }
4574 
4575     private java.lang.Object listManagedInstancesResults_ = "";
4576     /**
4577      *
4578      *
4579      * <pre>
4580      * Pagination behavior of the listManagedInstances API method for this managed instance group.
4581      * Check the ListManagedInstancesResults enum for the list of possible values.
4582      * </pre>
4583      *
4584      * <code>optional string list_managed_instances_results = 296047156;</code>
4585      *
4586      * @return Whether the listManagedInstancesResults field is set.
4587      */
hasListManagedInstancesResults()4588     public boolean hasListManagedInstancesResults() {
4589       return ((bitField0_ & 0x00000800) != 0);
4590     }
4591     /**
4592      *
4593      *
4594      * <pre>
4595      * Pagination behavior of the listManagedInstances API method for this managed instance group.
4596      * Check the ListManagedInstancesResults enum for the list of possible values.
4597      * </pre>
4598      *
4599      * <code>optional string list_managed_instances_results = 296047156;</code>
4600      *
4601      * @return The listManagedInstancesResults.
4602      */
getListManagedInstancesResults()4603     public java.lang.String getListManagedInstancesResults() {
4604       java.lang.Object ref = listManagedInstancesResults_;
4605       if (!(ref instanceof java.lang.String)) {
4606         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4607         java.lang.String s = bs.toStringUtf8();
4608         listManagedInstancesResults_ = s;
4609         return s;
4610       } else {
4611         return (java.lang.String) ref;
4612       }
4613     }
4614     /**
4615      *
4616      *
4617      * <pre>
4618      * Pagination behavior of the listManagedInstances API method for this managed instance group.
4619      * Check the ListManagedInstancesResults enum for the list of possible values.
4620      * </pre>
4621      *
4622      * <code>optional string list_managed_instances_results = 296047156;</code>
4623      *
4624      * @return The bytes for listManagedInstancesResults.
4625      */
getListManagedInstancesResultsBytes()4626     public com.google.protobuf.ByteString getListManagedInstancesResultsBytes() {
4627       java.lang.Object ref = listManagedInstancesResults_;
4628       if (ref instanceof String) {
4629         com.google.protobuf.ByteString b =
4630             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4631         listManagedInstancesResults_ = b;
4632         return b;
4633       } else {
4634         return (com.google.protobuf.ByteString) ref;
4635       }
4636     }
4637     /**
4638      *
4639      *
4640      * <pre>
4641      * Pagination behavior of the listManagedInstances API method for this managed instance group.
4642      * Check the ListManagedInstancesResults enum for the list of possible values.
4643      * </pre>
4644      *
4645      * <code>optional string list_managed_instances_results = 296047156;</code>
4646      *
4647      * @param value The listManagedInstancesResults to set.
4648      * @return This builder for chaining.
4649      */
setListManagedInstancesResults(java.lang.String value)4650     public Builder setListManagedInstancesResults(java.lang.String value) {
4651       if (value == null) {
4652         throw new NullPointerException();
4653       }
4654       listManagedInstancesResults_ = value;
4655       bitField0_ |= 0x00000800;
4656       onChanged();
4657       return this;
4658     }
4659     /**
4660      *
4661      *
4662      * <pre>
4663      * Pagination behavior of the listManagedInstances API method for this managed instance group.
4664      * Check the ListManagedInstancesResults enum for the list of possible values.
4665      * </pre>
4666      *
4667      * <code>optional string list_managed_instances_results = 296047156;</code>
4668      *
4669      * @return This builder for chaining.
4670      */
clearListManagedInstancesResults()4671     public Builder clearListManagedInstancesResults() {
4672       listManagedInstancesResults_ = getDefaultInstance().getListManagedInstancesResults();
4673       bitField0_ = (bitField0_ & ~0x00000800);
4674       onChanged();
4675       return this;
4676     }
4677     /**
4678      *
4679      *
4680      * <pre>
4681      * Pagination behavior of the listManagedInstances API method for this managed instance group.
4682      * Check the ListManagedInstancesResults enum for the list of possible values.
4683      * </pre>
4684      *
4685      * <code>optional string list_managed_instances_results = 296047156;</code>
4686      *
4687      * @param value The bytes for listManagedInstancesResults to set.
4688      * @return This builder for chaining.
4689      */
setListManagedInstancesResultsBytes(com.google.protobuf.ByteString value)4690     public Builder setListManagedInstancesResultsBytes(com.google.protobuf.ByteString value) {
4691       if (value == null) {
4692         throw new NullPointerException();
4693       }
4694       checkByteStringIsUtf8(value);
4695       listManagedInstancesResults_ = value;
4696       bitField0_ |= 0x00000800;
4697       onChanged();
4698       return this;
4699     }
4700 
4701     private java.lang.Object name_ = "";
4702     /**
4703      *
4704      *
4705      * <pre>
4706      * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
4707      * </pre>
4708      *
4709      * <code>optional string name = 3373707;</code>
4710      *
4711      * @return Whether the name field is set.
4712      */
hasName()4713     public boolean hasName() {
4714       return ((bitField0_ & 0x00001000) != 0);
4715     }
4716     /**
4717      *
4718      *
4719      * <pre>
4720      * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
4721      * </pre>
4722      *
4723      * <code>optional string name = 3373707;</code>
4724      *
4725      * @return The name.
4726      */
getName()4727     public java.lang.String getName() {
4728       java.lang.Object ref = name_;
4729       if (!(ref instanceof java.lang.String)) {
4730         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4731         java.lang.String s = bs.toStringUtf8();
4732         name_ = s;
4733         return s;
4734       } else {
4735         return (java.lang.String) ref;
4736       }
4737     }
4738     /**
4739      *
4740      *
4741      * <pre>
4742      * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
4743      * </pre>
4744      *
4745      * <code>optional string name = 3373707;</code>
4746      *
4747      * @return The bytes for name.
4748      */
getNameBytes()4749     public com.google.protobuf.ByteString getNameBytes() {
4750       java.lang.Object ref = name_;
4751       if (ref instanceof String) {
4752         com.google.protobuf.ByteString b =
4753             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4754         name_ = b;
4755         return b;
4756       } else {
4757         return (com.google.protobuf.ByteString) ref;
4758       }
4759     }
4760     /**
4761      *
4762      *
4763      * <pre>
4764      * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
4765      * </pre>
4766      *
4767      * <code>optional string name = 3373707;</code>
4768      *
4769      * @param value The name to set.
4770      * @return This builder for chaining.
4771      */
setName(java.lang.String value)4772     public Builder setName(java.lang.String value) {
4773       if (value == null) {
4774         throw new NullPointerException();
4775       }
4776       name_ = value;
4777       bitField0_ |= 0x00001000;
4778       onChanged();
4779       return this;
4780     }
4781     /**
4782      *
4783      *
4784      * <pre>
4785      * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
4786      * </pre>
4787      *
4788      * <code>optional string name = 3373707;</code>
4789      *
4790      * @return This builder for chaining.
4791      */
clearName()4792     public Builder clearName() {
4793       name_ = getDefaultInstance().getName();
4794       bitField0_ = (bitField0_ & ~0x00001000);
4795       onChanged();
4796       return this;
4797     }
4798     /**
4799      *
4800      *
4801      * <pre>
4802      * The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.
4803      * </pre>
4804      *
4805      * <code>optional string name = 3373707;</code>
4806      *
4807      * @param value The bytes for name to set.
4808      * @return This builder for chaining.
4809      */
setNameBytes(com.google.protobuf.ByteString value)4810     public Builder setNameBytes(com.google.protobuf.ByteString value) {
4811       if (value == null) {
4812         throw new NullPointerException();
4813       }
4814       checkByteStringIsUtf8(value);
4815       name_ = value;
4816       bitField0_ |= 0x00001000;
4817       onChanged();
4818       return this;
4819     }
4820 
4821     private java.util.List<com.google.cloud.compute.v1.NamedPort> namedPorts_ =
4822         java.util.Collections.emptyList();
4823 
ensureNamedPortsIsMutable()4824     private void ensureNamedPortsIsMutable() {
4825       if (!((bitField0_ & 0x00002000) != 0)) {
4826         namedPorts_ = new java.util.ArrayList<com.google.cloud.compute.v1.NamedPort>(namedPorts_);
4827         bitField0_ |= 0x00002000;
4828       }
4829     }
4830 
4831     private com.google.protobuf.RepeatedFieldBuilderV3<
4832             com.google.cloud.compute.v1.NamedPort,
4833             com.google.cloud.compute.v1.NamedPort.Builder,
4834             com.google.cloud.compute.v1.NamedPortOrBuilder>
4835         namedPortsBuilder_;
4836 
4837     /**
4838      *
4839      *
4840      * <pre>
4841      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4842      * </pre>
4843      *
4844      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4845      */
getNamedPortsList()4846     public java.util.List<com.google.cloud.compute.v1.NamedPort> getNamedPortsList() {
4847       if (namedPortsBuilder_ == null) {
4848         return java.util.Collections.unmodifiableList(namedPorts_);
4849       } else {
4850         return namedPortsBuilder_.getMessageList();
4851       }
4852     }
4853     /**
4854      *
4855      *
4856      * <pre>
4857      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4858      * </pre>
4859      *
4860      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4861      */
getNamedPortsCount()4862     public int getNamedPortsCount() {
4863       if (namedPortsBuilder_ == null) {
4864         return namedPorts_.size();
4865       } else {
4866         return namedPortsBuilder_.getCount();
4867       }
4868     }
4869     /**
4870      *
4871      *
4872      * <pre>
4873      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4874      * </pre>
4875      *
4876      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4877      */
getNamedPorts(int index)4878     public com.google.cloud.compute.v1.NamedPort getNamedPorts(int index) {
4879       if (namedPortsBuilder_ == null) {
4880         return namedPorts_.get(index);
4881       } else {
4882         return namedPortsBuilder_.getMessage(index);
4883       }
4884     }
4885     /**
4886      *
4887      *
4888      * <pre>
4889      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4890      * </pre>
4891      *
4892      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4893      */
setNamedPorts(int index, com.google.cloud.compute.v1.NamedPort value)4894     public Builder setNamedPorts(int index, com.google.cloud.compute.v1.NamedPort value) {
4895       if (namedPortsBuilder_ == null) {
4896         if (value == null) {
4897           throw new NullPointerException();
4898         }
4899         ensureNamedPortsIsMutable();
4900         namedPorts_.set(index, value);
4901         onChanged();
4902       } else {
4903         namedPortsBuilder_.setMessage(index, value);
4904       }
4905       return this;
4906     }
4907     /**
4908      *
4909      *
4910      * <pre>
4911      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4912      * </pre>
4913      *
4914      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4915      */
setNamedPorts( int index, com.google.cloud.compute.v1.NamedPort.Builder builderForValue)4916     public Builder setNamedPorts(
4917         int index, com.google.cloud.compute.v1.NamedPort.Builder builderForValue) {
4918       if (namedPortsBuilder_ == null) {
4919         ensureNamedPortsIsMutable();
4920         namedPorts_.set(index, builderForValue.build());
4921         onChanged();
4922       } else {
4923         namedPortsBuilder_.setMessage(index, builderForValue.build());
4924       }
4925       return this;
4926     }
4927     /**
4928      *
4929      *
4930      * <pre>
4931      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4932      * </pre>
4933      *
4934      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4935      */
addNamedPorts(com.google.cloud.compute.v1.NamedPort value)4936     public Builder addNamedPorts(com.google.cloud.compute.v1.NamedPort value) {
4937       if (namedPortsBuilder_ == null) {
4938         if (value == null) {
4939           throw new NullPointerException();
4940         }
4941         ensureNamedPortsIsMutable();
4942         namedPorts_.add(value);
4943         onChanged();
4944       } else {
4945         namedPortsBuilder_.addMessage(value);
4946       }
4947       return this;
4948     }
4949     /**
4950      *
4951      *
4952      * <pre>
4953      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4954      * </pre>
4955      *
4956      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4957      */
addNamedPorts(int index, com.google.cloud.compute.v1.NamedPort value)4958     public Builder addNamedPorts(int index, com.google.cloud.compute.v1.NamedPort value) {
4959       if (namedPortsBuilder_ == null) {
4960         if (value == null) {
4961           throw new NullPointerException();
4962         }
4963         ensureNamedPortsIsMutable();
4964         namedPorts_.add(index, value);
4965         onChanged();
4966       } else {
4967         namedPortsBuilder_.addMessage(index, value);
4968       }
4969       return this;
4970     }
4971     /**
4972      *
4973      *
4974      * <pre>
4975      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4976      * </pre>
4977      *
4978      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4979      */
addNamedPorts(com.google.cloud.compute.v1.NamedPort.Builder builderForValue)4980     public Builder addNamedPorts(com.google.cloud.compute.v1.NamedPort.Builder builderForValue) {
4981       if (namedPortsBuilder_ == null) {
4982         ensureNamedPortsIsMutable();
4983         namedPorts_.add(builderForValue.build());
4984         onChanged();
4985       } else {
4986         namedPortsBuilder_.addMessage(builderForValue.build());
4987       }
4988       return this;
4989     }
4990     /**
4991      *
4992      *
4993      * <pre>
4994      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
4995      * </pre>
4996      *
4997      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
4998      */
addNamedPorts( int index, com.google.cloud.compute.v1.NamedPort.Builder builderForValue)4999     public Builder addNamedPorts(
5000         int index, com.google.cloud.compute.v1.NamedPort.Builder builderForValue) {
5001       if (namedPortsBuilder_ == null) {
5002         ensureNamedPortsIsMutable();
5003         namedPorts_.add(index, builderForValue.build());
5004         onChanged();
5005       } else {
5006         namedPortsBuilder_.addMessage(index, builderForValue.build());
5007       }
5008       return this;
5009     }
5010     /**
5011      *
5012      *
5013      * <pre>
5014      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5015      * </pre>
5016      *
5017      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5018      */
addAllNamedPorts( java.lang.Iterable<? extends com.google.cloud.compute.v1.NamedPort> values)5019     public Builder addAllNamedPorts(
5020         java.lang.Iterable<? extends com.google.cloud.compute.v1.NamedPort> values) {
5021       if (namedPortsBuilder_ == null) {
5022         ensureNamedPortsIsMutable();
5023         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, namedPorts_);
5024         onChanged();
5025       } else {
5026         namedPortsBuilder_.addAllMessages(values);
5027       }
5028       return this;
5029     }
5030     /**
5031      *
5032      *
5033      * <pre>
5034      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5035      * </pre>
5036      *
5037      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5038      */
clearNamedPorts()5039     public Builder clearNamedPorts() {
5040       if (namedPortsBuilder_ == null) {
5041         namedPorts_ = java.util.Collections.emptyList();
5042         bitField0_ = (bitField0_ & ~0x00002000);
5043         onChanged();
5044       } else {
5045         namedPortsBuilder_.clear();
5046       }
5047       return this;
5048     }
5049     /**
5050      *
5051      *
5052      * <pre>
5053      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5054      * </pre>
5055      *
5056      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5057      */
removeNamedPorts(int index)5058     public Builder removeNamedPorts(int index) {
5059       if (namedPortsBuilder_ == null) {
5060         ensureNamedPortsIsMutable();
5061         namedPorts_.remove(index);
5062         onChanged();
5063       } else {
5064         namedPortsBuilder_.remove(index);
5065       }
5066       return this;
5067     }
5068     /**
5069      *
5070      *
5071      * <pre>
5072      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5073      * </pre>
5074      *
5075      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5076      */
getNamedPortsBuilder(int index)5077     public com.google.cloud.compute.v1.NamedPort.Builder getNamedPortsBuilder(int index) {
5078       return getNamedPortsFieldBuilder().getBuilder(index);
5079     }
5080     /**
5081      *
5082      *
5083      * <pre>
5084      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5085      * </pre>
5086      *
5087      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5088      */
getNamedPortsOrBuilder(int index)5089     public com.google.cloud.compute.v1.NamedPortOrBuilder getNamedPortsOrBuilder(int index) {
5090       if (namedPortsBuilder_ == null) {
5091         return namedPorts_.get(index);
5092       } else {
5093         return namedPortsBuilder_.getMessageOrBuilder(index);
5094       }
5095     }
5096     /**
5097      *
5098      *
5099      * <pre>
5100      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5101      * </pre>
5102      *
5103      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5104      */
5105     public java.util.List<? extends com.google.cloud.compute.v1.NamedPortOrBuilder>
getNamedPortsOrBuilderList()5106         getNamedPortsOrBuilderList() {
5107       if (namedPortsBuilder_ != null) {
5108         return namedPortsBuilder_.getMessageOrBuilderList();
5109       } else {
5110         return java.util.Collections.unmodifiableList(namedPorts_);
5111       }
5112     }
5113     /**
5114      *
5115      *
5116      * <pre>
5117      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5118      * </pre>
5119      *
5120      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5121      */
addNamedPortsBuilder()5122     public com.google.cloud.compute.v1.NamedPort.Builder addNamedPortsBuilder() {
5123       return getNamedPortsFieldBuilder()
5124           .addBuilder(com.google.cloud.compute.v1.NamedPort.getDefaultInstance());
5125     }
5126     /**
5127      *
5128      *
5129      * <pre>
5130      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5131      * </pre>
5132      *
5133      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5134      */
addNamedPortsBuilder(int index)5135     public com.google.cloud.compute.v1.NamedPort.Builder addNamedPortsBuilder(int index) {
5136       return getNamedPortsFieldBuilder()
5137           .addBuilder(index, com.google.cloud.compute.v1.NamedPort.getDefaultInstance());
5138     }
5139     /**
5140      *
5141      *
5142      * <pre>
5143      * Named ports configured for the Instance Groups complementary to this Instance Group Manager.
5144      * </pre>
5145      *
5146      * <code>repeated .google.cloud.compute.v1.NamedPort named_ports = 427598732;</code>
5147      */
5148     public java.util.List<com.google.cloud.compute.v1.NamedPort.Builder>
getNamedPortsBuilderList()5149         getNamedPortsBuilderList() {
5150       return getNamedPortsFieldBuilder().getBuilderList();
5151     }
5152 
5153     private com.google.protobuf.RepeatedFieldBuilderV3<
5154             com.google.cloud.compute.v1.NamedPort,
5155             com.google.cloud.compute.v1.NamedPort.Builder,
5156             com.google.cloud.compute.v1.NamedPortOrBuilder>
getNamedPortsFieldBuilder()5157         getNamedPortsFieldBuilder() {
5158       if (namedPortsBuilder_ == null) {
5159         namedPortsBuilder_ =
5160             new com.google.protobuf.RepeatedFieldBuilderV3<
5161                 com.google.cloud.compute.v1.NamedPort,
5162                 com.google.cloud.compute.v1.NamedPort.Builder,
5163                 com.google.cloud.compute.v1.NamedPortOrBuilder>(
5164                 namedPorts_, ((bitField0_ & 0x00002000) != 0), getParentForChildren(), isClean());
5165         namedPorts_ = null;
5166       }
5167       return namedPortsBuilder_;
5168     }
5169 
5170     private java.lang.Object region_ = "";
5171     /**
5172      *
5173      *
5174      * <pre>
5175      * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
5176      * </pre>
5177      *
5178      * <code>optional string region = 138946292;</code>
5179      *
5180      * @return Whether the region field is set.
5181      */
hasRegion()5182     public boolean hasRegion() {
5183       return ((bitField0_ & 0x00004000) != 0);
5184     }
5185     /**
5186      *
5187      *
5188      * <pre>
5189      * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
5190      * </pre>
5191      *
5192      * <code>optional string region = 138946292;</code>
5193      *
5194      * @return The region.
5195      */
getRegion()5196     public java.lang.String getRegion() {
5197       java.lang.Object ref = region_;
5198       if (!(ref instanceof java.lang.String)) {
5199         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5200         java.lang.String s = bs.toStringUtf8();
5201         region_ = s;
5202         return s;
5203       } else {
5204         return (java.lang.String) ref;
5205       }
5206     }
5207     /**
5208      *
5209      *
5210      * <pre>
5211      * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
5212      * </pre>
5213      *
5214      * <code>optional string region = 138946292;</code>
5215      *
5216      * @return The bytes for region.
5217      */
getRegionBytes()5218     public com.google.protobuf.ByteString getRegionBytes() {
5219       java.lang.Object ref = region_;
5220       if (ref instanceof String) {
5221         com.google.protobuf.ByteString b =
5222             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5223         region_ = b;
5224         return b;
5225       } else {
5226         return (com.google.protobuf.ByteString) ref;
5227       }
5228     }
5229     /**
5230      *
5231      *
5232      * <pre>
5233      * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
5234      * </pre>
5235      *
5236      * <code>optional string region = 138946292;</code>
5237      *
5238      * @param value The region to set.
5239      * @return This builder for chaining.
5240      */
setRegion(java.lang.String value)5241     public Builder setRegion(java.lang.String value) {
5242       if (value == null) {
5243         throw new NullPointerException();
5244       }
5245       region_ = value;
5246       bitField0_ |= 0x00004000;
5247       onChanged();
5248       return this;
5249     }
5250     /**
5251      *
5252      *
5253      * <pre>
5254      * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
5255      * </pre>
5256      *
5257      * <code>optional string region = 138946292;</code>
5258      *
5259      * @return This builder for chaining.
5260      */
clearRegion()5261     public Builder clearRegion() {
5262       region_ = getDefaultInstance().getRegion();
5263       bitField0_ = (bitField0_ & ~0x00004000);
5264       onChanged();
5265       return this;
5266     }
5267     /**
5268      *
5269      *
5270      * <pre>
5271      * [Output Only] The URL of the region where the managed instance group resides (for regional resources).
5272      * </pre>
5273      *
5274      * <code>optional string region = 138946292;</code>
5275      *
5276      * @param value The bytes for region to set.
5277      * @return This builder for chaining.
5278      */
setRegionBytes(com.google.protobuf.ByteString value)5279     public Builder setRegionBytes(com.google.protobuf.ByteString value) {
5280       if (value == null) {
5281         throw new NullPointerException();
5282       }
5283       checkByteStringIsUtf8(value);
5284       region_ = value;
5285       bitField0_ |= 0x00004000;
5286       onChanged();
5287       return this;
5288     }
5289 
5290     private java.lang.Object selfLink_ = "";
5291     /**
5292      *
5293      *
5294      * <pre>
5295      * [Output Only] The URL for this managed instance group. The server defines this URL.
5296      * </pre>
5297      *
5298      * <code>optional string self_link = 456214797;</code>
5299      *
5300      * @return Whether the selfLink field is set.
5301      */
hasSelfLink()5302     public boolean hasSelfLink() {
5303       return ((bitField0_ & 0x00008000) != 0);
5304     }
5305     /**
5306      *
5307      *
5308      * <pre>
5309      * [Output Only] The URL for this managed instance group. The server defines this URL.
5310      * </pre>
5311      *
5312      * <code>optional string self_link = 456214797;</code>
5313      *
5314      * @return The selfLink.
5315      */
getSelfLink()5316     public java.lang.String getSelfLink() {
5317       java.lang.Object ref = selfLink_;
5318       if (!(ref instanceof java.lang.String)) {
5319         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5320         java.lang.String s = bs.toStringUtf8();
5321         selfLink_ = s;
5322         return s;
5323       } else {
5324         return (java.lang.String) ref;
5325       }
5326     }
5327     /**
5328      *
5329      *
5330      * <pre>
5331      * [Output Only] The URL for this managed instance group. The server defines this URL.
5332      * </pre>
5333      *
5334      * <code>optional string self_link = 456214797;</code>
5335      *
5336      * @return The bytes for selfLink.
5337      */
getSelfLinkBytes()5338     public com.google.protobuf.ByteString getSelfLinkBytes() {
5339       java.lang.Object ref = selfLink_;
5340       if (ref instanceof String) {
5341         com.google.protobuf.ByteString b =
5342             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5343         selfLink_ = b;
5344         return b;
5345       } else {
5346         return (com.google.protobuf.ByteString) ref;
5347       }
5348     }
5349     /**
5350      *
5351      *
5352      * <pre>
5353      * [Output Only] The URL for this managed instance group. The server defines this URL.
5354      * </pre>
5355      *
5356      * <code>optional string self_link = 456214797;</code>
5357      *
5358      * @param value The selfLink to set.
5359      * @return This builder for chaining.
5360      */
setSelfLink(java.lang.String value)5361     public Builder setSelfLink(java.lang.String value) {
5362       if (value == null) {
5363         throw new NullPointerException();
5364       }
5365       selfLink_ = value;
5366       bitField0_ |= 0x00008000;
5367       onChanged();
5368       return this;
5369     }
5370     /**
5371      *
5372      *
5373      * <pre>
5374      * [Output Only] The URL for this managed instance group. The server defines this URL.
5375      * </pre>
5376      *
5377      * <code>optional string self_link = 456214797;</code>
5378      *
5379      * @return This builder for chaining.
5380      */
clearSelfLink()5381     public Builder clearSelfLink() {
5382       selfLink_ = getDefaultInstance().getSelfLink();
5383       bitField0_ = (bitField0_ & ~0x00008000);
5384       onChanged();
5385       return this;
5386     }
5387     /**
5388      *
5389      *
5390      * <pre>
5391      * [Output Only] The URL for this managed instance group. The server defines this URL.
5392      * </pre>
5393      *
5394      * <code>optional string self_link = 456214797;</code>
5395      *
5396      * @param value The bytes for selfLink to set.
5397      * @return This builder for chaining.
5398      */
setSelfLinkBytes(com.google.protobuf.ByteString value)5399     public Builder setSelfLinkBytes(com.google.protobuf.ByteString value) {
5400       if (value == null) {
5401         throw new NullPointerException();
5402       }
5403       checkByteStringIsUtf8(value);
5404       selfLink_ = value;
5405       bitField0_ |= 0x00008000;
5406       onChanged();
5407       return this;
5408     }
5409 
5410     private com.google.cloud.compute.v1.StatefulPolicy statefulPolicy_;
5411     private com.google.protobuf.SingleFieldBuilderV3<
5412             com.google.cloud.compute.v1.StatefulPolicy,
5413             com.google.cloud.compute.v1.StatefulPolicy.Builder,
5414             com.google.cloud.compute.v1.StatefulPolicyOrBuilder>
5415         statefulPolicyBuilder_;
5416     /**
5417      *
5418      *
5419      * <pre>
5420      * Stateful configuration for this Instanced Group Manager
5421      * </pre>
5422      *
5423      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5424      *
5425      * @return Whether the statefulPolicy field is set.
5426      */
hasStatefulPolicy()5427     public boolean hasStatefulPolicy() {
5428       return ((bitField0_ & 0x00010000) != 0);
5429     }
5430     /**
5431      *
5432      *
5433      * <pre>
5434      * Stateful configuration for this Instanced Group Manager
5435      * </pre>
5436      *
5437      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5438      *
5439      * @return The statefulPolicy.
5440      */
getStatefulPolicy()5441     public com.google.cloud.compute.v1.StatefulPolicy getStatefulPolicy() {
5442       if (statefulPolicyBuilder_ == null) {
5443         return statefulPolicy_ == null
5444             ? com.google.cloud.compute.v1.StatefulPolicy.getDefaultInstance()
5445             : statefulPolicy_;
5446       } else {
5447         return statefulPolicyBuilder_.getMessage();
5448       }
5449     }
5450     /**
5451      *
5452      *
5453      * <pre>
5454      * Stateful configuration for this Instanced Group Manager
5455      * </pre>
5456      *
5457      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5458      */
setStatefulPolicy(com.google.cloud.compute.v1.StatefulPolicy value)5459     public Builder setStatefulPolicy(com.google.cloud.compute.v1.StatefulPolicy value) {
5460       if (statefulPolicyBuilder_ == null) {
5461         if (value == null) {
5462           throw new NullPointerException();
5463         }
5464         statefulPolicy_ = value;
5465       } else {
5466         statefulPolicyBuilder_.setMessage(value);
5467       }
5468       bitField0_ |= 0x00010000;
5469       onChanged();
5470       return this;
5471     }
5472     /**
5473      *
5474      *
5475      * <pre>
5476      * Stateful configuration for this Instanced Group Manager
5477      * </pre>
5478      *
5479      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5480      */
setStatefulPolicy( com.google.cloud.compute.v1.StatefulPolicy.Builder builderForValue)5481     public Builder setStatefulPolicy(
5482         com.google.cloud.compute.v1.StatefulPolicy.Builder builderForValue) {
5483       if (statefulPolicyBuilder_ == null) {
5484         statefulPolicy_ = builderForValue.build();
5485       } else {
5486         statefulPolicyBuilder_.setMessage(builderForValue.build());
5487       }
5488       bitField0_ |= 0x00010000;
5489       onChanged();
5490       return this;
5491     }
5492     /**
5493      *
5494      *
5495      * <pre>
5496      * Stateful configuration for this Instanced Group Manager
5497      * </pre>
5498      *
5499      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5500      */
mergeStatefulPolicy(com.google.cloud.compute.v1.StatefulPolicy value)5501     public Builder mergeStatefulPolicy(com.google.cloud.compute.v1.StatefulPolicy value) {
5502       if (statefulPolicyBuilder_ == null) {
5503         if (((bitField0_ & 0x00010000) != 0)
5504             && statefulPolicy_ != null
5505             && statefulPolicy_ != com.google.cloud.compute.v1.StatefulPolicy.getDefaultInstance()) {
5506           getStatefulPolicyBuilder().mergeFrom(value);
5507         } else {
5508           statefulPolicy_ = value;
5509         }
5510       } else {
5511         statefulPolicyBuilder_.mergeFrom(value);
5512       }
5513       bitField0_ |= 0x00010000;
5514       onChanged();
5515       return this;
5516     }
5517     /**
5518      *
5519      *
5520      * <pre>
5521      * Stateful configuration for this Instanced Group Manager
5522      * </pre>
5523      *
5524      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5525      */
clearStatefulPolicy()5526     public Builder clearStatefulPolicy() {
5527       bitField0_ = (bitField0_ & ~0x00010000);
5528       statefulPolicy_ = null;
5529       if (statefulPolicyBuilder_ != null) {
5530         statefulPolicyBuilder_.dispose();
5531         statefulPolicyBuilder_ = null;
5532       }
5533       onChanged();
5534       return this;
5535     }
5536     /**
5537      *
5538      *
5539      * <pre>
5540      * Stateful configuration for this Instanced Group Manager
5541      * </pre>
5542      *
5543      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5544      */
getStatefulPolicyBuilder()5545     public com.google.cloud.compute.v1.StatefulPolicy.Builder getStatefulPolicyBuilder() {
5546       bitField0_ |= 0x00010000;
5547       onChanged();
5548       return getStatefulPolicyFieldBuilder().getBuilder();
5549     }
5550     /**
5551      *
5552      *
5553      * <pre>
5554      * Stateful configuration for this Instanced Group Manager
5555      * </pre>
5556      *
5557      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5558      */
getStatefulPolicyOrBuilder()5559     public com.google.cloud.compute.v1.StatefulPolicyOrBuilder getStatefulPolicyOrBuilder() {
5560       if (statefulPolicyBuilder_ != null) {
5561         return statefulPolicyBuilder_.getMessageOrBuilder();
5562       } else {
5563         return statefulPolicy_ == null
5564             ? com.google.cloud.compute.v1.StatefulPolicy.getDefaultInstance()
5565             : statefulPolicy_;
5566       }
5567     }
5568     /**
5569      *
5570      *
5571      * <pre>
5572      * Stateful configuration for this Instanced Group Manager
5573      * </pre>
5574      *
5575      * <code>optional .google.cloud.compute.v1.StatefulPolicy stateful_policy = 47538565;</code>
5576      */
5577     private com.google.protobuf.SingleFieldBuilderV3<
5578             com.google.cloud.compute.v1.StatefulPolicy,
5579             com.google.cloud.compute.v1.StatefulPolicy.Builder,
5580             com.google.cloud.compute.v1.StatefulPolicyOrBuilder>
getStatefulPolicyFieldBuilder()5581         getStatefulPolicyFieldBuilder() {
5582       if (statefulPolicyBuilder_ == null) {
5583         statefulPolicyBuilder_ =
5584             new com.google.protobuf.SingleFieldBuilderV3<
5585                 com.google.cloud.compute.v1.StatefulPolicy,
5586                 com.google.cloud.compute.v1.StatefulPolicy.Builder,
5587                 com.google.cloud.compute.v1.StatefulPolicyOrBuilder>(
5588                 getStatefulPolicy(), getParentForChildren(), isClean());
5589         statefulPolicy_ = null;
5590       }
5591       return statefulPolicyBuilder_;
5592     }
5593 
5594     private com.google.cloud.compute.v1.InstanceGroupManagerStatus status_;
5595     private com.google.protobuf.SingleFieldBuilderV3<
5596             com.google.cloud.compute.v1.InstanceGroupManagerStatus,
5597             com.google.cloud.compute.v1.InstanceGroupManagerStatus.Builder,
5598             com.google.cloud.compute.v1.InstanceGroupManagerStatusOrBuilder>
5599         statusBuilder_;
5600     /**
5601      *
5602      *
5603      * <pre>
5604      * [Output Only] The status of this managed instance group.
5605      * </pre>
5606      *
5607      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5608      *
5609      * @return Whether the status field is set.
5610      */
hasStatus()5611     public boolean hasStatus() {
5612       return ((bitField0_ & 0x00020000) != 0);
5613     }
5614     /**
5615      *
5616      *
5617      * <pre>
5618      * [Output Only] The status of this managed instance group.
5619      * </pre>
5620      *
5621      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5622      *
5623      * @return The status.
5624      */
getStatus()5625     public com.google.cloud.compute.v1.InstanceGroupManagerStatus getStatus() {
5626       if (statusBuilder_ == null) {
5627         return status_ == null
5628             ? com.google.cloud.compute.v1.InstanceGroupManagerStatus.getDefaultInstance()
5629             : status_;
5630       } else {
5631         return statusBuilder_.getMessage();
5632       }
5633     }
5634     /**
5635      *
5636      *
5637      * <pre>
5638      * [Output Only] The status of this managed instance group.
5639      * </pre>
5640      *
5641      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5642      */
setStatus(com.google.cloud.compute.v1.InstanceGroupManagerStatus value)5643     public Builder setStatus(com.google.cloud.compute.v1.InstanceGroupManagerStatus value) {
5644       if (statusBuilder_ == null) {
5645         if (value == null) {
5646           throw new NullPointerException();
5647         }
5648         status_ = value;
5649       } else {
5650         statusBuilder_.setMessage(value);
5651       }
5652       bitField0_ |= 0x00020000;
5653       onChanged();
5654       return this;
5655     }
5656     /**
5657      *
5658      *
5659      * <pre>
5660      * [Output Only] The status of this managed instance group.
5661      * </pre>
5662      *
5663      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5664      */
setStatus( com.google.cloud.compute.v1.InstanceGroupManagerStatus.Builder builderForValue)5665     public Builder setStatus(
5666         com.google.cloud.compute.v1.InstanceGroupManagerStatus.Builder builderForValue) {
5667       if (statusBuilder_ == null) {
5668         status_ = builderForValue.build();
5669       } else {
5670         statusBuilder_.setMessage(builderForValue.build());
5671       }
5672       bitField0_ |= 0x00020000;
5673       onChanged();
5674       return this;
5675     }
5676     /**
5677      *
5678      *
5679      * <pre>
5680      * [Output Only] The status of this managed instance group.
5681      * </pre>
5682      *
5683      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5684      */
mergeStatus(com.google.cloud.compute.v1.InstanceGroupManagerStatus value)5685     public Builder mergeStatus(com.google.cloud.compute.v1.InstanceGroupManagerStatus value) {
5686       if (statusBuilder_ == null) {
5687         if (((bitField0_ & 0x00020000) != 0)
5688             && status_ != null
5689             && status_
5690                 != com.google.cloud.compute.v1.InstanceGroupManagerStatus.getDefaultInstance()) {
5691           getStatusBuilder().mergeFrom(value);
5692         } else {
5693           status_ = value;
5694         }
5695       } else {
5696         statusBuilder_.mergeFrom(value);
5697       }
5698       bitField0_ |= 0x00020000;
5699       onChanged();
5700       return this;
5701     }
5702     /**
5703      *
5704      *
5705      * <pre>
5706      * [Output Only] The status of this managed instance group.
5707      * </pre>
5708      *
5709      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5710      */
clearStatus()5711     public Builder clearStatus() {
5712       bitField0_ = (bitField0_ & ~0x00020000);
5713       status_ = null;
5714       if (statusBuilder_ != null) {
5715         statusBuilder_.dispose();
5716         statusBuilder_ = null;
5717       }
5718       onChanged();
5719       return this;
5720     }
5721     /**
5722      *
5723      *
5724      * <pre>
5725      * [Output Only] The status of this managed instance group.
5726      * </pre>
5727      *
5728      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5729      */
getStatusBuilder()5730     public com.google.cloud.compute.v1.InstanceGroupManagerStatus.Builder getStatusBuilder() {
5731       bitField0_ |= 0x00020000;
5732       onChanged();
5733       return getStatusFieldBuilder().getBuilder();
5734     }
5735     /**
5736      *
5737      *
5738      * <pre>
5739      * [Output Only] The status of this managed instance group.
5740      * </pre>
5741      *
5742      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5743      */
getStatusOrBuilder()5744     public com.google.cloud.compute.v1.InstanceGroupManagerStatusOrBuilder getStatusOrBuilder() {
5745       if (statusBuilder_ != null) {
5746         return statusBuilder_.getMessageOrBuilder();
5747       } else {
5748         return status_ == null
5749             ? com.google.cloud.compute.v1.InstanceGroupManagerStatus.getDefaultInstance()
5750             : status_;
5751       }
5752     }
5753     /**
5754      *
5755      *
5756      * <pre>
5757      * [Output Only] The status of this managed instance group.
5758      * </pre>
5759      *
5760      * <code>optional .google.cloud.compute.v1.InstanceGroupManagerStatus status = 181260274;</code>
5761      */
5762     private com.google.protobuf.SingleFieldBuilderV3<
5763             com.google.cloud.compute.v1.InstanceGroupManagerStatus,
5764             com.google.cloud.compute.v1.InstanceGroupManagerStatus.Builder,
5765             com.google.cloud.compute.v1.InstanceGroupManagerStatusOrBuilder>
getStatusFieldBuilder()5766         getStatusFieldBuilder() {
5767       if (statusBuilder_ == null) {
5768         statusBuilder_ =
5769             new com.google.protobuf.SingleFieldBuilderV3<
5770                 com.google.cloud.compute.v1.InstanceGroupManagerStatus,
5771                 com.google.cloud.compute.v1.InstanceGroupManagerStatus.Builder,
5772                 com.google.cloud.compute.v1.InstanceGroupManagerStatusOrBuilder>(
5773                 getStatus(), getParentForChildren(), isClean());
5774         status_ = null;
5775       }
5776       return statusBuilder_;
5777     }
5778 
5779     private com.google.protobuf.LazyStringList targetPools_ =
5780         com.google.protobuf.LazyStringArrayList.EMPTY;
5781 
ensureTargetPoolsIsMutable()5782     private void ensureTargetPoolsIsMutable() {
5783       if (!((bitField0_ & 0x00040000) != 0)) {
5784         targetPools_ = new com.google.protobuf.LazyStringArrayList(targetPools_);
5785         bitField0_ |= 0x00040000;
5786       }
5787     }
5788     /**
5789      *
5790      *
5791      * <pre>
5792      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5793      * </pre>
5794      *
5795      * <code>repeated string target_pools = 336072617;</code>
5796      *
5797      * @return A list containing the targetPools.
5798      */
getTargetPoolsList()5799     public com.google.protobuf.ProtocolStringList getTargetPoolsList() {
5800       return targetPools_.getUnmodifiableView();
5801     }
5802     /**
5803      *
5804      *
5805      * <pre>
5806      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5807      * </pre>
5808      *
5809      * <code>repeated string target_pools = 336072617;</code>
5810      *
5811      * @return The count of targetPools.
5812      */
getTargetPoolsCount()5813     public int getTargetPoolsCount() {
5814       return targetPools_.size();
5815     }
5816     /**
5817      *
5818      *
5819      * <pre>
5820      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5821      * </pre>
5822      *
5823      * <code>repeated string target_pools = 336072617;</code>
5824      *
5825      * @param index The index of the element to return.
5826      * @return The targetPools at the given index.
5827      */
getTargetPools(int index)5828     public java.lang.String getTargetPools(int index) {
5829       return targetPools_.get(index);
5830     }
5831     /**
5832      *
5833      *
5834      * <pre>
5835      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5836      * </pre>
5837      *
5838      * <code>repeated string target_pools = 336072617;</code>
5839      *
5840      * @param index The index of the value to return.
5841      * @return The bytes of the targetPools at the given index.
5842      */
getTargetPoolsBytes(int index)5843     public com.google.protobuf.ByteString getTargetPoolsBytes(int index) {
5844       return targetPools_.getByteString(index);
5845     }
5846     /**
5847      *
5848      *
5849      * <pre>
5850      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5851      * </pre>
5852      *
5853      * <code>repeated string target_pools = 336072617;</code>
5854      *
5855      * @param index The index to set the value at.
5856      * @param value The targetPools to set.
5857      * @return This builder for chaining.
5858      */
setTargetPools(int index, java.lang.String value)5859     public Builder setTargetPools(int index, java.lang.String value) {
5860       if (value == null) {
5861         throw new NullPointerException();
5862       }
5863       ensureTargetPoolsIsMutable();
5864       targetPools_.set(index, value);
5865       onChanged();
5866       return this;
5867     }
5868     /**
5869      *
5870      *
5871      * <pre>
5872      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5873      * </pre>
5874      *
5875      * <code>repeated string target_pools = 336072617;</code>
5876      *
5877      * @param value The targetPools to add.
5878      * @return This builder for chaining.
5879      */
addTargetPools(java.lang.String value)5880     public Builder addTargetPools(java.lang.String value) {
5881       if (value == null) {
5882         throw new NullPointerException();
5883       }
5884       ensureTargetPoolsIsMutable();
5885       targetPools_.add(value);
5886       onChanged();
5887       return this;
5888     }
5889     /**
5890      *
5891      *
5892      * <pre>
5893      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5894      * </pre>
5895      *
5896      * <code>repeated string target_pools = 336072617;</code>
5897      *
5898      * @param values The targetPools to add.
5899      * @return This builder for chaining.
5900      */
addAllTargetPools(java.lang.Iterable<java.lang.String> values)5901     public Builder addAllTargetPools(java.lang.Iterable<java.lang.String> values) {
5902       ensureTargetPoolsIsMutable();
5903       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, targetPools_);
5904       onChanged();
5905       return this;
5906     }
5907     /**
5908      *
5909      *
5910      * <pre>
5911      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5912      * </pre>
5913      *
5914      * <code>repeated string target_pools = 336072617;</code>
5915      *
5916      * @return This builder for chaining.
5917      */
clearTargetPools()5918     public Builder clearTargetPools() {
5919       targetPools_ = com.google.protobuf.LazyStringArrayList.EMPTY;
5920       bitField0_ = (bitField0_ & ~0x00040000);
5921       onChanged();
5922       return this;
5923     }
5924     /**
5925      *
5926      *
5927      * <pre>
5928      * The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.
5929      * </pre>
5930      *
5931      * <code>repeated string target_pools = 336072617;</code>
5932      *
5933      * @param value The bytes of the targetPools to add.
5934      * @return This builder for chaining.
5935      */
addTargetPoolsBytes(com.google.protobuf.ByteString value)5936     public Builder addTargetPoolsBytes(com.google.protobuf.ByteString value) {
5937       if (value == null) {
5938         throw new NullPointerException();
5939       }
5940       checkByteStringIsUtf8(value);
5941       ensureTargetPoolsIsMutable();
5942       targetPools_.add(value);
5943       onChanged();
5944       return this;
5945     }
5946 
5947     private int targetSize_;
5948     /**
5949      *
5950      *
5951      * <pre>
5952      * The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.
5953      * </pre>
5954      *
5955      * <code>optional int32 target_size = 62880239;</code>
5956      *
5957      * @return Whether the targetSize field is set.
5958      */
5959     @java.lang.Override
hasTargetSize()5960     public boolean hasTargetSize() {
5961       return ((bitField0_ & 0x00080000) != 0);
5962     }
5963     /**
5964      *
5965      *
5966      * <pre>
5967      * The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.
5968      * </pre>
5969      *
5970      * <code>optional int32 target_size = 62880239;</code>
5971      *
5972      * @return The targetSize.
5973      */
5974     @java.lang.Override
getTargetSize()5975     public int getTargetSize() {
5976       return targetSize_;
5977     }
5978     /**
5979      *
5980      *
5981      * <pre>
5982      * The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.
5983      * </pre>
5984      *
5985      * <code>optional int32 target_size = 62880239;</code>
5986      *
5987      * @param value The targetSize to set.
5988      * @return This builder for chaining.
5989      */
setTargetSize(int value)5990     public Builder setTargetSize(int value) {
5991 
5992       targetSize_ = value;
5993       bitField0_ |= 0x00080000;
5994       onChanged();
5995       return this;
5996     }
5997     /**
5998      *
5999      *
6000      * <pre>
6001      * The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.
6002      * </pre>
6003      *
6004      * <code>optional int32 target_size = 62880239;</code>
6005      *
6006      * @return This builder for chaining.
6007      */
clearTargetSize()6008     public Builder clearTargetSize() {
6009       bitField0_ = (bitField0_ & ~0x00080000);
6010       targetSize_ = 0;
6011       onChanged();
6012       return this;
6013     }
6014 
6015     private com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy updatePolicy_;
6016     private com.google.protobuf.SingleFieldBuilderV3<
6017             com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy,
6018             com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Builder,
6019             com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicyOrBuilder>
6020         updatePolicyBuilder_;
6021     /**
6022      *
6023      *
6024      * <pre>
6025      * The update policy for this managed instance group.
6026      * </pre>
6027      *
6028      * <code>
6029      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6030      * </code>
6031      *
6032      * @return Whether the updatePolicy field is set.
6033      */
hasUpdatePolicy()6034     public boolean hasUpdatePolicy() {
6035       return ((bitField0_ & 0x00100000) != 0);
6036     }
6037     /**
6038      *
6039      *
6040      * <pre>
6041      * The update policy for this managed instance group.
6042      * </pre>
6043      *
6044      * <code>
6045      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6046      * </code>
6047      *
6048      * @return The updatePolicy.
6049      */
getUpdatePolicy()6050     public com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy getUpdatePolicy() {
6051       if (updatePolicyBuilder_ == null) {
6052         return updatePolicy_ == null
6053             ? com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.getDefaultInstance()
6054             : updatePolicy_;
6055       } else {
6056         return updatePolicyBuilder_.getMessage();
6057       }
6058     }
6059     /**
6060      *
6061      *
6062      * <pre>
6063      * The update policy for this managed instance group.
6064      * </pre>
6065      *
6066      * <code>
6067      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6068      * </code>
6069      */
setUpdatePolicy( com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy value)6070     public Builder setUpdatePolicy(
6071         com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy value) {
6072       if (updatePolicyBuilder_ == null) {
6073         if (value == null) {
6074           throw new NullPointerException();
6075         }
6076         updatePolicy_ = value;
6077       } else {
6078         updatePolicyBuilder_.setMessage(value);
6079       }
6080       bitField0_ |= 0x00100000;
6081       onChanged();
6082       return this;
6083     }
6084     /**
6085      *
6086      *
6087      * <pre>
6088      * The update policy for this managed instance group.
6089      * </pre>
6090      *
6091      * <code>
6092      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6093      * </code>
6094      */
setUpdatePolicy( com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Builder builderForValue)6095     public Builder setUpdatePolicy(
6096         com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Builder builderForValue) {
6097       if (updatePolicyBuilder_ == null) {
6098         updatePolicy_ = builderForValue.build();
6099       } else {
6100         updatePolicyBuilder_.setMessage(builderForValue.build());
6101       }
6102       bitField0_ |= 0x00100000;
6103       onChanged();
6104       return this;
6105     }
6106     /**
6107      *
6108      *
6109      * <pre>
6110      * The update policy for this managed instance group.
6111      * </pre>
6112      *
6113      * <code>
6114      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6115      * </code>
6116      */
mergeUpdatePolicy( com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy value)6117     public Builder mergeUpdatePolicy(
6118         com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy value) {
6119       if (updatePolicyBuilder_ == null) {
6120         if (((bitField0_ & 0x00100000) != 0)
6121             && updatePolicy_ != null
6122             && updatePolicy_
6123                 != com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy
6124                     .getDefaultInstance()) {
6125           getUpdatePolicyBuilder().mergeFrom(value);
6126         } else {
6127           updatePolicy_ = value;
6128         }
6129       } else {
6130         updatePolicyBuilder_.mergeFrom(value);
6131       }
6132       bitField0_ |= 0x00100000;
6133       onChanged();
6134       return this;
6135     }
6136     /**
6137      *
6138      *
6139      * <pre>
6140      * The update policy for this managed instance group.
6141      * </pre>
6142      *
6143      * <code>
6144      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6145      * </code>
6146      */
clearUpdatePolicy()6147     public Builder clearUpdatePolicy() {
6148       bitField0_ = (bitField0_ & ~0x00100000);
6149       updatePolicy_ = null;
6150       if (updatePolicyBuilder_ != null) {
6151         updatePolicyBuilder_.dispose();
6152         updatePolicyBuilder_ = null;
6153       }
6154       onChanged();
6155       return this;
6156     }
6157     /**
6158      *
6159      *
6160      * <pre>
6161      * The update policy for this managed instance group.
6162      * </pre>
6163      *
6164      * <code>
6165      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6166      * </code>
6167      */
6168     public com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Builder
getUpdatePolicyBuilder()6169         getUpdatePolicyBuilder() {
6170       bitField0_ |= 0x00100000;
6171       onChanged();
6172       return getUpdatePolicyFieldBuilder().getBuilder();
6173     }
6174     /**
6175      *
6176      *
6177      * <pre>
6178      * The update policy for this managed instance group.
6179      * </pre>
6180      *
6181      * <code>
6182      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6183      * </code>
6184      */
6185     public com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicyOrBuilder
getUpdatePolicyOrBuilder()6186         getUpdatePolicyOrBuilder() {
6187       if (updatePolicyBuilder_ != null) {
6188         return updatePolicyBuilder_.getMessageOrBuilder();
6189       } else {
6190         return updatePolicy_ == null
6191             ? com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.getDefaultInstance()
6192             : updatePolicy_;
6193       }
6194     }
6195     /**
6196      *
6197      *
6198      * <pre>
6199      * The update policy for this managed instance group.
6200      * </pre>
6201      *
6202      * <code>
6203      * optional .google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy update_policy = 175809896;
6204      * </code>
6205      */
6206     private com.google.protobuf.SingleFieldBuilderV3<
6207             com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy,
6208             com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Builder,
6209             com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicyOrBuilder>
getUpdatePolicyFieldBuilder()6210         getUpdatePolicyFieldBuilder() {
6211       if (updatePolicyBuilder_ == null) {
6212         updatePolicyBuilder_ =
6213             new com.google.protobuf.SingleFieldBuilderV3<
6214                 com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy,
6215                 com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Builder,
6216                 com.google.cloud.compute.v1.InstanceGroupManagerUpdatePolicyOrBuilder>(
6217                 getUpdatePolicy(), getParentForChildren(), isClean());
6218         updatePolicy_ = null;
6219       }
6220       return updatePolicyBuilder_;
6221     }
6222 
6223     private java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerVersion> versions_ =
6224         java.util.Collections.emptyList();
6225 
ensureVersionsIsMutable()6226     private void ensureVersionsIsMutable() {
6227       if (!((bitField0_ & 0x00200000) != 0)) {
6228         versions_ =
6229             new java.util.ArrayList<com.google.cloud.compute.v1.InstanceGroupManagerVersion>(
6230                 versions_);
6231         bitField0_ |= 0x00200000;
6232       }
6233     }
6234 
6235     private com.google.protobuf.RepeatedFieldBuilderV3<
6236             com.google.cloud.compute.v1.InstanceGroupManagerVersion,
6237             com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder,
6238             com.google.cloud.compute.v1.InstanceGroupManagerVersionOrBuilder>
6239         versionsBuilder_;
6240 
6241     /**
6242      *
6243      *
6244      * <pre>
6245      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6246      * </pre>
6247      *
6248      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6249      * </code>
6250      */
6251     public java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerVersion>
getVersionsList()6252         getVersionsList() {
6253       if (versionsBuilder_ == null) {
6254         return java.util.Collections.unmodifiableList(versions_);
6255       } else {
6256         return versionsBuilder_.getMessageList();
6257       }
6258     }
6259     /**
6260      *
6261      *
6262      * <pre>
6263      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6264      * </pre>
6265      *
6266      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6267      * </code>
6268      */
getVersionsCount()6269     public int getVersionsCount() {
6270       if (versionsBuilder_ == null) {
6271         return versions_.size();
6272       } else {
6273         return versionsBuilder_.getCount();
6274       }
6275     }
6276     /**
6277      *
6278      *
6279      * <pre>
6280      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6281      * </pre>
6282      *
6283      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6284      * </code>
6285      */
getVersions(int index)6286     public com.google.cloud.compute.v1.InstanceGroupManagerVersion getVersions(int index) {
6287       if (versionsBuilder_ == null) {
6288         return versions_.get(index);
6289       } else {
6290         return versionsBuilder_.getMessage(index);
6291       }
6292     }
6293     /**
6294      *
6295      *
6296      * <pre>
6297      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6298      * </pre>
6299      *
6300      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6301      * </code>
6302      */
setVersions( int index, com.google.cloud.compute.v1.InstanceGroupManagerVersion value)6303     public Builder setVersions(
6304         int index, com.google.cloud.compute.v1.InstanceGroupManagerVersion value) {
6305       if (versionsBuilder_ == null) {
6306         if (value == null) {
6307           throw new NullPointerException();
6308         }
6309         ensureVersionsIsMutable();
6310         versions_.set(index, value);
6311         onChanged();
6312       } else {
6313         versionsBuilder_.setMessage(index, value);
6314       }
6315       return this;
6316     }
6317     /**
6318      *
6319      *
6320      * <pre>
6321      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6322      * </pre>
6323      *
6324      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6325      * </code>
6326      */
setVersions( int index, com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder builderForValue)6327     public Builder setVersions(
6328         int index,
6329         com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder builderForValue) {
6330       if (versionsBuilder_ == null) {
6331         ensureVersionsIsMutable();
6332         versions_.set(index, builderForValue.build());
6333         onChanged();
6334       } else {
6335         versionsBuilder_.setMessage(index, builderForValue.build());
6336       }
6337       return this;
6338     }
6339     /**
6340      *
6341      *
6342      * <pre>
6343      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6344      * </pre>
6345      *
6346      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6347      * </code>
6348      */
addVersions(com.google.cloud.compute.v1.InstanceGroupManagerVersion value)6349     public Builder addVersions(com.google.cloud.compute.v1.InstanceGroupManagerVersion value) {
6350       if (versionsBuilder_ == null) {
6351         if (value == null) {
6352           throw new NullPointerException();
6353         }
6354         ensureVersionsIsMutable();
6355         versions_.add(value);
6356         onChanged();
6357       } else {
6358         versionsBuilder_.addMessage(value);
6359       }
6360       return this;
6361     }
6362     /**
6363      *
6364      *
6365      * <pre>
6366      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6367      * </pre>
6368      *
6369      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6370      * </code>
6371      */
addVersions( int index, com.google.cloud.compute.v1.InstanceGroupManagerVersion value)6372     public Builder addVersions(
6373         int index, com.google.cloud.compute.v1.InstanceGroupManagerVersion value) {
6374       if (versionsBuilder_ == null) {
6375         if (value == null) {
6376           throw new NullPointerException();
6377         }
6378         ensureVersionsIsMutable();
6379         versions_.add(index, value);
6380         onChanged();
6381       } else {
6382         versionsBuilder_.addMessage(index, value);
6383       }
6384       return this;
6385     }
6386     /**
6387      *
6388      *
6389      * <pre>
6390      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6391      * </pre>
6392      *
6393      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6394      * </code>
6395      */
addVersions( com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder builderForValue)6396     public Builder addVersions(
6397         com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder builderForValue) {
6398       if (versionsBuilder_ == null) {
6399         ensureVersionsIsMutable();
6400         versions_.add(builderForValue.build());
6401         onChanged();
6402       } else {
6403         versionsBuilder_.addMessage(builderForValue.build());
6404       }
6405       return this;
6406     }
6407     /**
6408      *
6409      *
6410      * <pre>
6411      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6412      * </pre>
6413      *
6414      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6415      * </code>
6416      */
addVersions( int index, com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder builderForValue)6417     public Builder addVersions(
6418         int index,
6419         com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder builderForValue) {
6420       if (versionsBuilder_ == null) {
6421         ensureVersionsIsMutable();
6422         versions_.add(index, builderForValue.build());
6423         onChanged();
6424       } else {
6425         versionsBuilder_.addMessage(index, builderForValue.build());
6426       }
6427       return this;
6428     }
6429     /**
6430      *
6431      *
6432      * <pre>
6433      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6434      * </pre>
6435      *
6436      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6437      * </code>
6438      */
addAllVersions( java.lang.Iterable<? extends com.google.cloud.compute.v1.InstanceGroupManagerVersion> values)6439     public Builder addAllVersions(
6440         java.lang.Iterable<? extends com.google.cloud.compute.v1.InstanceGroupManagerVersion>
6441             values) {
6442       if (versionsBuilder_ == null) {
6443         ensureVersionsIsMutable();
6444         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, versions_);
6445         onChanged();
6446       } else {
6447         versionsBuilder_.addAllMessages(values);
6448       }
6449       return this;
6450     }
6451     /**
6452      *
6453      *
6454      * <pre>
6455      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6456      * </pre>
6457      *
6458      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6459      * </code>
6460      */
clearVersions()6461     public Builder clearVersions() {
6462       if (versionsBuilder_ == null) {
6463         versions_ = java.util.Collections.emptyList();
6464         bitField0_ = (bitField0_ & ~0x00200000);
6465         onChanged();
6466       } else {
6467         versionsBuilder_.clear();
6468       }
6469       return this;
6470     }
6471     /**
6472      *
6473      *
6474      * <pre>
6475      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6476      * </pre>
6477      *
6478      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6479      * </code>
6480      */
removeVersions(int index)6481     public Builder removeVersions(int index) {
6482       if (versionsBuilder_ == null) {
6483         ensureVersionsIsMutable();
6484         versions_.remove(index);
6485         onChanged();
6486       } else {
6487         versionsBuilder_.remove(index);
6488       }
6489       return this;
6490     }
6491     /**
6492      *
6493      *
6494      * <pre>
6495      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6496      * </pre>
6497      *
6498      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6499      * </code>
6500      */
getVersionsBuilder( int index)6501     public com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder getVersionsBuilder(
6502         int index) {
6503       return getVersionsFieldBuilder().getBuilder(index);
6504     }
6505     /**
6506      *
6507      *
6508      * <pre>
6509      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6510      * </pre>
6511      *
6512      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6513      * </code>
6514      */
getVersionsOrBuilder( int index)6515     public com.google.cloud.compute.v1.InstanceGroupManagerVersionOrBuilder getVersionsOrBuilder(
6516         int index) {
6517       if (versionsBuilder_ == null) {
6518         return versions_.get(index);
6519       } else {
6520         return versionsBuilder_.getMessageOrBuilder(index);
6521       }
6522     }
6523     /**
6524      *
6525      *
6526      * <pre>
6527      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6528      * </pre>
6529      *
6530      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6531      * </code>
6532      */
6533     public java.util.List<
6534             ? extends com.google.cloud.compute.v1.InstanceGroupManagerVersionOrBuilder>
getVersionsOrBuilderList()6535         getVersionsOrBuilderList() {
6536       if (versionsBuilder_ != null) {
6537         return versionsBuilder_.getMessageOrBuilderList();
6538       } else {
6539         return java.util.Collections.unmodifiableList(versions_);
6540       }
6541     }
6542     /**
6543      *
6544      *
6545      * <pre>
6546      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6547      * </pre>
6548      *
6549      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6550      * </code>
6551      */
addVersionsBuilder()6552     public com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder addVersionsBuilder() {
6553       return getVersionsFieldBuilder()
6554           .addBuilder(com.google.cloud.compute.v1.InstanceGroupManagerVersion.getDefaultInstance());
6555     }
6556     /**
6557      *
6558      *
6559      * <pre>
6560      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6561      * </pre>
6562      *
6563      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6564      * </code>
6565      */
addVersionsBuilder( int index)6566     public com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder addVersionsBuilder(
6567         int index) {
6568       return getVersionsFieldBuilder()
6569           .addBuilder(
6570               index, com.google.cloud.compute.v1.InstanceGroupManagerVersion.getDefaultInstance());
6571     }
6572     /**
6573      *
6574      *
6575      * <pre>
6576      * Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.
6577      * </pre>
6578      *
6579      * <code>repeated .google.cloud.compute.v1.InstanceGroupManagerVersion versions = 162430619;
6580      * </code>
6581      */
6582     public java.util.List<com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder>
getVersionsBuilderList()6583         getVersionsBuilderList() {
6584       return getVersionsFieldBuilder().getBuilderList();
6585     }
6586 
6587     private com.google.protobuf.RepeatedFieldBuilderV3<
6588             com.google.cloud.compute.v1.InstanceGroupManagerVersion,
6589             com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder,
6590             com.google.cloud.compute.v1.InstanceGroupManagerVersionOrBuilder>
getVersionsFieldBuilder()6591         getVersionsFieldBuilder() {
6592       if (versionsBuilder_ == null) {
6593         versionsBuilder_ =
6594             new com.google.protobuf.RepeatedFieldBuilderV3<
6595                 com.google.cloud.compute.v1.InstanceGroupManagerVersion,
6596                 com.google.cloud.compute.v1.InstanceGroupManagerVersion.Builder,
6597                 com.google.cloud.compute.v1.InstanceGroupManagerVersionOrBuilder>(
6598                 versions_, ((bitField0_ & 0x00200000) != 0), getParentForChildren(), isClean());
6599         versions_ = null;
6600       }
6601       return versionsBuilder_;
6602     }
6603 
6604     private java.lang.Object zone_ = "";
6605     /**
6606      *
6607      *
6608      * <pre>
6609      * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
6610      * </pre>
6611      *
6612      * <code>optional string zone = 3744684;</code>
6613      *
6614      * @return Whether the zone field is set.
6615      */
hasZone()6616     public boolean hasZone() {
6617       return ((bitField0_ & 0x00400000) != 0);
6618     }
6619     /**
6620      *
6621      *
6622      * <pre>
6623      * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
6624      * </pre>
6625      *
6626      * <code>optional string zone = 3744684;</code>
6627      *
6628      * @return The zone.
6629      */
getZone()6630     public java.lang.String getZone() {
6631       java.lang.Object ref = zone_;
6632       if (!(ref instanceof java.lang.String)) {
6633         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6634         java.lang.String s = bs.toStringUtf8();
6635         zone_ = s;
6636         return s;
6637       } else {
6638         return (java.lang.String) ref;
6639       }
6640     }
6641     /**
6642      *
6643      *
6644      * <pre>
6645      * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
6646      * </pre>
6647      *
6648      * <code>optional string zone = 3744684;</code>
6649      *
6650      * @return The bytes for zone.
6651      */
getZoneBytes()6652     public com.google.protobuf.ByteString getZoneBytes() {
6653       java.lang.Object ref = zone_;
6654       if (ref instanceof String) {
6655         com.google.protobuf.ByteString b =
6656             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6657         zone_ = b;
6658         return b;
6659       } else {
6660         return (com.google.protobuf.ByteString) ref;
6661       }
6662     }
6663     /**
6664      *
6665      *
6666      * <pre>
6667      * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
6668      * </pre>
6669      *
6670      * <code>optional string zone = 3744684;</code>
6671      *
6672      * @param value The zone to set.
6673      * @return This builder for chaining.
6674      */
setZone(java.lang.String value)6675     public Builder setZone(java.lang.String value) {
6676       if (value == null) {
6677         throw new NullPointerException();
6678       }
6679       zone_ = value;
6680       bitField0_ |= 0x00400000;
6681       onChanged();
6682       return this;
6683     }
6684     /**
6685      *
6686      *
6687      * <pre>
6688      * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
6689      * </pre>
6690      *
6691      * <code>optional string zone = 3744684;</code>
6692      *
6693      * @return This builder for chaining.
6694      */
clearZone()6695     public Builder clearZone() {
6696       zone_ = getDefaultInstance().getZone();
6697       bitField0_ = (bitField0_ & ~0x00400000);
6698       onChanged();
6699       return this;
6700     }
6701     /**
6702      *
6703      *
6704      * <pre>
6705      * [Output Only] The URL of a zone where the managed instance group is located (for zonal resources).
6706      * </pre>
6707      *
6708      * <code>optional string zone = 3744684;</code>
6709      *
6710      * @param value The bytes for zone to set.
6711      * @return This builder for chaining.
6712      */
setZoneBytes(com.google.protobuf.ByteString value)6713     public Builder setZoneBytes(com.google.protobuf.ByteString value) {
6714       if (value == null) {
6715         throw new NullPointerException();
6716       }
6717       checkByteStringIsUtf8(value);
6718       zone_ = value;
6719       bitField0_ |= 0x00400000;
6720       onChanged();
6721       return this;
6722     }
6723 
6724     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)6725     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
6726       return super.setUnknownFields(unknownFields);
6727     }
6728 
6729     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)6730     public final Builder mergeUnknownFields(
6731         final com.google.protobuf.UnknownFieldSet unknownFields) {
6732       return super.mergeUnknownFields(unknownFields);
6733     }
6734 
6735     // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.InstanceGroupManager)
6736   }
6737 
6738   // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.InstanceGroupManager)
6739   private static final com.google.cloud.compute.v1.InstanceGroupManager DEFAULT_INSTANCE;
6740 
6741   static {
6742     DEFAULT_INSTANCE = new com.google.cloud.compute.v1.InstanceGroupManager();
6743   }
6744 
getDefaultInstance()6745   public static com.google.cloud.compute.v1.InstanceGroupManager getDefaultInstance() {
6746     return DEFAULT_INSTANCE;
6747   }
6748 
6749   private static final com.google.protobuf.Parser<InstanceGroupManager> PARSER =
6750       new com.google.protobuf.AbstractParser<InstanceGroupManager>() {
6751         @java.lang.Override
6752         public InstanceGroupManager parsePartialFrom(
6753             com.google.protobuf.CodedInputStream input,
6754             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6755             throws com.google.protobuf.InvalidProtocolBufferException {
6756           Builder builder = newBuilder();
6757           try {
6758             builder.mergeFrom(input, extensionRegistry);
6759           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6760             throw e.setUnfinishedMessage(builder.buildPartial());
6761           } catch (com.google.protobuf.UninitializedMessageException e) {
6762             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
6763           } catch (java.io.IOException e) {
6764             throw new com.google.protobuf.InvalidProtocolBufferException(e)
6765                 .setUnfinishedMessage(builder.buildPartial());
6766           }
6767           return builder.buildPartial();
6768         }
6769       };
6770 
parser()6771   public static com.google.protobuf.Parser<InstanceGroupManager> parser() {
6772     return PARSER;
6773   }
6774 
6775   @java.lang.Override
getParserForType()6776   public com.google.protobuf.Parser<InstanceGroupManager> getParserForType() {
6777     return PARSER;
6778   }
6779 
6780   @java.lang.Override
getDefaultInstanceForType()6781   public com.google.cloud.compute.v1.InstanceGroupManager getDefaultInstanceForType() {
6782     return DEFAULT_INSTANCE;
6783   }
6784 }
6785