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 an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.compute.v1.Instance}
29  */
30 public final class Instance extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.Instance)
33     InstanceOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use Instance.newBuilder() to construct.
Instance(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private Instance(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
Instance()40   private Instance() {
41     cpuPlatform_ = "";
42     creationTimestamp_ = "";
43     description_ = "";
44     disks_ = java.util.Collections.emptyList();
45     fingerprint_ = "";
46     guestAccelerators_ = java.util.Collections.emptyList();
47     hostname_ = "";
48     keyRevocationActionType_ = "";
49     kind_ = "";
50     labelFingerprint_ = "";
51     lastStartTimestamp_ = "";
52     lastStopTimestamp_ = "";
53     lastSuspendedTimestamp_ = "";
54     machineType_ = "";
55     minCpuPlatform_ = "";
56     name_ = "";
57     networkInterfaces_ = java.util.Collections.emptyList();
58     privateIpv6GoogleAccess_ = "";
59     resourcePolicies_ = com.google.protobuf.LazyStringArrayList.EMPTY;
60     selfLink_ = "";
61     serviceAccounts_ = java.util.Collections.emptyList();
62     sourceMachineImage_ = "";
63     status_ = "";
64     statusMessage_ = "";
65     zone_ = "";
66   }
67 
68   @java.lang.Override
69   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)70   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
71     return new Instance();
72   }
73 
74   @java.lang.Override
getUnknownFields()75   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
76     return this.unknownFields;
77   }
78 
getDescriptor()79   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
80     return com.google.cloud.compute.v1.Compute
81         .internal_static_google_cloud_compute_v1_Instance_descriptor;
82   }
83 
84   @SuppressWarnings({"rawtypes"})
85   @java.lang.Override
internalGetMapField(int number)86   protected com.google.protobuf.MapField internalGetMapField(int number) {
87     switch (number) {
88       case 500195327:
89         return internalGetLabels();
90       default:
91         throw new RuntimeException("Invalid map field number: " + number);
92     }
93   }
94 
95   @java.lang.Override
96   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()97       internalGetFieldAccessorTable() {
98     return com.google.cloud.compute.v1.Compute
99         .internal_static_google_cloud_compute_v1_Instance_fieldAccessorTable
100         .ensureFieldAccessorsInitialized(
101             com.google.cloud.compute.v1.Instance.class,
102             com.google.cloud.compute.v1.Instance.Builder.class);
103   }
104 
105   /**
106    *
107    *
108    * <pre>
109    * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
110    * </pre>
111    *
112    * Protobuf enum {@code google.cloud.compute.v1.Instance.KeyRevocationActionType}
113    */
114   public enum KeyRevocationActionType implements com.google.protobuf.ProtocolMessageEnum {
115     /**
116      *
117      *
118      * <pre>
119      * A value indicating that the enum field is not set.
120      * </pre>
121      *
122      * <code>UNDEFINED_KEY_REVOCATION_ACTION_TYPE = 0;</code>
123      */
124     UNDEFINED_KEY_REVOCATION_ACTION_TYPE(0),
125     /**
126      *
127      *
128      * <pre>
129      * Default value. This value is unused.
130      * </pre>
131      *
132      * <code>KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED = 467110106;</code>
133      */
134     KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED(467110106),
135     /**
136      *
137      *
138      * <pre>
139      * Indicates user chose no operation.
140      * </pre>
141      *
142      * <code>NONE = 2402104;</code>
143      */
144     NONE(2402104),
145     /**
146      *
147      *
148      * <pre>
149      * Indicates user chose to opt for VM shutdown on key revocation.
150      * </pre>
151      *
152      * <code>STOP = 2555906;</code>
153      */
154     STOP(2555906),
155     UNRECOGNIZED(-1),
156     ;
157 
158     /**
159      *
160      *
161      * <pre>
162      * A value indicating that the enum field is not set.
163      * </pre>
164      *
165      * <code>UNDEFINED_KEY_REVOCATION_ACTION_TYPE = 0;</code>
166      */
167     public static final int UNDEFINED_KEY_REVOCATION_ACTION_TYPE_VALUE = 0;
168     /**
169      *
170      *
171      * <pre>
172      * Default value. This value is unused.
173      * </pre>
174      *
175      * <code>KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED = 467110106;</code>
176      */
177     public static final int KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED_VALUE = 467110106;
178     /**
179      *
180      *
181      * <pre>
182      * Indicates user chose no operation.
183      * </pre>
184      *
185      * <code>NONE = 2402104;</code>
186      */
187     public static final int NONE_VALUE = 2402104;
188     /**
189      *
190      *
191      * <pre>
192      * Indicates user chose to opt for VM shutdown on key revocation.
193      * </pre>
194      *
195      * <code>STOP = 2555906;</code>
196      */
197     public static final int STOP_VALUE = 2555906;
198 
getNumber()199     public final int getNumber() {
200       if (this == UNRECOGNIZED) {
201         throw new java.lang.IllegalArgumentException(
202             "Can't get the number of an unknown enum value.");
203       }
204       return value;
205     }
206 
207     /**
208      * @param value The numeric wire value of the corresponding enum entry.
209      * @return The enum associated with the given numeric wire value.
210      * @deprecated Use {@link #forNumber(int)} instead.
211      */
212     @java.lang.Deprecated
valueOf(int value)213     public static KeyRevocationActionType valueOf(int value) {
214       return forNumber(value);
215     }
216 
217     /**
218      * @param value The numeric wire value of the corresponding enum entry.
219      * @return The enum associated with the given numeric wire value.
220      */
forNumber(int value)221     public static KeyRevocationActionType forNumber(int value) {
222       switch (value) {
223         case 0:
224           return UNDEFINED_KEY_REVOCATION_ACTION_TYPE;
225         case 467110106:
226           return KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED;
227         case 2402104:
228           return NONE;
229         case 2555906:
230           return STOP;
231         default:
232           return null;
233       }
234     }
235 
236     public static com.google.protobuf.Internal.EnumLiteMap<KeyRevocationActionType>
internalGetValueMap()237         internalGetValueMap() {
238       return internalValueMap;
239     }
240 
241     private static final com.google.protobuf.Internal.EnumLiteMap<KeyRevocationActionType>
242         internalValueMap =
243             new com.google.protobuf.Internal.EnumLiteMap<KeyRevocationActionType>() {
244               public KeyRevocationActionType findValueByNumber(int number) {
245                 return KeyRevocationActionType.forNumber(number);
246               }
247             };
248 
getValueDescriptor()249     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
250       if (this == UNRECOGNIZED) {
251         throw new java.lang.IllegalStateException(
252             "Can't get the descriptor of an unrecognized enum value.");
253       }
254       return getDescriptor().getValues().get(ordinal());
255     }
256 
getDescriptorForType()257     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
258       return getDescriptor();
259     }
260 
getDescriptor()261     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
262       return com.google.cloud.compute.v1.Instance.getDescriptor().getEnumTypes().get(0);
263     }
264 
265     private static final KeyRevocationActionType[] VALUES = values();
266 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)267     public static KeyRevocationActionType valueOf(
268         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
269       if (desc.getType() != getDescriptor()) {
270         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
271       }
272       if (desc.getIndex() == -1) {
273         return UNRECOGNIZED;
274       }
275       return VALUES[desc.getIndex()];
276     }
277 
278     private final int value;
279 
KeyRevocationActionType(int value)280     private KeyRevocationActionType(int value) {
281       this.value = value;
282     }
283 
284     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.Instance.KeyRevocationActionType)
285   }
286 
287   /**
288    *
289    *
290    * <pre>
291    * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
292    * </pre>
293    *
294    * Protobuf enum {@code google.cloud.compute.v1.Instance.PrivateIpv6GoogleAccess}
295    */
296   public enum PrivateIpv6GoogleAccess implements com.google.protobuf.ProtocolMessageEnum {
297     /**
298      *
299      *
300      * <pre>
301      * A value indicating that the enum field is not set.
302      * </pre>
303      *
304      * <code>UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0;</code>
305      */
306     UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS(0),
307     /**
308      *
309      *
310      * <pre>
311      * Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.
312      * </pre>
313      *
314      * <code>ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427975994;</code>
315      */
316     ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE(427975994),
317     /**
318      *
319      *
320      * <pre>
321      * Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.
322      * </pre>
323      *
324      * <code>ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288210263;</code>
325      */
326     ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE(288210263),
327     /**
328      *
329      *
330      * <pre>
331      * Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.
332      * </pre>
333      *
334      * <code>INHERIT_FROM_SUBNETWORK = 530256959;</code>
335      */
336     INHERIT_FROM_SUBNETWORK(530256959),
337     UNRECOGNIZED(-1),
338     ;
339 
340     /**
341      *
342      *
343      * <pre>
344      * A value indicating that the enum field is not set.
345      * </pre>
346      *
347      * <code>UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0;</code>
348      */
349     public static final int UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS_VALUE = 0;
350     /**
351      *
352      *
353      * <pre>
354      * Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.
355      * </pre>
356      *
357      * <code>ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427975994;</code>
358      */
359     public static final int ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_VALUE = 427975994;
360     /**
361      *
362      *
363      * <pre>
364      * Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.
365      * </pre>
366      *
367      * <code>ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288210263;</code>
368      */
369     public static final int ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_VALUE = 288210263;
370     /**
371      *
372      *
373      * <pre>
374      * Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.
375      * </pre>
376      *
377      * <code>INHERIT_FROM_SUBNETWORK = 530256959;</code>
378      */
379     public static final int INHERIT_FROM_SUBNETWORK_VALUE = 530256959;
380 
getNumber()381     public final int getNumber() {
382       if (this == UNRECOGNIZED) {
383         throw new java.lang.IllegalArgumentException(
384             "Can't get the number of an unknown enum value.");
385       }
386       return value;
387     }
388 
389     /**
390      * @param value The numeric wire value of the corresponding enum entry.
391      * @return The enum associated with the given numeric wire value.
392      * @deprecated Use {@link #forNumber(int)} instead.
393      */
394     @java.lang.Deprecated
valueOf(int value)395     public static PrivateIpv6GoogleAccess valueOf(int value) {
396       return forNumber(value);
397     }
398 
399     /**
400      * @param value The numeric wire value of the corresponding enum entry.
401      * @return The enum associated with the given numeric wire value.
402      */
forNumber(int value)403     public static PrivateIpv6GoogleAccess forNumber(int value) {
404       switch (value) {
405         case 0:
406           return UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS;
407         case 427975994:
408           return ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE;
409         case 288210263:
410           return ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE;
411         case 530256959:
412           return INHERIT_FROM_SUBNETWORK;
413         default:
414           return null;
415       }
416     }
417 
418     public static com.google.protobuf.Internal.EnumLiteMap<PrivateIpv6GoogleAccess>
internalGetValueMap()419         internalGetValueMap() {
420       return internalValueMap;
421     }
422 
423     private static final com.google.protobuf.Internal.EnumLiteMap<PrivateIpv6GoogleAccess>
424         internalValueMap =
425             new com.google.protobuf.Internal.EnumLiteMap<PrivateIpv6GoogleAccess>() {
426               public PrivateIpv6GoogleAccess findValueByNumber(int number) {
427                 return PrivateIpv6GoogleAccess.forNumber(number);
428               }
429             };
430 
getValueDescriptor()431     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
432       if (this == UNRECOGNIZED) {
433         throw new java.lang.IllegalStateException(
434             "Can't get the descriptor of an unrecognized enum value.");
435       }
436       return getDescriptor().getValues().get(ordinal());
437     }
438 
getDescriptorForType()439     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
440       return getDescriptor();
441     }
442 
getDescriptor()443     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
444       return com.google.cloud.compute.v1.Instance.getDescriptor().getEnumTypes().get(1);
445     }
446 
447     private static final PrivateIpv6GoogleAccess[] VALUES = values();
448 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)449     public static PrivateIpv6GoogleAccess valueOf(
450         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
451       if (desc.getType() != getDescriptor()) {
452         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
453       }
454       if (desc.getIndex() == -1) {
455         return UNRECOGNIZED;
456       }
457       return VALUES[desc.getIndex()];
458     }
459 
460     private final int value;
461 
PrivateIpv6GoogleAccess(int value)462     private PrivateIpv6GoogleAccess(int value) {
463       this.value = value;
464     }
465 
466     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.Instance.PrivateIpv6GoogleAccess)
467   }
468 
469   /**
470    *
471    *
472    * <pre>
473    * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
474    * </pre>
475    *
476    * Protobuf enum {@code google.cloud.compute.v1.Instance.Status}
477    */
478   public enum Status implements com.google.protobuf.ProtocolMessageEnum {
479     /**
480      *
481      *
482      * <pre>
483      * A value indicating that the enum field is not set.
484      * </pre>
485      *
486      * <code>UNDEFINED_STATUS = 0;</code>
487      */
488     UNDEFINED_STATUS(0),
489     /**
490      *
491      *
492      * <pre>
493      * The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
494      * </pre>
495      *
496      * <code>DEPROVISIONING = 428935662;</code>
497      */
498     DEPROVISIONING(428935662),
499     /**
500      *
501      *
502      * <pre>
503      * Resources are being allocated for the instance.
504      * </pre>
505      *
506      * <code>PROVISIONING = 290896621;</code>
507      */
508     PROVISIONING(290896621),
509     /**
510      *
511      *
512      * <pre>
513      * The instance is in repair.
514      * </pre>
515      *
516      * <code>REPAIRING = 413483285;</code>
517      */
518     REPAIRING(413483285),
519     /**
520      *
521      *
522      * <pre>
523      * The instance is running.
524      * </pre>
525      *
526      * <code>RUNNING = 121282975;</code>
527      */
528     RUNNING(121282975),
529     /**
530      *
531      *
532      * <pre>
533      * All required resources have been allocated and the instance is being started.
534      * </pre>
535      *
536      * <code>STAGING = 431072283;</code>
537      */
538     STAGING(431072283),
539     /**
540      *
541      *
542      * <pre>
543      * The instance has stopped successfully.
544      * </pre>
545      *
546      * <code>STOPPED = 444276141;</code>
547      */
548     STOPPED(444276141),
549     /**
550      *
551      *
552      * <pre>
553      * The instance is currently stopping (either being deleted or killed).
554      * </pre>
555      *
556      * <code>STOPPING = 350791796;</code>
557      */
558     STOPPING(350791796),
559     /**
560      *
561      *
562      * <pre>
563      * The instance has suspended.
564      * </pre>
565      *
566      * <code>SUSPENDED = 51223995;</code>
567      */
568     SUSPENDED(51223995),
569     /**
570      *
571      *
572      * <pre>
573      * The instance is suspending.
574      * </pre>
575      *
576      * <code>SUSPENDING = 514206246;</code>
577      */
578     SUSPENDING(514206246),
579     /**
580      *
581      *
582      * <pre>
583      * The instance has stopped (either by explicit action or underlying failure).
584      * </pre>
585      *
586      * <code>TERMINATED = 250018339;</code>
587      */
588     TERMINATED(250018339),
589     UNRECOGNIZED(-1),
590     ;
591 
592     /**
593      *
594      *
595      * <pre>
596      * A value indicating that the enum field is not set.
597      * </pre>
598      *
599      * <code>UNDEFINED_STATUS = 0;</code>
600      */
601     public static final int UNDEFINED_STATUS_VALUE = 0;
602     /**
603      *
604      *
605      * <pre>
606      * The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
607      * </pre>
608      *
609      * <code>DEPROVISIONING = 428935662;</code>
610      */
611     public static final int DEPROVISIONING_VALUE = 428935662;
612     /**
613      *
614      *
615      * <pre>
616      * Resources are being allocated for the instance.
617      * </pre>
618      *
619      * <code>PROVISIONING = 290896621;</code>
620      */
621     public static final int PROVISIONING_VALUE = 290896621;
622     /**
623      *
624      *
625      * <pre>
626      * The instance is in repair.
627      * </pre>
628      *
629      * <code>REPAIRING = 413483285;</code>
630      */
631     public static final int REPAIRING_VALUE = 413483285;
632     /**
633      *
634      *
635      * <pre>
636      * The instance is running.
637      * </pre>
638      *
639      * <code>RUNNING = 121282975;</code>
640      */
641     public static final int RUNNING_VALUE = 121282975;
642     /**
643      *
644      *
645      * <pre>
646      * All required resources have been allocated and the instance is being started.
647      * </pre>
648      *
649      * <code>STAGING = 431072283;</code>
650      */
651     public static final int STAGING_VALUE = 431072283;
652     /**
653      *
654      *
655      * <pre>
656      * The instance has stopped successfully.
657      * </pre>
658      *
659      * <code>STOPPED = 444276141;</code>
660      */
661     public static final int STOPPED_VALUE = 444276141;
662     /**
663      *
664      *
665      * <pre>
666      * The instance is currently stopping (either being deleted or killed).
667      * </pre>
668      *
669      * <code>STOPPING = 350791796;</code>
670      */
671     public static final int STOPPING_VALUE = 350791796;
672     /**
673      *
674      *
675      * <pre>
676      * The instance has suspended.
677      * </pre>
678      *
679      * <code>SUSPENDED = 51223995;</code>
680      */
681     public static final int SUSPENDED_VALUE = 51223995;
682     /**
683      *
684      *
685      * <pre>
686      * The instance is suspending.
687      * </pre>
688      *
689      * <code>SUSPENDING = 514206246;</code>
690      */
691     public static final int SUSPENDING_VALUE = 514206246;
692     /**
693      *
694      *
695      * <pre>
696      * The instance has stopped (either by explicit action or underlying failure).
697      * </pre>
698      *
699      * <code>TERMINATED = 250018339;</code>
700      */
701     public static final int TERMINATED_VALUE = 250018339;
702 
getNumber()703     public final int getNumber() {
704       if (this == UNRECOGNIZED) {
705         throw new java.lang.IllegalArgumentException(
706             "Can't get the number of an unknown enum value.");
707       }
708       return value;
709     }
710 
711     /**
712      * @param value The numeric wire value of the corresponding enum entry.
713      * @return The enum associated with the given numeric wire value.
714      * @deprecated Use {@link #forNumber(int)} instead.
715      */
716     @java.lang.Deprecated
valueOf(int value)717     public static Status valueOf(int value) {
718       return forNumber(value);
719     }
720 
721     /**
722      * @param value The numeric wire value of the corresponding enum entry.
723      * @return The enum associated with the given numeric wire value.
724      */
forNumber(int value)725     public static Status forNumber(int value) {
726       switch (value) {
727         case 0:
728           return UNDEFINED_STATUS;
729         case 428935662:
730           return DEPROVISIONING;
731         case 290896621:
732           return PROVISIONING;
733         case 413483285:
734           return REPAIRING;
735         case 121282975:
736           return RUNNING;
737         case 431072283:
738           return STAGING;
739         case 444276141:
740           return STOPPED;
741         case 350791796:
742           return STOPPING;
743         case 51223995:
744           return SUSPENDED;
745         case 514206246:
746           return SUSPENDING;
747         case 250018339:
748           return TERMINATED;
749         default:
750           return null;
751       }
752     }
753 
internalGetValueMap()754     public static com.google.protobuf.Internal.EnumLiteMap<Status> internalGetValueMap() {
755       return internalValueMap;
756     }
757 
758     private static final com.google.protobuf.Internal.EnumLiteMap<Status> internalValueMap =
759         new com.google.protobuf.Internal.EnumLiteMap<Status>() {
760           public Status findValueByNumber(int number) {
761             return Status.forNumber(number);
762           }
763         };
764 
getValueDescriptor()765     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
766       if (this == UNRECOGNIZED) {
767         throw new java.lang.IllegalStateException(
768             "Can't get the descriptor of an unrecognized enum value.");
769       }
770       return getDescriptor().getValues().get(ordinal());
771     }
772 
getDescriptorForType()773     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
774       return getDescriptor();
775     }
776 
getDescriptor()777     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
778       return com.google.cloud.compute.v1.Instance.getDescriptor().getEnumTypes().get(2);
779     }
780 
781     private static final Status[] VALUES = values();
782 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)783     public static Status valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
784       if (desc.getType() != getDescriptor()) {
785         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
786       }
787       if (desc.getIndex() == -1) {
788         return UNRECOGNIZED;
789       }
790       return VALUES[desc.getIndex()];
791     }
792 
793     private final int value;
794 
Status(int value)795     private Status(int value) {
796       this.value = value;
797     }
798 
799     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.Instance.Status)
800   }
801 
802   private int bitField0_;
803   private int bitField1_;
804   public static final int ADVANCED_MACHINE_FEATURES_FIELD_NUMBER = 409646002;
805   private com.google.cloud.compute.v1.AdvancedMachineFeatures advancedMachineFeatures_;
806   /**
807    *
808    *
809    * <pre>
810    * Controls for advanced machine-related behavior features.
811    * </pre>
812    *
813    * <code>
814    * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
815    * </code>
816    *
817    * @return Whether the advancedMachineFeatures field is set.
818    */
819   @java.lang.Override
hasAdvancedMachineFeatures()820   public boolean hasAdvancedMachineFeatures() {
821     return ((bitField0_ & 0x00000001) != 0);
822   }
823   /**
824    *
825    *
826    * <pre>
827    * Controls for advanced machine-related behavior features.
828    * </pre>
829    *
830    * <code>
831    * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
832    * </code>
833    *
834    * @return The advancedMachineFeatures.
835    */
836   @java.lang.Override
getAdvancedMachineFeatures()837   public com.google.cloud.compute.v1.AdvancedMachineFeatures getAdvancedMachineFeatures() {
838     return advancedMachineFeatures_ == null
839         ? com.google.cloud.compute.v1.AdvancedMachineFeatures.getDefaultInstance()
840         : advancedMachineFeatures_;
841   }
842   /**
843    *
844    *
845    * <pre>
846    * Controls for advanced machine-related behavior features.
847    * </pre>
848    *
849    * <code>
850    * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
851    * </code>
852    */
853   @java.lang.Override
854   public com.google.cloud.compute.v1.AdvancedMachineFeaturesOrBuilder
getAdvancedMachineFeaturesOrBuilder()855       getAdvancedMachineFeaturesOrBuilder() {
856     return advancedMachineFeatures_ == null
857         ? com.google.cloud.compute.v1.AdvancedMachineFeatures.getDefaultInstance()
858         : advancedMachineFeatures_;
859   }
860 
861   public static final int CAN_IP_FORWARD_FIELD_NUMBER = 467731324;
862   private boolean canIpForward_ = false;
863   /**
864    *
865    *
866    * <pre>
867    * Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .
868    * </pre>
869    *
870    * <code>optional bool can_ip_forward = 467731324;</code>
871    *
872    * @return Whether the canIpForward field is set.
873    */
874   @java.lang.Override
hasCanIpForward()875   public boolean hasCanIpForward() {
876     return ((bitField0_ & 0x00000002) != 0);
877   }
878   /**
879    *
880    *
881    * <pre>
882    * Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .
883    * </pre>
884    *
885    * <code>optional bool can_ip_forward = 467731324;</code>
886    *
887    * @return The canIpForward.
888    */
889   @java.lang.Override
getCanIpForward()890   public boolean getCanIpForward() {
891     return canIpForward_;
892   }
893 
894   public static final int CONFIDENTIAL_INSTANCE_CONFIG_FIELD_NUMBER = 490637685;
895   private com.google.cloud.compute.v1.ConfidentialInstanceConfig confidentialInstanceConfig_;
896   /**
897    * <code>
898    * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
899    * </code>
900    *
901    * @return Whether the confidentialInstanceConfig field is set.
902    */
903   @java.lang.Override
hasConfidentialInstanceConfig()904   public boolean hasConfidentialInstanceConfig() {
905     return ((bitField0_ & 0x00000004) != 0);
906   }
907   /**
908    * <code>
909    * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
910    * </code>
911    *
912    * @return The confidentialInstanceConfig.
913    */
914   @java.lang.Override
getConfidentialInstanceConfig()915   public com.google.cloud.compute.v1.ConfidentialInstanceConfig getConfidentialInstanceConfig() {
916     return confidentialInstanceConfig_ == null
917         ? com.google.cloud.compute.v1.ConfidentialInstanceConfig.getDefaultInstance()
918         : confidentialInstanceConfig_;
919   }
920   /**
921    * <code>
922    * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
923    * </code>
924    */
925   @java.lang.Override
926   public com.google.cloud.compute.v1.ConfidentialInstanceConfigOrBuilder
getConfidentialInstanceConfigOrBuilder()927       getConfidentialInstanceConfigOrBuilder() {
928     return confidentialInstanceConfig_ == null
929         ? com.google.cloud.compute.v1.ConfidentialInstanceConfig.getDefaultInstance()
930         : confidentialInstanceConfig_;
931   }
932 
933   public static final int CPU_PLATFORM_FIELD_NUMBER = 410285354;
934 
935   @SuppressWarnings("serial")
936   private volatile java.lang.Object cpuPlatform_ = "";
937   /**
938    *
939    *
940    * <pre>
941    * [Output Only] The CPU platform used by this instance.
942    * </pre>
943    *
944    * <code>optional string cpu_platform = 410285354;</code>
945    *
946    * @return Whether the cpuPlatform field is set.
947    */
948   @java.lang.Override
hasCpuPlatform()949   public boolean hasCpuPlatform() {
950     return ((bitField0_ & 0x00000008) != 0);
951   }
952   /**
953    *
954    *
955    * <pre>
956    * [Output Only] The CPU platform used by this instance.
957    * </pre>
958    *
959    * <code>optional string cpu_platform = 410285354;</code>
960    *
961    * @return The cpuPlatform.
962    */
963   @java.lang.Override
getCpuPlatform()964   public java.lang.String getCpuPlatform() {
965     java.lang.Object ref = cpuPlatform_;
966     if (ref instanceof java.lang.String) {
967       return (java.lang.String) ref;
968     } else {
969       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
970       java.lang.String s = bs.toStringUtf8();
971       cpuPlatform_ = s;
972       return s;
973     }
974   }
975   /**
976    *
977    *
978    * <pre>
979    * [Output Only] The CPU platform used by this instance.
980    * </pre>
981    *
982    * <code>optional string cpu_platform = 410285354;</code>
983    *
984    * @return The bytes for cpuPlatform.
985    */
986   @java.lang.Override
getCpuPlatformBytes()987   public com.google.protobuf.ByteString getCpuPlatformBytes() {
988     java.lang.Object ref = cpuPlatform_;
989     if (ref instanceof java.lang.String) {
990       com.google.protobuf.ByteString b =
991           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
992       cpuPlatform_ = b;
993       return b;
994     } else {
995       return (com.google.protobuf.ByteString) ref;
996     }
997   }
998 
999   public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 30525366;
1000 
1001   @SuppressWarnings("serial")
1002   private volatile java.lang.Object creationTimestamp_ = "";
1003   /**
1004    *
1005    *
1006    * <pre>
1007    * [Output Only] Creation timestamp in RFC3339 text format.
1008    * </pre>
1009    *
1010    * <code>optional string creation_timestamp = 30525366;</code>
1011    *
1012    * @return Whether the creationTimestamp field is set.
1013    */
1014   @java.lang.Override
hasCreationTimestamp()1015   public boolean hasCreationTimestamp() {
1016     return ((bitField0_ & 0x00000010) != 0);
1017   }
1018   /**
1019    *
1020    *
1021    * <pre>
1022    * [Output Only] Creation timestamp in RFC3339 text format.
1023    * </pre>
1024    *
1025    * <code>optional string creation_timestamp = 30525366;</code>
1026    *
1027    * @return The creationTimestamp.
1028    */
1029   @java.lang.Override
getCreationTimestamp()1030   public java.lang.String getCreationTimestamp() {
1031     java.lang.Object ref = creationTimestamp_;
1032     if (ref instanceof java.lang.String) {
1033       return (java.lang.String) ref;
1034     } else {
1035       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1036       java.lang.String s = bs.toStringUtf8();
1037       creationTimestamp_ = s;
1038       return s;
1039     }
1040   }
1041   /**
1042    *
1043    *
1044    * <pre>
1045    * [Output Only] Creation timestamp in RFC3339 text format.
1046    * </pre>
1047    *
1048    * <code>optional string creation_timestamp = 30525366;</code>
1049    *
1050    * @return The bytes for creationTimestamp.
1051    */
1052   @java.lang.Override
getCreationTimestampBytes()1053   public com.google.protobuf.ByteString getCreationTimestampBytes() {
1054     java.lang.Object ref = creationTimestamp_;
1055     if (ref instanceof java.lang.String) {
1056       com.google.protobuf.ByteString b =
1057           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1058       creationTimestamp_ = b;
1059       return b;
1060     } else {
1061       return (com.google.protobuf.ByteString) ref;
1062     }
1063   }
1064 
1065   public static final int DELETION_PROTECTION_FIELD_NUMBER = 458014698;
1066   private boolean deletionProtection_ = false;
1067   /**
1068    *
1069    *
1070    * <pre>
1071    * Whether the resource should be protected against deletion.
1072    * </pre>
1073    *
1074    * <code>optional bool deletion_protection = 458014698;</code>
1075    *
1076    * @return Whether the deletionProtection field is set.
1077    */
1078   @java.lang.Override
hasDeletionProtection()1079   public boolean hasDeletionProtection() {
1080     return ((bitField0_ & 0x00000020) != 0);
1081   }
1082   /**
1083    *
1084    *
1085    * <pre>
1086    * Whether the resource should be protected against deletion.
1087    * </pre>
1088    *
1089    * <code>optional bool deletion_protection = 458014698;</code>
1090    *
1091    * @return The deletionProtection.
1092    */
1093   @java.lang.Override
getDeletionProtection()1094   public boolean getDeletionProtection() {
1095     return deletionProtection_;
1096   }
1097 
1098   public static final int DESCRIPTION_FIELD_NUMBER = 422937596;
1099 
1100   @SuppressWarnings("serial")
1101   private volatile java.lang.Object description_ = "";
1102   /**
1103    *
1104    *
1105    * <pre>
1106    * An optional description of this resource. Provide this property when you create the resource.
1107    * </pre>
1108    *
1109    * <code>optional string description = 422937596;</code>
1110    *
1111    * @return Whether the description field is set.
1112    */
1113   @java.lang.Override
hasDescription()1114   public boolean hasDescription() {
1115     return ((bitField0_ & 0x00000040) != 0);
1116   }
1117   /**
1118    *
1119    *
1120    * <pre>
1121    * An optional description of this resource. Provide this property when you create the resource.
1122    * </pre>
1123    *
1124    * <code>optional string description = 422937596;</code>
1125    *
1126    * @return The description.
1127    */
1128   @java.lang.Override
getDescription()1129   public java.lang.String getDescription() {
1130     java.lang.Object ref = description_;
1131     if (ref instanceof java.lang.String) {
1132       return (java.lang.String) ref;
1133     } else {
1134       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1135       java.lang.String s = bs.toStringUtf8();
1136       description_ = s;
1137       return s;
1138     }
1139   }
1140   /**
1141    *
1142    *
1143    * <pre>
1144    * An optional description of this resource. Provide this property when you create the resource.
1145    * </pre>
1146    *
1147    * <code>optional string description = 422937596;</code>
1148    *
1149    * @return The bytes for description.
1150    */
1151   @java.lang.Override
getDescriptionBytes()1152   public com.google.protobuf.ByteString getDescriptionBytes() {
1153     java.lang.Object ref = description_;
1154     if (ref instanceof java.lang.String) {
1155       com.google.protobuf.ByteString b =
1156           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1157       description_ = b;
1158       return b;
1159     } else {
1160       return (com.google.protobuf.ByteString) ref;
1161     }
1162   }
1163 
1164   public static final int DISKS_FIELD_NUMBER = 95594102;
1165 
1166   @SuppressWarnings("serial")
1167   private java.util.List<com.google.cloud.compute.v1.AttachedDisk> disks_;
1168   /**
1169    *
1170    *
1171    * <pre>
1172    * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
1173    * </pre>
1174    *
1175    * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
1176    */
1177   @java.lang.Override
getDisksList()1178   public java.util.List<com.google.cloud.compute.v1.AttachedDisk> getDisksList() {
1179     return disks_;
1180   }
1181   /**
1182    *
1183    *
1184    * <pre>
1185    * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
1186    * </pre>
1187    *
1188    * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
1189    */
1190   @java.lang.Override
1191   public java.util.List<? extends com.google.cloud.compute.v1.AttachedDiskOrBuilder>
getDisksOrBuilderList()1192       getDisksOrBuilderList() {
1193     return disks_;
1194   }
1195   /**
1196    *
1197    *
1198    * <pre>
1199    * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
1200    * </pre>
1201    *
1202    * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
1203    */
1204   @java.lang.Override
getDisksCount()1205   public int getDisksCount() {
1206     return disks_.size();
1207   }
1208   /**
1209    *
1210    *
1211    * <pre>
1212    * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
1213    * </pre>
1214    *
1215    * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
1216    */
1217   @java.lang.Override
getDisks(int index)1218   public com.google.cloud.compute.v1.AttachedDisk getDisks(int index) {
1219     return disks_.get(index);
1220   }
1221   /**
1222    *
1223    *
1224    * <pre>
1225    * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
1226    * </pre>
1227    *
1228    * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
1229    */
1230   @java.lang.Override
getDisksOrBuilder(int index)1231   public com.google.cloud.compute.v1.AttachedDiskOrBuilder getDisksOrBuilder(int index) {
1232     return disks_.get(index);
1233   }
1234 
1235   public static final int DISPLAY_DEVICE_FIELD_NUMBER = 258933875;
1236   private com.google.cloud.compute.v1.DisplayDevice displayDevice_;
1237   /**
1238    *
1239    *
1240    * <pre>
1241    * Enables display device for the instance.
1242    * </pre>
1243    *
1244    * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
1245    *
1246    * @return Whether the displayDevice field is set.
1247    */
1248   @java.lang.Override
hasDisplayDevice()1249   public boolean hasDisplayDevice() {
1250     return ((bitField0_ & 0x00000080) != 0);
1251   }
1252   /**
1253    *
1254    *
1255    * <pre>
1256    * Enables display device for the instance.
1257    * </pre>
1258    *
1259    * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
1260    *
1261    * @return The displayDevice.
1262    */
1263   @java.lang.Override
getDisplayDevice()1264   public com.google.cloud.compute.v1.DisplayDevice getDisplayDevice() {
1265     return displayDevice_ == null
1266         ? com.google.cloud.compute.v1.DisplayDevice.getDefaultInstance()
1267         : displayDevice_;
1268   }
1269   /**
1270    *
1271    *
1272    * <pre>
1273    * Enables display device for the instance.
1274    * </pre>
1275    *
1276    * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
1277    */
1278   @java.lang.Override
getDisplayDeviceOrBuilder()1279   public com.google.cloud.compute.v1.DisplayDeviceOrBuilder getDisplayDeviceOrBuilder() {
1280     return displayDevice_ == null
1281         ? com.google.cloud.compute.v1.DisplayDevice.getDefaultInstance()
1282         : displayDevice_;
1283   }
1284 
1285   public static final int FINGERPRINT_FIELD_NUMBER = 234678500;
1286 
1287   @SuppressWarnings("serial")
1288   private volatile java.lang.Object fingerprint_ = "";
1289   /**
1290    *
1291    *
1292    * <pre>
1293    * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
1294    * </pre>
1295    *
1296    * <code>optional string fingerprint = 234678500;</code>
1297    *
1298    * @return Whether the fingerprint field is set.
1299    */
1300   @java.lang.Override
hasFingerprint()1301   public boolean hasFingerprint() {
1302     return ((bitField0_ & 0x00000100) != 0);
1303   }
1304   /**
1305    *
1306    *
1307    * <pre>
1308    * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
1309    * </pre>
1310    *
1311    * <code>optional string fingerprint = 234678500;</code>
1312    *
1313    * @return The fingerprint.
1314    */
1315   @java.lang.Override
getFingerprint()1316   public java.lang.String getFingerprint() {
1317     java.lang.Object ref = fingerprint_;
1318     if (ref instanceof java.lang.String) {
1319       return (java.lang.String) ref;
1320     } else {
1321       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1322       java.lang.String s = bs.toStringUtf8();
1323       fingerprint_ = s;
1324       return s;
1325     }
1326   }
1327   /**
1328    *
1329    *
1330    * <pre>
1331    * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
1332    * </pre>
1333    *
1334    * <code>optional string fingerprint = 234678500;</code>
1335    *
1336    * @return The bytes for fingerprint.
1337    */
1338   @java.lang.Override
getFingerprintBytes()1339   public com.google.protobuf.ByteString getFingerprintBytes() {
1340     java.lang.Object ref = fingerprint_;
1341     if (ref instanceof java.lang.String) {
1342       com.google.protobuf.ByteString b =
1343           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1344       fingerprint_ = b;
1345       return b;
1346     } else {
1347       return (com.google.protobuf.ByteString) ref;
1348     }
1349   }
1350 
1351   public static final int GUEST_ACCELERATORS_FIELD_NUMBER = 463595119;
1352 
1353   @SuppressWarnings("serial")
1354   private java.util.List<com.google.cloud.compute.v1.AcceleratorConfig> guestAccelerators_;
1355   /**
1356    *
1357    *
1358    * <pre>
1359    * A list of the type and count of accelerator cards attached to the instance.
1360    * </pre>
1361    *
1362    * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
1363    * </code>
1364    */
1365   @java.lang.Override
getGuestAcceleratorsList()1366   public java.util.List<com.google.cloud.compute.v1.AcceleratorConfig> getGuestAcceleratorsList() {
1367     return guestAccelerators_;
1368   }
1369   /**
1370    *
1371    *
1372    * <pre>
1373    * A list of the type and count of accelerator cards attached to the instance.
1374    * </pre>
1375    *
1376    * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
1377    * </code>
1378    */
1379   @java.lang.Override
1380   public java.util.List<? extends com.google.cloud.compute.v1.AcceleratorConfigOrBuilder>
getGuestAcceleratorsOrBuilderList()1381       getGuestAcceleratorsOrBuilderList() {
1382     return guestAccelerators_;
1383   }
1384   /**
1385    *
1386    *
1387    * <pre>
1388    * A list of the type and count of accelerator cards attached to the instance.
1389    * </pre>
1390    *
1391    * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
1392    * </code>
1393    */
1394   @java.lang.Override
getGuestAcceleratorsCount()1395   public int getGuestAcceleratorsCount() {
1396     return guestAccelerators_.size();
1397   }
1398   /**
1399    *
1400    *
1401    * <pre>
1402    * A list of the type and count of accelerator cards attached to the instance.
1403    * </pre>
1404    *
1405    * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
1406    * </code>
1407    */
1408   @java.lang.Override
getGuestAccelerators(int index)1409   public com.google.cloud.compute.v1.AcceleratorConfig getGuestAccelerators(int index) {
1410     return guestAccelerators_.get(index);
1411   }
1412   /**
1413    *
1414    *
1415    * <pre>
1416    * A list of the type and count of accelerator cards attached to the instance.
1417    * </pre>
1418    *
1419    * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
1420    * </code>
1421    */
1422   @java.lang.Override
getGuestAcceleratorsOrBuilder( int index)1423   public com.google.cloud.compute.v1.AcceleratorConfigOrBuilder getGuestAcceleratorsOrBuilder(
1424       int index) {
1425     return guestAccelerators_.get(index);
1426   }
1427 
1428   public static final int HOSTNAME_FIELD_NUMBER = 237067315;
1429 
1430   @SuppressWarnings("serial")
1431   private volatile java.lang.Object hostname_ = "";
1432   /**
1433    *
1434    *
1435    * <pre>
1436    * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
1437    * </pre>
1438    *
1439    * <code>optional string hostname = 237067315;</code>
1440    *
1441    * @return Whether the hostname field is set.
1442    */
1443   @java.lang.Override
hasHostname()1444   public boolean hasHostname() {
1445     return ((bitField0_ & 0x00000200) != 0);
1446   }
1447   /**
1448    *
1449    *
1450    * <pre>
1451    * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
1452    * </pre>
1453    *
1454    * <code>optional string hostname = 237067315;</code>
1455    *
1456    * @return The hostname.
1457    */
1458   @java.lang.Override
getHostname()1459   public java.lang.String getHostname() {
1460     java.lang.Object ref = hostname_;
1461     if (ref instanceof java.lang.String) {
1462       return (java.lang.String) ref;
1463     } else {
1464       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1465       java.lang.String s = bs.toStringUtf8();
1466       hostname_ = s;
1467       return s;
1468     }
1469   }
1470   /**
1471    *
1472    *
1473    * <pre>
1474    * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
1475    * </pre>
1476    *
1477    * <code>optional string hostname = 237067315;</code>
1478    *
1479    * @return The bytes for hostname.
1480    */
1481   @java.lang.Override
getHostnameBytes()1482   public com.google.protobuf.ByteString getHostnameBytes() {
1483     java.lang.Object ref = hostname_;
1484     if (ref instanceof java.lang.String) {
1485       com.google.protobuf.ByteString b =
1486           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1487       hostname_ = b;
1488       return b;
1489     } else {
1490       return (com.google.protobuf.ByteString) ref;
1491     }
1492   }
1493 
1494   public static final int ID_FIELD_NUMBER = 3355;
1495   private long id_ = 0L;
1496   /**
1497    *
1498    *
1499    * <pre>
1500    * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
1501    * </pre>
1502    *
1503    * <code>optional uint64 id = 3355;</code>
1504    *
1505    * @return Whether the id field is set.
1506    */
1507   @java.lang.Override
hasId()1508   public boolean hasId() {
1509     return ((bitField0_ & 0x00000400) != 0);
1510   }
1511   /**
1512    *
1513    *
1514    * <pre>
1515    * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
1516    * </pre>
1517    *
1518    * <code>optional uint64 id = 3355;</code>
1519    *
1520    * @return The id.
1521    */
1522   @java.lang.Override
getId()1523   public long getId() {
1524     return id_;
1525   }
1526 
1527   public static final int KEY_REVOCATION_ACTION_TYPE_FIELD_NUMBER = 235941474;
1528 
1529   @SuppressWarnings("serial")
1530   private volatile java.lang.Object keyRevocationActionType_ = "";
1531   /**
1532    *
1533    *
1534    * <pre>
1535    * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
1536    * Check the KeyRevocationActionType enum for the list of possible values.
1537    * </pre>
1538    *
1539    * <code>optional string key_revocation_action_type = 235941474;</code>
1540    *
1541    * @return Whether the keyRevocationActionType field is set.
1542    */
1543   @java.lang.Override
hasKeyRevocationActionType()1544   public boolean hasKeyRevocationActionType() {
1545     return ((bitField0_ & 0x00000800) != 0);
1546   }
1547   /**
1548    *
1549    *
1550    * <pre>
1551    * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
1552    * Check the KeyRevocationActionType enum for the list of possible values.
1553    * </pre>
1554    *
1555    * <code>optional string key_revocation_action_type = 235941474;</code>
1556    *
1557    * @return The keyRevocationActionType.
1558    */
1559   @java.lang.Override
getKeyRevocationActionType()1560   public java.lang.String getKeyRevocationActionType() {
1561     java.lang.Object ref = keyRevocationActionType_;
1562     if (ref instanceof java.lang.String) {
1563       return (java.lang.String) ref;
1564     } else {
1565       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1566       java.lang.String s = bs.toStringUtf8();
1567       keyRevocationActionType_ = s;
1568       return s;
1569     }
1570   }
1571   /**
1572    *
1573    *
1574    * <pre>
1575    * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
1576    * Check the KeyRevocationActionType enum for the list of possible values.
1577    * </pre>
1578    *
1579    * <code>optional string key_revocation_action_type = 235941474;</code>
1580    *
1581    * @return The bytes for keyRevocationActionType.
1582    */
1583   @java.lang.Override
getKeyRevocationActionTypeBytes()1584   public com.google.protobuf.ByteString getKeyRevocationActionTypeBytes() {
1585     java.lang.Object ref = keyRevocationActionType_;
1586     if (ref instanceof java.lang.String) {
1587       com.google.protobuf.ByteString b =
1588           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1589       keyRevocationActionType_ = b;
1590       return b;
1591     } else {
1592       return (com.google.protobuf.ByteString) ref;
1593     }
1594   }
1595 
1596   public static final int KIND_FIELD_NUMBER = 3292052;
1597 
1598   @SuppressWarnings("serial")
1599   private volatile java.lang.Object kind_ = "";
1600   /**
1601    *
1602    *
1603    * <pre>
1604    * [Output Only] Type of the resource. Always compute#instance for instances.
1605    * </pre>
1606    *
1607    * <code>optional string kind = 3292052;</code>
1608    *
1609    * @return Whether the kind field is set.
1610    */
1611   @java.lang.Override
hasKind()1612   public boolean hasKind() {
1613     return ((bitField0_ & 0x00001000) != 0);
1614   }
1615   /**
1616    *
1617    *
1618    * <pre>
1619    * [Output Only] Type of the resource. Always compute#instance for instances.
1620    * </pre>
1621    *
1622    * <code>optional string kind = 3292052;</code>
1623    *
1624    * @return The kind.
1625    */
1626   @java.lang.Override
getKind()1627   public java.lang.String getKind() {
1628     java.lang.Object ref = kind_;
1629     if (ref instanceof java.lang.String) {
1630       return (java.lang.String) ref;
1631     } else {
1632       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1633       java.lang.String s = bs.toStringUtf8();
1634       kind_ = s;
1635       return s;
1636     }
1637   }
1638   /**
1639    *
1640    *
1641    * <pre>
1642    * [Output Only] Type of the resource. Always compute#instance for instances.
1643    * </pre>
1644    *
1645    * <code>optional string kind = 3292052;</code>
1646    *
1647    * @return The bytes for kind.
1648    */
1649   @java.lang.Override
getKindBytes()1650   public com.google.protobuf.ByteString getKindBytes() {
1651     java.lang.Object ref = kind_;
1652     if (ref instanceof java.lang.String) {
1653       com.google.protobuf.ByteString b =
1654           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1655       kind_ = b;
1656       return b;
1657     } else {
1658       return (com.google.protobuf.ByteString) ref;
1659     }
1660   }
1661 
1662   public static final int LABEL_FINGERPRINT_FIELD_NUMBER = 178124825;
1663 
1664   @SuppressWarnings("serial")
1665   private volatile java.lang.Object labelFingerprint_ = "";
1666   /**
1667    *
1668    *
1669    * <pre>
1670    * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
1671    * </pre>
1672    *
1673    * <code>optional string label_fingerprint = 178124825;</code>
1674    *
1675    * @return Whether the labelFingerprint field is set.
1676    */
1677   @java.lang.Override
hasLabelFingerprint()1678   public boolean hasLabelFingerprint() {
1679     return ((bitField0_ & 0x00002000) != 0);
1680   }
1681   /**
1682    *
1683    *
1684    * <pre>
1685    * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
1686    * </pre>
1687    *
1688    * <code>optional string label_fingerprint = 178124825;</code>
1689    *
1690    * @return The labelFingerprint.
1691    */
1692   @java.lang.Override
getLabelFingerprint()1693   public java.lang.String getLabelFingerprint() {
1694     java.lang.Object ref = labelFingerprint_;
1695     if (ref instanceof java.lang.String) {
1696       return (java.lang.String) ref;
1697     } else {
1698       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1699       java.lang.String s = bs.toStringUtf8();
1700       labelFingerprint_ = s;
1701       return s;
1702     }
1703   }
1704   /**
1705    *
1706    *
1707    * <pre>
1708    * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
1709    * </pre>
1710    *
1711    * <code>optional string label_fingerprint = 178124825;</code>
1712    *
1713    * @return The bytes for labelFingerprint.
1714    */
1715   @java.lang.Override
getLabelFingerprintBytes()1716   public com.google.protobuf.ByteString getLabelFingerprintBytes() {
1717     java.lang.Object ref = labelFingerprint_;
1718     if (ref instanceof java.lang.String) {
1719       com.google.protobuf.ByteString b =
1720           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1721       labelFingerprint_ = b;
1722       return b;
1723     } else {
1724       return (com.google.protobuf.ByteString) ref;
1725     }
1726   }
1727 
1728   public static final int LABELS_FIELD_NUMBER = 500195327;
1729 
1730   private static final class LabelsDefaultEntryHolder {
1731     static final com.google.protobuf.MapEntry<java.lang.String, java.lang.String> defaultEntry =
1732         com.google.protobuf.MapEntry.<java.lang.String, java.lang.String>newDefaultInstance(
1733             com.google.cloud.compute.v1.Compute
1734                 .internal_static_google_cloud_compute_v1_Instance_LabelsEntry_descriptor,
1735             com.google.protobuf.WireFormat.FieldType.STRING,
1736             "",
1737             com.google.protobuf.WireFormat.FieldType.STRING,
1738             "");
1739   }
1740 
1741   @SuppressWarnings("serial")
1742   private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;
1743 
internalGetLabels()1744   private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
1745     if (labels_ == null) {
1746       return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
1747     }
1748     return labels_;
1749   }
1750 
getLabelsCount()1751   public int getLabelsCount() {
1752     return internalGetLabels().getMap().size();
1753   }
1754   /**
1755    *
1756    *
1757    * <pre>
1758    * Labels to apply to this instance. These can be later modified by the setLabels method.
1759    * </pre>
1760    *
1761    * <code>map&lt;string, string&gt; labels = 500195327;</code>
1762    */
1763   @java.lang.Override
containsLabels(java.lang.String key)1764   public boolean containsLabels(java.lang.String key) {
1765     if (key == null) {
1766       throw new NullPointerException("map key");
1767     }
1768     return internalGetLabels().getMap().containsKey(key);
1769   }
1770   /** Use {@link #getLabelsMap()} instead. */
1771   @java.lang.Override
1772   @java.lang.Deprecated
getLabels()1773   public java.util.Map<java.lang.String, java.lang.String> getLabels() {
1774     return getLabelsMap();
1775   }
1776   /**
1777    *
1778    *
1779    * <pre>
1780    * Labels to apply to this instance. These can be later modified by the setLabels method.
1781    * </pre>
1782    *
1783    * <code>map&lt;string, string&gt; labels = 500195327;</code>
1784    */
1785   @java.lang.Override
getLabelsMap()1786   public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
1787     return internalGetLabels().getMap();
1788   }
1789   /**
1790    *
1791    *
1792    * <pre>
1793    * Labels to apply to this instance. These can be later modified by the setLabels method.
1794    * </pre>
1795    *
1796    * <code>map&lt;string, string&gt; labels = 500195327;</code>
1797    */
1798   @java.lang.Override
getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)1799   public /* nullable */ java.lang.String getLabelsOrDefault(
1800       java.lang.String key,
1801       /* nullable */
1802       java.lang.String defaultValue) {
1803     if (key == null) {
1804       throw new NullPointerException("map key");
1805     }
1806     java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
1807     return map.containsKey(key) ? map.get(key) : defaultValue;
1808   }
1809   /**
1810    *
1811    *
1812    * <pre>
1813    * Labels to apply to this instance. These can be later modified by the setLabels method.
1814    * </pre>
1815    *
1816    * <code>map&lt;string, string&gt; labels = 500195327;</code>
1817    */
1818   @java.lang.Override
getLabelsOrThrow(java.lang.String key)1819   public java.lang.String getLabelsOrThrow(java.lang.String key) {
1820     if (key == null) {
1821       throw new NullPointerException("map key");
1822     }
1823     java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
1824     if (!map.containsKey(key)) {
1825       throw new java.lang.IllegalArgumentException();
1826     }
1827     return map.get(key);
1828   }
1829 
1830   public static final int LAST_START_TIMESTAMP_FIELD_NUMBER = 443830736;
1831 
1832   @SuppressWarnings("serial")
1833   private volatile java.lang.Object lastStartTimestamp_ = "";
1834   /**
1835    *
1836    *
1837    * <pre>
1838    * [Output Only] Last start timestamp in RFC3339 text format.
1839    * </pre>
1840    *
1841    * <code>optional string last_start_timestamp = 443830736;</code>
1842    *
1843    * @return Whether the lastStartTimestamp field is set.
1844    */
1845   @java.lang.Override
hasLastStartTimestamp()1846   public boolean hasLastStartTimestamp() {
1847     return ((bitField0_ & 0x00004000) != 0);
1848   }
1849   /**
1850    *
1851    *
1852    * <pre>
1853    * [Output Only] Last start timestamp in RFC3339 text format.
1854    * </pre>
1855    *
1856    * <code>optional string last_start_timestamp = 443830736;</code>
1857    *
1858    * @return The lastStartTimestamp.
1859    */
1860   @java.lang.Override
getLastStartTimestamp()1861   public java.lang.String getLastStartTimestamp() {
1862     java.lang.Object ref = lastStartTimestamp_;
1863     if (ref instanceof java.lang.String) {
1864       return (java.lang.String) ref;
1865     } else {
1866       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1867       java.lang.String s = bs.toStringUtf8();
1868       lastStartTimestamp_ = s;
1869       return s;
1870     }
1871   }
1872   /**
1873    *
1874    *
1875    * <pre>
1876    * [Output Only] Last start timestamp in RFC3339 text format.
1877    * </pre>
1878    *
1879    * <code>optional string last_start_timestamp = 443830736;</code>
1880    *
1881    * @return The bytes for lastStartTimestamp.
1882    */
1883   @java.lang.Override
getLastStartTimestampBytes()1884   public com.google.protobuf.ByteString getLastStartTimestampBytes() {
1885     java.lang.Object ref = lastStartTimestamp_;
1886     if (ref instanceof java.lang.String) {
1887       com.google.protobuf.ByteString b =
1888           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1889       lastStartTimestamp_ = b;
1890       return b;
1891     } else {
1892       return (com.google.protobuf.ByteString) ref;
1893     }
1894   }
1895 
1896   public static final int LAST_STOP_TIMESTAMP_FIELD_NUMBER = 412823010;
1897 
1898   @SuppressWarnings("serial")
1899   private volatile java.lang.Object lastStopTimestamp_ = "";
1900   /**
1901    *
1902    *
1903    * <pre>
1904    * [Output Only] Last stop timestamp in RFC3339 text format.
1905    * </pre>
1906    *
1907    * <code>optional string last_stop_timestamp = 412823010;</code>
1908    *
1909    * @return Whether the lastStopTimestamp field is set.
1910    */
1911   @java.lang.Override
hasLastStopTimestamp()1912   public boolean hasLastStopTimestamp() {
1913     return ((bitField0_ & 0x00008000) != 0);
1914   }
1915   /**
1916    *
1917    *
1918    * <pre>
1919    * [Output Only] Last stop timestamp in RFC3339 text format.
1920    * </pre>
1921    *
1922    * <code>optional string last_stop_timestamp = 412823010;</code>
1923    *
1924    * @return The lastStopTimestamp.
1925    */
1926   @java.lang.Override
getLastStopTimestamp()1927   public java.lang.String getLastStopTimestamp() {
1928     java.lang.Object ref = lastStopTimestamp_;
1929     if (ref instanceof java.lang.String) {
1930       return (java.lang.String) ref;
1931     } else {
1932       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1933       java.lang.String s = bs.toStringUtf8();
1934       lastStopTimestamp_ = s;
1935       return s;
1936     }
1937   }
1938   /**
1939    *
1940    *
1941    * <pre>
1942    * [Output Only] Last stop timestamp in RFC3339 text format.
1943    * </pre>
1944    *
1945    * <code>optional string last_stop_timestamp = 412823010;</code>
1946    *
1947    * @return The bytes for lastStopTimestamp.
1948    */
1949   @java.lang.Override
getLastStopTimestampBytes()1950   public com.google.protobuf.ByteString getLastStopTimestampBytes() {
1951     java.lang.Object ref = lastStopTimestamp_;
1952     if (ref instanceof java.lang.String) {
1953       com.google.protobuf.ByteString b =
1954           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1955       lastStopTimestamp_ = b;
1956       return b;
1957     } else {
1958       return (com.google.protobuf.ByteString) ref;
1959     }
1960   }
1961 
1962   public static final int LAST_SUSPENDED_TIMESTAMP_FIELD_NUMBER = 356275337;
1963 
1964   @SuppressWarnings("serial")
1965   private volatile java.lang.Object lastSuspendedTimestamp_ = "";
1966   /**
1967    *
1968    *
1969    * <pre>
1970    * [Output Only] Last suspended timestamp in RFC3339 text format.
1971    * </pre>
1972    *
1973    * <code>optional string last_suspended_timestamp = 356275337;</code>
1974    *
1975    * @return Whether the lastSuspendedTimestamp field is set.
1976    */
1977   @java.lang.Override
hasLastSuspendedTimestamp()1978   public boolean hasLastSuspendedTimestamp() {
1979     return ((bitField0_ & 0x00010000) != 0);
1980   }
1981   /**
1982    *
1983    *
1984    * <pre>
1985    * [Output Only] Last suspended timestamp in RFC3339 text format.
1986    * </pre>
1987    *
1988    * <code>optional string last_suspended_timestamp = 356275337;</code>
1989    *
1990    * @return The lastSuspendedTimestamp.
1991    */
1992   @java.lang.Override
getLastSuspendedTimestamp()1993   public java.lang.String getLastSuspendedTimestamp() {
1994     java.lang.Object ref = lastSuspendedTimestamp_;
1995     if (ref instanceof java.lang.String) {
1996       return (java.lang.String) ref;
1997     } else {
1998       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1999       java.lang.String s = bs.toStringUtf8();
2000       lastSuspendedTimestamp_ = s;
2001       return s;
2002     }
2003   }
2004   /**
2005    *
2006    *
2007    * <pre>
2008    * [Output Only] Last suspended timestamp in RFC3339 text format.
2009    * </pre>
2010    *
2011    * <code>optional string last_suspended_timestamp = 356275337;</code>
2012    *
2013    * @return The bytes for lastSuspendedTimestamp.
2014    */
2015   @java.lang.Override
getLastSuspendedTimestampBytes()2016   public com.google.protobuf.ByteString getLastSuspendedTimestampBytes() {
2017     java.lang.Object ref = lastSuspendedTimestamp_;
2018     if (ref instanceof java.lang.String) {
2019       com.google.protobuf.ByteString b =
2020           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2021       lastSuspendedTimestamp_ = b;
2022       return b;
2023     } else {
2024       return (com.google.protobuf.ByteString) ref;
2025     }
2026   }
2027 
2028   public static final int MACHINE_TYPE_FIELD_NUMBER = 227711026;
2029 
2030   @SuppressWarnings("serial")
2031   private volatile java.lang.Object machineType_ = "";
2032   /**
2033    *
2034    *
2035    * <pre>
2036    * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
2037    * </pre>
2038    *
2039    * <code>optional string machine_type = 227711026;</code>
2040    *
2041    * @return Whether the machineType field is set.
2042    */
2043   @java.lang.Override
hasMachineType()2044   public boolean hasMachineType() {
2045     return ((bitField0_ & 0x00020000) != 0);
2046   }
2047   /**
2048    *
2049    *
2050    * <pre>
2051    * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
2052    * </pre>
2053    *
2054    * <code>optional string machine_type = 227711026;</code>
2055    *
2056    * @return The machineType.
2057    */
2058   @java.lang.Override
getMachineType()2059   public java.lang.String getMachineType() {
2060     java.lang.Object ref = machineType_;
2061     if (ref instanceof java.lang.String) {
2062       return (java.lang.String) ref;
2063     } else {
2064       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2065       java.lang.String s = bs.toStringUtf8();
2066       machineType_ = s;
2067       return s;
2068     }
2069   }
2070   /**
2071    *
2072    *
2073    * <pre>
2074    * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
2075    * </pre>
2076    *
2077    * <code>optional string machine_type = 227711026;</code>
2078    *
2079    * @return The bytes for machineType.
2080    */
2081   @java.lang.Override
getMachineTypeBytes()2082   public com.google.protobuf.ByteString getMachineTypeBytes() {
2083     java.lang.Object ref = machineType_;
2084     if (ref instanceof java.lang.String) {
2085       com.google.protobuf.ByteString b =
2086           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2087       machineType_ = b;
2088       return b;
2089     } else {
2090       return (com.google.protobuf.ByteString) ref;
2091     }
2092   }
2093 
2094   public static final int METADATA_FIELD_NUMBER = 86866735;
2095   private com.google.cloud.compute.v1.Metadata metadata_;
2096   /**
2097    *
2098    *
2099    * <pre>
2100    * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
2101    * </pre>
2102    *
2103    * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
2104    *
2105    * @return Whether the metadata field is set.
2106    */
2107   @java.lang.Override
hasMetadata()2108   public boolean hasMetadata() {
2109     return ((bitField0_ & 0x00040000) != 0);
2110   }
2111   /**
2112    *
2113    *
2114    * <pre>
2115    * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
2116    * </pre>
2117    *
2118    * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
2119    *
2120    * @return The metadata.
2121    */
2122   @java.lang.Override
getMetadata()2123   public com.google.cloud.compute.v1.Metadata getMetadata() {
2124     return metadata_ == null
2125         ? com.google.cloud.compute.v1.Metadata.getDefaultInstance()
2126         : metadata_;
2127   }
2128   /**
2129    *
2130    *
2131    * <pre>
2132    * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
2133    * </pre>
2134    *
2135    * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
2136    */
2137   @java.lang.Override
getMetadataOrBuilder()2138   public com.google.cloud.compute.v1.MetadataOrBuilder getMetadataOrBuilder() {
2139     return metadata_ == null
2140         ? com.google.cloud.compute.v1.Metadata.getDefaultInstance()
2141         : metadata_;
2142   }
2143 
2144   public static final int MIN_CPU_PLATFORM_FIELD_NUMBER = 242912759;
2145 
2146   @SuppressWarnings("serial")
2147   private volatile java.lang.Object minCpuPlatform_ = "";
2148   /**
2149    *
2150    *
2151    * <pre>
2152    * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
2153    * </pre>
2154    *
2155    * <code>optional string min_cpu_platform = 242912759;</code>
2156    *
2157    * @return Whether the minCpuPlatform field is set.
2158    */
2159   @java.lang.Override
hasMinCpuPlatform()2160   public boolean hasMinCpuPlatform() {
2161     return ((bitField0_ & 0x00080000) != 0);
2162   }
2163   /**
2164    *
2165    *
2166    * <pre>
2167    * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
2168    * </pre>
2169    *
2170    * <code>optional string min_cpu_platform = 242912759;</code>
2171    *
2172    * @return The minCpuPlatform.
2173    */
2174   @java.lang.Override
getMinCpuPlatform()2175   public java.lang.String getMinCpuPlatform() {
2176     java.lang.Object ref = minCpuPlatform_;
2177     if (ref instanceof java.lang.String) {
2178       return (java.lang.String) ref;
2179     } else {
2180       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2181       java.lang.String s = bs.toStringUtf8();
2182       minCpuPlatform_ = s;
2183       return s;
2184     }
2185   }
2186   /**
2187    *
2188    *
2189    * <pre>
2190    * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
2191    * </pre>
2192    *
2193    * <code>optional string min_cpu_platform = 242912759;</code>
2194    *
2195    * @return The bytes for minCpuPlatform.
2196    */
2197   @java.lang.Override
getMinCpuPlatformBytes()2198   public com.google.protobuf.ByteString getMinCpuPlatformBytes() {
2199     java.lang.Object ref = minCpuPlatform_;
2200     if (ref instanceof java.lang.String) {
2201       com.google.protobuf.ByteString b =
2202           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2203       minCpuPlatform_ = b;
2204       return b;
2205     } else {
2206       return (com.google.protobuf.ByteString) ref;
2207     }
2208   }
2209 
2210   public static final int NAME_FIELD_NUMBER = 3373707;
2211 
2212   @SuppressWarnings("serial")
2213   private volatile java.lang.Object name_ = "";
2214   /**
2215    *
2216    *
2217    * <pre>
2218    * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
2219    * </pre>
2220    *
2221    * <code>optional string name = 3373707;</code>
2222    *
2223    * @return Whether the name field is set.
2224    */
2225   @java.lang.Override
hasName()2226   public boolean hasName() {
2227     return ((bitField0_ & 0x00100000) != 0);
2228   }
2229   /**
2230    *
2231    *
2232    * <pre>
2233    * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
2234    * </pre>
2235    *
2236    * <code>optional string name = 3373707;</code>
2237    *
2238    * @return The name.
2239    */
2240   @java.lang.Override
getName()2241   public java.lang.String getName() {
2242     java.lang.Object ref = name_;
2243     if (ref instanceof java.lang.String) {
2244       return (java.lang.String) ref;
2245     } else {
2246       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2247       java.lang.String s = bs.toStringUtf8();
2248       name_ = s;
2249       return s;
2250     }
2251   }
2252   /**
2253    *
2254    *
2255    * <pre>
2256    * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
2257    * </pre>
2258    *
2259    * <code>optional string name = 3373707;</code>
2260    *
2261    * @return The bytes for name.
2262    */
2263   @java.lang.Override
getNameBytes()2264   public com.google.protobuf.ByteString getNameBytes() {
2265     java.lang.Object ref = name_;
2266     if (ref instanceof java.lang.String) {
2267       com.google.protobuf.ByteString b =
2268           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2269       name_ = b;
2270       return b;
2271     } else {
2272       return (com.google.protobuf.ByteString) ref;
2273     }
2274   }
2275 
2276   public static final int NETWORK_INTERFACES_FIELD_NUMBER = 52735243;
2277 
2278   @SuppressWarnings("serial")
2279   private java.util.List<com.google.cloud.compute.v1.NetworkInterface> networkInterfaces_;
2280   /**
2281    *
2282    *
2283    * <pre>
2284    * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
2285    * </pre>
2286    *
2287    * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;</code>
2288    */
2289   @java.lang.Override
getNetworkInterfacesList()2290   public java.util.List<com.google.cloud.compute.v1.NetworkInterface> getNetworkInterfacesList() {
2291     return networkInterfaces_;
2292   }
2293   /**
2294    *
2295    *
2296    * <pre>
2297    * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
2298    * </pre>
2299    *
2300    * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;</code>
2301    */
2302   @java.lang.Override
2303   public java.util.List<? extends com.google.cloud.compute.v1.NetworkInterfaceOrBuilder>
getNetworkInterfacesOrBuilderList()2304       getNetworkInterfacesOrBuilderList() {
2305     return networkInterfaces_;
2306   }
2307   /**
2308    *
2309    *
2310    * <pre>
2311    * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
2312    * </pre>
2313    *
2314    * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;</code>
2315    */
2316   @java.lang.Override
getNetworkInterfacesCount()2317   public int getNetworkInterfacesCount() {
2318     return networkInterfaces_.size();
2319   }
2320   /**
2321    *
2322    *
2323    * <pre>
2324    * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
2325    * </pre>
2326    *
2327    * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;</code>
2328    */
2329   @java.lang.Override
getNetworkInterfaces(int index)2330   public com.google.cloud.compute.v1.NetworkInterface getNetworkInterfaces(int index) {
2331     return networkInterfaces_.get(index);
2332   }
2333   /**
2334    *
2335    *
2336    * <pre>
2337    * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
2338    * </pre>
2339    *
2340    * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;</code>
2341    */
2342   @java.lang.Override
getNetworkInterfacesOrBuilder( int index)2343   public com.google.cloud.compute.v1.NetworkInterfaceOrBuilder getNetworkInterfacesOrBuilder(
2344       int index) {
2345     return networkInterfaces_.get(index);
2346   }
2347 
2348   public static final int NETWORK_PERFORMANCE_CONFIG_FIELD_NUMBER = 398330850;
2349   private com.google.cloud.compute.v1.NetworkPerformanceConfig networkPerformanceConfig_;
2350   /**
2351    * <code>
2352    * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
2353    * </code>
2354    *
2355    * @return Whether the networkPerformanceConfig field is set.
2356    */
2357   @java.lang.Override
hasNetworkPerformanceConfig()2358   public boolean hasNetworkPerformanceConfig() {
2359     return ((bitField0_ & 0x00200000) != 0);
2360   }
2361   /**
2362    * <code>
2363    * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
2364    * </code>
2365    *
2366    * @return The networkPerformanceConfig.
2367    */
2368   @java.lang.Override
getNetworkPerformanceConfig()2369   public com.google.cloud.compute.v1.NetworkPerformanceConfig getNetworkPerformanceConfig() {
2370     return networkPerformanceConfig_ == null
2371         ? com.google.cloud.compute.v1.NetworkPerformanceConfig.getDefaultInstance()
2372         : networkPerformanceConfig_;
2373   }
2374   /**
2375    * <code>
2376    * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
2377    * </code>
2378    */
2379   @java.lang.Override
2380   public com.google.cloud.compute.v1.NetworkPerformanceConfigOrBuilder
getNetworkPerformanceConfigOrBuilder()2381       getNetworkPerformanceConfigOrBuilder() {
2382     return networkPerformanceConfig_ == null
2383         ? com.google.cloud.compute.v1.NetworkPerformanceConfig.getDefaultInstance()
2384         : networkPerformanceConfig_;
2385   }
2386 
2387   public static final int PARAMS_FIELD_NUMBER = 78313862;
2388   private com.google.cloud.compute.v1.InstanceParams params_;
2389   /**
2390    *
2391    *
2392    * <pre>
2393    * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
2394    * </pre>
2395    *
2396    * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
2397    *
2398    * @return Whether the params field is set.
2399    */
2400   @java.lang.Override
hasParams()2401   public boolean hasParams() {
2402     return ((bitField0_ & 0x00400000) != 0);
2403   }
2404   /**
2405    *
2406    *
2407    * <pre>
2408    * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
2409    * </pre>
2410    *
2411    * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
2412    *
2413    * @return The params.
2414    */
2415   @java.lang.Override
getParams()2416   public com.google.cloud.compute.v1.InstanceParams getParams() {
2417     return params_ == null
2418         ? com.google.cloud.compute.v1.InstanceParams.getDefaultInstance()
2419         : params_;
2420   }
2421   /**
2422    *
2423    *
2424    * <pre>
2425    * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
2426    * </pre>
2427    *
2428    * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
2429    */
2430   @java.lang.Override
getParamsOrBuilder()2431   public com.google.cloud.compute.v1.InstanceParamsOrBuilder getParamsOrBuilder() {
2432     return params_ == null
2433         ? com.google.cloud.compute.v1.InstanceParams.getDefaultInstance()
2434         : params_;
2435   }
2436 
2437   public static final int PRIVATE_IPV6_GOOGLE_ACCESS_FIELD_NUMBER = 48277006;
2438 
2439   @SuppressWarnings("serial")
2440   private volatile java.lang.Object privateIpv6GoogleAccess_ = "";
2441   /**
2442    *
2443    *
2444    * <pre>
2445    * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
2446    * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
2447    * </pre>
2448    *
2449    * <code>optional string private_ipv6_google_access = 48277006;</code>
2450    *
2451    * @return Whether the privateIpv6GoogleAccess field is set.
2452    */
2453   @java.lang.Override
hasPrivateIpv6GoogleAccess()2454   public boolean hasPrivateIpv6GoogleAccess() {
2455     return ((bitField0_ & 0x00800000) != 0);
2456   }
2457   /**
2458    *
2459    *
2460    * <pre>
2461    * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
2462    * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
2463    * </pre>
2464    *
2465    * <code>optional string private_ipv6_google_access = 48277006;</code>
2466    *
2467    * @return The privateIpv6GoogleAccess.
2468    */
2469   @java.lang.Override
getPrivateIpv6GoogleAccess()2470   public java.lang.String getPrivateIpv6GoogleAccess() {
2471     java.lang.Object ref = privateIpv6GoogleAccess_;
2472     if (ref instanceof java.lang.String) {
2473       return (java.lang.String) ref;
2474     } else {
2475       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2476       java.lang.String s = bs.toStringUtf8();
2477       privateIpv6GoogleAccess_ = s;
2478       return s;
2479     }
2480   }
2481   /**
2482    *
2483    *
2484    * <pre>
2485    * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
2486    * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
2487    * </pre>
2488    *
2489    * <code>optional string private_ipv6_google_access = 48277006;</code>
2490    *
2491    * @return The bytes for privateIpv6GoogleAccess.
2492    */
2493   @java.lang.Override
getPrivateIpv6GoogleAccessBytes()2494   public com.google.protobuf.ByteString getPrivateIpv6GoogleAccessBytes() {
2495     java.lang.Object ref = privateIpv6GoogleAccess_;
2496     if (ref instanceof java.lang.String) {
2497       com.google.protobuf.ByteString b =
2498           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2499       privateIpv6GoogleAccess_ = b;
2500       return b;
2501     } else {
2502       return (com.google.protobuf.ByteString) ref;
2503     }
2504   }
2505 
2506   public static final int RESERVATION_AFFINITY_FIELD_NUMBER = 157850683;
2507   private com.google.cloud.compute.v1.ReservationAffinity reservationAffinity_;
2508   /**
2509    *
2510    *
2511    * <pre>
2512    * Specifies the reservations that this instance can consume from.
2513    * </pre>
2514    *
2515    * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
2516    * </code>
2517    *
2518    * @return Whether the reservationAffinity field is set.
2519    */
2520   @java.lang.Override
hasReservationAffinity()2521   public boolean hasReservationAffinity() {
2522     return ((bitField0_ & 0x01000000) != 0);
2523   }
2524   /**
2525    *
2526    *
2527    * <pre>
2528    * Specifies the reservations that this instance can consume from.
2529    * </pre>
2530    *
2531    * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
2532    * </code>
2533    *
2534    * @return The reservationAffinity.
2535    */
2536   @java.lang.Override
getReservationAffinity()2537   public com.google.cloud.compute.v1.ReservationAffinity getReservationAffinity() {
2538     return reservationAffinity_ == null
2539         ? com.google.cloud.compute.v1.ReservationAffinity.getDefaultInstance()
2540         : reservationAffinity_;
2541   }
2542   /**
2543    *
2544    *
2545    * <pre>
2546    * Specifies the reservations that this instance can consume from.
2547    * </pre>
2548    *
2549    * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
2550    * </code>
2551    */
2552   @java.lang.Override
2553   public com.google.cloud.compute.v1.ReservationAffinityOrBuilder
getReservationAffinityOrBuilder()2554       getReservationAffinityOrBuilder() {
2555     return reservationAffinity_ == null
2556         ? com.google.cloud.compute.v1.ReservationAffinity.getDefaultInstance()
2557         : reservationAffinity_;
2558   }
2559 
2560   public static final int RESOURCE_POLICIES_FIELD_NUMBER = 22220385;
2561 
2562   @SuppressWarnings("serial")
2563   private com.google.protobuf.LazyStringList resourcePolicies_;
2564   /**
2565    *
2566    *
2567    * <pre>
2568    * Resource policies applied to this instance.
2569    * </pre>
2570    *
2571    * <code>repeated string resource_policies = 22220385;</code>
2572    *
2573    * @return A list containing the resourcePolicies.
2574    */
getResourcePoliciesList()2575   public com.google.protobuf.ProtocolStringList getResourcePoliciesList() {
2576     return resourcePolicies_;
2577   }
2578   /**
2579    *
2580    *
2581    * <pre>
2582    * Resource policies applied to this instance.
2583    * </pre>
2584    *
2585    * <code>repeated string resource_policies = 22220385;</code>
2586    *
2587    * @return The count of resourcePolicies.
2588    */
getResourcePoliciesCount()2589   public int getResourcePoliciesCount() {
2590     return resourcePolicies_.size();
2591   }
2592   /**
2593    *
2594    *
2595    * <pre>
2596    * Resource policies applied to this instance.
2597    * </pre>
2598    *
2599    * <code>repeated string resource_policies = 22220385;</code>
2600    *
2601    * @param index The index of the element to return.
2602    * @return The resourcePolicies at the given index.
2603    */
getResourcePolicies(int index)2604   public java.lang.String getResourcePolicies(int index) {
2605     return resourcePolicies_.get(index);
2606   }
2607   /**
2608    *
2609    *
2610    * <pre>
2611    * Resource policies applied to this instance.
2612    * </pre>
2613    *
2614    * <code>repeated string resource_policies = 22220385;</code>
2615    *
2616    * @param index The index of the value to return.
2617    * @return The bytes of the resourcePolicies at the given index.
2618    */
getResourcePoliciesBytes(int index)2619   public com.google.protobuf.ByteString getResourcePoliciesBytes(int index) {
2620     return resourcePolicies_.getByteString(index);
2621   }
2622 
2623   public static final int RESOURCE_STATUS_FIELD_NUMBER = 249429315;
2624   private com.google.cloud.compute.v1.ResourceStatus resourceStatus_;
2625   /**
2626    *
2627    *
2628    * <pre>
2629    * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
2630    * </pre>
2631    *
2632    * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
2633    *
2634    * @return Whether the resourceStatus field is set.
2635    */
2636   @java.lang.Override
hasResourceStatus()2637   public boolean hasResourceStatus() {
2638     return ((bitField0_ & 0x02000000) != 0);
2639   }
2640   /**
2641    *
2642    *
2643    * <pre>
2644    * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
2645    * </pre>
2646    *
2647    * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
2648    *
2649    * @return The resourceStatus.
2650    */
2651   @java.lang.Override
getResourceStatus()2652   public com.google.cloud.compute.v1.ResourceStatus getResourceStatus() {
2653     return resourceStatus_ == null
2654         ? com.google.cloud.compute.v1.ResourceStatus.getDefaultInstance()
2655         : resourceStatus_;
2656   }
2657   /**
2658    *
2659    *
2660    * <pre>
2661    * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
2662    * </pre>
2663    *
2664    * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
2665    */
2666   @java.lang.Override
getResourceStatusOrBuilder()2667   public com.google.cloud.compute.v1.ResourceStatusOrBuilder getResourceStatusOrBuilder() {
2668     return resourceStatus_ == null
2669         ? com.google.cloud.compute.v1.ResourceStatus.getDefaultInstance()
2670         : resourceStatus_;
2671   }
2672 
2673   public static final int SATISFIES_PZS_FIELD_NUMBER = 480964267;
2674   private boolean satisfiesPzs_ = false;
2675   /**
2676    *
2677    *
2678    * <pre>
2679    * [Output Only] Reserved for future use.
2680    * </pre>
2681    *
2682    * <code>optional bool satisfies_pzs = 480964267;</code>
2683    *
2684    * @return Whether the satisfiesPzs field is set.
2685    */
2686   @java.lang.Override
hasSatisfiesPzs()2687   public boolean hasSatisfiesPzs() {
2688     return ((bitField0_ & 0x04000000) != 0);
2689   }
2690   /**
2691    *
2692    *
2693    * <pre>
2694    * [Output Only] Reserved for future use.
2695    * </pre>
2696    *
2697    * <code>optional bool satisfies_pzs = 480964267;</code>
2698    *
2699    * @return The satisfiesPzs.
2700    */
2701   @java.lang.Override
getSatisfiesPzs()2702   public boolean getSatisfiesPzs() {
2703     return satisfiesPzs_;
2704   }
2705 
2706   public static final int SCHEDULING_FIELD_NUMBER = 386688404;
2707   private com.google.cloud.compute.v1.Scheduling scheduling_;
2708   /**
2709    *
2710    *
2711    * <pre>
2712    * Sets the scheduling options for this instance.
2713    * </pre>
2714    *
2715    * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
2716    *
2717    * @return Whether the scheduling field is set.
2718    */
2719   @java.lang.Override
hasScheduling()2720   public boolean hasScheduling() {
2721     return ((bitField0_ & 0x08000000) != 0);
2722   }
2723   /**
2724    *
2725    *
2726    * <pre>
2727    * Sets the scheduling options for this instance.
2728    * </pre>
2729    *
2730    * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
2731    *
2732    * @return The scheduling.
2733    */
2734   @java.lang.Override
getScheduling()2735   public com.google.cloud.compute.v1.Scheduling getScheduling() {
2736     return scheduling_ == null
2737         ? com.google.cloud.compute.v1.Scheduling.getDefaultInstance()
2738         : scheduling_;
2739   }
2740   /**
2741    *
2742    *
2743    * <pre>
2744    * Sets the scheduling options for this instance.
2745    * </pre>
2746    *
2747    * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
2748    */
2749   @java.lang.Override
getSchedulingOrBuilder()2750   public com.google.cloud.compute.v1.SchedulingOrBuilder getSchedulingOrBuilder() {
2751     return scheduling_ == null
2752         ? com.google.cloud.compute.v1.Scheduling.getDefaultInstance()
2753         : scheduling_;
2754   }
2755 
2756   public static final int SELF_LINK_FIELD_NUMBER = 456214797;
2757 
2758   @SuppressWarnings("serial")
2759   private volatile java.lang.Object selfLink_ = "";
2760   /**
2761    *
2762    *
2763    * <pre>
2764    * [Output Only] Server-defined URL for this resource.
2765    * </pre>
2766    *
2767    * <code>optional string self_link = 456214797;</code>
2768    *
2769    * @return Whether the selfLink field is set.
2770    */
2771   @java.lang.Override
hasSelfLink()2772   public boolean hasSelfLink() {
2773     return ((bitField0_ & 0x10000000) != 0);
2774   }
2775   /**
2776    *
2777    *
2778    * <pre>
2779    * [Output Only] Server-defined URL for this resource.
2780    * </pre>
2781    *
2782    * <code>optional string self_link = 456214797;</code>
2783    *
2784    * @return The selfLink.
2785    */
2786   @java.lang.Override
getSelfLink()2787   public java.lang.String getSelfLink() {
2788     java.lang.Object ref = selfLink_;
2789     if (ref instanceof java.lang.String) {
2790       return (java.lang.String) ref;
2791     } else {
2792       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2793       java.lang.String s = bs.toStringUtf8();
2794       selfLink_ = s;
2795       return s;
2796     }
2797   }
2798   /**
2799    *
2800    *
2801    * <pre>
2802    * [Output Only] Server-defined URL for this resource.
2803    * </pre>
2804    *
2805    * <code>optional string self_link = 456214797;</code>
2806    *
2807    * @return The bytes for selfLink.
2808    */
2809   @java.lang.Override
getSelfLinkBytes()2810   public com.google.protobuf.ByteString getSelfLinkBytes() {
2811     java.lang.Object ref = selfLink_;
2812     if (ref instanceof java.lang.String) {
2813       com.google.protobuf.ByteString b =
2814           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2815       selfLink_ = b;
2816       return b;
2817     } else {
2818       return (com.google.protobuf.ByteString) ref;
2819     }
2820   }
2821 
2822   public static final int SERVICE_ACCOUNTS_FIELD_NUMBER = 277537328;
2823 
2824   @SuppressWarnings("serial")
2825   private java.util.List<com.google.cloud.compute.v1.ServiceAccount> serviceAccounts_;
2826   /**
2827    *
2828    *
2829    * <pre>
2830    * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
2831    * </pre>
2832    *
2833    * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
2834    */
2835   @java.lang.Override
getServiceAccountsList()2836   public java.util.List<com.google.cloud.compute.v1.ServiceAccount> getServiceAccountsList() {
2837     return serviceAccounts_;
2838   }
2839   /**
2840    *
2841    *
2842    * <pre>
2843    * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
2844    * </pre>
2845    *
2846    * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
2847    */
2848   @java.lang.Override
2849   public java.util.List<? extends com.google.cloud.compute.v1.ServiceAccountOrBuilder>
getServiceAccountsOrBuilderList()2850       getServiceAccountsOrBuilderList() {
2851     return serviceAccounts_;
2852   }
2853   /**
2854    *
2855    *
2856    * <pre>
2857    * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
2858    * </pre>
2859    *
2860    * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
2861    */
2862   @java.lang.Override
getServiceAccountsCount()2863   public int getServiceAccountsCount() {
2864     return serviceAccounts_.size();
2865   }
2866   /**
2867    *
2868    *
2869    * <pre>
2870    * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
2871    * </pre>
2872    *
2873    * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
2874    */
2875   @java.lang.Override
getServiceAccounts(int index)2876   public com.google.cloud.compute.v1.ServiceAccount getServiceAccounts(int index) {
2877     return serviceAccounts_.get(index);
2878   }
2879   /**
2880    *
2881    *
2882    * <pre>
2883    * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
2884    * </pre>
2885    *
2886    * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
2887    */
2888   @java.lang.Override
getServiceAccountsOrBuilder( int index)2889   public com.google.cloud.compute.v1.ServiceAccountOrBuilder getServiceAccountsOrBuilder(
2890       int index) {
2891     return serviceAccounts_.get(index);
2892   }
2893 
2894   public static final int SHIELDED_INSTANCE_CONFIG_FIELD_NUMBER = 12862901;
2895   private com.google.cloud.compute.v1.ShieldedInstanceConfig shieldedInstanceConfig_;
2896   /**
2897    * <code>
2898    * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
2899    * </code>
2900    *
2901    * @return Whether the shieldedInstanceConfig field is set.
2902    */
2903   @java.lang.Override
hasShieldedInstanceConfig()2904   public boolean hasShieldedInstanceConfig() {
2905     return ((bitField0_ & 0x20000000) != 0);
2906   }
2907   /**
2908    * <code>
2909    * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
2910    * </code>
2911    *
2912    * @return The shieldedInstanceConfig.
2913    */
2914   @java.lang.Override
getShieldedInstanceConfig()2915   public com.google.cloud.compute.v1.ShieldedInstanceConfig getShieldedInstanceConfig() {
2916     return shieldedInstanceConfig_ == null
2917         ? com.google.cloud.compute.v1.ShieldedInstanceConfig.getDefaultInstance()
2918         : shieldedInstanceConfig_;
2919   }
2920   /**
2921    * <code>
2922    * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
2923    * </code>
2924    */
2925   @java.lang.Override
2926   public com.google.cloud.compute.v1.ShieldedInstanceConfigOrBuilder
getShieldedInstanceConfigOrBuilder()2927       getShieldedInstanceConfigOrBuilder() {
2928     return shieldedInstanceConfig_ == null
2929         ? com.google.cloud.compute.v1.ShieldedInstanceConfig.getDefaultInstance()
2930         : shieldedInstanceConfig_;
2931   }
2932 
2933   public static final int SHIELDED_INSTANCE_INTEGRITY_POLICY_FIELD_NUMBER = 163696919;
2934   private com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy
2935       shieldedInstanceIntegrityPolicy_;
2936   /**
2937    * <code>
2938    * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
2939    * </code>
2940    *
2941    * @return Whether the shieldedInstanceIntegrityPolicy field is set.
2942    */
2943   @java.lang.Override
hasShieldedInstanceIntegrityPolicy()2944   public boolean hasShieldedInstanceIntegrityPolicy() {
2945     return ((bitField0_ & 0x40000000) != 0);
2946   }
2947   /**
2948    * <code>
2949    * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
2950    * </code>
2951    *
2952    * @return The shieldedInstanceIntegrityPolicy.
2953    */
2954   @java.lang.Override
2955   public com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy
getShieldedInstanceIntegrityPolicy()2956       getShieldedInstanceIntegrityPolicy() {
2957     return shieldedInstanceIntegrityPolicy_ == null
2958         ? com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.getDefaultInstance()
2959         : shieldedInstanceIntegrityPolicy_;
2960   }
2961   /**
2962    * <code>
2963    * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
2964    * </code>
2965    */
2966   @java.lang.Override
2967   public com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicyOrBuilder
getShieldedInstanceIntegrityPolicyOrBuilder()2968       getShieldedInstanceIntegrityPolicyOrBuilder() {
2969     return shieldedInstanceIntegrityPolicy_ == null
2970         ? com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.getDefaultInstance()
2971         : shieldedInstanceIntegrityPolicy_;
2972   }
2973 
2974   public static final int SOURCE_MACHINE_IMAGE_FIELD_NUMBER = 21769791;
2975 
2976   @SuppressWarnings("serial")
2977   private volatile java.lang.Object sourceMachineImage_ = "";
2978   /**
2979    *
2980    *
2981    * <pre>
2982    * Source machine image
2983    * </pre>
2984    *
2985    * <code>optional string source_machine_image = 21769791;</code>
2986    *
2987    * @return Whether the sourceMachineImage field is set.
2988    */
2989   @java.lang.Override
hasSourceMachineImage()2990   public boolean hasSourceMachineImage() {
2991     return ((bitField0_ & 0x80000000) != 0);
2992   }
2993   /**
2994    *
2995    *
2996    * <pre>
2997    * Source machine image
2998    * </pre>
2999    *
3000    * <code>optional string source_machine_image = 21769791;</code>
3001    *
3002    * @return The sourceMachineImage.
3003    */
3004   @java.lang.Override
getSourceMachineImage()3005   public java.lang.String getSourceMachineImage() {
3006     java.lang.Object ref = sourceMachineImage_;
3007     if (ref instanceof java.lang.String) {
3008       return (java.lang.String) ref;
3009     } else {
3010       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3011       java.lang.String s = bs.toStringUtf8();
3012       sourceMachineImage_ = s;
3013       return s;
3014     }
3015   }
3016   /**
3017    *
3018    *
3019    * <pre>
3020    * Source machine image
3021    * </pre>
3022    *
3023    * <code>optional string source_machine_image = 21769791;</code>
3024    *
3025    * @return The bytes for sourceMachineImage.
3026    */
3027   @java.lang.Override
getSourceMachineImageBytes()3028   public com.google.protobuf.ByteString getSourceMachineImageBytes() {
3029     java.lang.Object ref = sourceMachineImage_;
3030     if (ref instanceof java.lang.String) {
3031       com.google.protobuf.ByteString b =
3032           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3033       sourceMachineImage_ = b;
3034       return b;
3035     } else {
3036       return (com.google.protobuf.ByteString) ref;
3037     }
3038   }
3039 
3040   public static final int SOURCE_MACHINE_IMAGE_ENCRYPTION_KEY_FIELD_NUMBER = 192839075;
3041   private com.google.cloud.compute.v1.CustomerEncryptionKey sourceMachineImageEncryptionKey_;
3042   /**
3043    *
3044    *
3045    * <pre>
3046    * Source machine image encryption key when creating an instance from a machine image.
3047    * </pre>
3048    *
3049    * <code>
3050    * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
3051    * </code>
3052    *
3053    * @return Whether the sourceMachineImageEncryptionKey field is set.
3054    */
3055   @java.lang.Override
hasSourceMachineImageEncryptionKey()3056   public boolean hasSourceMachineImageEncryptionKey() {
3057     return ((bitField1_ & 0x00000001) != 0);
3058   }
3059   /**
3060    *
3061    *
3062    * <pre>
3063    * Source machine image encryption key when creating an instance from a machine image.
3064    * </pre>
3065    *
3066    * <code>
3067    * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
3068    * </code>
3069    *
3070    * @return The sourceMachineImageEncryptionKey.
3071    */
3072   @java.lang.Override
getSourceMachineImageEncryptionKey()3073   public com.google.cloud.compute.v1.CustomerEncryptionKey getSourceMachineImageEncryptionKey() {
3074     return sourceMachineImageEncryptionKey_ == null
3075         ? com.google.cloud.compute.v1.CustomerEncryptionKey.getDefaultInstance()
3076         : sourceMachineImageEncryptionKey_;
3077   }
3078   /**
3079    *
3080    *
3081    * <pre>
3082    * Source machine image encryption key when creating an instance from a machine image.
3083    * </pre>
3084    *
3085    * <code>
3086    * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
3087    * </code>
3088    */
3089   @java.lang.Override
3090   public com.google.cloud.compute.v1.CustomerEncryptionKeyOrBuilder
getSourceMachineImageEncryptionKeyOrBuilder()3091       getSourceMachineImageEncryptionKeyOrBuilder() {
3092     return sourceMachineImageEncryptionKey_ == null
3093         ? com.google.cloud.compute.v1.CustomerEncryptionKey.getDefaultInstance()
3094         : sourceMachineImageEncryptionKey_;
3095   }
3096 
3097   public static final int START_RESTRICTED_FIELD_NUMBER = 123693144;
3098   private boolean startRestricted_ = false;
3099   /**
3100    *
3101    *
3102    * <pre>
3103    * [Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
3104    * </pre>
3105    *
3106    * <code>optional bool start_restricted = 123693144;</code>
3107    *
3108    * @return Whether the startRestricted field is set.
3109    */
3110   @java.lang.Override
hasStartRestricted()3111   public boolean hasStartRestricted() {
3112     return ((bitField1_ & 0x00000002) != 0);
3113   }
3114   /**
3115    *
3116    *
3117    * <pre>
3118    * [Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
3119    * </pre>
3120    *
3121    * <code>optional bool start_restricted = 123693144;</code>
3122    *
3123    * @return The startRestricted.
3124    */
3125   @java.lang.Override
getStartRestricted()3126   public boolean getStartRestricted() {
3127     return startRestricted_;
3128   }
3129 
3130   public static final int STATUS_FIELD_NUMBER = 181260274;
3131 
3132   @SuppressWarnings("serial")
3133   private volatile java.lang.Object status_ = "";
3134   /**
3135    *
3136    *
3137    * <pre>
3138    * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
3139    * Check the Status enum for the list of possible values.
3140    * </pre>
3141    *
3142    * <code>optional string status = 181260274;</code>
3143    *
3144    * @return Whether the status field is set.
3145    */
3146   @java.lang.Override
hasStatus()3147   public boolean hasStatus() {
3148     return ((bitField1_ & 0x00000004) != 0);
3149   }
3150   /**
3151    *
3152    *
3153    * <pre>
3154    * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
3155    * Check the Status enum for the list of possible values.
3156    * </pre>
3157    *
3158    * <code>optional string status = 181260274;</code>
3159    *
3160    * @return The status.
3161    */
3162   @java.lang.Override
getStatus()3163   public java.lang.String getStatus() {
3164     java.lang.Object ref = status_;
3165     if (ref instanceof java.lang.String) {
3166       return (java.lang.String) ref;
3167     } else {
3168       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3169       java.lang.String s = bs.toStringUtf8();
3170       status_ = s;
3171       return s;
3172     }
3173   }
3174   /**
3175    *
3176    *
3177    * <pre>
3178    * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
3179    * Check the Status enum for the list of possible values.
3180    * </pre>
3181    *
3182    * <code>optional string status = 181260274;</code>
3183    *
3184    * @return The bytes for status.
3185    */
3186   @java.lang.Override
getStatusBytes()3187   public com.google.protobuf.ByteString getStatusBytes() {
3188     java.lang.Object ref = status_;
3189     if (ref instanceof java.lang.String) {
3190       com.google.protobuf.ByteString b =
3191           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3192       status_ = b;
3193       return b;
3194     } else {
3195       return (com.google.protobuf.ByteString) ref;
3196     }
3197   }
3198 
3199   public static final int STATUS_MESSAGE_FIELD_NUMBER = 297428154;
3200 
3201   @SuppressWarnings("serial")
3202   private volatile java.lang.Object statusMessage_ = "";
3203   /**
3204    *
3205    *
3206    * <pre>
3207    * [Output Only] An optional, human-readable explanation of the status.
3208    * </pre>
3209    *
3210    * <code>optional string status_message = 297428154;</code>
3211    *
3212    * @return Whether the statusMessage field is set.
3213    */
3214   @java.lang.Override
hasStatusMessage()3215   public boolean hasStatusMessage() {
3216     return ((bitField1_ & 0x00000008) != 0);
3217   }
3218   /**
3219    *
3220    *
3221    * <pre>
3222    * [Output Only] An optional, human-readable explanation of the status.
3223    * </pre>
3224    *
3225    * <code>optional string status_message = 297428154;</code>
3226    *
3227    * @return The statusMessage.
3228    */
3229   @java.lang.Override
getStatusMessage()3230   public java.lang.String getStatusMessage() {
3231     java.lang.Object ref = statusMessage_;
3232     if (ref instanceof java.lang.String) {
3233       return (java.lang.String) ref;
3234     } else {
3235       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3236       java.lang.String s = bs.toStringUtf8();
3237       statusMessage_ = s;
3238       return s;
3239     }
3240   }
3241   /**
3242    *
3243    *
3244    * <pre>
3245    * [Output Only] An optional, human-readable explanation of the status.
3246    * </pre>
3247    *
3248    * <code>optional string status_message = 297428154;</code>
3249    *
3250    * @return The bytes for statusMessage.
3251    */
3252   @java.lang.Override
getStatusMessageBytes()3253   public com.google.protobuf.ByteString getStatusMessageBytes() {
3254     java.lang.Object ref = statusMessage_;
3255     if (ref instanceof java.lang.String) {
3256       com.google.protobuf.ByteString b =
3257           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3258       statusMessage_ = b;
3259       return b;
3260     } else {
3261       return (com.google.protobuf.ByteString) ref;
3262     }
3263   }
3264 
3265   public static final int TAGS_FIELD_NUMBER = 3552281;
3266   private com.google.cloud.compute.v1.Tags tags_;
3267   /**
3268    *
3269    *
3270    * <pre>
3271    * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
3272    * </pre>
3273    *
3274    * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
3275    *
3276    * @return Whether the tags field is set.
3277    */
3278   @java.lang.Override
hasTags()3279   public boolean hasTags() {
3280     return ((bitField1_ & 0x00000010) != 0);
3281   }
3282   /**
3283    *
3284    *
3285    * <pre>
3286    * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
3287    * </pre>
3288    *
3289    * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
3290    *
3291    * @return The tags.
3292    */
3293   @java.lang.Override
getTags()3294   public com.google.cloud.compute.v1.Tags getTags() {
3295     return tags_ == null ? com.google.cloud.compute.v1.Tags.getDefaultInstance() : tags_;
3296   }
3297   /**
3298    *
3299    *
3300    * <pre>
3301    * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
3302    * </pre>
3303    *
3304    * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
3305    */
3306   @java.lang.Override
getTagsOrBuilder()3307   public com.google.cloud.compute.v1.TagsOrBuilder getTagsOrBuilder() {
3308     return tags_ == null ? com.google.cloud.compute.v1.Tags.getDefaultInstance() : tags_;
3309   }
3310 
3311   public static final int ZONE_FIELD_NUMBER = 3744684;
3312 
3313   @SuppressWarnings("serial")
3314   private volatile java.lang.Object zone_ = "";
3315   /**
3316    *
3317    *
3318    * <pre>
3319    * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
3320    * </pre>
3321    *
3322    * <code>optional string zone = 3744684;</code>
3323    *
3324    * @return Whether the zone field is set.
3325    */
3326   @java.lang.Override
hasZone()3327   public boolean hasZone() {
3328     return ((bitField1_ & 0x00000020) != 0);
3329   }
3330   /**
3331    *
3332    *
3333    * <pre>
3334    * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
3335    * </pre>
3336    *
3337    * <code>optional string zone = 3744684;</code>
3338    *
3339    * @return The zone.
3340    */
3341   @java.lang.Override
getZone()3342   public java.lang.String getZone() {
3343     java.lang.Object ref = zone_;
3344     if (ref instanceof java.lang.String) {
3345       return (java.lang.String) ref;
3346     } else {
3347       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3348       java.lang.String s = bs.toStringUtf8();
3349       zone_ = s;
3350       return s;
3351     }
3352   }
3353   /**
3354    *
3355    *
3356    * <pre>
3357    * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
3358    * </pre>
3359    *
3360    * <code>optional string zone = 3744684;</code>
3361    *
3362    * @return The bytes for zone.
3363    */
3364   @java.lang.Override
getZoneBytes()3365   public com.google.protobuf.ByteString getZoneBytes() {
3366     java.lang.Object ref = zone_;
3367     if (ref instanceof java.lang.String) {
3368       com.google.protobuf.ByteString b =
3369           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3370       zone_ = b;
3371       return b;
3372     } else {
3373       return (com.google.protobuf.ByteString) ref;
3374     }
3375   }
3376 
3377   private byte memoizedIsInitialized = -1;
3378 
3379   @java.lang.Override
isInitialized()3380   public final boolean isInitialized() {
3381     byte isInitialized = memoizedIsInitialized;
3382     if (isInitialized == 1) return true;
3383     if (isInitialized == 0) return false;
3384 
3385     memoizedIsInitialized = 1;
3386     return true;
3387   }
3388 
3389   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3390   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3391     if (((bitField0_ & 0x00000400) != 0)) {
3392       output.writeUInt64(3355, id_);
3393     }
3394     if (((bitField0_ & 0x00001000) != 0)) {
3395       com.google.protobuf.GeneratedMessageV3.writeString(output, 3292052, kind_);
3396     }
3397     if (((bitField0_ & 0x00100000) != 0)) {
3398       com.google.protobuf.GeneratedMessageV3.writeString(output, 3373707, name_);
3399     }
3400     if (((bitField1_ & 0x00000010) != 0)) {
3401       output.writeMessage(3552281, getTags());
3402     }
3403     if (((bitField1_ & 0x00000020) != 0)) {
3404       com.google.protobuf.GeneratedMessageV3.writeString(output, 3744684, zone_);
3405     }
3406     if (((bitField0_ & 0x20000000) != 0)) {
3407       output.writeMessage(12862901, getShieldedInstanceConfig());
3408     }
3409     if (((bitField0_ & 0x80000000) != 0)) {
3410       com.google.protobuf.GeneratedMessageV3.writeString(output, 21769791, sourceMachineImage_);
3411     }
3412     for (int i = 0; i < resourcePolicies_.size(); i++) {
3413       com.google.protobuf.GeneratedMessageV3.writeString(
3414           output, 22220385, resourcePolicies_.getRaw(i));
3415     }
3416     if (((bitField0_ & 0x00000010) != 0)) {
3417       com.google.protobuf.GeneratedMessageV3.writeString(output, 30525366, creationTimestamp_);
3418     }
3419     if (((bitField0_ & 0x00800000) != 0)) {
3420       com.google.protobuf.GeneratedMessageV3.writeString(
3421           output, 48277006, privateIpv6GoogleAccess_);
3422     }
3423     for (int i = 0; i < networkInterfaces_.size(); i++) {
3424       output.writeMessage(52735243, networkInterfaces_.get(i));
3425     }
3426     if (((bitField0_ & 0x00400000) != 0)) {
3427       output.writeMessage(78313862, getParams());
3428     }
3429     if (((bitField0_ & 0x00040000) != 0)) {
3430       output.writeMessage(86866735, getMetadata());
3431     }
3432     for (int i = 0; i < disks_.size(); i++) {
3433       output.writeMessage(95594102, disks_.get(i));
3434     }
3435     if (((bitField1_ & 0x00000002) != 0)) {
3436       output.writeBool(123693144, startRestricted_);
3437     }
3438     if (((bitField0_ & 0x01000000) != 0)) {
3439       output.writeMessage(157850683, getReservationAffinity());
3440     }
3441     if (((bitField0_ & 0x40000000) != 0)) {
3442       output.writeMessage(163696919, getShieldedInstanceIntegrityPolicy());
3443     }
3444     if (((bitField0_ & 0x00002000) != 0)) {
3445       com.google.protobuf.GeneratedMessageV3.writeString(output, 178124825, labelFingerprint_);
3446     }
3447     if (((bitField1_ & 0x00000004) != 0)) {
3448       com.google.protobuf.GeneratedMessageV3.writeString(output, 181260274, status_);
3449     }
3450     if (((bitField1_ & 0x00000001) != 0)) {
3451       output.writeMessage(192839075, getSourceMachineImageEncryptionKey());
3452     }
3453     if (((bitField0_ & 0x00020000) != 0)) {
3454       com.google.protobuf.GeneratedMessageV3.writeString(output, 227711026, machineType_);
3455     }
3456     if (((bitField0_ & 0x00000100) != 0)) {
3457       com.google.protobuf.GeneratedMessageV3.writeString(output, 234678500, fingerprint_);
3458     }
3459     if (((bitField0_ & 0x00000800) != 0)) {
3460       com.google.protobuf.GeneratedMessageV3.writeString(
3461           output, 235941474, keyRevocationActionType_);
3462     }
3463     if (((bitField0_ & 0x00000200) != 0)) {
3464       com.google.protobuf.GeneratedMessageV3.writeString(output, 237067315, hostname_);
3465     }
3466     if (((bitField0_ & 0x00080000) != 0)) {
3467       com.google.protobuf.GeneratedMessageV3.writeString(output, 242912759, minCpuPlatform_);
3468     }
3469     if (((bitField0_ & 0x02000000) != 0)) {
3470       output.writeMessage(249429315, getResourceStatus());
3471     }
3472     if (((bitField0_ & 0x00000080) != 0)) {
3473       output.writeMessage(258933875, getDisplayDevice());
3474     }
3475     for (int i = 0; i < serviceAccounts_.size(); i++) {
3476       output.writeMessage(277537328, serviceAccounts_.get(i));
3477     }
3478     if (((bitField1_ & 0x00000008) != 0)) {
3479       com.google.protobuf.GeneratedMessageV3.writeString(output, 297428154, statusMessage_);
3480     }
3481     if (((bitField0_ & 0x00010000) != 0)) {
3482       com.google.protobuf.GeneratedMessageV3.writeString(
3483           output, 356275337, lastSuspendedTimestamp_);
3484     }
3485     if (((bitField0_ & 0x08000000) != 0)) {
3486       output.writeMessage(386688404, getScheduling());
3487     }
3488     if (((bitField0_ & 0x00200000) != 0)) {
3489       output.writeMessage(398330850, getNetworkPerformanceConfig());
3490     }
3491     if (((bitField0_ & 0x00000001) != 0)) {
3492       output.writeMessage(409646002, getAdvancedMachineFeatures());
3493     }
3494     if (((bitField0_ & 0x00000008) != 0)) {
3495       com.google.protobuf.GeneratedMessageV3.writeString(output, 410285354, cpuPlatform_);
3496     }
3497     if (((bitField0_ & 0x00008000) != 0)) {
3498       com.google.protobuf.GeneratedMessageV3.writeString(output, 412823010, lastStopTimestamp_);
3499     }
3500     if (((bitField0_ & 0x00000040) != 0)) {
3501       com.google.protobuf.GeneratedMessageV3.writeString(output, 422937596, description_);
3502     }
3503     if (((bitField0_ & 0x00004000) != 0)) {
3504       com.google.protobuf.GeneratedMessageV3.writeString(output, 443830736, lastStartTimestamp_);
3505     }
3506     if (((bitField0_ & 0x10000000) != 0)) {
3507       com.google.protobuf.GeneratedMessageV3.writeString(output, 456214797, selfLink_);
3508     }
3509     if (((bitField0_ & 0x00000020) != 0)) {
3510       output.writeBool(458014698, deletionProtection_);
3511     }
3512     for (int i = 0; i < guestAccelerators_.size(); i++) {
3513       output.writeMessage(463595119, guestAccelerators_.get(i));
3514     }
3515     if (((bitField0_ & 0x00000002) != 0)) {
3516       output.writeBool(467731324, canIpForward_);
3517     }
3518     if (((bitField0_ & 0x04000000) != 0)) {
3519       output.writeBool(480964267, satisfiesPzs_);
3520     }
3521     if (((bitField0_ & 0x00000004) != 0)) {
3522       output.writeMessage(490637685, getConfidentialInstanceConfig());
3523     }
3524     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
3525         output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 500195327);
3526     getUnknownFields().writeTo(output);
3527   }
3528 
3529   @java.lang.Override
getSerializedSize()3530   public int getSerializedSize() {
3531     int size = memoizedSize;
3532     if (size != -1) return size;
3533 
3534     size = 0;
3535     if (((bitField0_ & 0x00000400) != 0)) {
3536       size += com.google.protobuf.CodedOutputStream.computeUInt64Size(3355, id_);
3537     }
3538     if (((bitField0_ & 0x00001000) != 0)) {
3539       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3292052, kind_);
3540     }
3541     if (((bitField0_ & 0x00100000) != 0)) {
3542       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3373707, name_);
3543     }
3544     if (((bitField1_ & 0x00000010) != 0)) {
3545       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3552281, getTags());
3546     }
3547     if (((bitField1_ & 0x00000020) != 0)) {
3548       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3744684, zone_);
3549     }
3550     if (((bitField0_ & 0x20000000) != 0)) {
3551       size +=
3552           com.google.protobuf.CodedOutputStream.computeMessageSize(
3553               12862901, getShieldedInstanceConfig());
3554     }
3555     if (((bitField0_ & 0x80000000) != 0)) {
3556       size +=
3557           com.google.protobuf.GeneratedMessageV3.computeStringSize(21769791, sourceMachineImage_);
3558     }
3559     {
3560       int dataSize = 0;
3561       for (int i = 0; i < resourcePolicies_.size(); i++) {
3562         dataSize += computeStringSizeNoTag(resourcePolicies_.getRaw(i));
3563       }
3564       size += dataSize;
3565       size += 4 * getResourcePoliciesList().size();
3566     }
3567     if (((bitField0_ & 0x00000010) != 0)) {
3568       size +=
3569           com.google.protobuf.GeneratedMessageV3.computeStringSize(30525366, creationTimestamp_);
3570     }
3571     if (((bitField0_ & 0x00800000) != 0)) {
3572       size +=
3573           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3574               48277006, privateIpv6GoogleAccess_);
3575     }
3576     for (int i = 0; i < networkInterfaces_.size(); i++) {
3577       size +=
3578           com.google.protobuf.CodedOutputStream.computeMessageSize(
3579               52735243, networkInterfaces_.get(i));
3580     }
3581     if (((bitField0_ & 0x00400000) != 0)) {
3582       size += com.google.protobuf.CodedOutputStream.computeMessageSize(78313862, getParams());
3583     }
3584     if (((bitField0_ & 0x00040000) != 0)) {
3585       size += com.google.protobuf.CodedOutputStream.computeMessageSize(86866735, getMetadata());
3586     }
3587     for (int i = 0; i < disks_.size(); i++) {
3588       size += com.google.protobuf.CodedOutputStream.computeMessageSize(95594102, disks_.get(i));
3589     }
3590     if (((bitField1_ & 0x00000002) != 0)) {
3591       size += com.google.protobuf.CodedOutputStream.computeBoolSize(123693144, startRestricted_);
3592     }
3593     if (((bitField0_ & 0x01000000) != 0)) {
3594       size +=
3595           com.google.protobuf.CodedOutputStream.computeMessageSize(
3596               157850683, getReservationAffinity());
3597     }
3598     if (((bitField0_ & 0x40000000) != 0)) {
3599       size +=
3600           com.google.protobuf.CodedOutputStream.computeMessageSize(
3601               163696919, getShieldedInstanceIntegrityPolicy());
3602     }
3603     if (((bitField0_ & 0x00002000) != 0)) {
3604       size +=
3605           com.google.protobuf.GeneratedMessageV3.computeStringSize(178124825, labelFingerprint_);
3606     }
3607     if (((bitField1_ & 0x00000004) != 0)) {
3608       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(181260274, status_);
3609     }
3610     if (((bitField1_ & 0x00000001) != 0)) {
3611       size +=
3612           com.google.protobuf.CodedOutputStream.computeMessageSize(
3613               192839075, getSourceMachineImageEncryptionKey());
3614     }
3615     if (((bitField0_ & 0x00020000) != 0)) {
3616       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(227711026, machineType_);
3617     }
3618     if (((bitField0_ & 0x00000100) != 0)) {
3619       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(234678500, fingerprint_);
3620     }
3621     if (((bitField0_ & 0x00000800) != 0)) {
3622       size +=
3623           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3624               235941474, keyRevocationActionType_);
3625     }
3626     if (((bitField0_ & 0x00000200) != 0)) {
3627       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(237067315, hostname_);
3628     }
3629     if (((bitField0_ & 0x00080000) != 0)) {
3630       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(242912759, minCpuPlatform_);
3631     }
3632     if (((bitField0_ & 0x02000000) != 0)) {
3633       size +=
3634           com.google.protobuf.CodedOutputStream.computeMessageSize(249429315, getResourceStatus());
3635     }
3636     if (((bitField0_ & 0x00000080) != 0)) {
3637       size +=
3638           com.google.protobuf.CodedOutputStream.computeMessageSize(258933875, getDisplayDevice());
3639     }
3640     for (int i = 0; i < serviceAccounts_.size(); i++) {
3641       size +=
3642           com.google.protobuf.CodedOutputStream.computeMessageSize(
3643               277537328, serviceAccounts_.get(i));
3644     }
3645     if (((bitField1_ & 0x00000008) != 0)) {
3646       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(297428154, statusMessage_);
3647     }
3648     if (((bitField0_ & 0x00010000) != 0)) {
3649       size +=
3650           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3651               356275337, lastSuspendedTimestamp_);
3652     }
3653     if (((bitField0_ & 0x08000000) != 0)) {
3654       size += com.google.protobuf.CodedOutputStream.computeMessageSize(386688404, getScheduling());
3655     }
3656     if (((bitField0_ & 0x00200000) != 0)) {
3657       size +=
3658           com.google.protobuf.CodedOutputStream.computeMessageSize(
3659               398330850, getNetworkPerformanceConfig());
3660     }
3661     if (((bitField0_ & 0x00000001) != 0)) {
3662       size +=
3663           com.google.protobuf.CodedOutputStream.computeMessageSize(
3664               409646002, getAdvancedMachineFeatures());
3665     }
3666     if (((bitField0_ & 0x00000008) != 0)) {
3667       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(410285354, cpuPlatform_);
3668     }
3669     if (((bitField0_ & 0x00008000) != 0)) {
3670       size +=
3671           com.google.protobuf.GeneratedMessageV3.computeStringSize(412823010, lastStopTimestamp_);
3672     }
3673     if (((bitField0_ & 0x00000040) != 0)) {
3674       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(422937596, description_);
3675     }
3676     if (((bitField0_ & 0x00004000) != 0)) {
3677       size +=
3678           com.google.protobuf.GeneratedMessageV3.computeStringSize(443830736, lastStartTimestamp_);
3679     }
3680     if (((bitField0_ & 0x10000000) != 0)) {
3681       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(456214797, selfLink_);
3682     }
3683     if (((bitField0_ & 0x00000020) != 0)) {
3684       size += com.google.protobuf.CodedOutputStream.computeBoolSize(458014698, deletionProtection_);
3685     }
3686     for (int i = 0; i < guestAccelerators_.size(); i++) {
3687       size +=
3688           com.google.protobuf.CodedOutputStream.computeMessageSize(
3689               463595119, guestAccelerators_.get(i));
3690     }
3691     if (((bitField0_ & 0x00000002) != 0)) {
3692       size += com.google.protobuf.CodedOutputStream.computeBoolSize(467731324, canIpForward_);
3693     }
3694     if (((bitField0_ & 0x04000000) != 0)) {
3695       size += com.google.protobuf.CodedOutputStream.computeBoolSize(480964267, satisfiesPzs_);
3696     }
3697     if (((bitField0_ & 0x00000004) != 0)) {
3698       size +=
3699           com.google.protobuf.CodedOutputStream.computeMessageSize(
3700               490637685, getConfidentialInstanceConfig());
3701     }
3702     for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
3703         internalGetLabels().getMap().entrySet()) {
3704       com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
3705           LabelsDefaultEntryHolder.defaultEntry
3706               .newBuilderForType()
3707               .setKey(entry.getKey())
3708               .setValue(entry.getValue())
3709               .build();
3710       size += com.google.protobuf.CodedOutputStream.computeMessageSize(500195327, labels__);
3711     }
3712     size += getUnknownFields().getSerializedSize();
3713     memoizedSize = size;
3714     return size;
3715   }
3716 
3717   @java.lang.Override
equals(final java.lang.Object obj)3718   public boolean equals(final java.lang.Object obj) {
3719     if (obj == this) {
3720       return true;
3721     }
3722     if (!(obj instanceof com.google.cloud.compute.v1.Instance)) {
3723       return super.equals(obj);
3724     }
3725     com.google.cloud.compute.v1.Instance other = (com.google.cloud.compute.v1.Instance) obj;
3726 
3727     if (hasAdvancedMachineFeatures() != other.hasAdvancedMachineFeatures()) return false;
3728     if (hasAdvancedMachineFeatures()) {
3729       if (!getAdvancedMachineFeatures().equals(other.getAdvancedMachineFeatures())) return false;
3730     }
3731     if (hasCanIpForward() != other.hasCanIpForward()) return false;
3732     if (hasCanIpForward()) {
3733       if (getCanIpForward() != other.getCanIpForward()) return false;
3734     }
3735     if (hasConfidentialInstanceConfig() != other.hasConfidentialInstanceConfig()) return false;
3736     if (hasConfidentialInstanceConfig()) {
3737       if (!getConfidentialInstanceConfig().equals(other.getConfidentialInstanceConfig()))
3738         return false;
3739     }
3740     if (hasCpuPlatform() != other.hasCpuPlatform()) return false;
3741     if (hasCpuPlatform()) {
3742       if (!getCpuPlatform().equals(other.getCpuPlatform())) return false;
3743     }
3744     if (hasCreationTimestamp() != other.hasCreationTimestamp()) return false;
3745     if (hasCreationTimestamp()) {
3746       if (!getCreationTimestamp().equals(other.getCreationTimestamp())) return false;
3747     }
3748     if (hasDeletionProtection() != other.hasDeletionProtection()) return false;
3749     if (hasDeletionProtection()) {
3750       if (getDeletionProtection() != other.getDeletionProtection()) return false;
3751     }
3752     if (hasDescription() != other.hasDescription()) return false;
3753     if (hasDescription()) {
3754       if (!getDescription().equals(other.getDescription())) return false;
3755     }
3756     if (!getDisksList().equals(other.getDisksList())) return false;
3757     if (hasDisplayDevice() != other.hasDisplayDevice()) return false;
3758     if (hasDisplayDevice()) {
3759       if (!getDisplayDevice().equals(other.getDisplayDevice())) return false;
3760     }
3761     if (hasFingerprint() != other.hasFingerprint()) return false;
3762     if (hasFingerprint()) {
3763       if (!getFingerprint().equals(other.getFingerprint())) return false;
3764     }
3765     if (!getGuestAcceleratorsList().equals(other.getGuestAcceleratorsList())) return false;
3766     if (hasHostname() != other.hasHostname()) return false;
3767     if (hasHostname()) {
3768       if (!getHostname().equals(other.getHostname())) return false;
3769     }
3770     if (hasId() != other.hasId()) return false;
3771     if (hasId()) {
3772       if (getId() != other.getId()) return false;
3773     }
3774     if (hasKeyRevocationActionType() != other.hasKeyRevocationActionType()) return false;
3775     if (hasKeyRevocationActionType()) {
3776       if (!getKeyRevocationActionType().equals(other.getKeyRevocationActionType())) return false;
3777     }
3778     if (hasKind() != other.hasKind()) return false;
3779     if (hasKind()) {
3780       if (!getKind().equals(other.getKind())) return false;
3781     }
3782     if (hasLabelFingerprint() != other.hasLabelFingerprint()) return false;
3783     if (hasLabelFingerprint()) {
3784       if (!getLabelFingerprint().equals(other.getLabelFingerprint())) return false;
3785     }
3786     if (!internalGetLabels().equals(other.internalGetLabels())) return false;
3787     if (hasLastStartTimestamp() != other.hasLastStartTimestamp()) return false;
3788     if (hasLastStartTimestamp()) {
3789       if (!getLastStartTimestamp().equals(other.getLastStartTimestamp())) return false;
3790     }
3791     if (hasLastStopTimestamp() != other.hasLastStopTimestamp()) return false;
3792     if (hasLastStopTimestamp()) {
3793       if (!getLastStopTimestamp().equals(other.getLastStopTimestamp())) return false;
3794     }
3795     if (hasLastSuspendedTimestamp() != other.hasLastSuspendedTimestamp()) return false;
3796     if (hasLastSuspendedTimestamp()) {
3797       if (!getLastSuspendedTimestamp().equals(other.getLastSuspendedTimestamp())) return false;
3798     }
3799     if (hasMachineType() != other.hasMachineType()) return false;
3800     if (hasMachineType()) {
3801       if (!getMachineType().equals(other.getMachineType())) return false;
3802     }
3803     if (hasMetadata() != other.hasMetadata()) return false;
3804     if (hasMetadata()) {
3805       if (!getMetadata().equals(other.getMetadata())) return false;
3806     }
3807     if (hasMinCpuPlatform() != other.hasMinCpuPlatform()) return false;
3808     if (hasMinCpuPlatform()) {
3809       if (!getMinCpuPlatform().equals(other.getMinCpuPlatform())) return false;
3810     }
3811     if (hasName() != other.hasName()) return false;
3812     if (hasName()) {
3813       if (!getName().equals(other.getName())) return false;
3814     }
3815     if (!getNetworkInterfacesList().equals(other.getNetworkInterfacesList())) return false;
3816     if (hasNetworkPerformanceConfig() != other.hasNetworkPerformanceConfig()) return false;
3817     if (hasNetworkPerformanceConfig()) {
3818       if (!getNetworkPerformanceConfig().equals(other.getNetworkPerformanceConfig())) return false;
3819     }
3820     if (hasParams() != other.hasParams()) return false;
3821     if (hasParams()) {
3822       if (!getParams().equals(other.getParams())) return false;
3823     }
3824     if (hasPrivateIpv6GoogleAccess() != other.hasPrivateIpv6GoogleAccess()) return false;
3825     if (hasPrivateIpv6GoogleAccess()) {
3826       if (!getPrivateIpv6GoogleAccess().equals(other.getPrivateIpv6GoogleAccess())) return false;
3827     }
3828     if (hasReservationAffinity() != other.hasReservationAffinity()) return false;
3829     if (hasReservationAffinity()) {
3830       if (!getReservationAffinity().equals(other.getReservationAffinity())) return false;
3831     }
3832     if (!getResourcePoliciesList().equals(other.getResourcePoliciesList())) return false;
3833     if (hasResourceStatus() != other.hasResourceStatus()) return false;
3834     if (hasResourceStatus()) {
3835       if (!getResourceStatus().equals(other.getResourceStatus())) return false;
3836     }
3837     if (hasSatisfiesPzs() != other.hasSatisfiesPzs()) return false;
3838     if (hasSatisfiesPzs()) {
3839       if (getSatisfiesPzs() != other.getSatisfiesPzs()) return false;
3840     }
3841     if (hasScheduling() != other.hasScheduling()) return false;
3842     if (hasScheduling()) {
3843       if (!getScheduling().equals(other.getScheduling())) return false;
3844     }
3845     if (hasSelfLink() != other.hasSelfLink()) return false;
3846     if (hasSelfLink()) {
3847       if (!getSelfLink().equals(other.getSelfLink())) return false;
3848     }
3849     if (!getServiceAccountsList().equals(other.getServiceAccountsList())) return false;
3850     if (hasShieldedInstanceConfig() != other.hasShieldedInstanceConfig()) return false;
3851     if (hasShieldedInstanceConfig()) {
3852       if (!getShieldedInstanceConfig().equals(other.getShieldedInstanceConfig())) return false;
3853     }
3854     if (hasShieldedInstanceIntegrityPolicy() != other.hasShieldedInstanceIntegrityPolicy())
3855       return false;
3856     if (hasShieldedInstanceIntegrityPolicy()) {
3857       if (!getShieldedInstanceIntegrityPolicy().equals(other.getShieldedInstanceIntegrityPolicy()))
3858         return false;
3859     }
3860     if (hasSourceMachineImage() != other.hasSourceMachineImage()) return false;
3861     if (hasSourceMachineImage()) {
3862       if (!getSourceMachineImage().equals(other.getSourceMachineImage())) return false;
3863     }
3864     if (hasSourceMachineImageEncryptionKey() != other.hasSourceMachineImageEncryptionKey())
3865       return false;
3866     if (hasSourceMachineImageEncryptionKey()) {
3867       if (!getSourceMachineImageEncryptionKey().equals(other.getSourceMachineImageEncryptionKey()))
3868         return false;
3869     }
3870     if (hasStartRestricted() != other.hasStartRestricted()) return false;
3871     if (hasStartRestricted()) {
3872       if (getStartRestricted() != other.getStartRestricted()) return false;
3873     }
3874     if (hasStatus() != other.hasStatus()) return false;
3875     if (hasStatus()) {
3876       if (!getStatus().equals(other.getStatus())) return false;
3877     }
3878     if (hasStatusMessage() != other.hasStatusMessage()) return false;
3879     if (hasStatusMessage()) {
3880       if (!getStatusMessage().equals(other.getStatusMessage())) return false;
3881     }
3882     if (hasTags() != other.hasTags()) return false;
3883     if (hasTags()) {
3884       if (!getTags().equals(other.getTags())) return false;
3885     }
3886     if (hasZone() != other.hasZone()) return false;
3887     if (hasZone()) {
3888       if (!getZone().equals(other.getZone())) return false;
3889     }
3890     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3891     return true;
3892   }
3893 
3894   @java.lang.Override
hashCode()3895   public int hashCode() {
3896     if (memoizedHashCode != 0) {
3897       return memoizedHashCode;
3898     }
3899     int hash = 41;
3900     hash = (19 * hash) + getDescriptor().hashCode();
3901     if (hasAdvancedMachineFeatures()) {
3902       hash = (37 * hash) + ADVANCED_MACHINE_FEATURES_FIELD_NUMBER;
3903       hash = (53 * hash) + getAdvancedMachineFeatures().hashCode();
3904     }
3905     if (hasCanIpForward()) {
3906       hash = (37 * hash) + CAN_IP_FORWARD_FIELD_NUMBER;
3907       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getCanIpForward());
3908     }
3909     if (hasConfidentialInstanceConfig()) {
3910       hash = (37 * hash) + CONFIDENTIAL_INSTANCE_CONFIG_FIELD_NUMBER;
3911       hash = (53 * hash) + getConfidentialInstanceConfig().hashCode();
3912     }
3913     if (hasCpuPlatform()) {
3914       hash = (37 * hash) + CPU_PLATFORM_FIELD_NUMBER;
3915       hash = (53 * hash) + getCpuPlatform().hashCode();
3916     }
3917     if (hasCreationTimestamp()) {
3918       hash = (37 * hash) + CREATION_TIMESTAMP_FIELD_NUMBER;
3919       hash = (53 * hash) + getCreationTimestamp().hashCode();
3920     }
3921     if (hasDeletionProtection()) {
3922       hash = (37 * hash) + DELETION_PROTECTION_FIELD_NUMBER;
3923       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDeletionProtection());
3924     }
3925     if (hasDescription()) {
3926       hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
3927       hash = (53 * hash) + getDescription().hashCode();
3928     }
3929     if (getDisksCount() > 0) {
3930       hash = (37 * hash) + DISKS_FIELD_NUMBER;
3931       hash = (53 * hash) + getDisksList().hashCode();
3932     }
3933     if (hasDisplayDevice()) {
3934       hash = (37 * hash) + DISPLAY_DEVICE_FIELD_NUMBER;
3935       hash = (53 * hash) + getDisplayDevice().hashCode();
3936     }
3937     if (hasFingerprint()) {
3938       hash = (37 * hash) + FINGERPRINT_FIELD_NUMBER;
3939       hash = (53 * hash) + getFingerprint().hashCode();
3940     }
3941     if (getGuestAcceleratorsCount() > 0) {
3942       hash = (37 * hash) + GUEST_ACCELERATORS_FIELD_NUMBER;
3943       hash = (53 * hash) + getGuestAcceleratorsList().hashCode();
3944     }
3945     if (hasHostname()) {
3946       hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
3947       hash = (53 * hash) + getHostname().hashCode();
3948     }
3949     if (hasId()) {
3950       hash = (37 * hash) + ID_FIELD_NUMBER;
3951       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getId());
3952     }
3953     if (hasKeyRevocationActionType()) {
3954       hash = (37 * hash) + KEY_REVOCATION_ACTION_TYPE_FIELD_NUMBER;
3955       hash = (53 * hash) + getKeyRevocationActionType().hashCode();
3956     }
3957     if (hasKind()) {
3958       hash = (37 * hash) + KIND_FIELD_NUMBER;
3959       hash = (53 * hash) + getKind().hashCode();
3960     }
3961     if (hasLabelFingerprint()) {
3962       hash = (37 * hash) + LABEL_FINGERPRINT_FIELD_NUMBER;
3963       hash = (53 * hash) + getLabelFingerprint().hashCode();
3964     }
3965     if (!internalGetLabels().getMap().isEmpty()) {
3966       hash = (37 * hash) + LABELS_FIELD_NUMBER;
3967       hash = (53 * hash) + internalGetLabels().hashCode();
3968     }
3969     if (hasLastStartTimestamp()) {
3970       hash = (37 * hash) + LAST_START_TIMESTAMP_FIELD_NUMBER;
3971       hash = (53 * hash) + getLastStartTimestamp().hashCode();
3972     }
3973     if (hasLastStopTimestamp()) {
3974       hash = (37 * hash) + LAST_STOP_TIMESTAMP_FIELD_NUMBER;
3975       hash = (53 * hash) + getLastStopTimestamp().hashCode();
3976     }
3977     if (hasLastSuspendedTimestamp()) {
3978       hash = (37 * hash) + LAST_SUSPENDED_TIMESTAMP_FIELD_NUMBER;
3979       hash = (53 * hash) + getLastSuspendedTimestamp().hashCode();
3980     }
3981     if (hasMachineType()) {
3982       hash = (37 * hash) + MACHINE_TYPE_FIELD_NUMBER;
3983       hash = (53 * hash) + getMachineType().hashCode();
3984     }
3985     if (hasMetadata()) {
3986       hash = (37 * hash) + METADATA_FIELD_NUMBER;
3987       hash = (53 * hash) + getMetadata().hashCode();
3988     }
3989     if (hasMinCpuPlatform()) {
3990       hash = (37 * hash) + MIN_CPU_PLATFORM_FIELD_NUMBER;
3991       hash = (53 * hash) + getMinCpuPlatform().hashCode();
3992     }
3993     if (hasName()) {
3994       hash = (37 * hash) + NAME_FIELD_NUMBER;
3995       hash = (53 * hash) + getName().hashCode();
3996     }
3997     if (getNetworkInterfacesCount() > 0) {
3998       hash = (37 * hash) + NETWORK_INTERFACES_FIELD_NUMBER;
3999       hash = (53 * hash) + getNetworkInterfacesList().hashCode();
4000     }
4001     if (hasNetworkPerformanceConfig()) {
4002       hash = (37 * hash) + NETWORK_PERFORMANCE_CONFIG_FIELD_NUMBER;
4003       hash = (53 * hash) + getNetworkPerformanceConfig().hashCode();
4004     }
4005     if (hasParams()) {
4006       hash = (37 * hash) + PARAMS_FIELD_NUMBER;
4007       hash = (53 * hash) + getParams().hashCode();
4008     }
4009     if (hasPrivateIpv6GoogleAccess()) {
4010       hash = (37 * hash) + PRIVATE_IPV6_GOOGLE_ACCESS_FIELD_NUMBER;
4011       hash = (53 * hash) + getPrivateIpv6GoogleAccess().hashCode();
4012     }
4013     if (hasReservationAffinity()) {
4014       hash = (37 * hash) + RESERVATION_AFFINITY_FIELD_NUMBER;
4015       hash = (53 * hash) + getReservationAffinity().hashCode();
4016     }
4017     if (getResourcePoliciesCount() > 0) {
4018       hash = (37 * hash) + RESOURCE_POLICIES_FIELD_NUMBER;
4019       hash = (53 * hash) + getResourcePoliciesList().hashCode();
4020     }
4021     if (hasResourceStatus()) {
4022       hash = (37 * hash) + RESOURCE_STATUS_FIELD_NUMBER;
4023       hash = (53 * hash) + getResourceStatus().hashCode();
4024     }
4025     if (hasSatisfiesPzs()) {
4026       hash = (37 * hash) + SATISFIES_PZS_FIELD_NUMBER;
4027       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getSatisfiesPzs());
4028     }
4029     if (hasScheduling()) {
4030       hash = (37 * hash) + SCHEDULING_FIELD_NUMBER;
4031       hash = (53 * hash) + getScheduling().hashCode();
4032     }
4033     if (hasSelfLink()) {
4034       hash = (37 * hash) + SELF_LINK_FIELD_NUMBER;
4035       hash = (53 * hash) + getSelfLink().hashCode();
4036     }
4037     if (getServiceAccountsCount() > 0) {
4038       hash = (37 * hash) + SERVICE_ACCOUNTS_FIELD_NUMBER;
4039       hash = (53 * hash) + getServiceAccountsList().hashCode();
4040     }
4041     if (hasShieldedInstanceConfig()) {
4042       hash = (37 * hash) + SHIELDED_INSTANCE_CONFIG_FIELD_NUMBER;
4043       hash = (53 * hash) + getShieldedInstanceConfig().hashCode();
4044     }
4045     if (hasShieldedInstanceIntegrityPolicy()) {
4046       hash = (37 * hash) + SHIELDED_INSTANCE_INTEGRITY_POLICY_FIELD_NUMBER;
4047       hash = (53 * hash) + getShieldedInstanceIntegrityPolicy().hashCode();
4048     }
4049     if (hasSourceMachineImage()) {
4050       hash = (37 * hash) + SOURCE_MACHINE_IMAGE_FIELD_NUMBER;
4051       hash = (53 * hash) + getSourceMachineImage().hashCode();
4052     }
4053     if (hasSourceMachineImageEncryptionKey()) {
4054       hash = (37 * hash) + SOURCE_MACHINE_IMAGE_ENCRYPTION_KEY_FIELD_NUMBER;
4055       hash = (53 * hash) + getSourceMachineImageEncryptionKey().hashCode();
4056     }
4057     if (hasStartRestricted()) {
4058       hash = (37 * hash) + START_RESTRICTED_FIELD_NUMBER;
4059       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getStartRestricted());
4060     }
4061     if (hasStatus()) {
4062       hash = (37 * hash) + STATUS_FIELD_NUMBER;
4063       hash = (53 * hash) + getStatus().hashCode();
4064     }
4065     if (hasStatusMessage()) {
4066       hash = (37 * hash) + STATUS_MESSAGE_FIELD_NUMBER;
4067       hash = (53 * hash) + getStatusMessage().hashCode();
4068     }
4069     if (hasTags()) {
4070       hash = (37 * hash) + TAGS_FIELD_NUMBER;
4071       hash = (53 * hash) + getTags().hashCode();
4072     }
4073     if (hasZone()) {
4074       hash = (37 * hash) + ZONE_FIELD_NUMBER;
4075       hash = (53 * hash) + getZone().hashCode();
4076     }
4077     hash = (29 * hash) + getUnknownFields().hashCode();
4078     memoizedHashCode = hash;
4079     return hash;
4080   }
4081 
parseFrom(java.nio.ByteBuffer data)4082   public static com.google.cloud.compute.v1.Instance parseFrom(java.nio.ByteBuffer data)
4083       throws com.google.protobuf.InvalidProtocolBufferException {
4084     return PARSER.parseFrom(data);
4085   }
4086 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4087   public static com.google.cloud.compute.v1.Instance parseFrom(
4088       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4089       throws com.google.protobuf.InvalidProtocolBufferException {
4090     return PARSER.parseFrom(data, extensionRegistry);
4091   }
4092 
parseFrom(com.google.protobuf.ByteString data)4093   public static com.google.cloud.compute.v1.Instance parseFrom(com.google.protobuf.ByteString data)
4094       throws com.google.protobuf.InvalidProtocolBufferException {
4095     return PARSER.parseFrom(data);
4096   }
4097 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4098   public static com.google.cloud.compute.v1.Instance parseFrom(
4099       com.google.protobuf.ByteString data,
4100       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4101       throws com.google.protobuf.InvalidProtocolBufferException {
4102     return PARSER.parseFrom(data, extensionRegistry);
4103   }
4104 
parseFrom(byte[] data)4105   public static com.google.cloud.compute.v1.Instance parseFrom(byte[] data)
4106       throws com.google.protobuf.InvalidProtocolBufferException {
4107     return PARSER.parseFrom(data);
4108   }
4109 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4110   public static com.google.cloud.compute.v1.Instance parseFrom(
4111       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4112       throws com.google.protobuf.InvalidProtocolBufferException {
4113     return PARSER.parseFrom(data, extensionRegistry);
4114   }
4115 
parseFrom(java.io.InputStream input)4116   public static com.google.cloud.compute.v1.Instance parseFrom(java.io.InputStream input)
4117       throws java.io.IOException {
4118     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
4119   }
4120 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4121   public static com.google.cloud.compute.v1.Instance parseFrom(
4122       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4123       throws java.io.IOException {
4124     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
4125         PARSER, input, extensionRegistry);
4126   }
4127 
parseDelimitedFrom(java.io.InputStream input)4128   public static com.google.cloud.compute.v1.Instance parseDelimitedFrom(java.io.InputStream input)
4129       throws java.io.IOException {
4130     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
4131   }
4132 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4133   public static com.google.cloud.compute.v1.Instance parseDelimitedFrom(
4134       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4135       throws java.io.IOException {
4136     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
4137         PARSER, input, extensionRegistry);
4138   }
4139 
parseFrom( com.google.protobuf.CodedInputStream input)4140   public static com.google.cloud.compute.v1.Instance parseFrom(
4141       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
4142     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
4143   }
4144 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4145   public static com.google.cloud.compute.v1.Instance parseFrom(
4146       com.google.protobuf.CodedInputStream input,
4147       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4148       throws java.io.IOException {
4149     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
4150         PARSER, input, extensionRegistry);
4151   }
4152 
4153   @java.lang.Override
newBuilderForType()4154   public Builder newBuilderForType() {
4155     return newBuilder();
4156   }
4157 
newBuilder()4158   public static Builder newBuilder() {
4159     return DEFAULT_INSTANCE.toBuilder();
4160   }
4161 
newBuilder(com.google.cloud.compute.v1.Instance prototype)4162   public static Builder newBuilder(com.google.cloud.compute.v1.Instance prototype) {
4163     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
4164   }
4165 
4166   @java.lang.Override
toBuilder()4167   public Builder toBuilder() {
4168     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
4169   }
4170 
4171   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4172   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4173     Builder builder = new Builder(parent);
4174     return builder;
4175   }
4176   /**
4177    *
4178    *
4179    * <pre>
4180    * Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.
4181    * </pre>
4182    *
4183    * Protobuf type {@code google.cloud.compute.v1.Instance}
4184    */
4185   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
4186       implements
4187       // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.Instance)
4188       com.google.cloud.compute.v1.InstanceOrBuilder {
getDescriptor()4189     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
4190       return com.google.cloud.compute.v1.Compute
4191           .internal_static_google_cloud_compute_v1_Instance_descriptor;
4192     }
4193 
4194     @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)4195     protected com.google.protobuf.MapField internalGetMapField(int number) {
4196       switch (number) {
4197         case 500195327:
4198           return internalGetLabels();
4199         default:
4200           throw new RuntimeException("Invalid map field number: " + number);
4201       }
4202     }
4203 
4204     @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)4205     protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
4206       switch (number) {
4207         case 500195327:
4208           return internalGetMutableLabels();
4209         default:
4210           throw new RuntimeException("Invalid map field number: " + number);
4211       }
4212     }
4213 
4214     @java.lang.Override
4215     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()4216         internalGetFieldAccessorTable() {
4217       return com.google.cloud.compute.v1.Compute
4218           .internal_static_google_cloud_compute_v1_Instance_fieldAccessorTable
4219           .ensureFieldAccessorsInitialized(
4220               com.google.cloud.compute.v1.Instance.class,
4221               com.google.cloud.compute.v1.Instance.Builder.class);
4222     }
4223 
4224     // Construct using com.google.cloud.compute.v1.Instance.newBuilder()
Builder()4225     private Builder() {
4226       maybeForceBuilderInitialization();
4227     }
4228 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4229     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4230       super(parent);
4231       maybeForceBuilderInitialization();
4232     }
4233 
maybeForceBuilderInitialization()4234     private void maybeForceBuilderInitialization() {
4235       if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
4236         getAdvancedMachineFeaturesFieldBuilder();
4237         getConfidentialInstanceConfigFieldBuilder();
4238         getDisksFieldBuilder();
4239         getDisplayDeviceFieldBuilder();
4240         getGuestAcceleratorsFieldBuilder();
4241         getMetadataFieldBuilder();
4242         getNetworkInterfacesFieldBuilder();
4243         getNetworkPerformanceConfigFieldBuilder();
4244         getParamsFieldBuilder();
4245         getReservationAffinityFieldBuilder();
4246         getResourceStatusFieldBuilder();
4247         getSchedulingFieldBuilder();
4248         getServiceAccountsFieldBuilder();
4249         getShieldedInstanceConfigFieldBuilder();
4250         getShieldedInstanceIntegrityPolicyFieldBuilder();
4251         getSourceMachineImageEncryptionKeyFieldBuilder();
4252         getTagsFieldBuilder();
4253       }
4254     }
4255 
4256     @java.lang.Override
clear()4257     public Builder clear() {
4258       super.clear();
4259       bitField0_ = 0;
4260       bitField1_ = 0;
4261       advancedMachineFeatures_ = null;
4262       if (advancedMachineFeaturesBuilder_ != null) {
4263         advancedMachineFeaturesBuilder_.dispose();
4264         advancedMachineFeaturesBuilder_ = null;
4265       }
4266       canIpForward_ = false;
4267       confidentialInstanceConfig_ = null;
4268       if (confidentialInstanceConfigBuilder_ != null) {
4269         confidentialInstanceConfigBuilder_.dispose();
4270         confidentialInstanceConfigBuilder_ = null;
4271       }
4272       cpuPlatform_ = "";
4273       creationTimestamp_ = "";
4274       deletionProtection_ = false;
4275       description_ = "";
4276       if (disksBuilder_ == null) {
4277         disks_ = java.util.Collections.emptyList();
4278       } else {
4279         disks_ = null;
4280         disksBuilder_.clear();
4281       }
4282       bitField0_ = (bitField0_ & ~0x00000080);
4283       displayDevice_ = null;
4284       if (displayDeviceBuilder_ != null) {
4285         displayDeviceBuilder_.dispose();
4286         displayDeviceBuilder_ = null;
4287       }
4288       fingerprint_ = "";
4289       if (guestAcceleratorsBuilder_ == null) {
4290         guestAccelerators_ = java.util.Collections.emptyList();
4291       } else {
4292         guestAccelerators_ = null;
4293         guestAcceleratorsBuilder_.clear();
4294       }
4295       bitField0_ = (bitField0_ & ~0x00000400);
4296       hostname_ = "";
4297       id_ = 0L;
4298       keyRevocationActionType_ = "";
4299       kind_ = "";
4300       labelFingerprint_ = "";
4301       internalGetMutableLabels().clear();
4302       lastStartTimestamp_ = "";
4303       lastStopTimestamp_ = "";
4304       lastSuspendedTimestamp_ = "";
4305       machineType_ = "";
4306       metadata_ = null;
4307       if (metadataBuilder_ != null) {
4308         metadataBuilder_.dispose();
4309         metadataBuilder_ = null;
4310       }
4311       minCpuPlatform_ = "";
4312       name_ = "";
4313       if (networkInterfacesBuilder_ == null) {
4314         networkInterfaces_ = java.util.Collections.emptyList();
4315       } else {
4316         networkInterfaces_ = null;
4317         networkInterfacesBuilder_.clear();
4318       }
4319       bitField0_ = (bitField0_ & ~0x01000000);
4320       networkPerformanceConfig_ = null;
4321       if (networkPerformanceConfigBuilder_ != null) {
4322         networkPerformanceConfigBuilder_.dispose();
4323         networkPerformanceConfigBuilder_ = null;
4324       }
4325       params_ = null;
4326       if (paramsBuilder_ != null) {
4327         paramsBuilder_.dispose();
4328         paramsBuilder_ = null;
4329       }
4330       privateIpv6GoogleAccess_ = "";
4331       reservationAffinity_ = null;
4332       if (reservationAffinityBuilder_ != null) {
4333         reservationAffinityBuilder_.dispose();
4334         reservationAffinityBuilder_ = null;
4335       }
4336       resourcePolicies_ = com.google.protobuf.LazyStringArrayList.EMPTY;
4337       bitField0_ = (bitField0_ & ~0x20000000);
4338       resourceStatus_ = null;
4339       if (resourceStatusBuilder_ != null) {
4340         resourceStatusBuilder_.dispose();
4341         resourceStatusBuilder_ = null;
4342       }
4343       satisfiesPzs_ = false;
4344       scheduling_ = null;
4345       if (schedulingBuilder_ != null) {
4346         schedulingBuilder_.dispose();
4347         schedulingBuilder_ = null;
4348       }
4349       selfLink_ = "";
4350       if (serviceAccountsBuilder_ == null) {
4351         serviceAccounts_ = java.util.Collections.emptyList();
4352       } else {
4353         serviceAccounts_ = null;
4354         serviceAccountsBuilder_.clear();
4355       }
4356       bitField1_ = (bitField1_ & ~0x00000004);
4357       shieldedInstanceConfig_ = null;
4358       if (shieldedInstanceConfigBuilder_ != null) {
4359         shieldedInstanceConfigBuilder_.dispose();
4360         shieldedInstanceConfigBuilder_ = null;
4361       }
4362       shieldedInstanceIntegrityPolicy_ = null;
4363       if (shieldedInstanceIntegrityPolicyBuilder_ != null) {
4364         shieldedInstanceIntegrityPolicyBuilder_.dispose();
4365         shieldedInstanceIntegrityPolicyBuilder_ = null;
4366       }
4367       sourceMachineImage_ = "";
4368       sourceMachineImageEncryptionKey_ = null;
4369       if (sourceMachineImageEncryptionKeyBuilder_ != null) {
4370         sourceMachineImageEncryptionKeyBuilder_.dispose();
4371         sourceMachineImageEncryptionKeyBuilder_ = null;
4372       }
4373       startRestricted_ = false;
4374       status_ = "";
4375       statusMessage_ = "";
4376       tags_ = null;
4377       if (tagsBuilder_ != null) {
4378         tagsBuilder_.dispose();
4379         tagsBuilder_ = null;
4380       }
4381       zone_ = "";
4382       return this;
4383     }
4384 
4385     @java.lang.Override
getDescriptorForType()4386     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
4387       return com.google.cloud.compute.v1.Compute
4388           .internal_static_google_cloud_compute_v1_Instance_descriptor;
4389     }
4390 
4391     @java.lang.Override
getDefaultInstanceForType()4392     public com.google.cloud.compute.v1.Instance getDefaultInstanceForType() {
4393       return com.google.cloud.compute.v1.Instance.getDefaultInstance();
4394     }
4395 
4396     @java.lang.Override
build()4397     public com.google.cloud.compute.v1.Instance build() {
4398       com.google.cloud.compute.v1.Instance result = buildPartial();
4399       if (!result.isInitialized()) {
4400         throw newUninitializedMessageException(result);
4401       }
4402       return result;
4403     }
4404 
4405     @java.lang.Override
buildPartial()4406     public com.google.cloud.compute.v1.Instance buildPartial() {
4407       com.google.cloud.compute.v1.Instance result = new com.google.cloud.compute.v1.Instance(this);
4408       buildPartialRepeatedFields(result);
4409       if (bitField0_ != 0) {
4410         buildPartial0(result);
4411       }
4412       if (bitField1_ != 0) {
4413         buildPartial1(result);
4414       }
4415       onBuilt();
4416       return result;
4417     }
4418 
buildPartialRepeatedFields(com.google.cloud.compute.v1.Instance result)4419     private void buildPartialRepeatedFields(com.google.cloud.compute.v1.Instance result) {
4420       if (disksBuilder_ == null) {
4421         if (((bitField0_ & 0x00000080) != 0)) {
4422           disks_ = java.util.Collections.unmodifiableList(disks_);
4423           bitField0_ = (bitField0_ & ~0x00000080);
4424         }
4425         result.disks_ = disks_;
4426       } else {
4427         result.disks_ = disksBuilder_.build();
4428       }
4429       if (guestAcceleratorsBuilder_ == null) {
4430         if (((bitField0_ & 0x00000400) != 0)) {
4431           guestAccelerators_ = java.util.Collections.unmodifiableList(guestAccelerators_);
4432           bitField0_ = (bitField0_ & ~0x00000400);
4433         }
4434         result.guestAccelerators_ = guestAccelerators_;
4435       } else {
4436         result.guestAccelerators_ = guestAcceleratorsBuilder_.build();
4437       }
4438       if (networkInterfacesBuilder_ == null) {
4439         if (((bitField0_ & 0x01000000) != 0)) {
4440           networkInterfaces_ = java.util.Collections.unmodifiableList(networkInterfaces_);
4441           bitField0_ = (bitField0_ & ~0x01000000);
4442         }
4443         result.networkInterfaces_ = networkInterfaces_;
4444       } else {
4445         result.networkInterfaces_ = networkInterfacesBuilder_.build();
4446       }
4447       if (((bitField0_ & 0x20000000) != 0)) {
4448         resourcePolicies_ = resourcePolicies_.getUnmodifiableView();
4449         bitField0_ = (bitField0_ & ~0x20000000);
4450       }
4451       result.resourcePolicies_ = resourcePolicies_;
4452       if (serviceAccountsBuilder_ == null) {
4453         if (((bitField1_ & 0x00000004) != 0)) {
4454           serviceAccounts_ = java.util.Collections.unmodifiableList(serviceAccounts_);
4455           bitField1_ = (bitField1_ & ~0x00000004);
4456         }
4457         result.serviceAccounts_ = serviceAccounts_;
4458       } else {
4459         result.serviceAccounts_ = serviceAccountsBuilder_.build();
4460       }
4461     }
4462 
buildPartial0(com.google.cloud.compute.v1.Instance result)4463     private void buildPartial0(com.google.cloud.compute.v1.Instance result) {
4464       int from_bitField0_ = bitField0_;
4465       int to_bitField0_ = 0;
4466       if (((from_bitField0_ & 0x00000001) != 0)) {
4467         result.advancedMachineFeatures_ =
4468             advancedMachineFeaturesBuilder_ == null
4469                 ? advancedMachineFeatures_
4470                 : advancedMachineFeaturesBuilder_.build();
4471         to_bitField0_ |= 0x00000001;
4472       }
4473       if (((from_bitField0_ & 0x00000002) != 0)) {
4474         result.canIpForward_ = canIpForward_;
4475         to_bitField0_ |= 0x00000002;
4476       }
4477       if (((from_bitField0_ & 0x00000004) != 0)) {
4478         result.confidentialInstanceConfig_ =
4479             confidentialInstanceConfigBuilder_ == null
4480                 ? confidentialInstanceConfig_
4481                 : confidentialInstanceConfigBuilder_.build();
4482         to_bitField0_ |= 0x00000004;
4483       }
4484       if (((from_bitField0_ & 0x00000008) != 0)) {
4485         result.cpuPlatform_ = cpuPlatform_;
4486         to_bitField0_ |= 0x00000008;
4487       }
4488       if (((from_bitField0_ & 0x00000010) != 0)) {
4489         result.creationTimestamp_ = creationTimestamp_;
4490         to_bitField0_ |= 0x00000010;
4491       }
4492       if (((from_bitField0_ & 0x00000020) != 0)) {
4493         result.deletionProtection_ = deletionProtection_;
4494         to_bitField0_ |= 0x00000020;
4495       }
4496       if (((from_bitField0_ & 0x00000040) != 0)) {
4497         result.description_ = description_;
4498         to_bitField0_ |= 0x00000040;
4499       }
4500       if (((from_bitField0_ & 0x00000100) != 0)) {
4501         result.displayDevice_ =
4502             displayDeviceBuilder_ == null ? displayDevice_ : displayDeviceBuilder_.build();
4503         to_bitField0_ |= 0x00000080;
4504       }
4505       if (((from_bitField0_ & 0x00000200) != 0)) {
4506         result.fingerprint_ = fingerprint_;
4507         to_bitField0_ |= 0x00000100;
4508       }
4509       if (((from_bitField0_ & 0x00000800) != 0)) {
4510         result.hostname_ = hostname_;
4511         to_bitField0_ |= 0x00000200;
4512       }
4513       if (((from_bitField0_ & 0x00001000) != 0)) {
4514         result.id_ = id_;
4515         to_bitField0_ |= 0x00000400;
4516       }
4517       if (((from_bitField0_ & 0x00002000) != 0)) {
4518         result.keyRevocationActionType_ = keyRevocationActionType_;
4519         to_bitField0_ |= 0x00000800;
4520       }
4521       if (((from_bitField0_ & 0x00004000) != 0)) {
4522         result.kind_ = kind_;
4523         to_bitField0_ |= 0x00001000;
4524       }
4525       if (((from_bitField0_ & 0x00008000) != 0)) {
4526         result.labelFingerprint_ = labelFingerprint_;
4527         to_bitField0_ |= 0x00002000;
4528       }
4529       if (((from_bitField0_ & 0x00010000) != 0)) {
4530         result.labels_ = internalGetLabels();
4531         result.labels_.makeImmutable();
4532       }
4533       if (((from_bitField0_ & 0x00020000) != 0)) {
4534         result.lastStartTimestamp_ = lastStartTimestamp_;
4535         to_bitField0_ |= 0x00004000;
4536       }
4537       if (((from_bitField0_ & 0x00040000) != 0)) {
4538         result.lastStopTimestamp_ = lastStopTimestamp_;
4539         to_bitField0_ |= 0x00008000;
4540       }
4541       if (((from_bitField0_ & 0x00080000) != 0)) {
4542         result.lastSuspendedTimestamp_ = lastSuspendedTimestamp_;
4543         to_bitField0_ |= 0x00010000;
4544       }
4545       if (((from_bitField0_ & 0x00100000) != 0)) {
4546         result.machineType_ = machineType_;
4547         to_bitField0_ |= 0x00020000;
4548       }
4549       if (((from_bitField0_ & 0x00200000) != 0)) {
4550         result.metadata_ = metadataBuilder_ == null ? metadata_ : metadataBuilder_.build();
4551         to_bitField0_ |= 0x00040000;
4552       }
4553       if (((from_bitField0_ & 0x00400000) != 0)) {
4554         result.minCpuPlatform_ = minCpuPlatform_;
4555         to_bitField0_ |= 0x00080000;
4556       }
4557       if (((from_bitField0_ & 0x00800000) != 0)) {
4558         result.name_ = name_;
4559         to_bitField0_ |= 0x00100000;
4560       }
4561       if (((from_bitField0_ & 0x02000000) != 0)) {
4562         result.networkPerformanceConfig_ =
4563             networkPerformanceConfigBuilder_ == null
4564                 ? networkPerformanceConfig_
4565                 : networkPerformanceConfigBuilder_.build();
4566         to_bitField0_ |= 0x00200000;
4567       }
4568       if (((from_bitField0_ & 0x04000000) != 0)) {
4569         result.params_ = paramsBuilder_ == null ? params_ : paramsBuilder_.build();
4570         to_bitField0_ |= 0x00400000;
4571       }
4572       if (((from_bitField0_ & 0x08000000) != 0)) {
4573         result.privateIpv6GoogleAccess_ = privateIpv6GoogleAccess_;
4574         to_bitField0_ |= 0x00800000;
4575       }
4576       if (((from_bitField0_ & 0x10000000) != 0)) {
4577         result.reservationAffinity_ =
4578             reservationAffinityBuilder_ == null
4579                 ? reservationAffinity_
4580                 : reservationAffinityBuilder_.build();
4581         to_bitField0_ |= 0x01000000;
4582       }
4583       if (((from_bitField0_ & 0x40000000) != 0)) {
4584         result.resourceStatus_ =
4585             resourceStatusBuilder_ == null ? resourceStatus_ : resourceStatusBuilder_.build();
4586         to_bitField0_ |= 0x02000000;
4587       }
4588       if (((from_bitField0_ & 0x80000000) != 0)) {
4589         result.satisfiesPzs_ = satisfiesPzs_;
4590         to_bitField0_ |= 0x04000000;
4591       }
4592       result.bitField0_ |= to_bitField0_;
4593     }
4594 
buildPartial1(com.google.cloud.compute.v1.Instance result)4595     private void buildPartial1(com.google.cloud.compute.v1.Instance result) {
4596       int from_bitField1_ = bitField1_;
4597       int to_bitField0_ = 0;
4598       if (((from_bitField1_ & 0x00000001) != 0)) {
4599         result.scheduling_ = schedulingBuilder_ == null ? scheduling_ : schedulingBuilder_.build();
4600         to_bitField0_ |= 0x08000000;
4601       }
4602       if (((from_bitField1_ & 0x00000002) != 0)) {
4603         result.selfLink_ = selfLink_;
4604         to_bitField0_ |= 0x10000000;
4605       }
4606       if (((from_bitField1_ & 0x00000008) != 0)) {
4607         result.shieldedInstanceConfig_ =
4608             shieldedInstanceConfigBuilder_ == null
4609                 ? shieldedInstanceConfig_
4610                 : shieldedInstanceConfigBuilder_.build();
4611         to_bitField0_ |= 0x20000000;
4612       }
4613       if (((from_bitField1_ & 0x00000010) != 0)) {
4614         result.shieldedInstanceIntegrityPolicy_ =
4615             shieldedInstanceIntegrityPolicyBuilder_ == null
4616                 ? shieldedInstanceIntegrityPolicy_
4617                 : shieldedInstanceIntegrityPolicyBuilder_.build();
4618         to_bitField0_ |= 0x40000000;
4619       }
4620       if (((from_bitField1_ & 0x00000020) != 0)) {
4621         result.sourceMachineImage_ = sourceMachineImage_;
4622         to_bitField0_ |= 0x80000000;
4623       }
4624       int to_bitField1_ = 0;
4625       if (((from_bitField1_ & 0x00000040) != 0)) {
4626         result.sourceMachineImageEncryptionKey_ =
4627             sourceMachineImageEncryptionKeyBuilder_ == null
4628                 ? sourceMachineImageEncryptionKey_
4629                 : sourceMachineImageEncryptionKeyBuilder_.build();
4630         to_bitField1_ |= 0x00000001;
4631       }
4632       if (((from_bitField1_ & 0x00000080) != 0)) {
4633         result.startRestricted_ = startRestricted_;
4634         to_bitField1_ |= 0x00000002;
4635       }
4636       if (((from_bitField1_ & 0x00000100) != 0)) {
4637         result.status_ = status_;
4638         to_bitField1_ |= 0x00000004;
4639       }
4640       if (((from_bitField1_ & 0x00000200) != 0)) {
4641         result.statusMessage_ = statusMessage_;
4642         to_bitField1_ |= 0x00000008;
4643       }
4644       if (((from_bitField1_ & 0x00000400) != 0)) {
4645         result.tags_ = tagsBuilder_ == null ? tags_ : tagsBuilder_.build();
4646         to_bitField1_ |= 0x00000010;
4647       }
4648       if (((from_bitField1_ & 0x00000800) != 0)) {
4649         result.zone_ = zone_;
4650         to_bitField1_ |= 0x00000020;
4651       }
4652       result.bitField0_ |= to_bitField0_;
4653       result.bitField1_ |= to_bitField1_;
4654     }
4655 
4656     @java.lang.Override
clone()4657     public Builder clone() {
4658       return super.clone();
4659     }
4660 
4661     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4662     public Builder setField(
4663         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4664       return super.setField(field, value);
4665     }
4666 
4667     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)4668     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
4669       return super.clearField(field);
4670     }
4671 
4672     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)4673     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
4674       return super.clearOneof(oneof);
4675     }
4676 
4677     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)4678     public Builder setRepeatedField(
4679         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
4680       return super.setRepeatedField(field, index, value);
4681     }
4682 
4683     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4684     public Builder addRepeatedField(
4685         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4686       return super.addRepeatedField(field, value);
4687     }
4688 
4689     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)4690     public Builder mergeFrom(com.google.protobuf.Message other) {
4691       if (other instanceof com.google.cloud.compute.v1.Instance) {
4692         return mergeFrom((com.google.cloud.compute.v1.Instance) other);
4693       } else {
4694         super.mergeFrom(other);
4695         return this;
4696       }
4697     }
4698 
mergeFrom(com.google.cloud.compute.v1.Instance other)4699     public Builder mergeFrom(com.google.cloud.compute.v1.Instance other) {
4700       if (other == com.google.cloud.compute.v1.Instance.getDefaultInstance()) return this;
4701       if (other.hasAdvancedMachineFeatures()) {
4702         mergeAdvancedMachineFeatures(other.getAdvancedMachineFeatures());
4703       }
4704       if (other.hasCanIpForward()) {
4705         setCanIpForward(other.getCanIpForward());
4706       }
4707       if (other.hasConfidentialInstanceConfig()) {
4708         mergeConfidentialInstanceConfig(other.getConfidentialInstanceConfig());
4709       }
4710       if (other.hasCpuPlatform()) {
4711         cpuPlatform_ = other.cpuPlatform_;
4712         bitField0_ |= 0x00000008;
4713         onChanged();
4714       }
4715       if (other.hasCreationTimestamp()) {
4716         creationTimestamp_ = other.creationTimestamp_;
4717         bitField0_ |= 0x00000010;
4718         onChanged();
4719       }
4720       if (other.hasDeletionProtection()) {
4721         setDeletionProtection(other.getDeletionProtection());
4722       }
4723       if (other.hasDescription()) {
4724         description_ = other.description_;
4725         bitField0_ |= 0x00000040;
4726         onChanged();
4727       }
4728       if (disksBuilder_ == null) {
4729         if (!other.disks_.isEmpty()) {
4730           if (disks_.isEmpty()) {
4731             disks_ = other.disks_;
4732             bitField0_ = (bitField0_ & ~0x00000080);
4733           } else {
4734             ensureDisksIsMutable();
4735             disks_.addAll(other.disks_);
4736           }
4737           onChanged();
4738         }
4739       } else {
4740         if (!other.disks_.isEmpty()) {
4741           if (disksBuilder_.isEmpty()) {
4742             disksBuilder_.dispose();
4743             disksBuilder_ = null;
4744             disks_ = other.disks_;
4745             bitField0_ = (bitField0_ & ~0x00000080);
4746             disksBuilder_ =
4747                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4748                     ? getDisksFieldBuilder()
4749                     : null;
4750           } else {
4751             disksBuilder_.addAllMessages(other.disks_);
4752           }
4753         }
4754       }
4755       if (other.hasDisplayDevice()) {
4756         mergeDisplayDevice(other.getDisplayDevice());
4757       }
4758       if (other.hasFingerprint()) {
4759         fingerprint_ = other.fingerprint_;
4760         bitField0_ |= 0x00000200;
4761         onChanged();
4762       }
4763       if (guestAcceleratorsBuilder_ == null) {
4764         if (!other.guestAccelerators_.isEmpty()) {
4765           if (guestAccelerators_.isEmpty()) {
4766             guestAccelerators_ = other.guestAccelerators_;
4767             bitField0_ = (bitField0_ & ~0x00000400);
4768           } else {
4769             ensureGuestAcceleratorsIsMutable();
4770             guestAccelerators_.addAll(other.guestAccelerators_);
4771           }
4772           onChanged();
4773         }
4774       } else {
4775         if (!other.guestAccelerators_.isEmpty()) {
4776           if (guestAcceleratorsBuilder_.isEmpty()) {
4777             guestAcceleratorsBuilder_.dispose();
4778             guestAcceleratorsBuilder_ = null;
4779             guestAccelerators_ = other.guestAccelerators_;
4780             bitField0_ = (bitField0_ & ~0x00000400);
4781             guestAcceleratorsBuilder_ =
4782                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4783                     ? getGuestAcceleratorsFieldBuilder()
4784                     : null;
4785           } else {
4786             guestAcceleratorsBuilder_.addAllMessages(other.guestAccelerators_);
4787           }
4788         }
4789       }
4790       if (other.hasHostname()) {
4791         hostname_ = other.hostname_;
4792         bitField0_ |= 0x00000800;
4793         onChanged();
4794       }
4795       if (other.hasId()) {
4796         setId(other.getId());
4797       }
4798       if (other.hasKeyRevocationActionType()) {
4799         keyRevocationActionType_ = other.keyRevocationActionType_;
4800         bitField0_ |= 0x00002000;
4801         onChanged();
4802       }
4803       if (other.hasKind()) {
4804         kind_ = other.kind_;
4805         bitField0_ |= 0x00004000;
4806         onChanged();
4807       }
4808       if (other.hasLabelFingerprint()) {
4809         labelFingerprint_ = other.labelFingerprint_;
4810         bitField0_ |= 0x00008000;
4811         onChanged();
4812       }
4813       internalGetMutableLabels().mergeFrom(other.internalGetLabels());
4814       bitField0_ |= 0x00010000;
4815       if (other.hasLastStartTimestamp()) {
4816         lastStartTimestamp_ = other.lastStartTimestamp_;
4817         bitField0_ |= 0x00020000;
4818         onChanged();
4819       }
4820       if (other.hasLastStopTimestamp()) {
4821         lastStopTimestamp_ = other.lastStopTimestamp_;
4822         bitField0_ |= 0x00040000;
4823         onChanged();
4824       }
4825       if (other.hasLastSuspendedTimestamp()) {
4826         lastSuspendedTimestamp_ = other.lastSuspendedTimestamp_;
4827         bitField0_ |= 0x00080000;
4828         onChanged();
4829       }
4830       if (other.hasMachineType()) {
4831         machineType_ = other.machineType_;
4832         bitField0_ |= 0x00100000;
4833         onChanged();
4834       }
4835       if (other.hasMetadata()) {
4836         mergeMetadata(other.getMetadata());
4837       }
4838       if (other.hasMinCpuPlatform()) {
4839         minCpuPlatform_ = other.minCpuPlatform_;
4840         bitField0_ |= 0x00400000;
4841         onChanged();
4842       }
4843       if (other.hasName()) {
4844         name_ = other.name_;
4845         bitField0_ |= 0x00800000;
4846         onChanged();
4847       }
4848       if (networkInterfacesBuilder_ == null) {
4849         if (!other.networkInterfaces_.isEmpty()) {
4850           if (networkInterfaces_.isEmpty()) {
4851             networkInterfaces_ = other.networkInterfaces_;
4852             bitField0_ = (bitField0_ & ~0x01000000);
4853           } else {
4854             ensureNetworkInterfacesIsMutable();
4855             networkInterfaces_.addAll(other.networkInterfaces_);
4856           }
4857           onChanged();
4858         }
4859       } else {
4860         if (!other.networkInterfaces_.isEmpty()) {
4861           if (networkInterfacesBuilder_.isEmpty()) {
4862             networkInterfacesBuilder_.dispose();
4863             networkInterfacesBuilder_ = null;
4864             networkInterfaces_ = other.networkInterfaces_;
4865             bitField0_ = (bitField0_ & ~0x01000000);
4866             networkInterfacesBuilder_ =
4867                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4868                     ? getNetworkInterfacesFieldBuilder()
4869                     : null;
4870           } else {
4871             networkInterfacesBuilder_.addAllMessages(other.networkInterfaces_);
4872           }
4873         }
4874       }
4875       if (other.hasNetworkPerformanceConfig()) {
4876         mergeNetworkPerformanceConfig(other.getNetworkPerformanceConfig());
4877       }
4878       if (other.hasParams()) {
4879         mergeParams(other.getParams());
4880       }
4881       if (other.hasPrivateIpv6GoogleAccess()) {
4882         privateIpv6GoogleAccess_ = other.privateIpv6GoogleAccess_;
4883         bitField0_ |= 0x08000000;
4884         onChanged();
4885       }
4886       if (other.hasReservationAffinity()) {
4887         mergeReservationAffinity(other.getReservationAffinity());
4888       }
4889       if (!other.resourcePolicies_.isEmpty()) {
4890         if (resourcePolicies_.isEmpty()) {
4891           resourcePolicies_ = other.resourcePolicies_;
4892           bitField0_ = (bitField0_ & ~0x20000000);
4893         } else {
4894           ensureResourcePoliciesIsMutable();
4895           resourcePolicies_.addAll(other.resourcePolicies_);
4896         }
4897         onChanged();
4898       }
4899       if (other.hasResourceStatus()) {
4900         mergeResourceStatus(other.getResourceStatus());
4901       }
4902       if (other.hasSatisfiesPzs()) {
4903         setSatisfiesPzs(other.getSatisfiesPzs());
4904       }
4905       if (other.hasScheduling()) {
4906         mergeScheduling(other.getScheduling());
4907       }
4908       if (other.hasSelfLink()) {
4909         selfLink_ = other.selfLink_;
4910         bitField1_ |= 0x00000002;
4911         onChanged();
4912       }
4913       if (serviceAccountsBuilder_ == null) {
4914         if (!other.serviceAccounts_.isEmpty()) {
4915           if (serviceAccounts_.isEmpty()) {
4916             serviceAccounts_ = other.serviceAccounts_;
4917             bitField1_ = (bitField1_ & ~0x00000004);
4918           } else {
4919             ensureServiceAccountsIsMutable();
4920             serviceAccounts_.addAll(other.serviceAccounts_);
4921           }
4922           onChanged();
4923         }
4924       } else {
4925         if (!other.serviceAccounts_.isEmpty()) {
4926           if (serviceAccountsBuilder_.isEmpty()) {
4927             serviceAccountsBuilder_.dispose();
4928             serviceAccountsBuilder_ = null;
4929             serviceAccounts_ = other.serviceAccounts_;
4930             bitField1_ = (bitField1_ & ~0x00000004);
4931             serviceAccountsBuilder_ =
4932                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4933                     ? getServiceAccountsFieldBuilder()
4934                     : null;
4935           } else {
4936             serviceAccountsBuilder_.addAllMessages(other.serviceAccounts_);
4937           }
4938         }
4939       }
4940       if (other.hasShieldedInstanceConfig()) {
4941         mergeShieldedInstanceConfig(other.getShieldedInstanceConfig());
4942       }
4943       if (other.hasShieldedInstanceIntegrityPolicy()) {
4944         mergeShieldedInstanceIntegrityPolicy(other.getShieldedInstanceIntegrityPolicy());
4945       }
4946       if (other.hasSourceMachineImage()) {
4947         sourceMachineImage_ = other.sourceMachineImage_;
4948         bitField1_ |= 0x00000020;
4949         onChanged();
4950       }
4951       if (other.hasSourceMachineImageEncryptionKey()) {
4952         mergeSourceMachineImageEncryptionKey(other.getSourceMachineImageEncryptionKey());
4953       }
4954       if (other.hasStartRestricted()) {
4955         setStartRestricted(other.getStartRestricted());
4956       }
4957       if (other.hasStatus()) {
4958         status_ = other.status_;
4959         bitField1_ |= 0x00000100;
4960         onChanged();
4961       }
4962       if (other.hasStatusMessage()) {
4963         statusMessage_ = other.statusMessage_;
4964         bitField1_ |= 0x00000200;
4965         onChanged();
4966       }
4967       if (other.hasTags()) {
4968         mergeTags(other.getTags());
4969       }
4970       if (other.hasZone()) {
4971         zone_ = other.zone_;
4972         bitField1_ |= 0x00000800;
4973         onChanged();
4974       }
4975       this.mergeUnknownFields(other.getUnknownFields());
4976       onChanged();
4977       return this;
4978     }
4979 
4980     @java.lang.Override
isInitialized()4981     public final boolean isInitialized() {
4982       return true;
4983     }
4984 
4985     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4986     public Builder mergeFrom(
4987         com.google.protobuf.CodedInputStream input,
4988         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4989         throws java.io.IOException {
4990       if (extensionRegistry == null) {
4991         throw new java.lang.NullPointerException();
4992       }
4993       try {
4994         boolean done = false;
4995         while (!done) {
4996           int tag = input.readTag();
4997           switch (tag) {
4998             case 0:
4999               done = true;
5000               break;
5001             case 26840:
5002               {
5003                 id_ = input.readUInt64();
5004                 bitField0_ |= 0x00001000;
5005                 break;
5006               } // case 26840
5007             case 26336418:
5008               {
5009                 kind_ = input.readStringRequireUtf8();
5010                 bitField0_ |= 0x00004000;
5011                 break;
5012               } // case 26336418
5013             case 26989658:
5014               {
5015                 name_ = input.readStringRequireUtf8();
5016                 bitField0_ |= 0x00800000;
5017                 break;
5018               } // case 26989658
5019             case 28418250:
5020               {
5021                 input.readMessage(getTagsFieldBuilder().getBuilder(), extensionRegistry);
5022                 bitField1_ |= 0x00000400;
5023                 break;
5024               } // case 28418250
5025             case 29957474:
5026               {
5027                 zone_ = input.readStringRequireUtf8();
5028                 bitField1_ |= 0x00000800;
5029                 break;
5030               } // case 29957474
5031             case 102903210:
5032               {
5033                 input.readMessage(
5034                     getShieldedInstanceConfigFieldBuilder().getBuilder(), extensionRegistry);
5035                 bitField1_ |= 0x00000008;
5036                 break;
5037               } // case 102903210
5038             case 174158330:
5039               {
5040                 sourceMachineImage_ = input.readStringRequireUtf8();
5041                 bitField1_ |= 0x00000020;
5042                 break;
5043               } // case 174158330
5044             case 177763082:
5045               {
5046                 java.lang.String s = input.readStringRequireUtf8();
5047                 ensureResourcePoliciesIsMutable();
5048                 resourcePolicies_.add(s);
5049                 break;
5050               } // case 177763082
5051             case 244202930:
5052               {
5053                 creationTimestamp_ = input.readStringRequireUtf8();
5054                 bitField0_ |= 0x00000010;
5055                 break;
5056               } // case 244202930
5057             case 386216050:
5058               {
5059                 privateIpv6GoogleAccess_ = input.readStringRequireUtf8();
5060                 bitField0_ |= 0x08000000;
5061                 break;
5062               } // case 386216050
5063             case 421881946:
5064               {
5065                 com.google.cloud.compute.v1.NetworkInterface m =
5066                     input.readMessage(
5067                         com.google.cloud.compute.v1.NetworkInterface.parser(), extensionRegistry);
5068                 if (networkInterfacesBuilder_ == null) {
5069                   ensureNetworkInterfacesIsMutable();
5070                   networkInterfaces_.add(m);
5071                 } else {
5072                   networkInterfacesBuilder_.addMessage(m);
5073                 }
5074                 break;
5075               } // case 421881946
5076             case 626510898:
5077               {
5078                 input.readMessage(getParamsFieldBuilder().getBuilder(), extensionRegistry);
5079                 bitField0_ |= 0x04000000;
5080                 break;
5081               } // case 626510898
5082             case 694933882:
5083               {
5084                 input.readMessage(getMetadataFieldBuilder().getBuilder(), extensionRegistry);
5085                 bitField0_ |= 0x00200000;
5086                 break;
5087               } // case 694933882
5088             case 764752818:
5089               {
5090                 com.google.cloud.compute.v1.AttachedDisk m =
5091                     input.readMessage(
5092                         com.google.cloud.compute.v1.AttachedDisk.parser(), extensionRegistry);
5093                 if (disksBuilder_ == null) {
5094                   ensureDisksIsMutable();
5095                   disks_.add(m);
5096                 } else {
5097                   disksBuilder_.addMessage(m);
5098                 }
5099                 break;
5100               } // case 764752818
5101             case 989545152:
5102               {
5103                 startRestricted_ = input.readBool();
5104                 bitField1_ |= 0x00000080;
5105                 break;
5106               } // case 989545152
5107             case 1262805466:
5108               {
5109                 input.readMessage(
5110                     getReservationAffinityFieldBuilder().getBuilder(), extensionRegistry);
5111                 bitField0_ |= 0x10000000;
5112                 break;
5113               } // case 1262805466
5114             case 1309575354:
5115               {
5116                 input.readMessage(
5117                     getShieldedInstanceIntegrityPolicyFieldBuilder().getBuilder(),
5118                     extensionRegistry);
5119                 bitField1_ |= 0x00000010;
5120                 break;
5121               } // case 1309575354
5122             case 1424998602:
5123               {
5124                 labelFingerprint_ = input.readStringRequireUtf8();
5125                 bitField0_ |= 0x00008000;
5126                 break;
5127               } // case 1424998602
5128             case 1450082194:
5129               {
5130                 status_ = input.readStringRequireUtf8();
5131                 bitField1_ |= 0x00000100;
5132                 break;
5133               } // case 1450082194
5134             case 1542712602:
5135               {
5136                 input.readMessage(
5137                     getSourceMachineImageEncryptionKeyFieldBuilder().getBuilder(),
5138                     extensionRegistry);
5139                 bitField1_ |= 0x00000040;
5140                 break;
5141               } // case 1542712602
5142             case 1821688210:
5143               {
5144                 machineType_ = input.readStringRequireUtf8();
5145                 bitField0_ |= 0x00100000;
5146                 break;
5147               } // case 1821688210
5148             case 1877428002:
5149               {
5150                 fingerprint_ = input.readStringRequireUtf8();
5151                 bitField0_ |= 0x00000200;
5152                 break;
5153               } // case 1877428002
5154             case 1887531794:
5155               {
5156                 keyRevocationActionType_ = input.readStringRequireUtf8();
5157                 bitField0_ |= 0x00002000;
5158                 break;
5159               } // case 1887531794
5160             case 1896538522:
5161               {
5162                 hostname_ = input.readStringRequireUtf8();
5163                 bitField0_ |= 0x00000800;
5164                 break;
5165               } // case 1896538522
5166             case 1943302074:
5167               {
5168                 minCpuPlatform_ = input.readStringRequireUtf8();
5169                 bitField0_ |= 0x00400000;
5170                 break;
5171               } // case 1943302074
5172             case 1995434522:
5173               {
5174                 input.readMessage(getResourceStatusFieldBuilder().getBuilder(), extensionRegistry);
5175                 bitField0_ |= 0x40000000;
5176                 break;
5177               } // case 1995434522
5178             case 2071471002:
5179               {
5180                 input.readMessage(getDisplayDeviceFieldBuilder().getBuilder(), extensionRegistry);
5181                 bitField0_ |= 0x00000100;
5182                 break;
5183               } // case 2071471002
5184             case -2074668670:
5185               {
5186                 com.google.cloud.compute.v1.ServiceAccount m =
5187                     input.readMessage(
5188                         com.google.cloud.compute.v1.ServiceAccount.parser(), extensionRegistry);
5189                 if (serviceAccountsBuilder_ == null) {
5190                   ensureServiceAccountsIsMutable();
5191                   serviceAccounts_.add(m);
5192                 } else {
5193                   serviceAccountsBuilder_.addMessage(m);
5194                 }
5195                 break;
5196               } // case -2074668670
5197             case -1915542062:
5198               {
5199                 statusMessage_ = input.readStringRequireUtf8();
5200                 bitField1_ |= 0x00000200;
5201                 break;
5202               } // case -1915542062
5203             case -1444764598:
5204               {
5205                 lastSuspendedTimestamp_ = input.readStringRequireUtf8();
5206                 bitField0_ |= 0x00080000;
5207                 break;
5208               } // case -1444764598
5209             case -1201460062:
5210               {
5211                 input.readMessage(getSchedulingFieldBuilder().getBuilder(), extensionRegistry);
5212                 bitField1_ |= 0x00000001;
5213                 break;
5214               } // case -1201460062
5215             case -1108320494:
5216               {
5217                 input.readMessage(
5218                     getNetworkPerformanceConfigFieldBuilder().getBuilder(), extensionRegistry);
5219                 bitField0_ |= 0x02000000;
5220                 break;
5221               } // case -1108320494
5222             case -1017799278:
5223               {
5224                 input.readMessage(
5225                     getAdvancedMachineFeaturesFieldBuilder().getBuilder(), extensionRegistry);
5226                 bitField0_ |= 0x00000001;
5227                 break;
5228               } // case -1017799278
5229             case -1012684462:
5230               {
5231                 cpuPlatform_ = input.readStringRequireUtf8();
5232                 bitField0_ |= 0x00000008;
5233                 break;
5234               } // case -1012684462
5235             case -992383214:
5236               {
5237                 lastStopTimestamp_ = input.readStringRequireUtf8();
5238                 bitField0_ |= 0x00040000;
5239                 break;
5240               } // case -992383214
5241             case -911466526:
5242               {
5243                 description_ = input.readStringRequireUtf8();
5244                 bitField0_ |= 0x00000040;
5245                 break;
5246               } // case -911466526
5247             case -744321406:
5248               {
5249                 lastStartTimestamp_ = input.readStringRequireUtf8();
5250                 bitField0_ |= 0x00020000;
5251                 break;
5252               } // case -744321406
5253             case -645248918:
5254               {
5255                 selfLink_ = input.readStringRequireUtf8();
5256                 bitField1_ |= 0x00000002;
5257                 break;
5258               } // case -645248918
5259             case -630849712:
5260               {
5261                 deletionProtection_ = input.readBool();
5262                 bitField0_ |= 0x00000020;
5263                 break;
5264               } // case -630849712
5265             case -586206342:
5266               {
5267                 com.google.cloud.compute.v1.AcceleratorConfig m =
5268                     input.readMessage(
5269                         com.google.cloud.compute.v1.AcceleratorConfig.parser(), extensionRegistry);
5270                 if (guestAcceleratorsBuilder_ == null) {
5271                   ensureGuestAcceleratorsIsMutable();
5272                   guestAccelerators_.add(m);
5273                 } else {
5274                   guestAcceleratorsBuilder_.addMessage(m);
5275                 }
5276                 break;
5277               } // case -586206342
5278             case -553116704:
5279               {
5280                 canIpForward_ = input.readBool();
5281                 bitField0_ |= 0x00000002;
5282                 break;
5283               } // case -553116704
5284             case -447253160:
5285               {
5286                 satisfiesPzs_ = input.readBool();
5287                 bitField0_ |= 0x80000000;
5288                 break;
5289               } // case -447253160
5290             case -369865814:
5291               {
5292                 input.readMessage(
5293                     getConfidentialInstanceConfigFieldBuilder().getBuilder(), extensionRegistry);
5294                 bitField0_ |= 0x00000004;
5295                 break;
5296               } // case -369865814
5297             case -293404678:
5298               {
5299                 com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
5300                     input.readMessage(
5301                         LabelsDefaultEntryHolder.defaultEntry.getParserForType(),
5302                         extensionRegistry);
5303                 internalGetMutableLabels()
5304                     .getMutableMap()
5305                     .put(labels__.getKey(), labels__.getValue());
5306                 bitField0_ |= 0x00010000;
5307                 break;
5308               } // case -293404678
5309             default:
5310               {
5311                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
5312                   done = true; // was an endgroup tag
5313                 }
5314                 break;
5315               } // default:
5316           } // switch (tag)
5317         } // while (!done)
5318       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5319         throw e.unwrapIOException();
5320       } finally {
5321         onChanged();
5322       } // finally
5323       return this;
5324     }
5325 
5326     private int bitField0_;
5327     private int bitField1_;
5328 
5329     private com.google.cloud.compute.v1.AdvancedMachineFeatures advancedMachineFeatures_;
5330     private com.google.protobuf.SingleFieldBuilderV3<
5331             com.google.cloud.compute.v1.AdvancedMachineFeatures,
5332             com.google.cloud.compute.v1.AdvancedMachineFeatures.Builder,
5333             com.google.cloud.compute.v1.AdvancedMachineFeaturesOrBuilder>
5334         advancedMachineFeaturesBuilder_;
5335     /**
5336      *
5337      *
5338      * <pre>
5339      * Controls for advanced machine-related behavior features.
5340      * </pre>
5341      *
5342      * <code>
5343      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5344      * </code>
5345      *
5346      * @return Whether the advancedMachineFeatures field is set.
5347      */
hasAdvancedMachineFeatures()5348     public boolean hasAdvancedMachineFeatures() {
5349       return ((bitField0_ & 0x00000001) != 0);
5350     }
5351     /**
5352      *
5353      *
5354      * <pre>
5355      * Controls for advanced machine-related behavior features.
5356      * </pre>
5357      *
5358      * <code>
5359      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5360      * </code>
5361      *
5362      * @return The advancedMachineFeatures.
5363      */
getAdvancedMachineFeatures()5364     public com.google.cloud.compute.v1.AdvancedMachineFeatures getAdvancedMachineFeatures() {
5365       if (advancedMachineFeaturesBuilder_ == null) {
5366         return advancedMachineFeatures_ == null
5367             ? com.google.cloud.compute.v1.AdvancedMachineFeatures.getDefaultInstance()
5368             : advancedMachineFeatures_;
5369       } else {
5370         return advancedMachineFeaturesBuilder_.getMessage();
5371       }
5372     }
5373     /**
5374      *
5375      *
5376      * <pre>
5377      * Controls for advanced machine-related behavior features.
5378      * </pre>
5379      *
5380      * <code>
5381      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5382      * </code>
5383      */
setAdvancedMachineFeatures( com.google.cloud.compute.v1.AdvancedMachineFeatures value)5384     public Builder setAdvancedMachineFeatures(
5385         com.google.cloud.compute.v1.AdvancedMachineFeatures value) {
5386       if (advancedMachineFeaturesBuilder_ == null) {
5387         if (value == null) {
5388           throw new NullPointerException();
5389         }
5390         advancedMachineFeatures_ = value;
5391       } else {
5392         advancedMachineFeaturesBuilder_.setMessage(value);
5393       }
5394       bitField0_ |= 0x00000001;
5395       onChanged();
5396       return this;
5397     }
5398     /**
5399      *
5400      *
5401      * <pre>
5402      * Controls for advanced machine-related behavior features.
5403      * </pre>
5404      *
5405      * <code>
5406      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5407      * </code>
5408      */
setAdvancedMachineFeatures( com.google.cloud.compute.v1.AdvancedMachineFeatures.Builder builderForValue)5409     public Builder setAdvancedMachineFeatures(
5410         com.google.cloud.compute.v1.AdvancedMachineFeatures.Builder builderForValue) {
5411       if (advancedMachineFeaturesBuilder_ == null) {
5412         advancedMachineFeatures_ = builderForValue.build();
5413       } else {
5414         advancedMachineFeaturesBuilder_.setMessage(builderForValue.build());
5415       }
5416       bitField0_ |= 0x00000001;
5417       onChanged();
5418       return this;
5419     }
5420     /**
5421      *
5422      *
5423      * <pre>
5424      * Controls for advanced machine-related behavior features.
5425      * </pre>
5426      *
5427      * <code>
5428      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5429      * </code>
5430      */
mergeAdvancedMachineFeatures( com.google.cloud.compute.v1.AdvancedMachineFeatures value)5431     public Builder mergeAdvancedMachineFeatures(
5432         com.google.cloud.compute.v1.AdvancedMachineFeatures value) {
5433       if (advancedMachineFeaturesBuilder_ == null) {
5434         if (((bitField0_ & 0x00000001) != 0)
5435             && advancedMachineFeatures_ != null
5436             && advancedMachineFeatures_
5437                 != com.google.cloud.compute.v1.AdvancedMachineFeatures.getDefaultInstance()) {
5438           getAdvancedMachineFeaturesBuilder().mergeFrom(value);
5439         } else {
5440           advancedMachineFeatures_ = value;
5441         }
5442       } else {
5443         advancedMachineFeaturesBuilder_.mergeFrom(value);
5444       }
5445       bitField0_ |= 0x00000001;
5446       onChanged();
5447       return this;
5448     }
5449     /**
5450      *
5451      *
5452      * <pre>
5453      * Controls for advanced machine-related behavior features.
5454      * </pre>
5455      *
5456      * <code>
5457      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5458      * </code>
5459      */
clearAdvancedMachineFeatures()5460     public Builder clearAdvancedMachineFeatures() {
5461       bitField0_ = (bitField0_ & ~0x00000001);
5462       advancedMachineFeatures_ = null;
5463       if (advancedMachineFeaturesBuilder_ != null) {
5464         advancedMachineFeaturesBuilder_.dispose();
5465         advancedMachineFeaturesBuilder_ = null;
5466       }
5467       onChanged();
5468       return this;
5469     }
5470     /**
5471      *
5472      *
5473      * <pre>
5474      * Controls for advanced machine-related behavior features.
5475      * </pre>
5476      *
5477      * <code>
5478      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5479      * </code>
5480      */
5481     public com.google.cloud.compute.v1.AdvancedMachineFeatures.Builder
getAdvancedMachineFeaturesBuilder()5482         getAdvancedMachineFeaturesBuilder() {
5483       bitField0_ |= 0x00000001;
5484       onChanged();
5485       return getAdvancedMachineFeaturesFieldBuilder().getBuilder();
5486     }
5487     /**
5488      *
5489      *
5490      * <pre>
5491      * Controls for advanced machine-related behavior features.
5492      * </pre>
5493      *
5494      * <code>
5495      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5496      * </code>
5497      */
5498     public com.google.cloud.compute.v1.AdvancedMachineFeaturesOrBuilder
getAdvancedMachineFeaturesOrBuilder()5499         getAdvancedMachineFeaturesOrBuilder() {
5500       if (advancedMachineFeaturesBuilder_ != null) {
5501         return advancedMachineFeaturesBuilder_.getMessageOrBuilder();
5502       } else {
5503         return advancedMachineFeatures_ == null
5504             ? com.google.cloud.compute.v1.AdvancedMachineFeatures.getDefaultInstance()
5505             : advancedMachineFeatures_;
5506       }
5507     }
5508     /**
5509      *
5510      *
5511      * <pre>
5512      * Controls for advanced machine-related behavior features.
5513      * </pre>
5514      *
5515      * <code>
5516      * optional .google.cloud.compute.v1.AdvancedMachineFeatures advanced_machine_features = 409646002;
5517      * </code>
5518      */
5519     private com.google.protobuf.SingleFieldBuilderV3<
5520             com.google.cloud.compute.v1.AdvancedMachineFeatures,
5521             com.google.cloud.compute.v1.AdvancedMachineFeatures.Builder,
5522             com.google.cloud.compute.v1.AdvancedMachineFeaturesOrBuilder>
getAdvancedMachineFeaturesFieldBuilder()5523         getAdvancedMachineFeaturesFieldBuilder() {
5524       if (advancedMachineFeaturesBuilder_ == null) {
5525         advancedMachineFeaturesBuilder_ =
5526             new com.google.protobuf.SingleFieldBuilderV3<
5527                 com.google.cloud.compute.v1.AdvancedMachineFeatures,
5528                 com.google.cloud.compute.v1.AdvancedMachineFeatures.Builder,
5529                 com.google.cloud.compute.v1.AdvancedMachineFeaturesOrBuilder>(
5530                 getAdvancedMachineFeatures(), getParentForChildren(), isClean());
5531         advancedMachineFeatures_ = null;
5532       }
5533       return advancedMachineFeaturesBuilder_;
5534     }
5535 
5536     private boolean canIpForward_;
5537     /**
5538      *
5539      *
5540      * <pre>
5541      * Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .
5542      * </pre>
5543      *
5544      * <code>optional bool can_ip_forward = 467731324;</code>
5545      *
5546      * @return Whether the canIpForward field is set.
5547      */
5548     @java.lang.Override
hasCanIpForward()5549     public boolean hasCanIpForward() {
5550       return ((bitField0_ & 0x00000002) != 0);
5551     }
5552     /**
5553      *
5554      *
5555      * <pre>
5556      * Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .
5557      * </pre>
5558      *
5559      * <code>optional bool can_ip_forward = 467731324;</code>
5560      *
5561      * @return The canIpForward.
5562      */
5563     @java.lang.Override
getCanIpForward()5564     public boolean getCanIpForward() {
5565       return canIpForward_;
5566     }
5567     /**
5568      *
5569      *
5570      * <pre>
5571      * Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .
5572      * </pre>
5573      *
5574      * <code>optional bool can_ip_forward = 467731324;</code>
5575      *
5576      * @param value The canIpForward to set.
5577      * @return This builder for chaining.
5578      */
setCanIpForward(boolean value)5579     public Builder setCanIpForward(boolean value) {
5580 
5581       canIpForward_ = value;
5582       bitField0_ |= 0x00000002;
5583       onChanged();
5584       return this;
5585     }
5586     /**
5587      *
5588      *
5589      * <pre>
5590      * Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .
5591      * </pre>
5592      *
5593      * <code>optional bool can_ip_forward = 467731324;</code>
5594      *
5595      * @return This builder for chaining.
5596      */
clearCanIpForward()5597     public Builder clearCanIpForward() {
5598       bitField0_ = (bitField0_ & ~0x00000002);
5599       canIpForward_ = false;
5600       onChanged();
5601       return this;
5602     }
5603 
5604     private com.google.cloud.compute.v1.ConfidentialInstanceConfig confidentialInstanceConfig_;
5605     private com.google.protobuf.SingleFieldBuilderV3<
5606             com.google.cloud.compute.v1.ConfidentialInstanceConfig,
5607             com.google.cloud.compute.v1.ConfidentialInstanceConfig.Builder,
5608             com.google.cloud.compute.v1.ConfidentialInstanceConfigOrBuilder>
5609         confidentialInstanceConfigBuilder_;
5610     /**
5611      * <code>
5612      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5613      * </code>
5614      *
5615      * @return Whether the confidentialInstanceConfig field is set.
5616      */
hasConfidentialInstanceConfig()5617     public boolean hasConfidentialInstanceConfig() {
5618       return ((bitField0_ & 0x00000004) != 0);
5619     }
5620     /**
5621      * <code>
5622      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5623      * </code>
5624      *
5625      * @return The confidentialInstanceConfig.
5626      */
getConfidentialInstanceConfig()5627     public com.google.cloud.compute.v1.ConfidentialInstanceConfig getConfidentialInstanceConfig() {
5628       if (confidentialInstanceConfigBuilder_ == null) {
5629         return confidentialInstanceConfig_ == null
5630             ? com.google.cloud.compute.v1.ConfidentialInstanceConfig.getDefaultInstance()
5631             : confidentialInstanceConfig_;
5632       } else {
5633         return confidentialInstanceConfigBuilder_.getMessage();
5634       }
5635     }
5636     /**
5637      * <code>
5638      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5639      * </code>
5640      */
setConfidentialInstanceConfig( com.google.cloud.compute.v1.ConfidentialInstanceConfig value)5641     public Builder setConfidentialInstanceConfig(
5642         com.google.cloud.compute.v1.ConfidentialInstanceConfig value) {
5643       if (confidentialInstanceConfigBuilder_ == null) {
5644         if (value == null) {
5645           throw new NullPointerException();
5646         }
5647         confidentialInstanceConfig_ = value;
5648       } else {
5649         confidentialInstanceConfigBuilder_.setMessage(value);
5650       }
5651       bitField0_ |= 0x00000004;
5652       onChanged();
5653       return this;
5654     }
5655     /**
5656      * <code>
5657      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5658      * </code>
5659      */
setConfidentialInstanceConfig( com.google.cloud.compute.v1.ConfidentialInstanceConfig.Builder builderForValue)5660     public Builder setConfidentialInstanceConfig(
5661         com.google.cloud.compute.v1.ConfidentialInstanceConfig.Builder builderForValue) {
5662       if (confidentialInstanceConfigBuilder_ == null) {
5663         confidentialInstanceConfig_ = builderForValue.build();
5664       } else {
5665         confidentialInstanceConfigBuilder_.setMessage(builderForValue.build());
5666       }
5667       bitField0_ |= 0x00000004;
5668       onChanged();
5669       return this;
5670     }
5671     /**
5672      * <code>
5673      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5674      * </code>
5675      */
mergeConfidentialInstanceConfig( com.google.cloud.compute.v1.ConfidentialInstanceConfig value)5676     public Builder mergeConfidentialInstanceConfig(
5677         com.google.cloud.compute.v1.ConfidentialInstanceConfig value) {
5678       if (confidentialInstanceConfigBuilder_ == null) {
5679         if (((bitField0_ & 0x00000004) != 0)
5680             && confidentialInstanceConfig_ != null
5681             && confidentialInstanceConfig_
5682                 != com.google.cloud.compute.v1.ConfidentialInstanceConfig.getDefaultInstance()) {
5683           getConfidentialInstanceConfigBuilder().mergeFrom(value);
5684         } else {
5685           confidentialInstanceConfig_ = value;
5686         }
5687       } else {
5688         confidentialInstanceConfigBuilder_.mergeFrom(value);
5689       }
5690       bitField0_ |= 0x00000004;
5691       onChanged();
5692       return this;
5693     }
5694     /**
5695      * <code>
5696      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5697      * </code>
5698      */
clearConfidentialInstanceConfig()5699     public Builder clearConfidentialInstanceConfig() {
5700       bitField0_ = (bitField0_ & ~0x00000004);
5701       confidentialInstanceConfig_ = null;
5702       if (confidentialInstanceConfigBuilder_ != null) {
5703         confidentialInstanceConfigBuilder_.dispose();
5704         confidentialInstanceConfigBuilder_ = null;
5705       }
5706       onChanged();
5707       return this;
5708     }
5709     /**
5710      * <code>
5711      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5712      * </code>
5713      */
5714     public com.google.cloud.compute.v1.ConfidentialInstanceConfig.Builder
getConfidentialInstanceConfigBuilder()5715         getConfidentialInstanceConfigBuilder() {
5716       bitField0_ |= 0x00000004;
5717       onChanged();
5718       return getConfidentialInstanceConfigFieldBuilder().getBuilder();
5719     }
5720     /**
5721      * <code>
5722      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5723      * </code>
5724      */
5725     public com.google.cloud.compute.v1.ConfidentialInstanceConfigOrBuilder
getConfidentialInstanceConfigOrBuilder()5726         getConfidentialInstanceConfigOrBuilder() {
5727       if (confidentialInstanceConfigBuilder_ != null) {
5728         return confidentialInstanceConfigBuilder_.getMessageOrBuilder();
5729       } else {
5730         return confidentialInstanceConfig_ == null
5731             ? com.google.cloud.compute.v1.ConfidentialInstanceConfig.getDefaultInstance()
5732             : confidentialInstanceConfig_;
5733       }
5734     }
5735     /**
5736      * <code>
5737      * optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
5738      * </code>
5739      */
5740     private com.google.protobuf.SingleFieldBuilderV3<
5741             com.google.cloud.compute.v1.ConfidentialInstanceConfig,
5742             com.google.cloud.compute.v1.ConfidentialInstanceConfig.Builder,
5743             com.google.cloud.compute.v1.ConfidentialInstanceConfigOrBuilder>
getConfidentialInstanceConfigFieldBuilder()5744         getConfidentialInstanceConfigFieldBuilder() {
5745       if (confidentialInstanceConfigBuilder_ == null) {
5746         confidentialInstanceConfigBuilder_ =
5747             new com.google.protobuf.SingleFieldBuilderV3<
5748                 com.google.cloud.compute.v1.ConfidentialInstanceConfig,
5749                 com.google.cloud.compute.v1.ConfidentialInstanceConfig.Builder,
5750                 com.google.cloud.compute.v1.ConfidentialInstanceConfigOrBuilder>(
5751                 getConfidentialInstanceConfig(), getParentForChildren(), isClean());
5752         confidentialInstanceConfig_ = null;
5753       }
5754       return confidentialInstanceConfigBuilder_;
5755     }
5756 
5757     private java.lang.Object cpuPlatform_ = "";
5758     /**
5759      *
5760      *
5761      * <pre>
5762      * [Output Only] The CPU platform used by this instance.
5763      * </pre>
5764      *
5765      * <code>optional string cpu_platform = 410285354;</code>
5766      *
5767      * @return Whether the cpuPlatform field is set.
5768      */
hasCpuPlatform()5769     public boolean hasCpuPlatform() {
5770       return ((bitField0_ & 0x00000008) != 0);
5771     }
5772     /**
5773      *
5774      *
5775      * <pre>
5776      * [Output Only] The CPU platform used by this instance.
5777      * </pre>
5778      *
5779      * <code>optional string cpu_platform = 410285354;</code>
5780      *
5781      * @return The cpuPlatform.
5782      */
getCpuPlatform()5783     public java.lang.String getCpuPlatform() {
5784       java.lang.Object ref = cpuPlatform_;
5785       if (!(ref instanceof java.lang.String)) {
5786         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5787         java.lang.String s = bs.toStringUtf8();
5788         cpuPlatform_ = s;
5789         return s;
5790       } else {
5791         return (java.lang.String) ref;
5792       }
5793     }
5794     /**
5795      *
5796      *
5797      * <pre>
5798      * [Output Only] The CPU platform used by this instance.
5799      * </pre>
5800      *
5801      * <code>optional string cpu_platform = 410285354;</code>
5802      *
5803      * @return The bytes for cpuPlatform.
5804      */
getCpuPlatformBytes()5805     public com.google.protobuf.ByteString getCpuPlatformBytes() {
5806       java.lang.Object ref = cpuPlatform_;
5807       if (ref instanceof String) {
5808         com.google.protobuf.ByteString b =
5809             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5810         cpuPlatform_ = b;
5811         return b;
5812       } else {
5813         return (com.google.protobuf.ByteString) ref;
5814       }
5815     }
5816     /**
5817      *
5818      *
5819      * <pre>
5820      * [Output Only] The CPU platform used by this instance.
5821      * </pre>
5822      *
5823      * <code>optional string cpu_platform = 410285354;</code>
5824      *
5825      * @param value The cpuPlatform to set.
5826      * @return This builder for chaining.
5827      */
setCpuPlatform(java.lang.String value)5828     public Builder setCpuPlatform(java.lang.String value) {
5829       if (value == null) {
5830         throw new NullPointerException();
5831       }
5832       cpuPlatform_ = value;
5833       bitField0_ |= 0x00000008;
5834       onChanged();
5835       return this;
5836     }
5837     /**
5838      *
5839      *
5840      * <pre>
5841      * [Output Only] The CPU platform used by this instance.
5842      * </pre>
5843      *
5844      * <code>optional string cpu_platform = 410285354;</code>
5845      *
5846      * @return This builder for chaining.
5847      */
clearCpuPlatform()5848     public Builder clearCpuPlatform() {
5849       cpuPlatform_ = getDefaultInstance().getCpuPlatform();
5850       bitField0_ = (bitField0_ & ~0x00000008);
5851       onChanged();
5852       return this;
5853     }
5854     /**
5855      *
5856      *
5857      * <pre>
5858      * [Output Only] The CPU platform used by this instance.
5859      * </pre>
5860      *
5861      * <code>optional string cpu_platform = 410285354;</code>
5862      *
5863      * @param value The bytes for cpuPlatform to set.
5864      * @return This builder for chaining.
5865      */
setCpuPlatformBytes(com.google.protobuf.ByteString value)5866     public Builder setCpuPlatformBytes(com.google.protobuf.ByteString value) {
5867       if (value == null) {
5868         throw new NullPointerException();
5869       }
5870       checkByteStringIsUtf8(value);
5871       cpuPlatform_ = value;
5872       bitField0_ |= 0x00000008;
5873       onChanged();
5874       return this;
5875     }
5876 
5877     private java.lang.Object creationTimestamp_ = "";
5878     /**
5879      *
5880      *
5881      * <pre>
5882      * [Output Only] Creation timestamp in RFC3339 text format.
5883      * </pre>
5884      *
5885      * <code>optional string creation_timestamp = 30525366;</code>
5886      *
5887      * @return Whether the creationTimestamp field is set.
5888      */
hasCreationTimestamp()5889     public boolean hasCreationTimestamp() {
5890       return ((bitField0_ & 0x00000010) != 0);
5891     }
5892     /**
5893      *
5894      *
5895      * <pre>
5896      * [Output Only] Creation timestamp in RFC3339 text format.
5897      * </pre>
5898      *
5899      * <code>optional string creation_timestamp = 30525366;</code>
5900      *
5901      * @return The creationTimestamp.
5902      */
getCreationTimestamp()5903     public java.lang.String getCreationTimestamp() {
5904       java.lang.Object ref = creationTimestamp_;
5905       if (!(ref instanceof java.lang.String)) {
5906         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5907         java.lang.String s = bs.toStringUtf8();
5908         creationTimestamp_ = s;
5909         return s;
5910       } else {
5911         return (java.lang.String) ref;
5912       }
5913     }
5914     /**
5915      *
5916      *
5917      * <pre>
5918      * [Output Only] Creation timestamp in RFC3339 text format.
5919      * </pre>
5920      *
5921      * <code>optional string creation_timestamp = 30525366;</code>
5922      *
5923      * @return The bytes for creationTimestamp.
5924      */
getCreationTimestampBytes()5925     public com.google.protobuf.ByteString getCreationTimestampBytes() {
5926       java.lang.Object ref = creationTimestamp_;
5927       if (ref instanceof String) {
5928         com.google.protobuf.ByteString b =
5929             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5930         creationTimestamp_ = b;
5931         return b;
5932       } else {
5933         return (com.google.protobuf.ByteString) ref;
5934       }
5935     }
5936     /**
5937      *
5938      *
5939      * <pre>
5940      * [Output Only] Creation timestamp in RFC3339 text format.
5941      * </pre>
5942      *
5943      * <code>optional string creation_timestamp = 30525366;</code>
5944      *
5945      * @param value The creationTimestamp to set.
5946      * @return This builder for chaining.
5947      */
setCreationTimestamp(java.lang.String value)5948     public Builder setCreationTimestamp(java.lang.String value) {
5949       if (value == null) {
5950         throw new NullPointerException();
5951       }
5952       creationTimestamp_ = value;
5953       bitField0_ |= 0x00000010;
5954       onChanged();
5955       return this;
5956     }
5957     /**
5958      *
5959      *
5960      * <pre>
5961      * [Output Only] Creation timestamp in RFC3339 text format.
5962      * </pre>
5963      *
5964      * <code>optional string creation_timestamp = 30525366;</code>
5965      *
5966      * @return This builder for chaining.
5967      */
clearCreationTimestamp()5968     public Builder clearCreationTimestamp() {
5969       creationTimestamp_ = getDefaultInstance().getCreationTimestamp();
5970       bitField0_ = (bitField0_ & ~0x00000010);
5971       onChanged();
5972       return this;
5973     }
5974     /**
5975      *
5976      *
5977      * <pre>
5978      * [Output Only] Creation timestamp in RFC3339 text format.
5979      * </pre>
5980      *
5981      * <code>optional string creation_timestamp = 30525366;</code>
5982      *
5983      * @param value The bytes for creationTimestamp to set.
5984      * @return This builder for chaining.
5985      */
setCreationTimestampBytes(com.google.protobuf.ByteString value)5986     public Builder setCreationTimestampBytes(com.google.protobuf.ByteString value) {
5987       if (value == null) {
5988         throw new NullPointerException();
5989       }
5990       checkByteStringIsUtf8(value);
5991       creationTimestamp_ = value;
5992       bitField0_ |= 0x00000010;
5993       onChanged();
5994       return this;
5995     }
5996 
5997     private boolean deletionProtection_;
5998     /**
5999      *
6000      *
6001      * <pre>
6002      * Whether the resource should be protected against deletion.
6003      * </pre>
6004      *
6005      * <code>optional bool deletion_protection = 458014698;</code>
6006      *
6007      * @return Whether the deletionProtection field is set.
6008      */
6009     @java.lang.Override
hasDeletionProtection()6010     public boolean hasDeletionProtection() {
6011       return ((bitField0_ & 0x00000020) != 0);
6012     }
6013     /**
6014      *
6015      *
6016      * <pre>
6017      * Whether the resource should be protected against deletion.
6018      * </pre>
6019      *
6020      * <code>optional bool deletion_protection = 458014698;</code>
6021      *
6022      * @return The deletionProtection.
6023      */
6024     @java.lang.Override
getDeletionProtection()6025     public boolean getDeletionProtection() {
6026       return deletionProtection_;
6027     }
6028     /**
6029      *
6030      *
6031      * <pre>
6032      * Whether the resource should be protected against deletion.
6033      * </pre>
6034      *
6035      * <code>optional bool deletion_protection = 458014698;</code>
6036      *
6037      * @param value The deletionProtection to set.
6038      * @return This builder for chaining.
6039      */
setDeletionProtection(boolean value)6040     public Builder setDeletionProtection(boolean value) {
6041 
6042       deletionProtection_ = value;
6043       bitField0_ |= 0x00000020;
6044       onChanged();
6045       return this;
6046     }
6047     /**
6048      *
6049      *
6050      * <pre>
6051      * Whether the resource should be protected against deletion.
6052      * </pre>
6053      *
6054      * <code>optional bool deletion_protection = 458014698;</code>
6055      *
6056      * @return This builder for chaining.
6057      */
clearDeletionProtection()6058     public Builder clearDeletionProtection() {
6059       bitField0_ = (bitField0_ & ~0x00000020);
6060       deletionProtection_ = false;
6061       onChanged();
6062       return this;
6063     }
6064 
6065     private java.lang.Object description_ = "";
6066     /**
6067      *
6068      *
6069      * <pre>
6070      * An optional description of this resource. Provide this property when you create the resource.
6071      * </pre>
6072      *
6073      * <code>optional string description = 422937596;</code>
6074      *
6075      * @return Whether the description field is set.
6076      */
hasDescription()6077     public boolean hasDescription() {
6078       return ((bitField0_ & 0x00000040) != 0);
6079     }
6080     /**
6081      *
6082      *
6083      * <pre>
6084      * An optional description of this resource. Provide this property when you create the resource.
6085      * </pre>
6086      *
6087      * <code>optional string description = 422937596;</code>
6088      *
6089      * @return The description.
6090      */
getDescription()6091     public java.lang.String getDescription() {
6092       java.lang.Object ref = description_;
6093       if (!(ref instanceof java.lang.String)) {
6094         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6095         java.lang.String s = bs.toStringUtf8();
6096         description_ = s;
6097         return s;
6098       } else {
6099         return (java.lang.String) ref;
6100       }
6101     }
6102     /**
6103      *
6104      *
6105      * <pre>
6106      * An optional description of this resource. Provide this property when you create the resource.
6107      * </pre>
6108      *
6109      * <code>optional string description = 422937596;</code>
6110      *
6111      * @return The bytes for description.
6112      */
getDescriptionBytes()6113     public com.google.protobuf.ByteString getDescriptionBytes() {
6114       java.lang.Object ref = description_;
6115       if (ref instanceof String) {
6116         com.google.protobuf.ByteString b =
6117             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6118         description_ = b;
6119         return b;
6120       } else {
6121         return (com.google.protobuf.ByteString) ref;
6122       }
6123     }
6124     /**
6125      *
6126      *
6127      * <pre>
6128      * An optional description of this resource. Provide this property when you create the resource.
6129      * </pre>
6130      *
6131      * <code>optional string description = 422937596;</code>
6132      *
6133      * @param value The description to set.
6134      * @return This builder for chaining.
6135      */
setDescription(java.lang.String value)6136     public Builder setDescription(java.lang.String value) {
6137       if (value == null) {
6138         throw new NullPointerException();
6139       }
6140       description_ = value;
6141       bitField0_ |= 0x00000040;
6142       onChanged();
6143       return this;
6144     }
6145     /**
6146      *
6147      *
6148      * <pre>
6149      * An optional description of this resource. Provide this property when you create the resource.
6150      * </pre>
6151      *
6152      * <code>optional string description = 422937596;</code>
6153      *
6154      * @return This builder for chaining.
6155      */
clearDescription()6156     public Builder clearDescription() {
6157       description_ = getDefaultInstance().getDescription();
6158       bitField0_ = (bitField0_ & ~0x00000040);
6159       onChanged();
6160       return this;
6161     }
6162     /**
6163      *
6164      *
6165      * <pre>
6166      * An optional description of this resource. Provide this property when you create the resource.
6167      * </pre>
6168      *
6169      * <code>optional string description = 422937596;</code>
6170      *
6171      * @param value The bytes for description to set.
6172      * @return This builder for chaining.
6173      */
setDescriptionBytes(com.google.protobuf.ByteString value)6174     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
6175       if (value == null) {
6176         throw new NullPointerException();
6177       }
6178       checkByteStringIsUtf8(value);
6179       description_ = value;
6180       bitField0_ |= 0x00000040;
6181       onChanged();
6182       return this;
6183     }
6184 
6185     private java.util.List<com.google.cloud.compute.v1.AttachedDisk> disks_ =
6186         java.util.Collections.emptyList();
6187 
ensureDisksIsMutable()6188     private void ensureDisksIsMutable() {
6189       if (!((bitField0_ & 0x00000080) != 0)) {
6190         disks_ = new java.util.ArrayList<com.google.cloud.compute.v1.AttachedDisk>(disks_);
6191         bitField0_ |= 0x00000080;
6192       }
6193     }
6194 
6195     private com.google.protobuf.RepeatedFieldBuilderV3<
6196             com.google.cloud.compute.v1.AttachedDisk,
6197             com.google.cloud.compute.v1.AttachedDisk.Builder,
6198             com.google.cloud.compute.v1.AttachedDiskOrBuilder>
6199         disksBuilder_;
6200 
6201     /**
6202      *
6203      *
6204      * <pre>
6205      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6206      * </pre>
6207      *
6208      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6209      */
getDisksList()6210     public java.util.List<com.google.cloud.compute.v1.AttachedDisk> getDisksList() {
6211       if (disksBuilder_ == null) {
6212         return java.util.Collections.unmodifiableList(disks_);
6213       } else {
6214         return disksBuilder_.getMessageList();
6215       }
6216     }
6217     /**
6218      *
6219      *
6220      * <pre>
6221      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6222      * </pre>
6223      *
6224      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6225      */
getDisksCount()6226     public int getDisksCount() {
6227       if (disksBuilder_ == null) {
6228         return disks_.size();
6229       } else {
6230         return disksBuilder_.getCount();
6231       }
6232     }
6233     /**
6234      *
6235      *
6236      * <pre>
6237      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6238      * </pre>
6239      *
6240      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6241      */
getDisks(int index)6242     public com.google.cloud.compute.v1.AttachedDisk getDisks(int index) {
6243       if (disksBuilder_ == null) {
6244         return disks_.get(index);
6245       } else {
6246         return disksBuilder_.getMessage(index);
6247       }
6248     }
6249     /**
6250      *
6251      *
6252      * <pre>
6253      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6254      * </pre>
6255      *
6256      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6257      */
setDisks(int index, com.google.cloud.compute.v1.AttachedDisk value)6258     public Builder setDisks(int index, com.google.cloud.compute.v1.AttachedDisk value) {
6259       if (disksBuilder_ == null) {
6260         if (value == null) {
6261           throw new NullPointerException();
6262         }
6263         ensureDisksIsMutable();
6264         disks_.set(index, value);
6265         onChanged();
6266       } else {
6267         disksBuilder_.setMessage(index, value);
6268       }
6269       return this;
6270     }
6271     /**
6272      *
6273      *
6274      * <pre>
6275      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6276      * </pre>
6277      *
6278      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6279      */
setDisks( int index, com.google.cloud.compute.v1.AttachedDisk.Builder builderForValue)6280     public Builder setDisks(
6281         int index, com.google.cloud.compute.v1.AttachedDisk.Builder builderForValue) {
6282       if (disksBuilder_ == null) {
6283         ensureDisksIsMutable();
6284         disks_.set(index, builderForValue.build());
6285         onChanged();
6286       } else {
6287         disksBuilder_.setMessage(index, builderForValue.build());
6288       }
6289       return this;
6290     }
6291     /**
6292      *
6293      *
6294      * <pre>
6295      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6296      * </pre>
6297      *
6298      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6299      */
addDisks(com.google.cloud.compute.v1.AttachedDisk value)6300     public Builder addDisks(com.google.cloud.compute.v1.AttachedDisk value) {
6301       if (disksBuilder_ == null) {
6302         if (value == null) {
6303           throw new NullPointerException();
6304         }
6305         ensureDisksIsMutable();
6306         disks_.add(value);
6307         onChanged();
6308       } else {
6309         disksBuilder_.addMessage(value);
6310       }
6311       return this;
6312     }
6313     /**
6314      *
6315      *
6316      * <pre>
6317      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6318      * </pre>
6319      *
6320      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6321      */
addDisks(int index, com.google.cloud.compute.v1.AttachedDisk value)6322     public Builder addDisks(int index, com.google.cloud.compute.v1.AttachedDisk value) {
6323       if (disksBuilder_ == null) {
6324         if (value == null) {
6325           throw new NullPointerException();
6326         }
6327         ensureDisksIsMutable();
6328         disks_.add(index, value);
6329         onChanged();
6330       } else {
6331         disksBuilder_.addMessage(index, value);
6332       }
6333       return this;
6334     }
6335     /**
6336      *
6337      *
6338      * <pre>
6339      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6340      * </pre>
6341      *
6342      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6343      */
addDisks(com.google.cloud.compute.v1.AttachedDisk.Builder builderForValue)6344     public Builder addDisks(com.google.cloud.compute.v1.AttachedDisk.Builder builderForValue) {
6345       if (disksBuilder_ == null) {
6346         ensureDisksIsMutable();
6347         disks_.add(builderForValue.build());
6348         onChanged();
6349       } else {
6350         disksBuilder_.addMessage(builderForValue.build());
6351       }
6352       return this;
6353     }
6354     /**
6355      *
6356      *
6357      * <pre>
6358      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6359      * </pre>
6360      *
6361      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6362      */
addDisks( int index, com.google.cloud.compute.v1.AttachedDisk.Builder builderForValue)6363     public Builder addDisks(
6364         int index, com.google.cloud.compute.v1.AttachedDisk.Builder builderForValue) {
6365       if (disksBuilder_ == null) {
6366         ensureDisksIsMutable();
6367         disks_.add(index, builderForValue.build());
6368         onChanged();
6369       } else {
6370         disksBuilder_.addMessage(index, builderForValue.build());
6371       }
6372       return this;
6373     }
6374     /**
6375      *
6376      *
6377      * <pre>
6378      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6379      * </pre>
6380      *
6381      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6382      */
addAllDisks( java.lang.Iterable<? extends com.google.cloud.compute.v1.AttachedDisk> values)6383     public Builder addAllDisks(
6384         java.lang.Iterable<? extends com.google.cloud.compute.v1.AttachedDisk> values) {
6385       if (disksBuilder_ == null) {
6386         ensureDisksIsMutable();
6387         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, disks_);
6388         onChanged();
6389       } else {
6390         disksBuilder_.addAllMessages(values);
6391       }
6392       return this;
6393     }
6394     /**
6395      *
6396      *
6397      * <pre>
6398      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6399      * </pre>
6400      *
6401      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6402      */
clearDisks()6403     public Builder clearDisks() {
6404       if (disksBuilder_ == null) {
6405         disks_ = java.util.Collections.emptyList();
6406         bitField0_ = (bitField0_ & ~0x00000080);
6407         onChanged();
6408       } else {
6409         disksBuilder_.clear();
6410       }
6411       return this;
6412     }
6413     /**
6414      *
6415      *
6416      * <pre>
6417      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6418      * </pre>
6419      *
6420      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6421      */
removeDisks(int index)6422     public Builder removeDisks(int index) {
6423       if (disksBuilder_ == null) {
6424         ensureDisksIsMutable();
6425         disks_.remove(index);
6426         onChanged();
6427       } else {
6428         disksBuilder_.remove(index);
6429       }
6430       return this;
6431     }
6432     /**
6433      *
6434      *
6435      * <pre>
6436      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6437      * </pre>
6438      *
6439      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6440      */
getDisksBuilder(int index)6441     public com.google.cloud.compute.v1.AttachedDisk.Builder getDisksBuilder(int index) {
6442       return getDisksFieldBuilder().getBuilder(index);
6443     }
6444     /**
6445      *
6446      *
6447      * <pre>
6448      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6449      * </pre>
6450      *
6451      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6452      */
getDisksOrBuilder(int index)6453     public com.google.cloud.compute.v1.AttachedDiskOrBuilder getDisksOrBuilder(int index) {
6454       if (disksBuilder_ == null) {
6455         return disks_.get(index);
6456       } else {
6457         return disksBuilder_.getMessageOrBuilder(index);
6458       }
6459     }
6460     /**
6461      *
6462      *
6463      * <pre>
6464      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6465      * </pre>
6466      *
6467      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6468      */
6469     public java.util.List<? extends com.google.cloud.compute.v1.AttachedDiskOrBuilder>
getDisksOrBuilderList()6470         getDisksOrBuilderList() {
6471       if (disksBuilder_ != null) {
6472         return disksBuilder_.getMessageOrBuilderList();
6473       } else {
6474         return java.util.Collections.unmodifiableList(disks_);
6475       }
6476     }
6477     /**
6478      *
6479      *
6480      * <pre>
6481      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6482      * </pre>
6483      *
6484      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6485      */
addDisksBuilder()6486     public com.google.cloud.compute.v1.AttachedDisk.Builder addDisksBuilder() {
6487       return getDisksFieldBuilder()
6488           .addBuilder(com.google.cloud.compute.v1.AttachedDisk.getDefaultInstance());
6489     }
6490     /**
6491      *
6492      *
6493      * <pre>
6494      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6495      * </pre>
6496      *
6497      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6498      */
addDisksBuilder(int index)6499     public com.google.cloud.compute.v1.AttachedDisk.Builder addDisksBuilder(int index) {
6500       return getDisksFieldBuilder()
6501           .addBuilder(index, com.google.cloud.compute.v1.AttachedDisk.getDefaultInstance());
6502     }
6503     /**
6504      *
6505      *
6506      * <pre>
6507      * Array of disks associated with this instance. Persistent disks must be created before you can assign them.
6508      * </pre>
6509      *
6510      * <code>repeated .google.cloud.compute.v1.AttachedDisk disks = 95594102;</code>
6511      */
getDisksBuilderList()6512     public java.util.List<com.google.cloud.compute.v1.AttachedDisk.Builder> getDisksBuilderList() {
6513       return getDisksFieldBuilder().getBuilderList();
6514     }
6515 
6516     private com.google.protobuf.RepeatedFieldBuilderV3<
6517             com.google.cloud.compute.v1.AttachedDisk,
6518             com.google.cloud.compute.v1.AttachedDisk.Builder,
6519             com.google.cloud.compute.v1.AttachedDiskOrBuilder>
getDisksFieldBuilder()6520         getDisksFieldBuilder() {
6521       if (disksBuilder_ == null) {
6522         disksBuilder_ =
6523             new com.google.protobuf.RepeatedFieldBuilderV3<
6524                 com.google.cloud.compute.v1.AttachedDisk,
6525                 com.google.cloud.compute.v1.AttachedDisk.Builder,
6526                 com.google.cloud.compute.v1.AttachedDiskOrBuilder>(
6527                 disks_, ((bitField0_ & 0x00000080) != 0), getParentForChildren(), isClean());
6528         disks_ = null;
6529       }
6530       return disksBuilder_;
6531     }
6532 
6533     private com.google.cloud.compute.v1.DisplayDevice displayDevice_;
6534     private com.google.protobuf.SingleFieldBuilderV3<
6535             com.google.cloud.compute.v1.DisplayDevice,
6536             com.google.cloud.compute.v1.DisplayDevice.Builder,
6537             com.google.cloud.compute.v1.DisplayDeviceOrBuilder>
6538         displayDeviceBuilder_;
6539     /**
6540      *
6541      *
6542      * <pre>
6543      * Enables display device for the instance.
6544      * </pre>
6545      *
6546      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6547      *
6548      * @return Whether the displayDevice field is set.
6549      */
hasDisplayDevice()6550     public boolean hasDisplayDevice() {
6551       return ((bitField0_ & 0x00000100) != 0);
6552     }
6553     /**
6554      *
6555      *
6556      * <pre>
6557      * Enables display device for the instance.
6558      * </pre>
6559      *
6560      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6561      *
6562      * @return The displayDevice.
6563      */
getDisplayDevice()6564     public com.google.cloud.compute.v1.DisplayDevice getDisplayDevice() {
6565       if (displayDeviceBuilder_ == null) {
6566         return displayDevice_ == null
6567             ? com.google.cloud.compute.v1.DisplayDevice.getDefaultInstance()
6568             : displayDevice_;
6569       } else {
6570         return displayDeviceBuilder_.getMessage();
6571       }
6572     }
6573     /**
6574      *
6575      *
6576      * <pre>
6577      * Enables display device for the instance.
6578      * </pre>
6579      *
6580      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6581      */
setDisplayDevice(com.google.cloud.compute.v1.DisplayDevice value)6582     public Builder setDisplayDevice(com.google.cloud.compute.v1.DisplayDevice value) {
6583       if (displayDeviceBuilder_ == null) {
6584         if (value == null) {
6585           throw new NullPointerException();
6586         }
6587         displayDevice_ = value;
6588       } else {
6589         displayDeviceBuilder_.setMessage(value);
6590       }
6591       bitField0_ |= 0x00000100;
6592       onChanged();
6593       return this;
6594     }
6595     /**
6596      *
6597      *
6598      * <pre>
6599      * Enables display device for the instance.
6600      * </pre>
6601      *
6602      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6603      */
setDisplayDevice( com.google.cloud.compute.v1.DisplayDevice.Builder builderForValue)6604     public Builder setDisplayDevice(
6605         com.google.cloud.compute.v1.DisplayDevice.Builder builderForValue) {
6606       if (displayDeviceBuilder_ == null) {
6607         displayDevice_ = builderForValue.build();
6608       } else {
6609         displayDeviceBuilder_.setMessage(builderForValue.build());
6610       }
6611       bitField0_ |= 0x00000100;
6612       onChanged();
6613       return this;
6614     }
6615     /**
6616      *
6617      *
6618      * <pre>
6619      * Enables display device for the instance.
6620      * </pre>
6621      *
6622      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6623      */
mergeDisplayDevice(com.google.cloud.compute.v1.DisplayDevice value)6624     public Builder mergeDisplayDevice(com.google.cloud.compute.v1.DisplayDevice value) {
6625       if (displayDeviceBuilder_ == null) {
6626         if (((bitField0_ & 0x00000100) != 0)
6627             && displayDevice_ != null
6628             && displayDevice_ != com.google.cloud.compute.v1.DisplayDevice.getDefaultInstance()) {
6629           getDisplayDeviceBuilder().mergeFrom(value);
6630         } else {
6631           displayDevice_ = value;
6632         }
6633       } else {
6634         displayDeviceBuilder_.mergeFrom(value);
6635       }
6636       bitField0_ |= 0x00000100;
6637       onChanged();
6638       return this;
6639     }
6640     /**
6641      *
6642      *
6643      * <pre>
6644      * Enables display device for the instance.
6645      * </pre>
6646      *
6647      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6648      */
clearDisplayDevice()6649     public Builder clearDisplayDevice() {
6650       bitField0_ = (bitField0_ & ~0x00000100);
6651       displayDevice_ = null;
6652       if (displayDeviceBuilder_ != null) {
6653         displayDeviceBuilder_.dispose();
6654         displayDeviceBuilder_ = null;
6655       }
6656       onChanged();
6657       return this;
6658     }
6659     /**
6660      *
6661      *
6662      * <pre>
6663      * Enables display device for the instance.
6664      * </pre>
6665      *
6666      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6667      */
getDisplayDeviceBuilder()6668     public com.google.cloud.compute.v1.DisplayDevice.Builder getDisplayDeviceBuilder() {
6669       bitField0_ |= 0x00000100;
6670       onChanged();
6671       return getDisplayDeviceFieldBuilder().getBuilder();
6672     }
6673     /**
6674      *
6675      *
6676      * <pre>
6677      * Enables display device for the instance.
6678      * </pre>
6679      *
6680      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6681      */
getDisplayDeviceOrBuilder()6682     public com.google.cloud.compute.v1.DisplayDeviceOrBuilder getDisplayDeviceOrBuilder() {
6683       if (displayDeviceBuilder_ != null) {
6684         return displayDeviceBuilder_.getMessageOrBuilder();
6685       } else {
6686         return displayDevice_ == null
6687             ? com.google.cloud.compute.v1.DisplayDevice.getDefaultInstance()
6688             : displayDevice_;
6689       }
6690     }
6691     /**
6692      *
6693      *
6694      * <pre>
6695      * Enables display device for the instance.
6696      * </pre>
6697      *
6698      * <code>optional .google.cloud.compute.v1.DisplayDevice display_device = 258933875;</code>
6699      */
6700     private com.google.protobuf.SingleFieldBuilderV3<
6701             com.google.cloud.compute.v1.DisplayDevice,
6702             com.google.cloud.compute.v1.DisplayDevice.Builder,
6703             com.google.cloud.compute.v1.DisplayDeviceOrBuilder>
getDisplayDeviceFieldBuilder()6704         getDisplayDeviceFieldBuilder() {
6705       if (displayDeviceBuilder_ == null) {
6706         displayDeviceBuilder_ =
6707             new com.google.protobuf.SingleFieldBuilderV3<
6708                 com.google.cloud.compute.v1.DisplayDevice,
6709                 com.google.cloud.compute.v1.DisplayDevice.Builder,
6710                 com.google.cloud.compute.v1.DisplayDeviceOrBuilder>(
6711                 getDisplayDevice(), getParentForChildren(), isClean());
6712         displayDevice_ = null;
6713       }
6714       return displayDeviceBuilder_;
6715     }
6716 
6717     private java.lang.Object fingerprint_ = "";
6718     /**
6719      *
6720      *
6721      * <pre>
6722      * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
6723      * </pre>
6724      *
6725      * <code>optional string fingerprint = 234678500;</code>
6726      *
6727      * @return Whether the fingerprint field is set.
6728      */
hasFingerprint()6729     public boolean hasFingerprint() {
6730       return ((bitField0_ & 0x00000200) != 0);
6731     }
6732     /**
6733      *
6734      *
6735      * <pre>
6736      * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
6737      * </pre>
6738      *
6739      * <code>optional string fingerprint = 234678500;</code>
6740      *
6741      * @return The fingerprint.
6742      */
getFingerprint()6743     public java.lang.String getFingerprint() {
6744       java.lang.Object ref = fingerprint_;
6745       if (!(ref instanceof java.lang.String)) {
6746         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6747         java.lang.String s = bs.toStringUtf8();
6748         fingerprint_ = s;
6749         return s;
6750       } else {
6751         return (java.lang.String) ref;
6752       }
6753     }
6754     /**
6755      *
6756      *
6757      * <pre>
6758      * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
6759      * </pre>
6760      *
6761      * <code>optional string fingerprint = 234678500;</code>
6762      *
6763      * @return The bytes for fingerprint.
6764      */
getFingerprintBytes()6765     public com.google.protobuf.ByteString getFingerprintBytes() {
6766       java.lang.Object ref = fingerprint_;
6767       if (ref instanceof String) {
6768         com.google.protobuf.ByteString b =
6769             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6770         fingerprint_ = b;
6771         return b;
6772       } else {
6773         return (com.google.protobuf.ByteString) ref;
6774       }
6775     }
6776     /**
6777      *
6778      *
6779      * <pre>
6780      * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
6781      * </pre>
6782      *
6783      * <code>optional string fingerprint = 234678500;</code>
6784      *
6785      * @param value The fingerprint to set.
6786      * @return This builder for chaining.
6787      */
setFingerprint(java.lang.String value)6788     public Builder setFingerprint(java.lang.String value) {
6789       if (value == null) {
6790         throw new NullPointerException();
6791       }
6792       fingerprint_ = value;
6793       bitField0_ |= 0x00000200;
6794       onChanged();
6795       return this;
6796     }
6797     /**
6798      *
6799      *
6800      * <pre>
6801      * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
6802      * </pre>
6803      *
6804      * <code>optional string fingerprint = 234678500;</code>
6805      *
6806      * @return This builder for chaining.
6807      */
clearFingerprint()6808     public Builder clearFingerprint() {
6809       fingerprint_ = getDefaultInstance().getFingerprint();
6810       bitField0_ = (bitField0_ & ~0x00000200);
6811       onChanged();
6812       return this;
6813     }
6814     /**
6815      *
6816      *
6817      * <pre>
6818      * Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.
6819      * </pre>
6820      *
6821      * <code>optional string fingerprint = 234678500;</code>
6822      *
6823      * @param value The bytes for fingerprint to set.
6824      * @return This builder for chaining.
6825      */
setFingerprintBytes(com.google.protobuf.ByteString value)6826     public Builder setFingerprintBytes(com.google.protobuf.ByteString value) {
6827       if (value == null) {
6828         throw new NullPointerException();
6829       }
6830       checkByteStringIsUtf8(value);
6831       fingerprint_ = value;
6832       bitField0_ |= 0x00000200;
6833       onChanged();
6834       return this;
6835     }
6836 
6837     private java.util.List<com.google.cloud.compute.v1.AcceleratorConfig> guestAccelerators_ =
6838         java.util.Collections.emptyList();
6839 
ensureGuestAcceleratorsIsMutable()6840     private void ensureGuestAcceleratorsIsMutable() {
6841       if (!((bitField0_ & 0x00000400) != 0)) {
6842         guestAccelerators_ =
6843             new java.util.ArrayList<com.google.cloud.compute.v1.AcceleratorConfig>(
6844                 guestAccelerators_);
6845         bitField0_ |= 0x00000400;
6846       }
6847     }
6848 
6849     private com.google.protobuf.RepeatedFieldBuilderV3<
6850             com.google.cloud.compute.v1.AcceleratorConfig,
6851             com.google.cloud.compute.v1.AcceleratorConfig.Builder,
6852             com.google.cloud.compute.v1.AcceleratorConfigOrBuilder>
6853         guestAcceleratorsBuilder_;
6854 
6855     /**
6856      *
6857      *
6858      * <pre>
6859      * A list of the type and count of accelerator cards attached to the instance.
6860      * </pre>
6861      *
6862      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
6863      * </code>
6864      */
6865     public java.util.List<com.google.cloud.compute.v1.AcceleratorConfig>
getGuestAcceleratorsList()6866         getGuestAcceleratorsList() {
6867       if (guestAcceleratorsBuilder_ == null) {
6868         return java.util.Collections.unmodifiableList(guestAccelerators_);
6869       } else {
6870         return guestAcceleratorsBuilder_.getMessageList();
6871       }
6872     }
6873     /**
6874      *
6875      *
6876      * <pre>
6877      * A list of the type and count of accelerator cards attached to the instance.
6878      * </pre>
6879      *
6880      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
6881      * </code>
6882      */
getGuestAcceleratorsCount()6883     public int getGuestAcceleratorsCount() {
6884       if (guestAcceleratorsBuilder_ == null) {
6885         return guestAccelerators_.size();
6886       } else {
6887         return guestAcceleratorsBuilder_.getCount();
6888       }
6889     }
6890     /**
6891      *
6892      *
6893      * <pre>
6894      * A list of the type and count of accelerator cards attached to the instance.
6895      * </pre>
6896      *
6897      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
6898      * </code>
6899      */
getGuestAccelerators(int index)6900     public com.google.cloud.compute.v1.AcceleratorConfig getGuestAccelerators(int index) {
6901       if (guestAcceleratorsBuilder_ == null) {
6902         return guestAccelerators_.get(index);
6903       } else {
6904         return guestAcceleratorsBuilder_.getMessage(index);
6905       }
6906     }
6907     /**
6908      *
6909      *
6910      * <pre>
6911      * A list of the type and count of accelerator cards attached to the instance.
6912      * </pre>
6913      *
6914      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
6915      * </code>
6916      */
setGuestAccelerators( int index, com.google.cloud.compute.v1.AcceleratorConfig value)6917     public Builder setGuestAccelerators(
6918         int index, com.google.cloud.compute.v1.AcceleratorConfig value) {
6919       if (guestAcceleratorsBuilder_ == null) {
6920         if (value == null) {
6921           throw new NullPointerException();
6922         }
6923         ensureGuestAcceleratorsIsMutable();
6924         guestAccelerators_.set(index, value);
6925         onChanged();
6926       } else {
6927         guestAcceleratorsBuilder_.setMessage(index, value);
6928       }
6929       return this;
6930     }
6931     /**
6932      *
6933      *
6934      * <pre>
6935      * A list of the type and count of accelerator cards attached to the instance.
6936      * </pre>
6937      *
6938      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
6939      * </code>
6940      */
setGuestAccelerators( int index, com.google.cloud.compute.v1.AcceleratorConfig.Builder builderForValue)6941     public Builder setGuestAccelerators(
6942         int index, com.google.cloud.compute.v1.AcceleratorConfig.Builder builderForValue) {
6943       if (guestAcceleratorsBuilder_ == null) {
6944         ensureGuestAcceleratorsIsMutable();
6945         guestAccelerators_.set(index, builderForValue.build());
6946         onChanged();
6947       } else {
6948         guestAcceleratorsBuilder_.setMessage(index, builderForValue.build());
6949       }
6950       return this;
6951     }
6952     /**
6953      *
6954      *
6955      * <pre>
6956      * A list of the type and count of accelerator cards attached to the instance.
6957      * </pre>
6958      *
6959      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
6960      * </code>
6961      */
addGuestAccelerators(com.google.cloud.compute.v1.AcceleratorConfig value)6962     public Builder addGuestAccelerators(com.google.cloud.compute.v1.AcceleratorConfig value) {
6963       if (guestAcceleratorsBuilder_ == null) {
6964         if (value == null) {
6965           throw new NullPointerException();
6966         }
6967         ensureGuestAcceleratorsIsMutable();
6968         guestAccelerators_.add(value);
6969         onChanged();
6970       } else {
6971         guestAcceleratorsBuilder_.addMessage(value);
6972       }
6973       return this;
6974     }
6975     /**
6976      *
6977      *
6978      * <pre>
6979      * A list of the type and count of accelerator cards attached to the instance.
6980      * </pre>
6981      *
6982      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
6983      * </code>
6984      */
addGuestAccelerators( int index, com.google.cloud.compute.v1.AcceleratorConfig value)6985     public Builder addGuestAccelerators(
6986         int index, com.google.cloud.compute.v1.AcceleratorConfig value) {
6987       if (guestAcceleratorsBuilder_ == null) {
6988         if (value == null) {
6989           throw new NullPointerException();
6990         }
6991         ensureGuestAcceleratorsIsMutable();
6992         guestAccelerators_.add(index, value);
6993         onChanged();
6994       } else {
6995         guestAcceleratorsBuilder_.addMessage(index, value);
6996       }
6997       return this;
6998     }
6999     /**
7000      *
7001      *
7002      * <pre>
7003      * A list of the type and count of accelerator cards attached to the instance.
7004      * </pre>
7005      *
7006      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7007      * </code>
7008      */
addGuestAccelerators( com.google.cloud.compute.v1.AcceleratorConfig.Builder builderForValue)7009     public Builder addGuestAccelerators(
7010         com.google.cloud.compute.v1.AcceleratorConfig.Builder builderForValue) {
7011       if (guestAcceleratorsBuilder_ == null) {
7012         ensureGuestAcceleratorsIsMutable();
7013         guestAccelerators_.add(builderForValue.build());
7014         onChanged();
7015       } else {
7016         guestAcceleratorsBuilder_.addMessage(builderForValue.build());
7017       }
7018       return this;
7019     }
7020     /**
7021      *
7022      *
7023      * <pre>
7024      * A list of the type and count of accelerator cards attached to the instance.
7025      * </pre>
7026      *
7027      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7028      * </code>
7029      */
addGuestAccelerators( int index, com.google.cloud.compute.v1.AcceleratorConfig.Builder builderForValue)7030     public Builder addGuestAccelerators(
7031         int index, com.google.cloud.compute.v1.AcceleratorConfig.Builder builderForValue) {
7032       if (guestAcceleratorsBuilder_ == null) {
7033         ensureGuestAcceleratorsIsMutable();
7034         guestAccelerators_.add(index, builderForValue.build());
7035         onChanged();
7036       } else {
7037         guestAcceleratorsBuilder_.addMessage(index, builderForValue.build());
7038       }
7039       return this;
7040     }
7041     /**
7042      *
7043      *
7044      * <pre>
7045      * A list of the type and count of accelerator cards attached to the instance.
7046      * </pre>
7047      *
7048      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7049      * </code>
7050      */
addAllGuestAccelerators( java.lang.Iterable<? extends com.google.cloud.compute.v1.AcceleratorConfig> values)7051     public Builder addAllGuestAccelerators(
7052         java.lang.Iterable<? extends com.google.cloud.compute.v1.AcceleratorConfig> values) {
7053       if (guestAcceleratorsBuilder_ == null) {
7054         ensureGuestAcceleratorsIsMutable();
7055         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, guestAccelerators_);
7056         onChanged();
7057       } else {
7058         guestAcceleratorsBuilder_.addAllMessages(values);
7059       }
7060       return this;
7061     }
7062     /**
7063      *
7064      *
7065      * <pre>
7066      * A list of the type and count of accelerator cards attached to the instance.
7067      * </pre>
7068      *
7069      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7070      * </code>
7071      */
clearGuestAccelerators()7072     public Builder clearGuestAccelerators() {
7073       if (guestAcceleratorsBuilder_ == null) {
7074         guestAccelerators_ = java.util.Collections.emptyList();
7075         bitField0_ = (bitField0_ & ~0x00000400);
7076         onChanged();
7077       } else {
7078         guestAcceleratorsBuilder_.clear();
7079       }
7080       return this;
7081     }
7082     /**
7083      *
7084      *
7085      * <pre>
7086      * A list of the type and count of accelerator cards attached to the instance.
7087      * </pre>
7088      *
7089      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7090      * </code>
7091      */
removeGuestAccelerators(int index)7092     public Builder removeGuestAccelerators(int index) {
7093       if (guestAcceleratorsBuilder_ == null) {
7094         ensureGuestAcceleratorsIsMutable();
7095         guestAccelerators_.remove(index);
7096         onChanged();
7097       } else {
7098         guestAcceleratorsBuilder_.remove(index);
7099       }
7100       return this;
7101     }
7102     /**
7103      *
7104      *
7105      * <pre>
7106      * A list of the type and count of accelerator cards attached to the instance.
7107      * </pre>
7108      *
7109      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7110      * </code>
7111      */
getGuestAcceleratorsBuilder( int index)7112     public com.google.cloud.compute.v1.AcceleratorConfig.Builder getGuestAcceleratorsBuilder(
7113         int index) {
7114       return getGuestAcceleratorsFieldBuilder().getBuilder(index);
7115     }
7116     /**
7117      *
7118      *
7119      * <pre>
7120      * A list of the type and count of accelerator cards attached to the instance.
7121      * </pre>
7122      *
7123      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7124      * </code>
7125      */
getGuestAcceleratorsOrBuilder( int index)7126     public com.google.cloud.compute.v1.AcceleratorConfigOrBuilder getGuestAcceleratorsOrBuilder(
7127         int index) {
7128       if (guestAcceleratorsBuilder_ == null) {
7129         return guestAccelerators_.get(index);
7130       } else {
7131         return guestAcceleratorsBuilder_.getMessageOrBuilder(index);
7132       }
7133     }
7134     /**
7135      *
7136      *
7137      * <pre>
7138      * A list of the type and count of accelerator cards attached to the instance.
7139      * </pre>
7140      *
7141      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7142      * </code>
7143      */
7144     public java.util.List<? extends com.google.cloud.compute.v1.AcceleratorConfigOrBuilder>
getGuestAcceleratorsOrBuilderList()7145         getGuestAcceleratorsOrBuilderList() {
7146       if (guestAcceleratorsBuilder_ != null) {
7147         return guestAcceleratorsBuilder_.getMessageOrBuilderList();
7148       } else {
7149         return java.util.Collections.unmodifiableList(guestAccelerators_);
7150       }
7151     }
7152     /**
7153      *
7154      *
7155      * <pre>
7156      * A list of the type and count of accelerator cards attached to the instance.
7157      * </pre>
7158      *
7159      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7160      * </code>
7161      */
addGuestAcceleratorsBuilder()7162     public com.google.cloud.compute.v1.AcceleratorConfig.Builder addGuestAcceleratorsBuilder() {
7163       return getGuestAcceleratorsFieldBuilder()
7164           .addBuilder(com.google.cloud.compute.v1.AcceleratorConfig.getDefaultInstance());
7165     }
7166     /**
7167      *
7168      *
7169      * <pre>
7170      * A list of the type and count of accelerator cards attached to the instance.
7171      * </pre>
7172      *
7173      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7174      * </code>
7175      */
addGuestAcceleratorsBuilder( int index)7176     public com.google.cloud.compute.v1.AcceleratorConfig.Builder addGuestAcceleratorsBuilder(
7177         int index) {
7178       return getGuestAcceleratorsFieldBuilder()
7179           .addBuilder(index, com.google.cloud.compute.v1.AcceleratorConfig.getDefaultInstance());
7180     }
7181     /**
7182      *
7183      *
7184      * <pre>
7185      * A list of the type and count of accelerator cards attached to the instance.
7186      * </pre>
7187      *
7188      * <code>repeated .google.cloud.compute.v1.AcceleratorConfig guest_accelerators = 463595119;
7189      * </code>
7190      */
7191     public java.util.List<com.google.cloud.compute.v1.AcceleratorConfig.Builder>
getGuestAcceleratorsBuilderList()7192         getGuestAcceleratorsBuilderList() {
7193       return getGuestAcceleratorsFieldBuilder().getBuilderList();
7194     }
7195 
7196     private com.google.protobuf.RepeatedFieldBuilderV3<
7197             com.google.cloud.compute.v1.AcceleratorConfig,
7198             com.google.cloud.compute.v1.AcceleratorConfig.Builder,
7199             com.google.cloud.compute.v1.AcceleratorConfigOrBuilder>
getGuestAcceleratorsFieldBuilder()7200         getGuestAcceleratorsFieldBuilder() {
7201       if (guestAcceleratorsBuilder_ == null) {
7202         guestAcceleratorsBuilder_ =
7203             new com.google.protobuf.RepeatedFieldBuilderV3<
7204                 com.google.cloud.compute.v1.AcceleratorConfig,
7205                 com.google.cloud.compute.v1.AcceleratorConfig.Builder,
7206                 com.google.cloud.compute.v1.AcceleratorConfigOrBuilder>(
7207                 guestAccelerators_,
7208                 ((bitField0_ & 0x00000400) != 0),
7209                 getParentForChildren(),
7210                 isClean());
7211         guestAccelerators_ = null;
7212       }
7213       return guestAcceleratorsBuilder_;
7214     }
7215 
7216     private java.lang.Object hostname_ = "";
7217     /**
7218      *
7219      *
7220      * <pre>
7221      * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
7222      * </pre>
7223      *
7224      * <code>optional string hostname = 237067315;</code>
7225      *
7226      * @return Whether the hostname field is set.
7227      */
hasHostname()7228     public boolean hasHostname() {
7229       return ((bitField0_ & 0x00000800) != 0);
7230     }
7231     /**
7232      *
7233      *
7234      * <pre>
7235      * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
7236      * </pre>
7237      *
7238      * <code>optional string hostname = 237067315;</code>
7239      *
7240      * @return The hostname.
7241      */
getHostname()7242     public java.lang.String getHostname() {
7243       java.lang.Object ref = hostname_;
7244       if (!(ref instanceof java.lang.String)) {
7245         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7246         java.lang.String s = bs.toStringUtf8();
7247         hostname_ = s;
7248         return s;
7249       } else {
7250         return (java.lang.String) ref;
7251       }
7252     }
7253     /**
7254      *
7255      *
7256      * <pre>
7257      * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
7258      * </pre>
7259      *
7260      * <code>optional string hostname = 237067315;</code>
7261      *
7262      * @return The bytes for hostname.
7263      */
getHostnameBytes()7264     public com.google.protobuf.ByteString getHostnameBytes() {
7265       java.lang.Object ref = hostname_;
7266       if (ref instanceof String) {
7267         com.google.protobuf.ByteString b =
7268             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7269         hostname_ = b;
7270         return b;
7271       } else {
7272         return (com.google.protobuf.ByteString) ref;
7273       }
7274     }
7275     /**
7276      *
7277      *
7278      * <pre>
7279      * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
7280      * </pre>
7281      *
7282      * <code>optional string hostname = 237067315;</code>
7283      *
7284      * @param value The hostname to set.
7285      * @return This builder for chaining.
7286      */
setHostname(java.lang.String value)7287     public Builder setHostname(java.lang.String value) {
7288       if (value == null) {
7289         throw new NullPointerException();
7290       }
7291       hostname_ = value;
7292       bitField0_ |= 0x00000800;
7293       onChanged();
7294       return this;
7295     }
7296     /**
7297      *
7298      *
7299      * <pre>
7300      * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
7301      * </pre>
7302      *
7303      * <code>optional string hostname = 237067315;</code>
7304      *
7305      * @return This builder for chaining.
7306      */
clearHostname()7307     public Builder clearHostname() {
7308       hostname_ = getDefaultInstance().getHostname();
7309       bitField0_ = (bitField0_ & ~0x00000800);
7310       onChanged();
7311       return this;
7312     }
7313     /**
7314      *
7315      *
7316      * <pre>
7317      * Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
7318      * </pre>
7319      *
7320      * <code>optional string hostname = 237067315;</code>
7321      *
7322      * @param value The bytes for hostname to set.
7323      * @return This builder for chaining.
7324      */
setHostnameBytes(com.google.protobuf.ByteString value)7325     public Builder setHostnameBytes(com.google.protobuf.ByteString value) {
7326       if (value == null) {
7327         throw new NullPointerException();
7328       }
7329       checkByteStringIsUtf8(value);
7330       hostname_ = value;
7331       bitField0_ |= 0x00000800;
7332       onChanged();
7333       return this;
7334     }
7335 
7336     private long id_;
7337     /**
7338      *
7339      *
7340      * <pre>
7341      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
7342      * </pre>
7343      *
7344      * <code>optional uint64 id = 3355;</code>
7345      *
7346      * @return Whether the id field is set.
7347      */
7348     @java.lang.Override
hasId()7349     public boolean hasId() {
7350       return ((bitField0_ & 0x00001000) != 0);
7351     }
7352     /**
7353      *
7354      *
7355      * <pre>
7356      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
7357      * </pre>
7358      *
7359      * <code>optional uint64 id = 3355;</code>
7360      *
7361      * @return The id.
7362      */
7363     @java.lang.Override
getId()7364     public long getId() {
7365       return id_;
7366     }
7367     /**
7368      *
7369      *
7370      * <pre>
7371      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
7372      * </pre>
7373      *
7374      * <code>optional uint64 id = 3355;</code>
7375      *
7376      * @param value The id to set.
7377      * @return This builder for chaining.
7378      */
setId(long value)7379     public Builder setId(long value) {
7380 
7381       id_ = value;
7382       bitField0_ |= 0x00001000;
7383       onChanged();
7384       return this;
7385     }
7386     /**
7387      *
7388      *
7389      * <pre>
7390      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
7391      * </pre>
7392      *
7393      * <code>optional uint64 id = 3355;</code>
7394      *
7395      * @return This builder for chaining.
7396      */
clearId()7397     public Builder clearId() {
7398       bitField0_ = (bitField0_ & ~0x00001000);
7399       id_ = 0L;
7400       onChanged();
7401       return this;
7402     }
7403 
7404     private java.lang.Object keyRevocationActionType_ = "";
7405     /**
7406      *
7407      *
7408      * <pre>
7409      * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
7410      * Check the KeyRevocationActionType enum for the list of possible values.
7411      * </pre>
7412      *
7413      * <code>optional string key_revocation_action_type = 235941474;</code>
7414      *
7415      * @return Whether the keyRevocationActionType field is set.
7416      */
hasKeyRevocationActionType()7417     public boolean hasKeyRevocationActionType() {
7418       return ((bitField0_ & 0x00002000) != 0);
7419     }
7420     /**
7421      *
7422      *
7423      * <pre>
7424      * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
7425      * Check the KeyRevocationActionType enum for the list of possible values.
7426      * </pre>
7427      *
7428      * <code>optional string key_revocation_action_type = 235941474;</code>
7429      *
7430      * @return The keyRevocationActionType.
7431      */
getKeyRevocationActionType()7432     public java.lang.String getKeyRevocationActionType() {
7433       java.lang.Object ref = keyRevocationActionType_;
7434       if (!(ref instanceof java.lang.String)) {
7435         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7436         java.lang.String s = bs.toStringUtf8();
7437         keyRevocationActionType_ = s;
7438         return s;
7439       } else {
7440         return (java.lang.String) ref;
7441       }
7442     }
7443     /**
7444      *
7445      *
7446      * <pre>
7447      * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
7448      * Check the KeyRevocationActionType enum for the list of possible values.
7449      * </pre>
7450      *
7451      * <code>optional string key_revocation_action_type = 235941474;</code>
7452      *
7453      * @return The bytes for keyRevocationActionType.
7454      */
getKeyRevocationActionTypeBytes()7455     public com.google.protobuf.ByteString getKeyRevocationActionTypeBytes() {
7456       java.lang.Object ref = keyRevocationActionType_;
7457       if (ref instanceof String) {
7458         com.google.protobuf.ByteString b =
7459             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7460         keyRevocationActionType_ = b;
7461         return b;
7462       } else {
7463         return (com.google.protobuf.ByteString) ref;
7464       }
7465     }
7466     /**
7467      *
7468      *
7469      * <pre>
7470      * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
7471      * Check the KeyRevocationActionType enum for the list of possible values.
7472      * </pre>
7473      *
7474      * <code>optional string key_revocation_action_type = 235941474;</code>
7475      *
7476      * @param value The keyRevocationActionType to set.
7477      * @return This builder for chaining.
7478      */
setKeyRevocationActionType(java.lang.String value)7479     public Builder setKeyRevocationActionType(java.lang.String value) {
7480       if (value == null) {
7481         throw new NullPointerException();
7482       }
7483       keyRevocationActionType_ = value;
7484       bitField0_ |= 0x00002000;
7485       onChanged();
7486       return this;
7487     }
7488     /**
7489      *
7490      *
7491      * <pre>
7492      * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
7493      * Check the KeyRevocationActionType enum for the list of possible values.
7494      * </pre>
7495      *
7496      * <code>optional string key_revocation_action_type = 235941474;</code>
7497      *
7498      * @return This builder for chaining.
7499      */
clearKeyRevocationActionType()7500     public Builder clearKeyRevocationActionType() {
7501       keyRevocationActionType_ = getDefaultInstance().getKeyRevocationActionType();
7502       bitField0_ = (bitField0_ & ~0x00002000);
7503       onChanged();
7504       return this;
7505     }
7506     /**
7507      *
7508      *
7509      * <pre>
7510      * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
7511      * Check the KeyRevocationActionType enum for the list of possible values.
7512      * </pre>
7513      *
7514      * <code>optional string key_revocation_action_type = 235941474;</code>
7515      *
7516      * @param value The bytes for keyRevocationActionType to set.
7517      * @return This builder for chaining.
7518      */
setKeyRevocationActionTypeBytes(com.google.protobuf.ByteString value)7519     public Builder setKeyRevocationActionTypeBytes(com.google.protobuf.ByteString value) {
7520       if (value == null) {
7521         throw new NullPointerException();
7522       }
7523       checkByteStringIsUtf8(value);
7524       keyRevocationActionType_ = value;
7525       bitField0_ |= 0x00002000;
7526       onChanged();
7527       return this;
7528     }
7529 
7530     private java.lang.Object kind_ = "";
7531     /**
7532      *
7533      *
7534      * <pre>
7535      * [Output Only] Type of the resource. Always compute#instance for instances.
7536      * </pre>
7537      *
7538      * <code>optional string kind = 3292052;</code>
7539      *
7540      * @return Whether the kind field is set.
7541      */
hasKind()7542     public boolean hasKind() {
7543       return ((bitField0_ & 0x00004000) != 0);
7544     }
7545     /**
7546      *
7547      *
7548      * <pre>
7549      * [Output Only] Type of the resource. Always compute#instance for instances.
7550      * </pre>
7551      *
7552      * <code>optional string kind = 3292052;</code>
7553      *
7554      * @return The kind.
7555      */
getKind()7556     public java.lang.String getKind() {
7557       java.lang.Object ref = kind_;
7558       if (!(ref instanceof java.lang.String)) {
7559         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7560         java.lang.String s = bs.toStringUtf8();
7561         kind_ = s;
7562         return s;
7563       } else {
7564         return (java.lang.String) ref;
7565       }
7566     }
7567     /**
7568      *
7569      *
7570      * <pre>
7571      * [Output Only] Type of the resource. Always compute#instance for instances.
7572      * </pre>
7573      *
7574      * <code>optional string kind = 3292052;</code>
7575      *
7576      * @return The bytes for kind.
7577      */
getKindBytes()7578     public com.google.protobuf.ByteString getKindBytes() {
7579       java.lang.Object ref = kind_;
7580       if (ref instanceof String) {
7581         com.google.protobuf.ByteString b =
7582             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7583         kind_ = b;
7584         return b;
7585       } else {
7586         return (com.google.protobuf.ByteString) ref;
7587       }
7588     }
7589     /**
7590      *
7591      *
7592      * <pre>
7593      * [Output Only] Type of the resource. Always compute#instance for instances.
7594      * </pre>
7595      *
7596      * <code>optional string kind = 3292052;</code>
7597      *
7598      * @param value The kind to set.
7599      * @return This builder for chaining.
7600      */
setKind(java.lang.String value)7601     public Builder setKind(java.lang.String value) {
7602       if (value == null) {
7603         throw new NullPointerException();
7604       }
7605       kind_ = value;
7606       bitField0_ |= 0x00004000;
7607       onChanged();
7608       return this;
7609     }
7610     /**
7611      *
7612      *
7613      * <pre>
7614      * [Output Only] Type of the resource. Always compute#instance for instances.
7615      * </pre>
7616      *
7617      * <code>optional string kind = 3292052;</code>
7618      *
7619      * @return This builder for chaining.
7620      */
clearKind()7621     public Builder clearKind() {
7622       kind_ = getDefaultInstance().getKind();
7623       bitField0_ = (bitField0_ & ~0x00004000);
7624       onChanged();
7625       return this;
7626     }
7627     /**
7628      *
7629      *
7630      * <pre>
7631      * [Output Only] Type of the resource. Always compute#instance for instances.
7632      * </pre>
7633      *
7634      * <code>optional string kind = 3292052;</code>
7635      *
7636      * @param value The bytes for kind to set.
7637      * @return This builder for chaining.
7638      */
setKindBytes(com.google.protobuf.ByteString value)7639     public Builder setKindBytes(com.google.protobuf.ByteString value) {
7640       if (value == null) {
7641         throw new NullPointerException();
7642       }
7643       checkByteStringIsUtf8(value);
7644       kind_ = value;
7645       bitField0_ |= 0x00004000;
7646       onChanged();
7647       return this;
7648     }
7649 
7650     private java.lang.Object labelFingerprint_ = "";
7651     /**
7652      *
7653      *
7654      * <pre>
7655      * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
7656      * </pre>
7657      *
7658      * <code>optional string label_fingerprint = 178124825;</code>
7659      *
7660      * @return Whether the labelFingerprint field is set.
7661      */
hasLabelFingerprint()7662     public boolean hasLabelFingerprint() {
7663       return ((bitField0_ & 0x00008000) != 0);
7664     }
7665     /**
7666      *
7667      *
7668      * <pre>
7669      * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
7670      * </pre>
7671      *
7672      * <code>optional string label_fingerprint = 178124825;</code>
7673      *
7674      * @return The labelFingerprint.
7675      */
getLabelFingerprint()7676     public java.lang.String getLabelFingerprint() {
7677       java.lang.Object ref = labelFingerprint_;
7678       if (!(ref instanceof java.lang.String)) {
7679         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7680         java.lang.String s = bs.toStringUtf8();
7681         labelFingerprint_ = s;
7682         return s;
7683       } else {
7684         return (java.lang.String) ref;
7685       }
7686     }
7687     /**
7688      *
7689      *
7690      * <pre>
7691      * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
7692      * </pre>
7693      *
7694      * <code>optional string label_fingerprint = 178124825;</code>
7695      *
7696      * @return The bytes for labelFingerprint.
7697      */
getLabelFingerprintBytes()7698     public com.google.protobuf.ByteString getLabelFingerprintBytes() {
7699       java.lang.Object ref = labelFingerprint_;
7700       if (ref instanceof String) {
7701         com.google.protobuf.ByteString b =
7702             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7703         labelFingerprint_ = b;
7704         return b;
7705       } else {
7706         return (com.google.protobuf.ByteString) ref;
7707       }
7708     }
7709     /**
7710      *
7711      *
7712      * <pre>
7713      * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
7714      * </pre>
7715      *
7716      * <code>optional string label_fingerprint = 178124825;</code>
7717      *
7718      * @param value The labelFingerprint to set.
7719      * @return This builder for chaining.
7720      */
setLabelFingerprint(java.lang.String value)7721     public Builder setLabelFingerprint(java.lang.String value) {
7722       if (value == null) {
7723         throw new NullPointerException();
7724       }
7725       labelFingerprint_ = value;
7726       bitField0_ |= 0x00008000;
7727       onChanged();
7728       return this;
7729     }
7730     /**
7731      *
7732      *
7733      * <pre>
7734      * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
7735      * </pre>
7736      *
7737      * <code>optional string label_fingerprint = 178124825;</code>
7738      *
7739      * @return This builder for chaining.
7740      */
clearLabelFingerprint()7741     public Builder clearLabelFingerprint() {
7742       labelFingerprint_ = getDefaultInstance().getLabelFingerprint();
7743       bitField0_ = (bitField0_ & ~0x00008000);
7744       onChanged();
7745       return this;
7746     }
7747     /**
7748      *
7749      *
7750      * <pre>
7751      * A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.
7752      * </pre>
7753      *
7754      * <code>optional string label_fingerprint = 178124825;</code>
7755      *
7756      * @param value The bytes for labelFingerprint to set.
7757      * @return This builder for chaining.
7758      */
setLabelFingerprintBytes(com.google.protobuf.ByteString value)7759     public Builder setLabelFingerprintBytes(com.google.protobuf.ByteString value) {
7760       if (value == null) {
7761         throw new NullPointerException();
7762       }
7763       checkByteStringIsUtf8(value);
7764       labelFingerprint_ = value;
7765       bitField0_ |= 0x00008000;
7766       onChanged();
7767       return this;
7768     }
7769 
7770     private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;
7771 
internalGetLabels()7772     private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
7773       if (labels_ == null) {
7774         return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
7775       }
7776       return labels_;
7777     }
7778 
7779     private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetMutableLabels()7780         internalGetMutableLabels() {
7781       if (labels_ == null) {
7782         labels_ = com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry);
7783       }
7784       if (!labels_.isMutable()) {
7785         labels_ = labels_.copy();
7786       }
7787       bitField0_ |= 0x00010000;
7788       onChanged();
7789       return labels_;
7790     }
7791 
getLabelsCount()7792     public int getLabelsCount() {
7793       return internalGetLabels().getMap().size();
7794     }
7795     /**
7796      *
7797      *
7798      * <pre>
7799      * Labels to apply to this instance. These can be later modified by the setLabels method.
7800      * </pre>
7801      *
7802      * <code>map&lt;string, string&gt; labels = 500195327;</code>
7803      */
7804     @java.lang.Override
containsLabels(java.lang.String key)7805     public boolean containsLabels(java.lang.String key) {
7806       if (key == null) {
7807         throw new NullPointerException("map key");
7808       }
7809       return internalGetLabels().getMap().containsKey(key);
7810     }
7811     /** Use {@link #getLabelsMap()} instead. */
7812     @java.lang.Override
7813     @java.lang.Deprecated
getLabels()7814     public java.util.Map<java.lang.String, java.lang.String> getLabels() {
7815       return getLabelsMap();
7816     }
7817     /**
7818      *
7819      *
7820      * <pre>
7821      * Labels to apply to this instance. These can be later modified by the setLabels method.
7822      * </pre>
7823      *
7824      * <code>map&lt;string, string&gt; labels = 500195327;</code>
7825      */
7826     @java.lang.Override
getLabelsMap()7827     public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
7828       return internalGetLabels().getMap();
7829     }
7830     /**
7831      *
7832      *
7833      * <pre>
7834      * Labels to apply to this instance. These can be later modified by the setLabels method.
7835      * </pre>
7836      *
7837      * <code>map&lt;string, string&gt; labels = 500195327;</code>
7838      */
7839     @java.lang.Override
getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)7840     public /* nullable */ java.lang.String getLabelsOrDefault(
7841         java.lang.String key,
7842         /* nullable */
7843         java.lang.String defaultValue) {
7844       if (key == null) {
7845         throw new NullPointerException("map key");
7846       }
7847       java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
7848       return map.containsKey(key) ? map.get(key) : defaultValue;
7849     }
7850     /**
7851      *
7852      *
7853      * <pre>
7854      * Labels to apply to this instance. These can be later modified by the setLabels method.
7855      * </pre>
7856      *
7857      * <code>map&lt;string, string&gt; labels = 500195327;</code>
7858      */
7859     @java.lang.Override
getLabelsOrThrow(java.lang.String key)7860     public java.lang.String getLabelsOrThrow(java.lang.String key) {
7861       if (key == null) {
7862         throw new NullPointerException("map key");
7863       }
7864       java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
7865       if (!map.containsKey(key)) {
7866         throw new java.lang.IllegalArgumentException();
7867       }
7868       return map.get(key);
7869     }
7870 
clearLabels()7871     public Builder clearLabels() {
7872       bitField0_ = (bitField0_ & ~0x00010000);
7873       internalGetMutableLabels().getMutableMap().clear();
7874       return this;
7875     }
7876     /**
7877      *
7878      *
7879      * <pre>
7880      * Labels to apply to this instance. These can be later modified by the setLabels method.
7881      * </pre>
7882      *
7883      * <code>map&lt;string, string&gt; labels = 500195327;</code>
7884      */
removeLabels(java.lang.String key)7885     public Builder removeLabels(java.lang.String key) {
7886       if (key == null) {
7887         throw new NullPointerException("map key");
7888       }
7889       internalGetMutableLabels().getMutableMap().remove(key);
7890       return this;
7891     }
7892     /** Use alternate mutation accessors instead. */
7893     @java.lang.Deprecated
getMutableLabels()7894     public java.util.Map<java.lang.String, java.lang.String> getMutableLabels() {
7895       bitField0_ |= 0x00010000;
7896       return internalGetMutableLabels().getMutableMap();
7897     }
7898     /**
7899      *
7900      *
7901      * <pre>
7902      * Labels to apply to this instance. These can be later modified by the setLabels method.
7903      * </pre>
7904      *
7905      * <code>map&lt;string, string&gt; labels = 500195327;</code>
7906      */
putLabels(java.lang.String key, java.lang.String value)7907     public Builder putLabels(java.lang.String key, java.lang.String value) {
7908       if (key == null) {
7909         throw new NullPointerException("map key");
7910       }
7911       if (value == null) {
7912         throw new NullPointerException("map value");
7913       }
7914       internalGetMutableLabels().getMutableMap().put(key, value);
7915       bitField0_ |= 0x00010000;
7916       return this;
7917     }
7918     /**
7919      *
7920      *
7921      * <pre>
7922      * Labels to apply to this instance. These can be later modified by the setLabels method.
7923      * </pre>
7924      *
7925      * <code>map&lt;string, string&gt; labels = 500195327;</code>
7926      */
putAllLabels(java.util.Map<java.lang.String, java.lang.String> values)7927     public Builder putAllLabels(java.util.Map<java.lang.String, java.lang.String> values) {
7928       internalGetMutableLabels().getMutableMap().putAll(values);
7929       bitField0_ |= 0x00010000;
7930       return this;
7931     }
7932 
7933     private java.lang.Object lastStartTimestamp_ = "";
7934     /**
7935      *
7936      *
7937      * <pre>
7938      * [Output Only] Last start timestamp in RFC3339 text format.
7939      * </pre>
7940      *
7941      * <code>optional string last_start_timestamp = 443830736;</code>
7942      *
7943      * @return Whether the lastStartTimestamp field is set.
7944      */
hasLastStartTimestamp()7945     public boolean hasLastStartTimestamp() {
7946       return ((bitField0_ & 0x00020000) != 0);
7947     }
7948     /**
7949      *
7950      *
7951      * <pre>
7952      * [Output Only] Last start timestamp in RFC3339 text format.
7953      * </pre>
7954      *
7955      * <code>optional string last_start_timestamp = 443830736;</code>
7956      *
7957      * @return The lastStartTimestamp.
7958      */
getLastStartTimestamp()7959     public java.lang.String getLastStartTimestamp() {
7960       java.lang.Object ref = lastStartTimestamp_;
7961       if (!(ref instanceof java.lang.String)) {
7962         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7963         java.lang.String s = bs.toStringUtf8();
7964         lastStartTimestamp_ = s;
7965         return s;
7966       } else {
7967         return (java.lang.String) ref;
7968       }
7969     }
7970     /**
7971      *
7972      *
7973      * <pre>
7974      * [Output Only] Last start timestamp in RFC3339 text format.
7975      * </pre>
7976      *
7977      * <code>optional string last_start_timestamp = 443830736;</code>
7978      *
7979      * @return The bytes for lastStartTimestamp.
7980      */
getLastStartTimestampBytes()7981     public com.google.protobuf.ByteString getLastStartTimestampBytes() {
7982       java.lang.Object ref = lastStartTimestamp_;
7983       if (ref instanceof String) {
7984         com.google.protobuf.ByteString b =
7985             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7986         lastStartTimestamp_ = b;
7987         return b;
7988       } else {
7989         return (com.google.protobuf.ByteString) ref;
7990       }
7991     }
7992     /**
7993      *
7994      *
7995      * <pre>
7996      * [Output Only] Last start timestamp in RFC3339 text format.
7997      * </pre>
7998      *
7999      * <code>optional string last_start_timestamp = 443830736;</code>
8000      *
8001      * @param value The lastStartTimestamp to set.
8002      * @return This builder for chaining.
8003      */
setLastStartTimestamp(java.lang.String value)8004     public Builder setLastStartTimestamp(java.lang.String value) {
8005       if (value == null) {
8006         throw new NullPointerException();
8007       }
8008       lastStartTimestamp_ = value;
8009       bitField0_ |= 0x00020000;
8010       onChanged();
8011       return this;
8012     }
8013     /**
8014      *
8015      *
8016      * <pre>
8017      * [Output Only] Last start timestamp in RFC3339 text format.
8018      * </pre>
8019      *
8020      * <code>optional string last_start_timestamp = 443830736;</code>
8021      *
8022      * @return This builder for chaining.
8023      */
clearLastStartTimestamp()8024     public Builder clearLastStartTimestamp() {
8025       lastStartTimestamp_ = getDefaultInstance().getLastStartTimestamp();
8026       bitField0_ = (bitField0_ & ~0x00020000);
8027       onChanged();
8028       return this;
8029     }
8030     /**
8031      *
8032      *
8033      * <pre>
8034      * [Output Only] Last start timestamp in RFC3339 text format.
8035      * </pre>
8036      *
8037      * <code>optional string last_start_timestamp = 443830736;</code>
8038      *
8039      * @param value The bytes for lastStartTimestamp to set.
8040      * @return This builder for chaining.
8041      */
setLastStartTimestampBytes(com.google.protobuf.ByteString value)8042     public Builder setLastStartTimestampBytes(com.google.protobuf.ByteString value) {
8043       if (value == null) {
8044         throw new NullPointerException();
8045       }
8046       checkByteStringIsUtf8(value);
8047       lastStartTimestamp_ = value;
8048       bitField0_ |= 0x00020000;
8049       onChanged();
8050       return this;
8051     }
8052 
8053     private java.lang.Object lastStopTimestamp_ = "";
8054     /**
8055      *
8056      *
8057      * <pre>
8058      * [Output Only] Last stop timestamp in RFC3339 text format.
8059      * </pre>
8060      *
8061      * <code>optional string last_stop_timestamp = 412823010;</code>
8062      *
8063      * @return Whether the lastStopTimestamp field is set.
8064      */
hasLastStopTimestamp()8065     public boolean hasLastStopTimestamp() {
8066       return ((bitField0_ & 0x00040000) != 0);
8067     }
8068     /**
8069      *
8070      *
8071      * <pre>
8072      * [Output Only] Last stop timestamp in RFC3339 text format.
8073      * </pre>
8074      *
8075      * <code>optional string last_stop_timestamp = 412823010;</code>
8076      *
8077      * @return The lastStopTimestamp.
8078      */
getLastStopTimestamp()8079     public java.lang.String getLastStopTimestamp() {
8080       java.lang.Object ref = lastStopTimestamp_;
8081       if (!(ref instanceof java.lang.String)) {
8082         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8083         java.lang.String s = bs.toStringUtf8();
8084         lastStopTimestamp_ = s;
8085         return s;
8086       } else {
8087         return (java.lang.String) ref;
8088       }
8089     }
8090     /**
8091      *
8092      *
8093      * <pre>
8094      * [Output Only] Last stop timestamp in RFC3339 text format.
8095      * </pre>
8096      *
8097      * <code>optional string last_stop_timestamp = 412823010;</code>
8098      *
8099      * @return The bytes for lastStopTimestamp.
8100      */
getLastStopTimestampBytes()8101     public com.google.protobuf.ByteString getLastStopTimestampBytes() {
8102       java.lang.Object ref = lastStopTimestamp_;
8103       if (ref instanceof String) {
8104         com.google.protobuf.ByteString b =
8105             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8106         lastStopTimestamp_ = b;
8107         return b;
8108       } else {
8109         return (com.google.protobuf.ByteString) ref;
8110       }
8111     }
8112     /**
8113      *
8114      *
8115      * <pre>
8116      * [Output Only] Last stop timestamp in RFC3339 text format.
8117      * </pre>
8118      *
8119      * <code>optional string last_stop_timestamp = 412823010;</code>
8120      *
8121      * @param value The lastStopTimestamp to set.
8122      * @return This builder for chaining.
8123      */
setLastStopTimestamp(java.lang.String value)8124     public Builder setLastStopTimestamp(java.lang.String value) {
8125       if (value == null) {
8126         throw new NullPointerException();
8127       }
8128       lastStopTimestamp_ = value;
8129       bitField0_ |= 0x00040000;
8130       onChanged();
8131       return this;
8132     }
8133     /**
8134      *
8135      *
8136      * <pre>
8137      * [Output Only] Last stop timestamp in RFC3339 text format.
8138      * </pre>
8139      *
8140      * <code>optional string last_stop_timestamp = 412823010;</code>
8141      *
8142      * @return This builder for chaining.
8143      */
clearLastStopTimestamp()8144     public Builder clearLastStopTimestamp() {
8145       lastStopTimestamp_ = getDefaultInstance().getLastStopTimestamp();
8146       bitField0_ = (bitField0_ & ~0x00040000);
8147       onChanged();
8148       return this;
8149     }
8150     /**
8151      *
8152      *
8153      * <pre>
8154      * [Output Only] Last stop timestamp in RFC3339 text format.
8155      * </pre>
8156      *
8157      * <code>optional string last_stop_timestamp = 412823010;</code>
8158      *
8159      * @param value The bytes for lastStopTimestamp to set.
8160      * @return This builder for chaining.
8161      */
setLastStopTimestampBytes(com.google.protobuf.ByteString value)8162     public Builder setLastStopTimestampBytes(com.google.protobuf.ByteString value) {
8163       if (value == null) {
8164         throw new NullPointerException();
8165       }
8166       checkByteStringIsUtf8(value);
8167       lastStopTimestamp_ = value;
8168       bitField0_ |= 0x00040000;
8169       onChanged();
8170       return this;
8171     }
8172 
8173     private java.lang.Object lastSuspendedTimestamp_ = "";
8174     /**
8175      *
8176      *
8177      * <pre>
8178      * [Output Only] Last suspended timestamp in RFC3339 text format.
8179      * </pre>
8180      *
8181      * <code>optional string last_suspended_timestamp = 356275337;</code>
8182      *
8183      * @return Whether the lastSuspendedTimestamp field is set.
8184      */
hasLastSuspendedTimestamp()8185     public boolean hasLastSuspendedTimestamp() {
8186       return ((bitField0_ & 0x00080000) != 0);
8187     }
8188     /**
8189      *
8190      *
8191      * <pre>
8192      * [Output Only] Last suspended timestamp in RFC3339 text format.
8193      * </pre>
8194      *
8195      * <code>optional string last_suspended_timestamp = 356275337;</code>
8196      *
8197      * @return The lastSuspendedTimestamp.
8198      */
getLastSuspendedTimestamp()8199     public java.lang.String getLastSuspendedTimestamp() {
8200       java.lang.Object ref = lastSuspendedTimestamp_;
8201       if (!(ref instanceof java.lang.String)) {
8202         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8203         java.lang.String s = bs.toStringUtf8();
8204         lastSuspendedTimestamp_ = s;
8205         return s;
8206       } else {
8207         return (java.lang.String) ref;
8208       }
8209     }
8210     /**
8211      *
8212      *
8213      * <pre>
8214      * [Output Only] Last suspended timestamp in RFC3339 text format.
8215      * </pre>
8216      *
8217      * <code>optional string last_suspended_timestamp = 356275337;</code>
8218      *
8219      * @return The bytes for lastSuspendedTimestamp.
8220      */
getLastSuspendedTimestampBytes()8221     public com.google.protobuf.ByteString getLastSuspendedTimestampBytes() {
8222       java.lang.Object ref = lastSuspendedTimestamp_;
8223       if (ref instanceof String) {
8224         com.google.protobuf.ByteString b =
8225             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8226         lastSuspendedTimestamp_ = b;
8227         return b;
8228       } else {
8229         return (com.google.protobuf.ByteString) ref;
8230       }
8231     }
8232     /**
8233      *
8234      *
8235      * <pre>
8236      * [Output Only] Last suspended timestamp in RFC3339 text format.
8237      * </pre>
8238      *
8239      * <code>optional string last_suspended_timestamp = 356275337;</code>
8240      *
8241      * @param value The lastSuspendedTimestamp to set.
8242      * @return This builder for chaining.
8243      */
setLastSuspendedTimestamp(java.lang.String value)8244     public Builder setLastSuspendedTimestamp(java.lang.String value) {
8245       if (value == null) {
8246         throw new NullPointerException();
8247       }
8248       lastSuspendedTimestamp_ = value;
8249       bitField0_ |= 0x00080000;
8250       onChanged();
8251       return this;
8252     }
8253     /**
8254      *
8255      *
8256      * <pre>
8257      * [Output Only] Last suspended timestamp in RFC3339 text format.
8258      * </pre>
8259      *
8260      * <code>optional string last_suspended_timestamp = 356275337;</code>
8261      *
8262      * @return This builder for chaining.
8263      */
clearLastSuspendedTimestamp()8264     public Builder clearLastSuspendedTimestamp() {
8265       lastSuspendedTimestamp_ = getDefaultInstance().getLastSuspendedTimestamp();
8266       bitField0_ = (bitField0_ & ~0x00080000);
8267       onChanged();
8268       return this;
8269     }
8270     /**
8271      *
8272      *
8273      * <pre>
8274      * [Output Only] Last suspended timestamp in RFC3339 text format.
8275      * </pre>
8276      *
8277      * <code>optional string last_suspended_timestamp = 356275337;</code>
8278      *
8279      * @param value The bytes for lastSuspendedTimestamp to set.
8280      * @return This builder for chaining.
8281      */
setLastSuspendedTimestampBytes(com.google.protobuf.ByteString value)8282     public Builder setLastSuspendedTimestampBytes(com.google.protobuf.ByteString value) {
8283       if (value == null) {
8284         throw new NullPointerException();
8285       }
8286       checkByteStringIsUtf8(value);
8287       lastSuspendedTimestamp_ = value;
8288       bitField0_ |= 0x00080000;
8289       onChanged();
8290       return this;
8291     }
8292 
8293     private java.lang.Object machineType_ = "";
8294     /**
8295      *
8296      *
8297      * <pre>
8298      * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
8299      * </pre>
8300      *
8301      * <code>optional string machine_type = 227711026;</code>
8302      *
8303      * @return Whether the machineType field is set.
8304      */
hasMachineType()8305     public boolean hasMachineType() {
8306       return ((bitField0_ & 0x00100000) != 0);
8307     }
8308     /**
8309      *
8310      *
8311      * <pre>
8312      * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
8313      * </pre>
8314      *
8315      * <code>optional string machine_type = 227711026;</code>
8316      *
8317      * @return The machineType.
8318      */
getMachineType()8319     public java.lang.String getMachineType() {
8320       java.lang.Object ref = machineType_;
8321       if (!(ref instanceof java.lang.String)) {
8322         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8323         java.lang.String s = bs.toStringUtf8();
8324         machineType_ = s;
8325         return s;
8326       } else {
8327         return (java.lang.String) ref;
8328       }
8329     }
8330     /**
8331      *
8332      *
8333      * <pre>
8334      * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
8335      * </pre>
8336      *
8337      * <code>optional string machine_type = 227711026;</code>
8338      *
8339      * @return The bytes for machineType.
8340      */
getMachineTypeBytes()8341     public com.google.protobuf.ByteString getMachineTypeBytes() {
8342       java.lang.Object ref = machineType_;
8343       if (ref instanceof String) {
8344         com.google.protobuf.ByteString b =
8345             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8346         machineType_ = b;
8347         return b;
8348       } else {
8349         return (com.google.protobuf.ByteString) ref;
8350       }
8351     }
8352     /**
8353      *
8354      *
8355      * <pre>
8356      * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
8357      * </pre>
8358      *
8359      * <code>optional string machine_type = 227711026;</code>
8360      *
8361      * @param value The machineType to set.
8362      * @return This builder for chaining.
8363      */
setMachineType(java.lang.String value)8364     public Builder setMachineType(java.lang.String value) {
8365       if (value == null) {
8366         throw new NullPointerException();
8367       }
8368       machineType_ = value;
8369       bitField0_ |= 0x00100000;
8370       onChanged();
8371       return this;
8372     }
8373     /**
8374      *
8375      *
8376      * <pre>
8377      * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
8378      * </pre>
8379      *
8380      * <code>optional string machine_type = 227711026;</code>
8381      *
8382      * @return This builder for chaining.
8383      */
clearMachineType()8384     public Builder clearMachineType() {
8385       machineType_ = getDefaultInstance().getMachineType();
8386       bitField0_ = (bitField0_ & ~0x00100000);
8387       onChanged();
8388       return this;
8389     }
8390     /**
8391      *
8392      *
8393      * <pre>
8394      * Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.
8395      * </pre>
8396      *
8397      * <code>optional string machine_type = 227711026;</code>
8398      *
8399      * @param value The bytes for machineType to set.
8400      * @return This builder for chaining.
8401      */
setMachineTypeBytes(com.google.protobuf.ByteString value)8402     public Builder setMachineTypeBytes(com.google.protobuf.ByteString value) {
8403       if (value == null) {
8404         throw new NullPointerException();
8405       }
8406       checkByteStringIsUtf8(value);
8407       machineType_ = value;
8408       bitField0_ |= 0x00100000;
8409       onChanged();
8410       return this;
8411     }
8412 
8413     private com.google.cloud.compute.v1.Metadata metadata_;
8414     private com.google.protobuf.SingleFieldBuilderV3<
8415             com.google.cloud.compute.v1.Metadata,
8416             com.google.cloud.compute.v1.Metadata.Builder,
8417             com.google.cloud.compute.v1.MetadataOrBuilder>
8418         metadataBuilder_;
8419     /**
8420      *
8421      *
8422      * <pre>
8423      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8424      * </pre>
8425      *
8426      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8427      *
8428      * @return Whether the metadata field is set.
8429      */
hasMetadata()8430     public boolean hasMetadata() {
8431       return ((bitField0_ & 0x00200000) != 0);
8432     }
8433     /**
8434      *
8435      *
8436      * <pre>
8437      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8438      * </pre>
8439      *
8440      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8441      *
8442      * @return The metadata.
8443      */
getMetadata()8444     public com.google.cloud.compute.v1.Metadata getMetadata() {
8445       if (metadataBuilder_ == null) {
8446         return metadata_ == null
8447             ? com.google.cloud.compute.v1.Metadata.getDefaultInstance()
8448             : metadata_;
8449       } else {
8450         return metadataBuilder_.getMessage();
8451       }
8452     }
8453     /**
8454      *
8455      *
8456      * <pre>
8457      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8458      * </pre>
8459      *
8460      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8461      */
setMetadata(com.google.cloud.compute.v1.Metadata value)8462     public Builder setMetadata(com.google.cloud.compute.v1.Metadata value) {
8463       if (metadataBuilder_ == null) {
8464         if (value == null) {
8465           throw new NullPointerException();
8466         }
8467         metadata_ = value;
8468       } else {
8469         metadataBuilder_.setMessage(value);
8470       }
8471       bitField0_ |= 0x00200000;
8472       onChanged();
8473       return this;
8474     }
8475     /**
8476      *
8477      *
8478      * <pre>
8479      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8480      * </pre>
8481      *
8482      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8483      */
setMetadata(com.google.cloud.compute.v1.Metadata.Builder builderForValue)8484     public Builder setMetadata(com.google.cloud.compute.v1.Metadata.Builder builderForValue) {
8485       if (metadataBuilder_ == null) {
8486         metadata_ = builderForValue.build();
8487       } else {
8488         metadataBuilder_.setMessage(builderForValue.build());
8489       }
8490       bitField0_ |= 0x00200000;
8491       onChanged();
8492       return this;
8493     }
8494     /**
8495      *
8496      *
8497      * <pre>
8498      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8499      * </pre>
8500      *
8501      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8502      */
mergeMetadata(com.google.cloud.compute.v1.Metadata value)8503     public Builder mergeMetadata(com.google.cloud.compute.v1.Metadata value) {
8504       if (metadataBuilder_ == null) {
8505         if (((bitField0_ & 0x00200000) != 0)
8506             && metadata_ != null
8507             && metadata_ != com.google.cloud.compute.v1.Metadata.getDefaultInstance()) {
8508           getMetadataBuilder().mergeFrom(value);
8509         } else {
8510           metadata_ = value;
8511         }
8512       } else {
8513         metadataBuilder_.mergeFrom(value);
8514       }
8515       bitField0_ |= 0x00200000;
8516       onChanged();
8517       return this;
8518     }
8519     /**
8520      *
8521      *
8522      * <pre>
8523      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8524      * </pre>
8525      *
8526      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8527      */
clearMetadata()8528     public Builder clearMetadata() {
8529       bitField0_ = (bitField0_ & ~0x00200000);
8530       metadata_ = null;
8531       if (metadataBuilder_ != null) {
8532         metadataBuilder_.dispose();
8533         metadataBuilder_ = null;
8534       }
8535       onChanged();
8536       return this;
8537     }
8538     /**
8539      *
8540      *
8541      * <pre>
8542      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8543      * </pre>
8544      *
8545      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8546      */
getMetadataBuilder()8547     public com.google.cloud.compute.v1.Metadata.Builder getMetadataBuilder() {
8548       bitField0_ |= 0x00200000;
8549       onChanged();
8550       return getMetadataFieldBuilder().getBuilder();
8551     }
8552     /**
8553      *
8554      *
8555      * <pre>
8556      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8557      * </pre>
8558      *
8559      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8560      */
getMetadataOrBuilder()8561     public com.google.cloud.compute.v1.MetadataOrBuilder getMetadataOrBuilder() {
8562       if (metadataBuilder_ != null) {
8563         return metadataBuilder_.getMessageOrBuilder();
8564       } else {
8565         return metadata_ == null
8566             ? com.google.cloud.compute.v1.Metadata.getDefaultInstance()
8567             : metadata_;
8568       }
8569     }
8570     /**
8571      *
8572      *
8573      * <pre>
8574      * The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
8575      * </pre>
8576      *
8577      * <code>optional .google.cloud.compute.v1.Metadata metadata = 86866735;</code>
8578      */
8579     private com.google.protobuf.SingleFieldBuilderV3<
8580             com.google.cloud.compute.v1.Metadata,
8581             com.google.cloud.compute.v1.Metadata.Builder,
8582             com.google.cloud.compute.v1.MetadataOrBuilder>
getMetadataFieldBuilder()8583         getMetadataFieldBuilder() {
8584       if (metadataBuilder_ == null) {
8585         metadataBuilder_ =
8586             new com.google.protobuf.SingleFieldBuilderV3<
8587                 com.google.cloud.compute.v1.Metadata,
8588                 com.google.cloud.compute.v1.Metadata.Builder,
8589                 com.google.cloud.compute.v1.MetadataOrBuilder>(
8590                 getMetadata(), getParentForChildren(), isClean());
8591         metadata_ = null;
8592       }
8593       return metadataBuilder_;
8594     }
8595 
8596     private java.lang.Object minCpuPlatform_ = "";
8597     /**
8598      *
8599      *
8600      * <pre>
8601      * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
8602      * </pre>
8603      *
8604      * <code>optional string min_cpu_platform = 242912759;</code>
8605      *
8606      * @return Whether the minCpuPlatform field is set.
8607      */
hasMinCpuPlatform()8608     public boolean hasMinCpuPlatform() {
8609       return ((bitField0_ & 0x00400000) != 0);
8610     }
8611     /**
8612      *
8613      *
8614      * <pre>
8615      * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
8616      * </pre>
8617      *
8618      * <code>optional string min_cpu_platform = 242912759;</code>
8619      *
8620      * @return The minCpuPlatform.
8621      */
getMinCpuPlatform()8622     public java.lang.String getMinCpuPlatform() {
8623       java.lang.Object ref = minCpuPlatform_;
8624       if (!(ref instanceof java.lang.String)) {
8625         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8626         java.lang.String s = bs.toStringUtf8();
8627         minCpuPlatform_ = s;
8628         return s;
8629       } else {
8630         return (java.lang.String) ref;
8631       }
8632     }
8633     /**
8634      *
8635      *
8636      * <pre>
8637      * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
8638      * </pre>
8639      *
8640      * <code>optional string min_cpu_platform = 242912759;</code>
8641      *
8642      * @return The bytes for minCpuPlatform.
8643      */
getMinCpuPlatformBytes()8644     public com.google.protobuf.ByteString getMinCpuPlatformBytes() {
8645       java.lang.Object ref = minCpuPlatform_;
8646       if (ref instanceof String) {
8647         com.google.protobuf.ByteString b =
8648             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8649         minCpuPlatform_ = b;
8650         return b;
8651       } else {
8652         return (com.google.protobuf.ByteString) ref;
8653       }
8654     }
8655     /**
8656      *
8657      *
8658      * <pre>
8659      * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
8660      * </pre>
8661      *
8662      * <code>optional string min_cpu_platform = 242912759;</code>
8663      *
8664      * @param value The minCpuPlatform to set.
8665      * @return This builder for chaining.
8666      */
setMinCpuPlatform(java.lang.String value)8667     public Builder setMinCpuPlatform(java.lang.String value) {
8668       if (value == null) {
8669         throw new NullPointerException();
8670       }
8671       minCpuPlatform_ = value;
8672       bitField0_ |= 0x00400000;
8673       onChanged();
8674       return this;
8675     }
8676     /**
8677      *
8678      *
8679      * <pre>
8680      * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
8681      * </pre>
8682      *
8683      * <code>optional string min_cpu_platform = 242912759;</code>
8684      *
8685      * @return This builder for chaining.
8686      */
clearMinCpuPlatform()8687     public Builder clearMinCpuPlatform() {
8688       minCpuPlatform_ = getDefaultInstance().getMinCpuPlatform();
8689       bitField0_ = (bitField0_ & ~0x00400000);
8690       onChanged();
8691       return this;
8692     }
8693     /**
8694      *
8695      *
8696      * <pre>
8697      * Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
8698      * </pre>
8699      *
8700      * <code>optional string min_cpu_platform = 242912759;</code>
8701      *
8702      * @param value The bytes for minCpuPlatform to set.
8703      * @return This builder for chaining.
8704      */
setMinCpuPlatformBytes(com.google.protobuf.ByteString value)8705     public Builder setMinCpuPlatformBytes(com.google.protobuf.ByteString value) {
8706       if (value == null) {
8707         throw new NullPointerException();
8708       }
8709       checkByteStringIsUtf8(value);
8710       minCpuPlatform_ = value;
8711       bitField0_ |= 0x00400000;
8712       onChanged();
8713       return this;
8714     }
8715 
8716     private java.lang.Object name_ = "";
8717     /**
8718      *
8719      *
8720      * <pre>
8721      * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
8722      * </pre>
8723      *
8724      * <code>optional string name = 3373707;</code>
8725      *
8726      * @return Whether the name field is set.
8727      */
hasName()8728     public boolean hasName() {
8729       return ((bitField0_ & 0x00800000) != 0);
8730     }
8731     /**
8732      *
8733      *
8734      * <pre>
8735      * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
8736      * </pre>
8737      *
8738      * <code>optional string name = 3373707;</code>
8739      *
8740      * @return The name.
8741      */
getName()8742     public java.lang.String getName() {
8743       java.lang.Object ref = name_;
8744       if (!(ref instanceof java.lang.String)) {
8745         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8746         java.lang.String s = bs.toStringUtf8();
8747         name_ = s;
8748         return s;
8749       } else {
8750         return (java.lang.String) ref;
8751       }
8752     }
8753     /**
8754      *
8755      *
8756      * <pre>
8757      * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
8758      * </pre>
8759      *
8760      * <code>optional string name = 3373707;</code>
8761      *
8762      * @return The bytes for name.
8763      */
getNameBytes()8764     public com.google.protobuf.ByteString getNameBytes() {
8765       java.lang.Object ref = name_;
8766       if (ref instanceof String) {
8767         com.google.protobuf.ByteString b =
8768             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8769         name_ = b;
8770         return b;
8771       } else {
8772         return (com.google.protobuf.ByteString) ref;
8773       }
8774     }
8775     /**
8776      *
8777      *
8778      * <pre>
8779      * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
8780      * </pre>
8781      *
8782      * <code>optional string name = 3373707;</code>
8783      *
8784      * @param value The name to set.
8785      * @return This builder for chaining.
8786      */
setName(java.lang.String value)8787     public Builder setName(java.lang.String value) {
8788       if (value == null) {
8789         throw new NullPointerException();
8790       }
8791       name_ = value;
8792       bitField0_ |= 0x00800000;
8793       onChanged();
8794       return this;
8795     }
8796     /**
8797      *
8798      *
8799      * <pre>
8800      * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
8801      * </pre>
8802      *
8803      * <code>optional string name = 3373707;</code>
8804      *
8805      * @return This builder for chaining.
8806      */
clearName()8807     public Builder clearName() {
8808       name_ = getDefaultInstance().getName();
8809       bitField0_ = (bitField0_ & ~0x00800000);
8810       onChanged();
8811       return this;
8812     }
8813     /**
8814      *
8815      *
8816      * <pre>
8817      * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
8818      * </pre>
8819      *
8820      * <code>optional string name = 3373707;</code>
8821      *
8822      * @param value The bytes for name to set.
8823      * @return This builder for chaining.
8824      */
setNameBytes(com.google.protobuf.ByteString value)8825     public Builder setNameBytes(com.google.protobuf.ByteString value) {
8826       if (value == null) {
8827         throw new NullPointerException();
8828       }
8829       checkByteStringIsUtf8(value);
8830       name_ = value;
8831       bitField0_ |= 0x00800000;
8832       onChanged();
8833       return this;
8834     }
8835 
8836     private java.util.List<com.google.cloud.compute.v1.NetworkInterface> networkInterfaces_ =
8837         java.util.Collections.emptyList();
8838 
ensureNetworkInterfacesIsMutable()8839     private void ensureNetworkInterfacesIsMutable() {
8840       if (!((bitField0_ & 0x01000000) != 0)) {
8841         networkInterfaces_ =
8842             new java.util.ArrayList<com.google.cloud.compute.v1.NetworkInterface>(
8843                 networkInterfaces_);
8844         bitField0_ |= 0x01000000;
8845       }
8846     }
8847 
8848     private com.google.protobuf.RepeatedFieldBuilderV3<
8849             com.google.cloud.compute.v1.NetworkInterface,
8850             com.google.cloud.compute.v1.NetworkInterface.Builder,
8851             com.google.cloud.compute.v1.NetworkInterfaceOrBuilder>
8852         networkInterfacesBuilder_;
8853 
8854     /**
8855      *
8856      *
8857      * <pre>
8858      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
8859      * </pre>
8860      *
8861      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
8862      * </code>
8863      */
getNetworkInterfacesList()8864     public java.util.List<com.google.cloud.compute.v1.NetworkInterface> getNetworkInterfacesList() {
8865       if (networkInterfacesBuilder_ == null) {
8866         return java.util.Collections.unmodifiableList(networkInterfaces_);
8867       } else {
8868         return networkInterfacesBuilder_.getMessageList();
8869       }
8870     }
8871     /**
8872      *
8873      *
8874      * <pre>
8875      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
8876      * </pre>
8877      *
8878      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
8879      * </code>
8880      */
getNetworkInterfacesCount()8881     public int getNetworkInterfacesCount() {
8882       if (networkInterfacesBuilder_ == null) {
8883         return networkInterfaces_.size();
8884       } else {
8885         return networkInterfacesBuilder_.getCount();
8886       }
8887     }
8888     /**
8889      *
8890      *
8891      * <pre>
8892      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
8893      * </pre>
8894      *
8895      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
8896      * </code>
8897      */
getNetworkInterfaces(int index)8898     public com.google.cloud.compute.v1.NetworkInterface getNetworkInterfaces(int index) {
8899       if (networkInterfacesBuilder_ == null) {
8900         return networkInterfaces_.get(index);
8901       } else {
8902         return networkInterfacesBuilder_.getMessage(index);
8903       }
8904     }
8905     /**
8906      *
8907      *
8908      * <pre>
8909      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
8910      * </pre>
8911      *
8912      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
8913      * </code>
8914      */
setNetworkInterfaces( int index, com.google.cloud.compute.v1.NetworkInterface value)8915     public Builder setNetworkInterfaces(
8916         int index, com.google.cloud.compute.v1.NetworkInterface value) {
8917       if (networkInterfacesBuilder_ == null) {
8918         if (value == null) {
8919           throw new NullPointerException();
8920         }
8921         ensureNetworkInterfacesIsMutable();
8922         networkInterfaces_.set(index, value);
8923         onChanged();
8924       } else {
8925         networkInterfacesBuilder_.setMessage(index, value);
8926       }
8927       return this;
8928     }
8929     /**
8930      *
8931      *
8932      * <pre>
8933      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
8934      * </pre>
8935      *
8936      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
8937      * </code>
8938      */
setNetworkInterfaces( int index, com.google.cloud.compute.v1.NetworkInterface.Builder builderForValue)8939     public Builder setNetworkInterfaces(
8940         int index, com.google.cloud.compute.v1.NetworkInterface.Builder builderForValue) {
8941       if (networkInterfacesBuilder_ == null) {
8942         ensureNetworkInterfacesIsMutable();
8943         networkInterfaces_.set(index, builderForValue.build());
8944         onChanged();
8945       } else {
8946         networkInterfacesBuilder_.setMessage(index, builderForValue.build());
8947       }
8948       return this;
8949     }
8950     /**
8951      *
8952      *
8953      * <pre>
8954      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
8955      * </pre>
8956      *
8957      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
8958      * </code>
8959      */
addNetworkInterfaces(com.google.cloud.compute.v1.NetworkInterface value)8960     public Builder addNetworkInterfaces(com.google.cloud.compute.v1.NetworkInterface value) {
8961       if (networkInterfacesBuilder_ == null) {
8962         if (value == null) {
8963           throw new NullPointerException();
8964         }
8965         ensureNetworkInterfacesIsMutable();
8966         networkInterfaces_.add(value);
8967         onChanged();
8968       } else {
8969         networkInterfacesBuilder_.addMessage(value);
8970       }
8971       return this;
8972     }
8973     /**
8974      *
8975      *
8976      * <pre>
8977      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
8978      * </pre>
8979      *
8980      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
8981      * </code>
8982      */
addNetworkInterfaces( int index, com.google.cloud.compute.v1.NetworkInterface value)8983     public Builder addNetworkInterfaces(
8984         int index, com.google.cloud.compute.v1.NetworkInterface value) {
8985       if (networkInterfacesBuilder_ == null) {
8986         if (value == null) {
8987           throw new NullPointerException();
8988         }
8989         ensureNetworkInterfacesIsMutable();
8990         networkInterfaces_.add(index, value);
8991         onChanged();
8992       } else {
8993         networkInterfacesBuilder_.addMessage(index, value);
8994       }
8995       return this;
8996     }
8997     /**
8998      *
8999      *
9000      * <pre>
9001      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9002      * </pre>
9003      *
9004      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9005      * </code>
9006      */
addNetworkInterfaces( com.google.cloud.compute.v1.NetworkInterface.Builder builderForValue)9007     public Builder addNetworkInterfaces(
9008         com.google.cloud.compute.v1.NetworkInterface.Builder builderForValue) {
9009       if (networkInterfacesBuilder_ == null) {
9010         ensureNetworkInterfacesIsMutable();
9011         networkInterfaces_.add(builderForValue.build());
9012         onChanged();
9013       } else {
9014         networkInterfacesBuilder_.addMessage(builderForValue.build());
9015       }
9016       return this;
9017     }
9018     /**
9019      *
9020      *
9021      * <pre>
9022      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9023      * </pre>
9024      *
9025      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9026      * </code>
9027      */
addNetworkInterfaces( int index, com.google.cloud.compute.v1.NetworkInterface.Builder builderForValue)9028     public Builder addNetworkInterfaces(
9029         int index, com.google.cloud.compute.v1.NetworkInterface.Builder builderForValue) {
9030       if (networkInterfacesBuilder_ == null) {
9031         ensureNetworkInterfacesIsMutable();
9032         networkInterfaces_.add(index, builderForValue.build());
9033         onChanged();
9034       } else {
9035         networkInterfacesBuilder_.addMessage(index, builderForValue.build());
9036       }
9037       return this;
9038     }
9039     /**
9040      *
9041      *
9042      * <pre>
9043      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9044      * </pre>
9045      *
9046      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9047      * </code>
9048      */
addAllNetworkInterfaces( java.lang.Iterable<? extends com.google.cloud.compute.v1.NetworkInterface> values)9049     public Builder addAllNetworkInterfaces(
9050         java.lang.Iterable<? extends com.google.cloud.compute.v1.NetworkInterface> values) {
9051       if (networkInterfacesBuilder_ == null) {
9052         ensureNetworkInterfacesIsMutable();
9053         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, networkInterfaces_);
9054         onChanged();
9055       } else {
9056         networkInterfacesBuilder_.addAllMessages(values);
9057       }
9058       return this;
9059     }
9060     /**
9061      *
9062      *
9063      * <pre>
9064      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9065      * </pre>
9066      *
9067      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9068      * </code>
9069      */
clearNetworkInterfaces()9070     public Builder clearNetworkInterfaces() {
9071       if (networkInterfacesBuilder_ == null) {
9072         networkInterfaces_ = java.util.Collections.emptyList();
9073         bitField0_ = (bitField0_ & ~0x01000000);
9074         onChanged();
9075       } else {
9076         networkInterfacesBuilder_.clear();
9077       }
9078       return this;
9079     }
9080     /**
9081      *
9082      *
9083      * <pre>
9084      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9085      * </pre>
9086      *
9087      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9088      * </code>
9089      */
removeNetworkInterfaces(int index)9090     public Builder removeNetworkInterfaces(int index) {
9091       if (networkInterfacesBuilder_ == null) {
9092         ensureNetworkInterfacesIsMutable();
9093         networkInterfaces_.remove(index);
9094         onChanged();
9095       } else {
9096         networkInterfacesBuilder_.remove(index);
9097       }
9098       return this;
9099     }
9100     /**
9101      *
9102      *
9103      * <pre>
9104      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9105      * </pre>
9106      *
9107      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9108      * </code>
9109      */
getNetworkInterfacesBuilder( int index)9110     public com.google.cloud.compute.v1.NetworkInterface.Builder getNetworkInterfacesBuilder(
9111         int index) {
9112       return getNetworkInterfacesFieldBuilder().getBuilder(index);
9113     }
9114     /**
9115      *
9116      *
9117      * <pre>
9118      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9119      * </pre>
9120      *
9121      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9122      * </code>
9123      */
getNetworkInterfacesOrBuilder( int index)9124     public com.google.cloud.compute.v1.NetworkInterfaceOrBuilder getNetworkInterfacesOrBuilder(
9125         int index) {
9126       if (networkInterfacesBuilder_ == null) {
9127         return networkInterfaces_.get(index);
9128       } else {
9129         return networkInterfacesBuilder_.getMessageOrBuilder(index);
9130       }
9131     }
9132     /**
9133      *
9134      *
9135      * <pre>
9136      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9137      * </pre>
9138      *
9139      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9140      * </code>
9141      */
9142     public java.util.List<? extends com.google.cloud.compute.v1.NetworkInterfaceOrBuilder>
getNetworkInterfacesOrBuilderList()9143         getNetworkInterfacesOrBuilderList() {
9144       if (networkInterfacesBuilder_ != null) {
9145         return networkInterfacesBuilder_.getMessageOrBuilderList();
9146       } else {
9147         return java.util.Collections.unmodifiableList(networkInterfaces_);
9148       }
9149     }
9150     /**
9151      *
9152      *
9153      * <pre>
9154      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9155      * </pre>
9156      *
9157      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9158      * </code>
9159      */
addNetworkInterfacesBuilder()9160     public com.google.cloud.compute.v1.NetworkInterface.Builder addNetworkInterfacesBuilder() {
9161       return getNetworkInterfacesFieldBuilder()
9162           .addBuilder(com.google.cloud.compute.v1.NetworkInterface.getDefaultInstance());
9163     }
9164     /**
9165      *
9166      *
9167      * <pre>
9168      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9169      * </pre>
9170      *
9171      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9172      * </code>
9173      */
addNetworkInterfacesBuilder( int index)9174     public com.google.cloud.compute.v1.NetworkInterface.Builder addNetworkInterfacesBuilder(
9175         int index) {
9176       return getNetworkInterfacesFieldBuilder()
9177           .addBuilder(index, com.google.cloud.compute.v1.NetworkInterface.getDefaultInstance());
9178     }
9179     /**
9180      *
9181      *
9182      * <pre>
9183      * An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.
9184      * </pre>
9185      *
9186      * <code>repeated .google.cloud.compute.v1.NetworkInterface network_interfaces = 52735243;
9187      * </code>
9188      */
9189     public java.util.List<com.google.cloud.compute.v1.NetworkInterface.Builder>
getNetworkInterfacesBuilderList()9190         getNetworkInterfacesBuilderList() {
9191       return getNetworkInterfacesFieldBuilder().getBuilderList();
9192     }
9193 
9194     private com.google.protobuf.RepeatedFieldBuilderV3<
9195             com.google.cloud.compute.v1.NetworkInterface,
9196             com.google.cloud.compute.v1.NetworkInterface.Builder,
9197             com.google.cloud.compute.v1.NetworkInterfaceOrBuilder>
getNetworkInterfacesFieldBuilder()9198         getNetworkInterfacesFieldBuilder() {
9199       if (networkInterfacesBuilder_ == null) {
9200         networkInterfacesBuilder_ =
9201             new com.google.protobuf.RepeatedFieldBuilderV3<
9202                 com.google.cloud.compute.v1.NetworkInterface,
9203                 com.google.cloud.compute.v1.NetworkInterface.Builder,
9204                 com.google.cloud.compute.v1.NetworkInterfaceOrBuilder>(
9205                 networkInterfaces_,
9206                 ((bitField0_ & 0x01000000) != 0),
9207                 getParentForChildren(),
9208                 isClean());
9209         networkInterfaces_ = null;
9210       }
9211       return networkInterfacesBuilder_;
9212     }
9213 
9214     private com.google.cloud.compute.v1.NetworkPerformanceConfig networkPerformanceConfig_;
9215     private com.google.protobuf.SingleFieldBuilderV3<
9216             com.google.cloud.compute.v1.NetworkPerformanceConfig,
9217             com.google.cloud.compute.v1.NetworkPerformanceConfig.Builder,
9218             com.google.cloud.compute.v1.NetworkPerformanceConfigOrBuilder>
9219         networkPerformanceConfigBuilder_;
9220     /**
9221      * <code>
9222      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9223      * </code>
9224      *
9225      * @return Whether the networkPerformanceConfig field is set.
9226      */
hasNetworkPerformanceConfig()9227     public boolean hasNetworkPerformanceConfig() {
9228       return ((bitField0_ & 0x02000000) != 0);
9229     }
9230     /**
9231      * <code>
9232      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9233      * </code>
9234      *
9235      * @return The networkPerformanceConfig.
9236      */
getNetworkPerformanceConfig()9237     public com.google.cloud.compute.v1.NetworkPerformanceConfig getNetworkPerformanceConfig() {
9238       if (networkPerformanceConfigBuilder_ == null) {
9239         return networkPerformanceConfig_ == null
9240             ? com.google.cloud.compute.v1.NetworkPerformanceConfig.getDefaultInstance()
9241             : networkPerformanceConfig_;
9242       } else {
9243         return networkPerformanceConfigBuilder_.getMessage();
9244       }
9245     }
9246     /**
9247      * <code>
9248      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9249      * </code>
9250      */
setNetworkPerformanceConfig( com.google.cloud.compute.v1.NetworkPerformanceConfig value)9251     public Builder setNetworkPerformanceConfig(
9252         com.google.cloud.compute.v1.NetworkPerformanceConfig value) {
9253       if (networkPerformanceConfigBuilder_ == null) {
9254         if (value == null) {
9255           throw new NullPointerException();
9256         }
9257         networkPerformanceConfig_ = value;
9258       } else {
9259         networkPerformanceConfigBuilder_.setMessage(value);
9260       }
9261       bitField0_ |= 0x02000000;
9262       onChanged();
9263       return this;
9264     }
9265     /**
9266      * <code>
9267      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9268      * </code>
9269      */
setNetworkPerformanceConfig( com.google.cloud.compute.v1.NetworkPerformanceConfig.Builder builderForValue)9270     public Builder setNetworkPerformanceConfig(
9271         com.google.cloud.compute.v1.NetworkPerformanceConfig.Builder builderForValue) {
9272       if (networkPerformanceConfigBuilder_ == null) {
9273         networkPerformanceConfig_ = builderForValue.build();
9274       } else {
9275         networkPerformanceConfigBuilder_.setMessage(builderForValue.build());
9276       }
9277       bitField0_ |= 0x02000000;
9278       onChanged();
9279       return this;
9280     }
9281     /**
9282      * <code>
9283      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9284      * </code>
9285      */
mergeNetworkPerformanceConfig( com.google.cloud.compute.v1.NetworkPerformanceConfig value)9286     public Builder mergeNetworkPerformanceConfig(
9287         com.google.cloud.compute.v1.NetworkPerformanceConfig value) {
9288       if (networkPerformanceConfigBuilder_ == null) {
9289         if (((bitField0_ & 0x02000000) != 0)
9290             && networkPerformanceConfig_ != null
9291             && networkPerformanceConfig_
9292                 != com.google.cloud.compute.v1.NetworkPerformanceConfig.getDefaultInstance()) {
9293           getNetworkPerformanceConfigBuilder().mergeFrom(value);
9294         } else {
9295           networkPerformanceConfig_ = value;
9296         }
9297       } else {
9298         networkPerformanceConfigBuilder_.mergeFrom(value);
9299       }
9300       bitField0_ |= 0x02000000;
9301       onChanged();
9302       return this;
9303     }
9304     /**
9305      * <code>
9306      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9307      * </code>
9308      */
clearNetworkPerformanceConfig()9309     public Builder clearNetworkPerformanceConfig() {
9310       bitField0_ = (bitField0_ & ~0x02000000);
9311       networkPerformanceConfig_ = null;
9312       if (networkPerformanceConfigBuilder_ != null) {
9313         networkPerformanceConfigBuilder_.dispose();
9314         networkPerformanceConfigBuilder_ = null;
9315       }
9316       onChanged();
9317       return this;
9318     }
9319     /**
9320      * <code>
9321      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9322      * </code>
9323      */
9324     public com.google.cloud.compute.v1.NetworkPerformanceConfig.Builder
getNetworkPerformanceConfigBuilder()9325         getNetworkPerformanceConfigBuilder() {
9326       bitField0_ |= 0x02000000;
9327       onChanged();
9328       return getNetworkPerformanceConfigFieldBuilder().getBuilder();
9329     }
9330     /**
9331      * <code>
9332      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9333      * </code>
9334      */
9335     public com.google.cloud.compute.v1.NetworkPerformanceConfigOrBuilder
getNetworkPerformanceConfigOrBuilder()9336         getNetworkPerformanceConfigOrBuilder() {
9337       if (networkPerformanceConfigBuilder_ != null) {
9338         return networkPerformanceConfigBuilder_.getMessageOrBuilder();
9339       } else {
9340         return networkPerformanceConfig_ == null
9341             ? com.google.cloud.compute.v1.NetworkPerformanceConfig.getDefaultInstance()
9342             : networkPerformanceConfig_;
9343       }
9344     }
9345     /**
9346      * <code>
9347      * optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
9348      * </code>
9349      */
9350     private com.google.protobuf.SingleFieldBuilderV3<
9351             com.google.cloud.compute.v1.NetworkPerformanceConfig,
9352             com.google.cloud.compute.v1.NetworkPerformanceConfig.Builder,
9353             com.google.cloud.compute.v1.NetworkPerformanceConfigOrBuilder>
getNetworkPerformanceConfigFieldBuilder()9354         getNetworkPerformanceConfigFieldBuilder() {
9355       if (networkPerformanceConfigBuilder_ == null) {
9356         networkPerformanceConfigBuilder_ =
9357             new com.google.protobuf.SingleFieldBuilderV3<
9358                 com.google.cloud.compute.v1.NetworkPerformanceConfig,
9359                 com.google.cloud.compute.v1.NetworkPerformanceConfig.Builder,
9360                 com.google.cloud.compute.v1.NetworkPerformanceConfigOrBuilder>(
9361                 getNetworkPerformanceConfig(), getParentForChildren(), isClean());
9362         networkPerformanceConfig_ = null;
9363       }
9364       return networkPerformanceConfigBuilder_;
9365     }
9366 
9367     private com.google.cloud.compute.v1.InstanceParams params_;
9368     private com.google.protobuf.SingleFieldBuilderV3<
9369             com.google.cloud.compute.v1.InstanceParams,
9370             com.google.cloud.compute.v1.InstanceParams.Builder,
9371             com.google.cloud.compute.v1.InstanceParamsOrBuilder>
9372         paramsBuilder_;
9373     /**
9374      *
9375      *
9376      * <pre>
9377      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9378      * </pre>
9379      *
9380      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9381      *
9382      * @return Whether the params field is set.
9383      */
hasParams()9384     public boolean hasParams() {
9385       return ((bitField0_ & 0x04000000) != 0);
9386     }
9387     /**
9388      *
9389      *
9390      * <pre>
9391      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9392      * </pre>
9393      *
9394      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9395      *
9396      * @return The params.
9397      */
getParams()9398     public com.google.cloud.compute.v1.InstanceParams getParams() {
9399       if (paramsBuilder_ == null) {
9400         return params_ == null
9401             ? com.google.cloud.compute.v1.InstanceParams.getDefaultInstance()
9402             : params_;
9403       } else {
9404         return paramsBuilder_.getMessage();
9405       }
9406     }
9407     /**
9408      *
9409      *
9410      * <pre>
9411      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9412      * </pre>
9413      *
9414      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9415      */
setParams(com.google.cloud.compute.v1.InstanceParams value)9416     public Builder setParams(com.google.cloud.compute.v1.InstanceParams value) {
9417       if (paramsBuilder_ == null) {
9418         if (value == null) {
9419           throw new NullPointerException();
9420         }
9421         params_ = value;
9422       } else {
9423         paramsBuilder_.setMessage(value);
9424       }
9425       bitField0_ |= 0x04000000;
9426       onChanged();
9427       return this;
9428     }
9429     /**
9430      *
9431      *
9432      * <pre>
9433      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9434      * </pre>
9435      *
9436      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9437      */
setParams(com.google.cloud.compute.v1.InstanceParams.Builder builderForValue)9438     public Builder setParams(com.google.cloud.compute.v1.InstanceParams.Builder builderForValue) {
9439       if (paramsBuilder_ == null) {
9440         params_ = builderForValue.build();
9441       } else {
9442         paramsBuilder_.setMessage(builderForValue.build());
9443       }
9444       bitField0_ |= 0x04000000;
9445       onChanged();
9446       return this;
9447     }
9448     /**
9449      *
9450      *
9451      * <pre>
9452      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9453      * </pre>
9454      *
9455      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9456      */
mergeParams(com.google.cloud.compute.v1.InstanceParams value)9457     public Builder mergeParams(com.google.cloud.compute.v1.InstanceParams value) {
9458       if (paramsBuilder_ == null) {
9459         if (((bitField0_ & 0x04000000) != 0)
9460             && params_ != null
9461             && params_ != com.google.cloud.compute.v1.InstanceParams.getDefaultInstance()) {
9462           getParamsBuilder().mergeFrom(value);
9463         } else {
9464           params_ = value;
9465         }
9466       } else {
9467         paramsBuilder_.mergeFrom(value);
9468       }
9469       bitField0_ |= 0x04000000;
9470       onChanged();
9471       return this;
9472     }
9473     /**
9474      *
9475      *
9476      * <pre>
9477      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9478      * </pre>
9479      *
9480      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9481      */
clearParams()9482     public Builder clearParams() {
9483       bitField0_ = (bitField0_ & ~0x04000000);
9484       params_ = null;
9485       if (paramsBuilder_ != null) {
9486         paramsBuilder_.dispose();
9487         paramsBuilder_ = null;
9488       }
9489       onChanged();
9490       return this;
9491     }
9492     /**
9493      *
9494      *
9495      * <pre>
9496      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9497      * </pre>
9498      *
9499      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9500      */
getParamsBuilder()9501     public com.google.cloud.compute.v1.InstanceParams.Builder getParamsBuilder() {
9502       bitField0_ |= 0x04000000;
9503       onChanged();
9504       return getParamsFieldBuilder().getBuilder();
9505     }
9506     /**
9507      *
9508      *
9509      * <pre>
9510      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9511      * </pre>
9512      *
9513      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9514      */
getParamsOrBuilder()9515     public com.google.cloud.compute.v1.InstanceParamsOrBuilder getParamsOrBuilder() {
9516       if (paramsBuilder_ != null) {
9517         return paramsBuilder_.getMessageOrBuilder();
9518       } else {
9519         return params_ == null
9520             ? com.google.cloud.compute.v1.InstanceParams.getDefaultInstance()
9521             : params_;
9522       }
9523     }
9524     /**
9525      *
9526      *
9527      * <pre>
9528      * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
9529      * </pre>
9530      *
9531      * <code>optional .google.cloud.compute.v1.InstanceParams params = 78313862;</code>
9532      */
9533     private com.google.protobuf.SingleFieldBuilderV3<
9534             com.google.cloud.compute.v1.InstanceParams,
9535             com.google.cloud.compute.v1.InstanceParams.Builder,
9536             com.google.cloud.compute.v1.InstanceParamsOrBuilder>
getParamsFieldBuilder()9537         getParamsFieldBuilder() {
9538       if (paramsBuilder_ == null) {
9539         paramsBuilder_ =
9540             new com.google.protobuf.SingleFieldBuilderV3<
9541                 com.google.cloud.compute.v1.InstanceParams,
9542                 com.google.cloud.compute.v1.InstanceParams.Builder,
9543                 com.google.cloud.compute.v1.InstanceParamsOrBuilder>(
9544                 getParams(), getParentForChildren(), isClean());
9545         params_ = null;
9546       }
9547       return paramsBuilder_;
9548     }
9549 
9550     private java.lang.Object privateIpv6GoogleAccess_ = "";
9551     /**
9552      *
9553      *
9554      * <pre>
9555      * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
9556      * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
9557      * </pre>
9558      *
9559      * <code>optional string private_ipv6_google_access = 48277006;</code>
9560      *
9561      * @return Whether the privateIpv6GoogleAccess field is set.
9562      */
hasPrivateIpv6GoogleAccess()9563     public boolean hasPrivateIpv6GoogleAccess() {
9564       return ((bitField0_ & 0x08000000) != 0);
9565     }
9566     /**
9567      *
9568      *
9569      * <pre>
9570      * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
9571      * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
9572      * </pre>
9573      *
9574      * <code>optional string private_ipv6_google_access = 48277006;</code>
9575      *
9576      * @return The privateIpv6GoogleAccess.
9577      */
getPrivateIpv6GoogleAccess()9578     public java.lang.String getPrivateIpv6GoogleAccess() {
9579       java.lang.Object ref = privateIpv6GoogleAccess_;
9580       if (!(ref instanceof java.lang.String)) {
9581         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9582         java.lang.String s = bs.toStringUtf8();
9583         privateIpv6GoogleAccess_ = s;
9584         return s;
9585       } else {
9586         return (java.lang.String) ref;
9587       }
9588     }
9589     /**
9590      *
9591      *
9592      * <pre>
9593      * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
9594      * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
9595      * </pre>
9596      *
9597      * <code>optional string private_ipv6_google_access = 48277006;</code>
9598      *
9599      * @return The bytes for privateIpv6GoogleAccess.
9600      */
getPrivateIpv6GoogleAccessBytes()9601     public com.google.protobuf.ByteString getPrivateIpv6GoogleAccessBytes() {
9602       java.lang.Object ref = privateIpv6GoogleAccess_;
9603       if (ref instanceof String) {
9604         com.google.protobuf.ByteString b =
9605             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9606         privateIpv6GoogleAccess_ = b;
9607         return b;
9608       } else {
9609         return (com.google.protobuf.ByteString) ref;
9610       }
9611     }
9612     /**
9613      *
9614      *
9615      * <pre>
9616      * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
9617      * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
9618      * </pre>
9619      *
9620      * <code>optional string private_ipv6_google_access = 48277006;</code>
9621      *
9622      * @param value The privateIpv6GoogleAccess to set.
9623      * @return This builder for chaining.
9624      */
setPrivateIpv6GoogleAccess(java.lang.String value)9625     public Builder setPrivateIpv6GoogleAccess(java.lang.String value) {
9626       if (value == null) {
9627         throw new NullPointerException();
9628       }
9629       privateIpv6GoogleAccess_ = value;
9630       bitField0_ |= 0x08000000;
9631       onChanged();
9632       return this;
9633     }
9634     /**
9635      *
9636      *
9637      * <pre>
9638      * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
9639      * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
9640      * </pre>
9641      *
9642      * <code>optional string private_ipv6_google_access = 48277006;</code>
9643      *
9644      * @return This builder for chaining.
9645      */
clearPrivateIpv6GoogleAccess()9646     public Builder clearPrivateIpv6GoogleAccess() {
9647       privateIpv6GoogleAccess_ = getDefaultInstance().getPrivateIpv6GoogleAccess();
9648       bitField0_ = (bitField0_ & ~0x08000000);
9649       onChanged();
9650       return this;
9651     }
9652     /**
9653      *
9654      *
9655      * <pre>
9656      * The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
9657      * Check the PrivateIpv6GoogleAccess enum for the list of possible values.
9658      * </pre>
9659      *
9660      * <code>optional string private_ipv6_google_access = 48277006;</code>
9661      *
9662      * @param value The bytes for privateIpv6GoogleAccess to set.
9663      * @return This builder for chaining.
9664      */
setPrivateIpv6GoogleAccessBytes(com.google.protobuf.ByteString value)9665     public Builder setPrivateIpv6GoogleAccessBytes(com.google.protobuf.ByteString value) {
9666       if (value == null) {
9667         throw new NullPointerException();
9668       }
9669       checkByteStringIsUtf8(value);
9670       privateIpv6GoogleAccess_ = value;
9671       bitField0_ |= 0x08000000;
9672       onChanged();
9673       return this;
9674     }
9675 
9676     private com.google.cloud.compute.v1.ReservationAffinity reservationAffinity_;
9677     private com.google.protobuf.SingleFieldBuilderV3<
9678             com.google.cloud.compute.v1.ReservationAffinity,
9679             com.google.cloud.compute.v1.ReservationAffinity.Builder,
9680             com.google.cloud.compute.v1.ReservationAffinityOrBuilder>
9681         reservationAffinityBuilder_;
9682     /**
9683      *
9684      *
9685      * <pre>
9686      * Specifies the reservations that this instance can consume from.
9687      * </pre>
9688      *
9689      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9690      * </code>
9691      *
9692      * @return Whether the reservationAffinity field is set.
9693      */
hasReservationAffinity()9694     public boolean hasReservationAffinity() {
9695       return ((bitField0_ & 0x10000000) != 0);
9696     }
9697     /**
9698      *
9699      *
9700      * <pre>
9701      * Specifies the reservations that this instance can consume from.
9702      * </pre>
9703      *
9704      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9705      * </code>
9706      *
9707      * @return The reservationAffinity.
9708      */
getReservationAffinity()9709     public com.google.cloud.compute.v1.ReservationAffinity getReservationAffinity() {
9710       if (reservationAffinityBuilder_ == null) {
9711         return reservationAffinity_ == null
9712             ? com.google.cloud.compute.v1.ReservationAffinity.getDefaultInstance()
9713             : reservationAffinity_;
9714       } else {
9715         return reservationAffinityBuilder_.getMessage();
9716       }
9717     }
9718     /**
9719      *
9720      *
9721      * <pre>
9722      * Specifies the reservations that this instance can consume from.
9723      * </pre>
9724      *
9725      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9726      * </code>
9727      */
setReservationAffinity(com.google.cloud.compute.v1.ReservationAffinity value)9728     public Builder setReservationAffinity(com.google.cloud.compute.v1.ReservationAffinity value) {
9729       if (reservationAffinityBuilder_ == null) {
9730         if (value == null) {
9731           throw new NullPointerException();
9732         }
9733         reservationAffinity_ = value;
9734       } else {
9735         reservationAffinityBuilder_.setMessage(value);
9736       }
9737       bitField0_ |= 0x10000000;
9738       onChanged();
9739       return this;
9740     }
9741     /**
9742      *
9743      *
9744      * <pre>
9745      * Specifies the reservations that this instance can consume from.
9746      * </pre>
9747      *
9748      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9749      * </code>
9750      */
setReservationAffinity( com.google.cloud.compute.v1.ReservationAffinity.Builder builderForValue)9751     public Builder setReservationAffinity(
9752         com.google.cloud.compute.v1.ReservationAffinity.Builder builderForValue) {
9753       if (reservationAffinityBuilder_ == null) {
9754         reservationAffinity_ = builderForValue.build();
9755       } else {
9756         reservationAffinityBuilder_.setMessage(builderForValue.build());
9757       }
9758       bitField0_ |= 0x10000000;
9759       onChanged();
9760       return this;
9761     }
9762     /**
9763      *
9764      *
9765      * <pre>
9766      * Specifies the reservations that this instance can consume from.
9767      * </pre>
9768      *
9769      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9770      * </code>
9771      */
mergeReservationAffinity(com.google.cloud.compute.v1.ReservationAffinity value)9772     public Builder mergeReservationAffinity(com.google.cloud.compute.v1.ReservationAffinity value) {
9773       if (reservationAffinityBuilder_ == null) {
9774         if (((bitField0_ & 0x10000000) != 0)
9775             && reservationAffinity_ != null
9776             && reservationAffinity_
9777                 != com.google.cloud.compute.v1.ReservationAffinity.getDefaultInstance()) {
9778           getReservationAffinityBuilder().mergeFrom(value);
9779         } else {
9780           reservationAffinity_ = value;
9781         }
9782       } else {
9783         reservationAffinityBuilder_.mergeFrom(value);
9784       }
9785       bitField0_ |= 0x10000000;
9786       onChanged();
9787       return this;
9788     }
9789     /**
9790      *
9791      *
9792      * <pre>
9793      * Specifies the reservations that this instance can consume from.
9794      * </pre>
9795      *
9796      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9797      * </code>
9798      */
clearReservationAffinity()9799     public Builder clearReservationAffinity() {
9800       bitField0_ = (bitField0_ & ~0x10000000);
9801       reservationAffinity_ = null;
9802       if (reservationAffinityBuilder_ != null) {
9803         reservationAffinityBuilder_.dispose();
9804         reservationAffinityBuilder_ = null;
9805       }
9806       onChanged();
9807       return this;
9808     }
9809     /**
9810      *
9811      *
9812      * <pre>
9813      * Specifies the reservations that this instance can consume from.
9814      * </pre>
9815      *
9816      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9817      * </code>
9818      */
getReservationAffinityBuilder()9819     public com.google.cloud.compute.v1.ReservationAffinity.Builder getReservationAffinityBuilder() {
9820       bitField0_ |= 0x10000000;
9821       onChanged();
9822       return getReservationAffinityFieldBuilder().getBuilder();
9823     }
9824     /**
9825      *
9826      *
9827      * <pre>
9828      * Specifies the reservations that this instance can consume from.
9829      * </pre>
9830      *
9831      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9832      * </code>
9833      */
9834     public com.google.cloud.compute.v1.ReservationAffinityOrBuilder
getReservationAffinityOrBuilder()9835         getReservationAffinityOrBuilder() {
9836       if (reservationAffinityBuilder_ != null) {
9837         return reservationAffinityBuilder_.getMessageOrBuilder();
9838       } else {
9839         return reservationAffinity_ == null
9840             ? com.google.cloud.compute.v1.ReservationAffinity.getDefaultInstance()
9841             : reservationAffinity_;
9842       }
9843     }
9844     /**
9845      *
9846      *
9847      * <pre>
9848      * Specifies the reservations that this instance can consume from.
9849      * </pre>
9850      *
9851      * <code>optional .google.cloud.compute.v1.ReservationAffinity reservation_affinity = 157850683;
9852      * </code>
9853      */
9854     private com.google.protobuf.SingleFieldBuilderV3<
9855             com.google.cloud.compute.v1.ReservationAffinity,
9856             com.google.cloud.compute.v1.ReservationAffinity.Builder,
9857             com.google.cloud.compute.v1.ReservationAffinityOrBuilder>
getReservationAffinityFieldBuilder()9858         getReservationAffinityFieldBuilder() {
9859       if (reservationAffinityBuilder_ == null) {
9860         reservationAffinityBuilder_ =
9861             new com.google.protobuf.SingleFieldBuilderV3<
9862                 com.google.cloud.compute.v1.ReservationAffinity,
9863                 com.google.cloud.compute.v1.ReservationAffinity.Builder,
9864                 com.google.cloud.compute.v1.ReservationAffinityOrBuilder>(
9865                 getReservationAffinity(), getParentForChildren(), isClean());
9866         reservationAffinity_ = null;
9867       }
9868       return reservationAffinityBuilder_;
9869     }
9870 
9871     private com.google.protobuf.LazyStringList resourcePolicies_ =
9872         com.google.protobuf.LazyStringArrayList.EMPTY;
9873 
ensureResourcePoliciesIsMutable()9874     private void ensureResourcePoliciesIsMutable() {
9875       if (!((bitField0_ & 0x20000000) != 0)) {
9876         resourcePolicies_ = new com.google.protobuf.LazyStringArrayList(resourcePolicies_);
9877         bitField0_ |= 0x20000000;
9878       }
9879     }
9880     /**
9881      *
9882      *
9883      * <pre>
9884      * Resource policies applied to this instance.
9885      * </pre>
9886      *
9887      * <code>repeated string resource_policies = 22220385;</code>
9888      *
9889      * @return A list containing the resourcePolicies.
9890      */
getResourcePoliciesList()9891     public com.google.protobuf.ProtocolStringList getResourcePoliciesList() {
9892       return resourcePolicies_.getUnmodifiableView();
9893     }
9894     /**
9895      *
9896      *
9897      * <pre>
9898      * Resource policies applied to this instance.
9899      * </pre>
9900      *
9901      * <code>repeated string resource_policies = 22220385;</code>
9902      *
9903      * @return The count of resourcePolicies.
9904      */
getResourcePoliciesCount()9905     public int getResourcePoliciesCount() {
9906       return resourcePolicies_.size();
9907     }
9908     /**
9909      *
9910      *
9911      * <pre>
9912      * Resource policies applied to this instance.
9913      * </pre>
9914      *
9915      * <code>repeated string resource_policies = 22220385;</code>
9916      *
9917      * @param index The index of the element to return.
9918      * @return The resourcePolicies at the given index.
9919      */
getResourcePolicies(int index)9920     public java.lang.String getResourcePolicies(int index) {
9921       return resourcePolicies_.get(index);
9922     }
9923     /**
9924      *
9925      *
9926      * <pre>
9927      * Resource policies applied to this instance.
9928      * </pre>
9929      *
9930      * <code>repeated string resource_policies = 22220385;</code>
9931      *
9932      * @param index The index of the value to return.
9933      * @return The bytes of the resourcePolicies at the given index.
9934      */
getResourcePoliciesBytes(int index)9935     public com.google.protobuf.ByteString getResourcePoliciesBytes(int index) {
9936       return resourcePolicies_.getByteString(index);
9937     }
9938     /**
9939      *
9940      *
9941      * <pre>
9942      * Resource policies applied to this instance.
9943      * </pre>
9944      *
9945      * <code>repeated string resource_policies = 22220385;</code>
9946      *
9947      * @param index The index to set the value at.
9948      * @param value The resourcePolicies to set.
9949      * @return This builder for chaining.
9950      */
setResourcePolicies(int index, java.lang.String value)9951     public Builder setResourcePolicies(int index, java.lang.String value) {
9952       if (value == null) {
9953         throw new NullPointerException();
9954       }
9955       ensureResourcePoliciesIsMutable();
9956       resourcePolicies_.set(index, value);
9957       onChanged();
9958       return this;
9959     }
9960     /**
9961      *
9962      *
9963      * <pre>
9964      * Resource policies applied to this instance.
9965      * </pre>
9966      *
9967      * <code>repeated string resource_policies = 22220385;</code>
9968      *
9969      * @param value The resourcePolicies to add.
9970      * @return This builder for chaining.
9971      */
addResourcePolicies(java.lang.String value)9972     public Builder addResourcePolicies(java.lang.String value) {
9973       if (value == null) {
9974         throw new NullPointerException();
9975       }
9976       ensureResourcePoliciesIsMutable();
9977       resourcePolicies_.add(value);
9978       onChanged();
9979       return this;
9980     }
9981     /**
9982      *
9983      *
9984      * <pre>
9985      * Resource policies applied to this instance.
9986      * </pre>
9987      *
9988      * <code>repeated string resource_policies = 22220385;</code>
9989      *
9990      * @param values The resourcePolicies to add.
9991      * @return This builder for chaining.
9992      */
addAllResourcePolicies(java.lang.Iterable<java.lang.String> values)9993     public Builder addAllResourcePolicies(java.lang.Iterable<java.lang.String> values) {
9994       ensureResourcePoliciesIsMutable();
9995       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, resourcePolicies_);
9996       onChanged();
9997       return this;
9998     }
9999     /**
10000      *
10001      *
10002      * <pre>
10003      * Resource policies applied to this instance.
10004      * </pre>
10005      *
10006      * <code>repeated string resource_policies = 22220385;</code>
10007      *
10008      * @return This builder for chaining.
10009      */
clearResourcePolicies()10010     public Builder clearResourcePolicies() {
10011       resourcePolicies_ = com.google.protobuf.LazyStringArrayList.EMPTY;
10012       bitField0_ = (bitField0_ & ~0x20000000);
10013       onChanged();
10014       return this;
10015     }
10016     /**
10017      *
10018      *
10019      * <pre>
10020      * Resource policies applied to this instance.
10021      * </pre>
10022      *
10023      * <code>repeated string resource_policies = 22220385;</code>
10024      *
10025      * @param value The bytes of the resourcePolicies to add.
10026      * @return This builder for chaining.
10027      */
addResourcePoliciesBytes(com.google.protobuf.ByteString value)10028     public Builder addResourcePoliciesBytes(com.google.protobuf.ByteString value) {
10029       if (value == null) {
10030         throw new NullPointerException();
10031       }
10032       checkByteStringIsUtf8(value);
10033       ensureResourcePoliciesIsMutable();
10034       resourcePolicies_.add(value);
10035       onChanged();
10036       return this;
10037     }
10038 
10039     private com.google.cloud.compute.v1.ResourceStatus resourceStatus_;
10040     private com.google.protobuf.SingleFieldBuilderV3<
10041             com.google.cloud.compute.v1.ResourceStatus,
10042             com.google.cloud.compute.v1.ResourceStatus.Builder,
10043             com.google.cloud.compute.v1.ResourceStatusOrBuilder>
10044         resourceStatusBuilder_;
10045     /**
10046      *
10047      *
10048      * <pre>
10049      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10050      * </pre>
10051      *
10052      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10053      *
10054      * @return Whether the resourceStatus field is set.
10055      */
hasResourceStatus()10056     public boolean hasResourceStatus() {
10057       return ((bitField0_ & 0x40000000) != 0);
10058     }
10059     /**
10060      *
10061      *
10062      * <pre>
10063      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10064      * </pre>
10065      *
10066      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10067      *
10068      * @return The resourceStatus.
10069      */
getResourceStatus()10070     public com.google.cloud.compute.v1.ResourceStatus getResourceStatus() {
10071       if (resourceStatusBuilder_ == null) {
10072         return resourceStatus_ == null
10073             ? com.google.cloud.compute.v1.ResourceStatus.getDefaultInstance()
10074             : resourceStatus_;
10075       } else {
10076         return resourceStatusBuilder_.getMessage();
10077       }
10078     }
10079     /**
10080      *
10081      *
10082      * <pre>
10083      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10084      * </pre>
10085      *
10086      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10087      */
setResourceStatus(com.google.cloud.compute.v1.ResourceStatus value)10088     public Builder setResourceStatus(com.google.cloud.compute.v1.ResourceStatus value) {
10089       if (resourceStatusBuilder_ == null) {
10090         if (value == null) {
10091           throw new NullPointerException();
10092         }
10093         resourceStatus_ = value;
10094       } else {
10095         resourceStatusBuilder_.setMessage(value);
10096       }
10097       bitField0_ |= 0x40000000;
10098       onChanged();
10099       return this;
10100     }
10101     /**
10102      *
10103      *
10104      * <pre>
10105      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10106      * </pre>
10107      *
10108      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10109      */
setResourceStatus( com.google.cloud.compute.v1.ResourceStatus.Builder builderForValue)10110     public Builder setResourceStatus(
10111         com.google.cloud.compute.v1.ResourceStatus.Builder builderForValue) {
10112       if (resourceStatusBuilder_ == null) {
10113         resourceStatus_ = builderForValue.build();
10114       } else {
10115         resourceStatusBuilder_.setMessage(builderForValue.build());
10116       }
10117       bitField0_ |= 0x40000000;
10118       onChanged();
10119       return this;
10120     }
10121     /**
10122      *
10123      *
10124      * <pre>
10125      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10126      * </pre>
10127      *
10128      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10129      */
mergeResourceStatus(com.google.cloud.compute.v1.ResourceStatus value)10130     public Builder mergeResourceStatus(com.google.cloud.compute.v1.ResourceStatus value) {
10131       if (resourceStatusBuilder_ == null) {
10132         if (((bitField0_ & 0x40000000) != 0)
10133             && resourceStatus_ != null
10134             && resourceStatus_ != com.google.cloud.compute.v1.ResourceStatus.getDefaultInstance()) {
10135           getResourceStatusBuilder().mergeFrom(value);
10136         } else {
10137           resourceStatus_ = value;
10138         }
10139       } else {
10140         resourceStatusBuilder_.mergeFrom(value);
10141       }
10142       bitField0_ |= 0x40000000;
10143       onChanged();
10144       return this;
10145     }
10146     /**
10147      *
10148      *
10149      * <pre>
10150      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10151      * </pre>
10152      *
10153      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10154      */
clearResourceStatus()10155     public Builder clearResourceStatus() {
10156       bitField0_ = (bitField0_ & ~0x40000000);
10157       resourceStatus_ = null;
10158       if (resourceStatusBuilder_ != null) {
10159         resourceStatusBuilder_.dispose();
10160         resourceStatusBuilder_ = null;
10161       }
10162       onChanged();
10163       return this;
10164     }
10165     /**
10166      *
10167      *
10168      * <pre>
10169      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10170      * </pre>
10171      *
10172      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10173      */
getResourceStatusBuilder()10174     public com.google.cloud.compute.v1.ResourceStatus.Builder getResourceStatusBuilder() {
10175       bitField0_ |= 0x40000000;
10176       onChanged();
10177       return getResourceStatusFieldBuilder().getBuilder();
10178     }
10179     /**
10180      *
10181      *
10182      * <pre>
10183      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10184      * </pre>
10185      *
10186      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10187      */
getResourceStatusOrBuilder()10188     public com.google.cloud.compute.v1.ResourceStatusOrBuilder getResourceStatusOrBuilder() {
10189       if (resourceStatusBuilder_ != null) {
10190         return resourceStatusBuilder_.getMessageOrBuilder();
10191       } else {
10192         return resourceStatus_ == null
10193             ? com.google.cloud.compute.v1.ResourceStatus.getDefaultInstance()
10194             : resourceStatus_;
10195       }
10196     }
10197     /**
10198      *
10199      *
10200      * <pre>
10201      * [Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
10202      * </pre>
10203      *
10204      * <code>optional .google.cloud.compute.v1.ResourceStatus resource_status = 249429315;</code>
10205      */
10206     private com.google.protobuf.SingleFieldBuilderV3<
10207             com.google.cloud.compute.v1.ResourceStatus,
10208             com.google.cloud.compute.v1.ResourceStatus.Builder,
10209             com.google.cloud.compute.v1.ResourceStatusOrBuilder>
getResourceStatusFieldBuilder()10210         getResourceStatusFieldBuilder() {
10211       if (resourceStatusBuilder_ == null) {
10212         resourceStatusBuilder_ =
10213             new com.google.protobuf.SingleFieldBuilderV3<
10214                 com.google.cloud.compute.v1.ResourceStatus,
10215                 com.google.cloud.compute.v1.ResourceStatus.Builder,
10216                 com.google.cloud.compute.v1.ResourceStatusOrBuilder>(
10217                 getResourceStatus(), getParentForChildren(), isClean());
10218         resourceStatus_ = null;
10219       }
10220       return resourceStatusBuilder_;
10221     }
10222 
10223     private boolean satisfiesPzs_;
10224     /**
10225      *
10226      *
10227      * <pre>
10228      * [Output Only] Reserved for future use.
10229      * </pre>
10230      *
10231      * <code>optional bool satisfies_pzs = 480964267;</code>
10232      *
10233      * @return Whether the satisfiesPzs field is set.
10234      */
10235     @java.lang.Override
hasSatisfiesPzs()10236     public boolean hasSatisfiesPzs() {
10237       return ((bitField0_ & 0x80000000) != 0);
10238     }
10239     /**
10240      *
10241      *
10242      * <pre>
10243      * [Output Only] Reserved for future use.
10244      * </pre>
10245      *
10246      * <code>optional bool satisfies_pzs = 480964267;</code>
10247      *
10248      * @return The satisfiesPzs.
10249      */
10250     @java.lang.Override
getSatisfiesPzs()10251     public boolean getSatisfiesPzs() {
10252       return satisfiesPzs_;
10253     }
10254     /**
10255      *
10256      *
10257      * <pre>
10258      * [Output Only] Reserved for future use.
10259      * </pre>
10260      *
10261      * <code>optional bool satisfies_pzs = 480964267;</code>
10262      *
10263      * @param value The satisfiesPzs to set.
10264      * @return This builder for chaining.
10265      */
setSatisfiesPzs(boolean value)10266     public Builder setSatisfiesPzs(boolean value) {
10267 
10268       satisfiesPzs_ = value;
10269       bitField0_ |= 0x80000000;
10270       onChanged();
10271       return this;
10272     }
10273     /**
10274      *
10275      *
10276      * <pre>
10277      * [Output Only] Reserved for future use.
10278      * </pre>
10279      *
10280      * <code>optional bool satisfies_pzs = 480964267;</code>
10281      *
10282      * @return This builder for chaining.
10283      */
clearSatisfiesPzs()10284     public Builder clearSatisfiesPzs() {
10285       bitField0_ = (bitField0_ & ~0x80000000);
10286       satisfiesPzs_ = false;
10287       onChanged();
10288       return this;
10289     }
10290 
10291     private com.google.cloud.compute.v1.Scheduling scheduling_;
10292     private com.google.protobuf.SingleFieldBuilderV3<
10293             com.google.cloud.compute.v1.Scheduling,
10294             com.google.cloud.compute.v1.Scheduling.Builder,
10295             com.google.cloud.compute.v1.SchedulingOrBuilder>
10296         schedulingBuilder_;
10297     /**
10298      *
10299      *
10300      * <pre>
10301      * Sets the scheduling options for this instance.
10302      * </pre>
10303      *
10304      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10305      *
10306      * @return Whether the scheduling field is set.
10307      */
hasScheduling()10308     public boolean hasScheduling() {
10309       return ((bitField1_ & 0x00000001) != 0);
10310     }
10311     /**
10312      *
10313      *
10314      * <pre>
10315      * Sets the scheduling options for this instance.
10316      * </pre>
10317      *
10318      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10319      *
10320      * @return The scheduling.
10321      */
getScheduling()10322     public com.google.cloud.compute.v1.Scheduling getScheduling() {
10323       if (schedulingBuilder_ == null) {
10324         return scheduling_ == null
10325             ? com.google.cloud.compute.v1.Scheduling.getDefaultInstance()
10326             : scheduling_;
10327       } else {
10328         return schedulingBuilder_.getMessage();
10329       }
10330     }
10331     /**
10332      *
10333      *
10334      * <pre>
10335      * Sets the scheduling options for this instance.
10336      * </pre>
10337      *
10338      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10339      */
setScheduling(com.google.cloud.compute.v1.Scheduling value)10340     public Builder setScheduling(com.google.cloud.compute.v1.Scheduling value) {
10341       if (schedulingBuilder_ == null) {
10342         if (value == null) {
10343           throw new NullPointerException();
10344         }
10345         scheduling_ = value;
10346       } else {
10347         schedulingBuilder_.setMessage(value);
10348       }
10349       bitField1_ |= 0x00000001;
10350       onChanged();
10351       return this;
10352     }
10353     /**
10354      *
10355      *
10356      * <pre>
10357      * Sets the scheduling options for this instance.
10358      * </pre>
10359      *
10360      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10361      */
setScheduling(com.google.cloud.compute.v1.Scheduling.Builder builderForValue)10362     public Builder setScheduling(com.google.cloud.compute.v1.Scheduling.Builder builderForValue) {
10363       if (schedulingBuilder_ == null) {
10364         scheduling_ = builderForValue.build();
10365       } else {
10366         schedulingBuilder_.setMessage(builderForValue.build());
10367       }
10368       bitField1_ |= 0x00000001;
10369       onChanged();
10370       return this;
10371     }
10372     /**
10373      *
10374      *
10375      * <pre>
10376      * Sets the scheduling options for this instance.
10377      * </pre>
10378      *
10379      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10380      */
mergeScheduling(com.google.cloud.compute.v1.Scheduling value)10381     public Builder mergeScheduling(com.google.cloud.compute.v1.Scheduling value) {
10382       if (schedulingBuilder_ == null) {
10383         if (((bitField1_ & 0x00000001) != 0)
10384             && scheduling_ != null
10385             && scheduling_ != com.google.cloud.compute.v1.Scheduling.getDefaultInstance()) {
10386           getSchedulingBuilder().mergeFrom(value);
10387         } else {
10388           scheduling_ = value;
10389         }
10390       } else {
10391         schedulingBuilder_.mergeFrom(value);
10392       }
10393       bitField1_ |= 0x00000001;
10394       onChanged();
10395       return this;
10396     }
10397     /**
10398      *
10399      *
10400      * <pre>
10401      * Sets the scheduling options for this instance.
10402      * </pre>
10403      *
10404      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10405      */
clearScheduling()10406     public Builder clearScheduling() {
10407       bitField1_ = (bitField1_ & ~0x00000001);
10408       scheduling_ = null;
10409       if (schedulingBuilder_ != null) {
10410         schedulingBuilder_.dispose();
10411         schedulingBuilder_ = null;
10412       }
10413       onChanged();
10414       return this;
10415     }
10416     /**
10417      *
10418      *
10419      * <pre>
10420      * Sets the scheduling options for this instance.
10421      * </pre>
10422      *
10423      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10424      */
getSchedulingBuilder()10425     public com.google.cloud.compute.v1.Scheduling.Builder getSchedulingBuilder() {
10426       bitField1_ |= 0x00000001;
10427       onChanged();
10428       return getSchedulingFieldBuilder().getBuilder();
10429     }
10430     /**
10431      *
10432      *
10433      * <pre>
10434      * Sets the scheduling options for this instance.
10435      * </pre>
10436      *
10437      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10438      */
getSchedulingOrBuilder()10439     public com.google.cloud.compute.v1.SchedulingOrBuilder getSchedulingOrBuilder() {
10440       if (schedulingBuilder_ != null) {
10441         return schedulingBuilder_.getMessageOrBuilder();
10442       } else {
10443         return scheduling_ == null
10444             ? com.google.cloud.compute.v1.Scheduling.getDefaultInstance()
10445             : scheduling_;
10446       }
10447     }
10448     /**
10449      *
10450      *
10451      * <pre>
10452      * Sets the scheduling options for this instance.
10453      * </pre>
10454      *
10455      * <code>optional .google.cloud.compute.v1.Scheduling scheduling = 386688404;</code>
10456      */
10457     private com.google.protobuf.SingleFieldBuilderV3<
10458             com.google.cloud.compute.v1.Scheduling,
10459             com.google.cloud.compute.v1.Scheduling.Builder,
10460             com.google.cloud.compute.v1.SchedulingOrBuilder>
getSchedulingFieldBuilder()10461         getSchedulingFieldBuilder() {
10462       if (schedulingBuilder_ == null) {
10463         schedulingBuilder_ =
10464             new com.google.protobuf.SingleFieldBuilderV3<
10465                 com.google.cloud.compute.v1.Scheduling,
10466                 com.google.cloud.compute.v1.Scheduling.Builder,
10467                 com.google.cloud.compute.v1.SchedulingOrBuilder>(
10468                 getScheduling(), getParentForChildren(), isClean());
10469         scheduling_ = null;
10470       }
10471       return schedulingBuilder_;
10472     }
10473 
10474     private java.lang.Object selfLink_ = "";
10475     /**
10476      *
10477      *
10478      * <pre>
10479      * [Output Only] Server-defined URL for this resource.
10480      * </pre>
10481      *
10482      * <code>optional string self_link = 456214797;</code>
10483      *
10484      * @return Whether the selfLink field is set.
10485      */
hasSelfLink()10486     public boolean hasSelfLink() {
10487       return ((bitField1_ & 0x00000002) != 0);
10488     }
10489     /**
10490      *
10491      *
10492      * <pre>
10493      * [Output Only] Server-defined URL for this resource.
10494      * </pre>
10495      *
10496      * <code>optional string self_link = 456214797;</code>
10497      *
10498      * @return The selfLink.
10499      */
getSelfLink()10500     public java.lang.String getSelfLink() {
10501       java.lang.Object ref = selfLink_;
10502       if (!(ref instanceof java.lang.String)) {
10503         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
10504         java.lang.String s = bs.toStringUtf8();
10505         selfLink_ = s;
10506         return s;
10507       } else {
10508         return (java.lang.String) ref;
10509       }
10510     }
10511     /**
10512      *
10513      *
10514      * <pre>
10515      * [Output Only] Server-defined URL for this resource.
10516      * </pre>
10517      *
10518      * <code>optional string self_link = 456214797;</code>
10519      *
10520      * @return The bytes for selfLink.
10521      */
getSelfLinkBytes()10522     public com.google.protobuf.ByteString getSelfLinkBytes() {
10523       java.lang.Object ref = selfLink_;
10524       if (ref instanceof String) {
10525         com.google.protobuf.ByteString b =
10526             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
10527         selfLink_ = b;
10528         return b;
10529       } else {
10530         return (com.google.protobuf.ByteString) ref;
10531       }
10532     }
10533     /**
10534      *
10535      *
10536      * <pre>
10537      * [Output Only] Server-defined URL for this resource.
10538      * </pre>
10539      *
10540      * <code>optional string self_link = 456214797;</code>
10541      *
10542      * @param value The selfLink to set.
10543      * @return This builder for chaining.
10544      */
setSelfLink(java.lang.String value)10545     public Builder setSelfLink(java.lang.String value) {
10546       if (value == null) {
10547         throw new NullPointerException();
10548       }
10549       selfLink_ = value;
10550       bitField1_ |= 0x00000002;
10551       onChanged();
10552       return this;
10553     }
10554     /**
10555      *
10556      *
10557      * <pre>
10558      * [Output Only] Server-defined URL for this resource.
10559      * </pre>
10560      *
10561      * <code>optional string self_link = 456214797;</code>
10562      *
10563      * @return This builder for chaining.
10564      */
clearSelfLink()10565     public Builder clearSelfLink() {
10566       selfLink_ = getDefaultInstance().getSelfLink();
10567       bitField1_ = (bitField1_ & ~0x00000002);
10568       onChanged();
10569       return this;
10570     }
10571     /**
10572      *
10573      *
10574      * <pre>
10575      * [Output Only] Server-defined URL for this resource.
10576      * </pre>
10577      *
10578      * <code>optional string self_link = 456214797;</code>
10579      *
10580      * @param value The bytes for selfLink to set.
10581      * @return This builder for chaining.
10582      */
setSelfLinkBytes(com.google.protobuf.ByteString value)10583     public Builder setSelfLinkBytes(com.google.protobuf.ByteString value) {
10584       if (value == null) {
10585         throw new NullPointerException();
10586       }
10587       checkByteStringIsUtf8(value);
10588       selfLink_ = value;
10589       bitField1_ |= 0x00000002;
10590       onChanged();
10591       return this;
10592     }
10593 
10594     private java.util.List<com.google.cloud.compute.v1.ServiceAccount> serviceAccounts_ =
10595         java.util.Collections.emptyList();
10596 
ensureServiceAccountsIsMutable()10597     private void ensureServiceAccountsIsMutable() {
10598       if (!((bitField1_ & 0x00000004) != 0)) {
10599         serviceAccounts_ =
10600             new java.util.ArrayList<com.google.cloud.compute.v1.ServiceAccount>(serviceAccounts_);
10601         bitField1_ |= 0x00000004;
10602       }
10603     }
10604 
10605     private com.google.protobuf.RepeatedFieldBuilderV3<
10606             com.google.cloud.compute.v1.ServiceAccount,
10607             com.google.cloud.compute.v1.ServiceAccount.Builder,
10608             com.google.cloud.compute.v1.ServiceAccountOrBuilder>
10609         serviceAccountsBuilder_;
10610 
10611     /**
10612      *
10613      *
10614      * <pre>
10615      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10616      * </pre>
10617      *
10618      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10619      */
getServiceAccountsList()10620     public java.util.List<com.google.cloud.compute.v1.ServiceAccount> getServiceAccountsList() {
10621       if (serviceAccountsBuilder_ == null) {
10622         return java.util.Collections.unmodifiableList(serviceAccounts_);
10623       } else {
10624         return serviceAccountsBuilder_.getMessageList();
10625       }
10626     }
10627     /**
10628      *
10629      *
10630      * <pre>
10631      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10632      * </pre>
10633      *
10634      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10635      */
getServiceAccountsCount()10636     public int getServiceAccountsCount() {
10637       if (serviceAccountsBuilder_ == null) {
10638         return serviceAccounts_.size();
10639       } else {
10640         return serviceAccountsBuilder_.getCount();
10641       }
10642     }
10643     /**
10644      *
10645      *
10646      * <pre>
10647      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10648      * </pre>
10649      *
10650      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10651      */
getServiceAccounts(int index)10652     public com.google.cloud.compute.v1.ServiceAccount getServiceAccounts(int index) {
10653       if (serviceAccountsBuilder_ == null) {
10654         return serviceAccounts_.get(index);
10655       } else {
10656         return serviceAccountsBuilder_.getMessage(index);
10657       }
10658     }
10659     /**
10660      *
10661      *
10662      * <pre>
10663      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10664      * </pre>
10665      *
10666      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10667      */
setServiceAccounts(int index, com.google.cloud.compute.v1.ServiceAccount value)10668     public Builder setServiceAccounts(int index, com.google.cloud.compute.v1.ServiceAccount value) {
10669       if (serviceAccountsBuilder_ == null) {
10670         if (value == null) {
10671           throw new NullPointerException();
10672         }
10673         ensureServiceAccountsIsMutable();
10674         serviceAccounts_.set(index, value);
10675         onChanged();
10676       } else {
10677         serviceAccountsBuilder_.setMessage(index, value);
10678       }
10679       return this;
10680     }
10681     /**
10682      *
10683      *
10684      * <pre>
10685      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10686      * </pre>
10687      *
10688      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10689      */
setServiceAccounts( int index, com.google.cloud.compute.v1.ServiceAccount.Builder builderForValue)10690     public Builder setServiceAccounts(
10691         int index, com.google.cloud.compute.v1.ServiceAccount.Builder builderForValue) {
10692       if (serviceAccountsBuilder_ == null) {
10693         ensureServiceAccountsIsMutable();
10694         serviceAccounts_.set(index, builderForValue.build());
10695         onChanged();
10696       } else {
10697         serviceAccountsBuilder_.setMessage(index, builderForValue.build());
10698       }
10699       return this;
10700     }
10701     /**
10702      *
10703      *
10704      * <pre>
10705      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10706      * </pre>
10707      *
10708      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10709      */
addServiceAccounts(com.google.cloud.compute.v1.ServiceAccount value)10710     public Builder addServiceAccounts(com.google.cloud.compute.v1.ServiceAccount value) {
10711       if (serviceAccountsBuilder_ == null) {
10712         if (value == null) {
10713           throw new NullPointerException();
10714         }
10715         ensureServiceAccountsIsMutable();
10716         serviceAccounts_.add(value);
10717         onChanged();
10718       } else {
10719         serviceAccountsBuilder_.addMessage(value);
10720       }
10721       return this;
10722     }
10723     /**
10724      *
10725      *
10726      * <pre>
10727      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10728      * </pre>
10729      *
10730      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10731      */
addServiceAccounts(int index, com.google.cloud.compute.v1.ServiceAccount value)10732     public Builder addServiceAccounts(int index, com.google.cloud.compute.v1.ServiceAccount value) {
10733       if (serviceAccountsBuilder_ == null) {
10734         if (value == null) {
10735           throw new NullPointerException();
10736         }
10737         ensureServiceAccountsIsMutable();
10738         serviceAccounts_.add(index, value);
10739         onChanged();
10740       } else {
10741         serviceAccountsBuilder_.addMessage(index, value);
10742       }
10743       return this;
10744     }
10745     /**
10746      *
10747      *
10748      * <pre>
10749      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10750      * </pre>
10751      *
10752      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10753      */
addServiceAccounts( com.google.cloud.compute.v1.ServiceAccount.Builder builderForValue)10754     public Builder addServiceAccounts(
10755         com.google.cloud.compute.v1.ServiceAccount.Builder builderForValue) {
10756       if (serviceAccountsBuilder_ == null) {
10757         ensureServiceAccountsIsMutable();
10758         serviceAccounts_.add(builderForValue.build());
10759         onChanged();
10760       } else {
10761         serviceAccountsBuilder_.addMessage(builderForValue.build());
10762       }
10763       return this;
10764     }
10765     /**
10766      *
10767      *
10768      * <pre>
10769      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10770      * </pre>
10771      *
10772      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10773      */
addServiceAccounts( int index, com.google.cloud.compute.v1.ServiceAccount.Builder builderForValue)10774     public Builder addServiceAccounts(
10775         int index, com.google.cloud.compute.v1.ServiceAccount.Builder builderForValue) {
10776       if (serviceAccountsBuilder_ == null) {
10777         ensureServiceAccountsIsMutable();
10778         serviceAccounts_.add(index, builderForValue.build());
10779         onChanged();
10780       } else {
10781         serviceAccountsBuilder_.addMessage(index, builderForValue.build());
10782       }
10783       return this;
10784     }
10785     /**
10786      *
10787      *
10788      * <pre>
10789      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10790      * </pre>
10791      *
10792      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10793      */
addAllServiceAccounts( java.lang.Iterable<? extends com.google.cloud.compute.v1.ServiceAccount> values)10794     public Builder addAllServiceAccounts(
10795         java.lang.Iterable<? extends com.google.cloud.compute.v1.ServiceAccount> values) {
10796       if (serviceAccountsBuilder_ == null) {
10797         ensureServiceAccountsIsMutable();
10798         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, serviceAccounts_);
10799         onChanged();
10800       } else {
10801         serviceAccountsBuilder_.addAllMessages(values);
10802       }
10803       return this;
10804     }
10805     /**
10806      *
10807      *
10808      * <pre>
10809      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10810      * </pre>
10811      *
10812      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10813      */
clearServiceAccounts()10814     public Builder clearServiceAccounts() {
10815       if (serviceAccountsBuilder_ == null) {
10816         serviceAccounts_ = java.util.Collections.emptyList();
10817         bitField1_ = (bitField1_ & ~0x00000004);
10818         onChanged();
10819       } else {
10820         serviceAccountsBuilder_.clear();
10821       }
10822       return this;
10823     }
10824     /**
10825      *
10826      *
10827      * <pre>
10828      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10829      * </pre>
10830      *
10831      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10832      */
removeServiceAccounts(int index)10833     public Builder removeServiceAccounts(int index) {
10834       if (serviceAccountsBuilder_ == null) {
10835         ensureServiceAccountsIsMutable();
10836         serviceAccounts_.remove(index);
10837         onChanged();
10838       } else {
10839         serviceAccountsBuilder_.remove(index);
10840       }
10841       return this;
10842     }
10843     /**
10844      *
10845      *
10846      * <pre>
10847      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10848      * </pre>
10849      *
10850      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10851      */
getServiceAccountsBuilder(int index)10852     public com.google.cloud.compute.v1.ServiceAccount.Builder getServiceAccountsBuilder(int index) {
10853       return getServiceAccountsFieldBuilder().getBuilder(index);
10854     }
10855     /**
10856      *
10857      *
10858      * <pre>
10859      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10860      * </pre>
10861      *
10862      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10863      */
getServiceAccountsOrBuilder( int index)10864     public com.google.cloud.compute.v1.ServiceAccountOrBuilder getServiceAccountsOrBuilder(
10865         int index) {
10866       if (serviceAccountsBuilder_ == null) {
10867         return serviceAccounts_.get(index);
10868       } else {
10869         return serviceAccountsBuilder_.getMessageOrBuilder(index);
10870       }
10871     }
10872     /**
10873      *
10874      *
10875      * <pre>
10876      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10877      * </pre>
10878      *
10879      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10880      */
10881     public java.util.List<? extends com.google.cloud.compute.v1.ServiceAccountOrBuilder>
getServiceAccountsOrBuilderList()10882         getServiceAccountsOrBuilderList() {
10883       if (serviceAccountsBuilder_ != null) {
10884         return serviceAccountsBuilder_.getMessageOrBuilderList();
10885       } else {
10886         return java.util.Collections.unmodifiableList(serviceAccounts_);
10887       }
10888     }
10889     /**
10890      *
10891      *
10892      * <pre>
10893      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10894      * </pre>
10895      *
10896      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10897      */
addServiceAccountsBuilder()10898     public com.google.cloud.compute.v1.ServiceAccount.Builder addServiceAccountsBuilder() {
10899       return getServiceAccountsFieldBuilder()
10900           .addBuilder(com.google.cloud.compute.v1.ServiceAccount.getDefaultInstance());
10901     }
10902     /**
10903      *
10904      *
10905      * <pre>
10906      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10907      * </pre>
10908      *
10909      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10910      */
addServiceAccountsBuilder(int index)10911     public com.google.cloud.compute.v1.ServiceAccount.Builder addServiceAccountsBuilder(int index) {
10912       return getServiceAccountsFieldBuilder()
10913           .addBuilder(index, com.google.cloud.compute.v1.ServiceAccount.getDefaultInstance());
10914     }
10915     /**
10916      *
10917      *
10918      * <pre>
10919      * A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.
10920      * </pre>
10921      *
10922      * <code>repeated .google.cloud.compute.v1.ServiceAccount service_accounts = 277537328;</code>
10923      */
10924     public java.util.List<com.google.cloud.compute.v1.ServiceAccount.Builder>
getServiceAccountsBuilderList()10925         getServiceAccountsBuilderList() {
10926       return getServiceAccountsFieldBuilder().getBuilderList();
10927     }
10928 
10929     private com.google.protobuf.RepeatedFieldBuilderV3<
10930             com.google.cloud.compute.v1.ServiceAccount,
10931             com.google.cloud.compute.v1.ServiceAccount.Builder,
10932             com.google.cloud.compute.v1.ServiceAccountOrBuilder>
getServiceAccountsFieldBuilder()10933         getServiceAccountsFieldBuilder() {
10934       if (serviceAccountsBuilder_ == null) {
10935         serviceAccountsBuilder_ =
10936             new com.google.protobuf.RepeatedFieldBuilderV3<
10937                 com.google.cloud.compute.v1.ServiceAccount,
10938                 com.google.cloud.compute.v1.ServiceAccount.Builder,
10939                 com.google.cloud.compute.v1.ServiceAccountOrBuilder>(
10940                 serviceAccounts_,
10941                 ((bitField1_ & 0x00000004) != 0),
10942                 getParentForChildren(),
10943                 isClean());
10944         serviceAccounts_ = null;
10945       }
10946       return serviceAccountsBuilder_;
10947     }
10948 
10949     private com.google.cloud.compute.v1.ShieldedInstanceConfig shieldedInstanceConfig_;
10950     private com.google.protobuf.SingleFieldBuilderV3<
10951             com.google.cloud.compute.v1.ShieldedInstanceConfig,
10952             com.google.cloud.compute.v1.ShieldedInstanceConfig.Builder,
10953             com.google.cloud.compute.v1.ShieldedInstanceConfigOrBuilder>
10954         shieldedInstanceConfigBuilder_;
10955     /**
10956      * <code>
10957      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
10958      * </code>
10959      *
10960      * @return Whether the shieldedInstanceConfig field is set.
10961      */
hasShieldedInstanceConfig()10962     public boolean hasShieldedInstanceConfig() {
10963       return ((bitField1_ & 0x00000008) != 0);
10964     }
10965     /**
10966      * <code>
10967      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
10968      * </code>
10969      *
10970      * @return The shieldedInstanceConfig.
10971      */
getShieldedInstanceConfig()10972     public com.google.cloud.compute.v1.ShieldedInstanceConfig getShieldedInstanceConfig() {
10973       if (shieldedInstanceConfigBuilder_ == null) {
10974         return shieldedInstanceConfig_ == null
10975             ? com.google.cloud.compute.v1.ShieldedInstanceConfig.getDefaultInstance()
10976             : shieldedInstanceConfig_;
10977       } else {
10978         return shieldedInstanceConfigBuilder_.getMessage();
10979       }
10980     }
10981     /**
10982      * <code>
10983      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
10984      * </code>
10985      */
setShieldedInstanceConfig( com.google.cloud.compute.v1.ShieldedInstanceConfig value)10986     public Builder setShieldedInstanceConfig(
10987         com.google.cloud.compute.v1.ShieldedInstanceConfig value) {
10988       if (shieldedInstanceConfigBuilder_ == null) {
10989         if (value == null) {
10990           throw new NullPointerException();
10991         }
10992         shieldedInstanceConfig_ = value;
10993       } else {
10994         shieldedInstanceConfigBuilder_.setMessage(value);
10995       }
10996       bitField1_ |= 0x00000008;
10997       onChanged();
10998       return this;
10999     }
11000     /**
11001      * <code>
11002      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
11003      * </code>
11004      */
setShieldedInstanceConfig( com.google.cloud.compute.v1.ShieldedInstanceConfig.Builder builderForValue)11005     public Builder setShieldedInstanceConfig(
11006         com.google.cloud.compute.v1.ShieldedInstanceConfig.Builder builderForValue) {
11007       if (shieldedInstanceConfigBuilder_ == null) {
11008         shieldedInstanceConfig_ = builderForValue.build();
11009       } else {
11010         shieldedInstanceConfigBuilder_.setMessage(builderForValue.build());
11011       }
11012       bitField1_ |= 0x00000008;
11013       onChanged();
11014       return this;
11015     }
11016     /**
11017      * <code>
11018      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
11019      * </code>
11020      */
mergeShieldedInstanceConfig( com.google.cloud.compute.v1.ShieldedInstanceConfig value)11021     public Builder mergeShieldedInstanceConfig(
11022         com.google.cloud.compute.v1.ShieldedInstanceConfig value) {
11023       if (shieldedInstanceConfigBuilder_ == null) {
11024         if (((bitField1_ & 0x00000008) != 0)
11025             && shieldedInstanceConfig_ != null
11026             && shieldedInstanceConfig_
11027                 != com.google.cloud.compute.v1.ShieldedInstanceConfig.getDefaultInstance()) {
11028           getShieldedInstanceConfigBuilder().mergeFrom(value);
11029         } else {
11030           shieldedInstanceConfig_ = value;
11031         }
11032       } else {
11033         shieldedInstanceConfigBuilder_.mergeFrom(value);
11034       }
11035       bitField1_ |= 0x00000008;
11036       onChanged();
11037       return this;
11038     }
11039     /**
11040      * <code>
11041      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
11042      * </code>
11043      */
clearShieldedInstanceConfig()11044     public Builder clearShieldedInstanceConfig() {
11045       bitField1_ = (bitField1_ & ~0x00000008);
11046       shieldedInstanceConfig_ = null;
11047       if (shieldedInstanceConfigBuilder_ != null) {
11048         shieldedInstanceConfigBuilder_.dispose();
11049         shieldedInstanceConfigBuilder_ = null;
11050       }
11051       onChanged();
11052       return this;
11053     }
11054     /**
11055      * <code>
11056      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
11057      * </code>
11058      */
11059     public com.google.cloud.compute.v1.ShieldedInstanceConfig.Builder
getShieldedInstanceConfigBuilder()11060         getShieldedInstanceConfigBuilder() {
11061       bitField1_ |= 0x00000008;
11062       onChanged();
11063       return getShieldedInstanceConfigFieldBuilder().getBuilder();
11064     }
11065     /**
11066      * <code>
11067      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
11068      * </code>
11069      */
11070     public com.google.cloud.compute.v1.ShieldedInstanceConfigOrBuilder
getShieldedInstanceConfigOrBuilder()11071         getShieldedInstanceConfigOrBuilder() {
11072       if (shieldedInstanceConfigBuilder_ != null) {
11073         return shieldedInstanceConfigBuilder_.getMessageOrBuilder();
11074       } else {
11075         return shieldedInstanceConfig_ == null
11076             ? com.google.cloud.compute.v1.ShieldedInstanceConfig.getDefaultInstance()
11077             : shieldedInstanceConfig_;
11078       }
11079     }
11080     /**
11081      * <code>
11082      * optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
11083      * </code>
11084      */
11085     private com.google.protobuf.SingleFieldBuilderV3<
11086             com.google.cloud.compute.v1.ShieldedInstanceConfig,
11087             com.google.cloud.compute.v1.ShieldedInstanceConfig.Builder,
11088             com.google.cloud.compute.v1.ShieldedInstanceConfigOrBuilder>
getShieldedInstanceConfigFieldBuilder()11089         getShieldedInstanceConfigFieldBuilder() {
11090       if (shieldedInstanceConfigBuilder_ == null) {
11091         shieldedInstanceConfigBuilder_ =
11092             new com.google.protobuf.SingleFieldBuilderV3<
11093                 com.google.cloud.compute.v1.ShieldedInstanceConfig,
11094                 com.google.cloud.compute.v1.ShieldedInstanceConfig.Builder,
11095                 com.google.cloud.compute.v1.ShieldedInstanceConfigOrBuilder>(
11096                 getShieldedInstanceConfig(), getParentForChildren(), isClean());
11097         shieldedInstanceConfig_ = null;
11098       }
11099       return shieldedInstanceConfigBuilder_;
11100     }
11101 
11102     private com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy
11103         shieldedInstanceIntegrityPolicy_;
11104     private com.google.protobuf.SingleFieldBuilderV3<
11105             com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy,
11106             com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.Builder,
11107             com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicyOrBuilder>
11108         shieldedInstanceIntegrityPolicyBuilder_;
11109     /**
11110      * <code>
11111      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11112      * </code>
11113      *
11114      * @return Whether the shieldedInstanceIntegrityPolicy field is set.
11115      */
hasShieldedInstanceIntegrityPolicy()11116     public boolean hasShieldedInstanceIntegrityPolicy() {
11117       return ((bitField1_ & 0x00000010) != 0);
11118     }
11119     /**
11120      * <code>
11121      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11122      * </code>
11123      *
11124      * @return The shieldedInstanceIntegrityPolicy.
11125      */
11126     public com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy
getShieldedInstanceIntegrityPolicy()11127         getShieldedInstanceIntegrityPolicy() {
11128       if (shieldedInstanceIntegrityPolicyBuilder_ == null) {
11129         return shieldedInstanceIntegrityPolicy_ == null
11130             ? com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.getDefaultInstance()
11131             : shieldedInstanceIntegrityPolicy_;
11132       } else {
11133         return shieldedInstanceIntegrityPolicyBuilder_.getMessage();
11134       }
11135     }
11136     /**
11137      * <code>
11138      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11139      * </code>
11140      */
setShieldedInstanceIntegrityPolicy( com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy value)11141     public Builder setShieldedInstanceIntegrityPolicy(
11142         com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy value) {
11143       if (shieldedInstanceIntegrityPolicyBuilder_ == null) {
11144         if (value == null) {
11145           throw new NullPointerException();
11146         }
11147         shieldedInstanceIntegrityPolicy_ = value;
11148       } else {
11149         shieldedInstanceIntegrityPolicyBuilder_.setMessage(value);
11150       }
11151       bitField1_ |= 0x00000010;
11152       onChanged();
11153       return this;
11154     }
11155     /**
11156      * <code>
11157      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11158      * </code>
11159      */
setShieldedInstanceIntegrityPolicy( com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.Builder builderForValue)11160     public Builder setShieldedInstanceIntegrityPolicy(
11161         com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.Builder builderForValue) {
11162       if (shieldedInstanceIntegrityPolicyBuilder_ == null) {
11163         shieldedInstanceIntegrityPolicy_ = builderForValue.build();
11164       } else {
11165         shieldedInstanceIntegrityPolicyBuilder_.setMessage(builderForValue.build());
11166       }
11167       bitField1_ |= 0x00000010;
11168       onChanged();
11169       return this;
11170     }
11171     /**
11172      * <code>
11173      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11174      * </code>
11175      */
mergeShieldedInstanceIntegrityPolicy( com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy value)11176     public Builder mergeShieldedInstanceIntegrityPolicy(
11177         com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy value) {
11178       if (shieldedInstanceIntegrityPolicyBuilder_ == null) {
11179         if (((bitField1_ & 0x00000010) != 0)
11180             && shieldedInstanceIntegrityPolicy_ != null
11181             && shieldedInstanceIntegrityPolicy_
11182                 != com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy
11183                     .getDefaultInstance()) {
11184           getShieldedInstanceIntegrityPolicyBuilder().mergeFrom(value);
11185         } else {
11186           shieldedInstanceIntegrityPolicy_ = value;
11187         }
11188       } else {
11189         shieldedInstanceIntegrityPolicyBuilder_.mergeFrom(value);
11190       }
11191       bitField1_ |= 0x00000010;
11192       onChanged();
11193       return this;
11194     }
11195     /**
11196      * <code>
11197      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11198      * </code>
11199      */
clearShieldedInstanceIntegrityPolicy()11200     public Builder clearShieldedInstanceIntegrityPolicy() {
11201       bitField1_ = (bitField1_ & ~0x00000010);
11202       shieldedInstanceIntegrityPolicy_ = null;
11203       if (shieldedInstanceIntegrityPolicyBuilder_ != null) {
11204         shieldedInstanceIntegrityPolicyBuilder_.dispose();
11205         shieldedInstanceIntegrityPolicyBuilder_ = null;
11206       }
11207       onChanged();
11208       return this;
11209     }
11210     /**
11211      * <code>
11212      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11213      * </code>
11214      */
11215     public com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.Builder
getShieldedInstanceIntegrityPolicyBuilder()11216         getShieldedInstanceIntegrityPolicyBuilder() {
11217       bitField1_ |= 0x00000010;
11218       onChanged();
11219       return getShieldedInstanceIntegrityPolicyFieldBuilder().getBuilder();
11220     }
11221     /**
11222      * <code>
11223      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11224      * </code>
11225      */
11226     public com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicyOrBuilder
getShieldedInstanceIntegrityPolicyOrBuilder()11227         getShieldedInstanceIntegrityPolicyOrBuilder() {
11228       if (shieldedInstanceIntegrityPolicyBuilder_ != null) {
11229         return shieldedInstanceIntegrityPolicyBuilder_.getMessageOrBuilder();
11230       } else {
11231         return shieldedInstanceIntegrityPolicy_ == null
11232             ? com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.getDefaultInstance()
11233             : shieldedInstanceIntegrityPolicy_;
11234       }
11235     }
11236     /**
11237      * <code>
11238      * optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
11239      * </code>
11240      */
11241     private com.google.protobuf.SingleFieldBuilderV3<
11242             com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy,
11243             com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.Builder,
11244             com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicyOrBuilder>
getShieldedInstanceIntegrityPolicyFieldBuilder()11245         getShieldedInstanceIntegrityPolicyFieldBuilder() {
11246       if (shieldedInstanceIntegrityPolicyBuilder_ == null) {
11247         shieldedInstanceIntegrityPolicyBuilder_ =
11248             new com.google.protobuf.SingleFieldBuilderV3<
11249                 com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy,
11250                 com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy.Builder,
11251                 com.google.cloud.compute.v1.ShieldedInstanceIntegrityPolicyOrBuilder>(
11252                 getShieldedInstanceIntegrityPolicy(), getParentForChildren(), isClean());
11253         shieldedInstanceIntegrityPolicy_ = null;
11254       }
11255       return shieldedInstanceIntegrityPolicyBuilder_;
11256     }
11257 
11258     private java.lang.Object sourceMachineImage_ = "";
11259     /**
11260      *
11261      *
11262      * <pre>
11263      * Source machine image
11264      * </pre>
11265      *
11266      * <code>optional string source_machine_image = 21769791;</code>
11267      *
11268      * @return Whether the sourceMachineImage field is set.
11269      */
hasSourceMachineImage()11270     public boolean hasSourceMachineImage() {
11271       return ((bitField1_ & 0x00000020) != 0);
11272     }
11273     /**
11274      *
11275      *
11276      * <pre>
11277      * Source machine image
11278      * </pre>
11279      *
11280      * <code>optional string source_machine_image = 21769791;</code>
11281      *
11282      * @return The sourceMachineImage.
11283      */
getSourceMachineImage()11284     public java.lang.String getSourceMachineImage() {
11285       java.lang.Object ref = sourceMachineImage_;
11286       if (!(ref instanceof java.lang.String)) {
11287         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
11288         java.lang.String s = bs.toStringUtf8();
11289         sourceMachineImage_ = s;
11290         return s;
11291       } else {
11292         return (java.lang.String) ref;
11293       }
11294     }
11295     /**
11296      *
11297      *
11298      * <pre>
11299      * Source machine image
11300      * </pre>
11301      *
11302      * <code>optional string source_machine_image = 21769791;</code>
11303      *
11304      * @return The bytes for sourceMachineImage.
11305      */
getSourceMachineImageBytes()11306     public com.google.protobuf.ByteString getSourceMachineImageBytes() {
11307       java.lang.Object ref = sourceMachineImage_;
11308       if (ref instanceof String) {
11309         com.google.protobuf.ByteString b =
11310             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
11311         sourceMachineImage_ = b;
11312         return b;
11313       } else {
11314         return (com.google.protobuf.ByteString) ref;
11315       }
11316     }
11317     /**
11318      *
11319      *
11320      * <pre>
11321      * Source machine image
11322      * </pre>
11323      *
11324      * <code>optional string source_machine_image = 21769791;</code>
11325      *
11326      * @param value The sourceMachineImage to set.
11327      * @return This builder for chaining.
11328      */
setSourceMachineImage(java.lang.String value)11329     public Builder setSourceMachineImage(java.lang.String value) {
11330       if (value == null) {
11331         throw new NullPointerException();
11332       }
11333       sourceMachineImage_ = value;
11334       bitField1_ |= 0x00000020;
11335       onChanged();
11336       return this;
11337     }
11338     /**
11339      *
11340      *
11341      * <pre>
11342      * Source machine image
11343      * </pre>
11344      *
11345      * <code>optional string source_machine_image = 21769791;</code>
11346      *
11347      * @return This builder for chaining.
11348      */
clearSourceMachineImage()11349     public Builder clearSourceMachineImage() {
11350       sourceMachineImage_ = getDefaultInstance().getSourceMachineImage();
11351       bitField1_ = (bitField1_ & ~0x00000020);
11352       onChanged();
11353       return this;
11354     }
11355     /**
11356      *
11357      *
11358      * <pre>
11359      * Source machine image
11360      * </pre>
11361      *
11362      * <code>optional string source_machine_image = 21769791;</code>
11363      *
11364      * @param value The bytes for sourceMachineImage to set.
11365      * @return This builder for chaining.
11366      */
setSourceMachineImageBytes(com.google.protobuf.ByteString value)11367     public Builder setSourceMachineImageBytes(com.google.protobuf.ByteString value) {
11368       if (value == null) {
11369         throw new NullPointerException();
11370       }
11371       checkByteStringIsUtf8(value);
11372       sourceMachineImage_ = value;
11373       bitField1_ |= 0x00000020;
11374       onChanged();
11375       return this;
11376     }
11377 
11378     private com.google.cloud.compute.v1.CustomerEncryptionKey sourceMachineImageEncryptionKey_;
11379     private com.google.protobuf.SingleFieldBuilderV3<
11380             com.google.cloud.compute.v1.CustomerEncryptionKey,
11381             com.google.cloud.compute.v1.CustomerEncryptionKey.Builder,
11382             com.google.cloud.compute.v1.CustomerEncryptionKeyOrBuilder>
11383         sourceMachineImageEncryptionKeyBuilder_;
11384     /**
11385      *
11386      *
11387      * <pre>
11388      * Source machine image encryption key when creating an instance from a machine image.
11389      * </pre>
11390      *
11391      * <code>
11392      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11393      * </code>
11394      *
11395      * @return Whether the sourceMachineImageEncryptionKey field is set.
11396      */
hasSourceMachineImageEncryptionKey()11397     public boolean hasSourceMachineImageEncryptionKey() {
11398       return ((bitField1_ & 0x00000040) != 0);
11399     }
11400     /**
11401      *
11402      *
11403      * <pre>
11404      * Source machine image encryption key when creating an instance from a machine image.
11405      * </pre>
11406      *
11407      * <code>
11408      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11409      * </code>
11410      *
11411      * @return The sourceMachineImageEncryptionKey.
11412      */
getSourceMachineImageEncryptionKey()11413     public com.google.cloud.compute.v1.CustomerEncryptionKey getSourceMachineImageEncryptionKey() {
11414       if (sourceMachineImageEncryptionKeyBuilder_ == null) {
11415         return sourceMachineImageEncryptionKey_ == null
11416             ? com.google.cloud.compute.v1.CustomerEncryptionKey.getDefaultInstance()
11417             : sourceMachineImageEncryptionKey_;
11418       } else {
11419         return sourceMachineImageEncryptionKeyBuilder_.getMessage();
11420       }
11421     }
11422     /**
11423      *
11424      *
11425      * <pre>
11426      * Source machine image encryption key when creating an instance from a machine image.
11427      * </pre>
11428      *
11429      * <code>
11430      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11431      * </code>
11432      */
setSourceMachineImageEncryptionKey( com.google.cloud.compute.v1.CustomerEncryptionKey value)11433     public Builder setSourceMachineImageEncryptionKey(
11434         com.google.cloud.compute.v1.CustomerEncryptionKey value) {
11435       if (sourceMachineImageEncryptionKeyBuilder_ == null) {
11436         if (value == null) {
11437           throw new NullPointerException();
11438         }
11439         sourceMachineImageEncryptionKey_ = value;
11440       } else {
11441         sourceMachineImageEncryptionKeyBuilder_.setMessage(value);
11442       }
11443       bitField1_ |= 0x00000040;
11444       onChanged();
11445       return this;
11446     }
11447     /**
11448      *
11449      *
11450      * <pre>
11451      * Source machine image encryption key when creating an instance from a machine image.
11452      * </pre>
11453      *
11454      * <code>
11455      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11456      * </code>
11457      */
setSourceMachineImageEncryptionKey( com.google.cloud.compute.v1.CustomerEncryptionKey.Builder builderForValue)11458     public Builder setSourceMachineImageEncryptionKey(
11459         com.google.cloud.compute.v1.CustomerEncryptionKey.Builder builderForValue) {
11460       if (sourceMachineImageEncryptionKeyBuilder_ == null) {
11461         sourceMachineImageEncryptionKey_ = builderForValue.build();
11462       } else {
11463         sourceMachineImageEncryptionKeyBuilder_.setMessage(builderForValue.build());
11464       }
11465       bitField1_ |= 0x00000040;
11466       onChanged();
11467       return this;
11468     }
11469     /**
11470      *
11471      *
11472      * <pre>
11473      * Source machine image encryption key when creating an instance from a machine image.
11474      * </pre>
11475      *
11476      * <code>
11477      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11478      * </code>
11479      */
mergeSourceMachineImageEncryptionKey( com.google.cloud.compute.v1.CustomerEncryptionKey value)11480     public Builder mergeSourceMachineImageEncryptionKey(
11481         com.google.cloud.compute.v1.CustomerEncryptionKey value) {
11482       if (sourceMachineImageEncryptionKeyBuilder_ == null) {
11483         if (((bitField1_ & 0x00000040) != 0)
11484             && sourceMachineImageEncryptionKey_ != null
11485             && sourceMachineImageEncryptionKey_
11486                 != com.google.cloud.compute.v1.CustomerEncryptionKey.getDefaultInstance()) {
11487           getSourceMachineImageEncryptionKeyBuilder().mergeFrom(value);
11488         } else {
11489           sourceMachineImageEncryptionKey_ = value;
11490         }
11491       } else {
11492         sourceMachineImageEncryptionKeyBuilder_.mergeFrom(value);
11493       }
11494       bitField1_ |= 0x00000040;
11495       onChanged();
11496       return this;
11497     }
11498     /**
11499      *
11500      *
11501      * <pre>
11502      * Source machine image encryption key when creating an instance from a machine image.
11503      * </pre>
11504      *
11505      * <code>
11506      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11507      * </code>
11508      */
clearSourceMachineImageEncryptionKey()11509     public Builder clearSourceMachineImageEncryptionKey() {
11510       bitField1_ = (bitField1_ & ~0x00000040);
11511       sourceMachineImageEncryptionKey_ = null;
11512       if (sourceMachineImageEncryptionKeyBuilder_ != null) {
11513         sourceMachineImageEncryptionKeyBuilder_.dispose();
11514         sourceMachineImageEncryptionKeyBuilder_ = null;
11515       }
11516       onChanged();
11517       return this;
11518     }
11519     /**
11520      *
11521      *
11522      * <pre>
11523      * Source machine image encryption key when creating an instance from a machine image.
11524      * </pre>
11525      *
11526      * <code>
11527      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11528      * </code>
11529      */
11530     public com.google.cloud.compute.v1.CustomerEncryptionKey.Builder
getSourceMachineImageEncryptionKeyBuilder()11531         getSourceMachineImageEncryptionKeyBuilder() {
11532       bitField1_ |= 0x00000040;
11533       onChanged();
11534       return getSourceMachineImageEncryptionKeyFieldBuilder().getBuilder();
11535     }
11536     /**
11537      *
11538      *
11539      * <pre>
11540      * Source machine image encryption key when creating an instance from a machine image.
11541      * </pre>
11542      *
11543      * <code>
11544      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11545      * </code>
11546      */
11547     public com.google.cloud.compute.v1.CustomerEncryptionKeyOrBuilder
getSourceMachineImageEncryptionKeyOrBuilder()11548         getSourceMachineImageEncryptionKeyOrBuilder() {
11549       if (sourceMachineImageEncryptionKeyBuilder_ != null) {
11550         return sourceMachineImageEncryptionKeyBuilder_.getMessageOrBuilder();
11551       } else {
11552         return sourceMachineImageEncryptionKey_ == null
11553             ? com.google.cloud.compute.v1.CustomerEncryptionKey.getDefaultInstance()
11554             : sourceMachineImageEncryptionKey_;
11555       }
11556     }
11557     /**
11558      *
11559      *
11560      * <pre>
11561      * Source machine image encryption key when creating an instance from a machine image.
11562      * </pre>
11563      *
11564      * <code>
11565      * optional .google.cloud.compute.v1.CustomerEncryptionKey source_machine_image_encryption_key = 192839075;
11566      * </code>
11567      */
11568     private com.google.protobuf.SingleFieldBuilderV3<
11569             com.google.cloud.compute.v1.CustomerEncryptionKey,
11570             com.google.cloud.compute.v1.CustomerEncryptionKey.Builder,
11571             com.google.cloud.compute.v1.CustomerEncryptionKeyOrBuilder>
getSourceMachineImageEncryptionKeyFieldBuilder()11572         getSourceMachineImageEncryptionKeyFieldBuilder() {
11573       if (sourceMachineImageEncryptionKeyBuilder_ == null) {
11574         sourceMachineImageEncryptionKeyBuilder_ =
11575             new com.google.protobuf.SingleFieldBuilderV3<
11576                 com.google.cloud.compute.v1.CustomerEncryptionKey,
11577                 com.google.cloud.compute.v1.CustomerEncryptionKey.Builder,
11578                 com.google.cloud.compute.v1.CustomerEncryptionKeyOrBuilder>(
11579                 getSourceMachineImageEncryptionKey(), getParentForChildren(), isClean());
11580         sourceMachineImageEncryptionKey_ = null;
11581       }
11582       return sourceMachineImageEncryptionKeyBuilder_;
11583     }
11584 
11585     private boolean startRestricted_;
11586     /**
11587      *
11588      *
11589      * <pre>
11590      * [Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
11591      * </pre>
11592      *
11593      * <code>optional bool start_restricted = 123693144;</code>
11594      *
11595      * @return Whether the startRestricted field is set.
11596      */
11597     @java.lang.Override
hasStartRestricted()11598     public boolean hasStartRestricted() {
11599       return ((bitField1_ & 0x00000080) != 0);
11600     }
11601     /**
11602      *
11603      *
11604      * <pre>
11605      * [Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
11606      * </pre>
11607      *
11608      * <code>optional bool start_restricted = 123693144;</code>
11609      *
11610      * @return The startRestricted.
11611      */
11612     @java.lang.Override
getStartRestricted()11613     public boolean getStartRestricted() {
11614       return startRestricted_;
11615     }
11616     /**
11617      *
11618      *
11619      * <pre>
11620      * [Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
11621      * </pre>
11622      *
11623      * <code>optional bool start_restricted = 123693144;</code>
11624      *
11625      * @param value The startRestricted to set.
11626      * @return This builder for chaining.
11627      */
setStartRestricted(boolean value)11628     public Builder setStartRestricted(boolean value) {
11629 
11630       startRestricted_ = value;
11631       bitField1_ |= 0x00000080;
11632       onChanged();
11633       return this;
11634     }
11635     /**
11636      *
11637      *
11638      * <pre>
11639      * [Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
11640      * </pre>
11641      *
11642      * <code>optional bool start_restricted = 123693144;</code>
11643      *
11644      * @return This builder for chaining.
11645      */
clearStartRestricted()11646     public Builder clearStartRestricted() {
11647       bitField1_ = (bitField1_ & ~0x00000080);
11648       startRestricted_ = false;
11649       onChanged();
11650       return this;
11651     }
11652 
11653     private java.lang.Object status_ = "";
11654     /**
11655      *
11656      *
11657      * <pre>
11658      * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
11659      * Check the Status enum for the list of possible values.
11660      * </pre>
11661      *
11662      * <code>optional string status = 181260274;</code>
11663      *
11664      * @return Whether the status field is set.
11665      */
hasStatus()11666     public boolean hasStatus() {
11667       return ((bitField1_ & 0x00000100) != 0);
11668     }
11669     /**
11670      *
11671      *
11672      * <pre>
11673      * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
11674      * Check the Status enum for the list of possible values.
11675      * </pre>
11676      *
11677      * <code>optional string status = 181260274;</code>
11678      *
11679      * @return The status.
11680      */
getStatus()11681     public java.lang.String getStatus() {
11682       java.lang.Object ref = status_;
11683       if (!(ref instanceof java.lang.String)) {
11684         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
11685         java.lang.String s = bs.toStringUtf8();
11686         status_ = s;
11687         return s;
11688       } else {
11689         return (java.lang.String) ref;
11690       }
11691     }
11692     /**
11693      *
11694      *
11695      * <pre>
11696      * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
11697      * Check the Status enum for the list of possible values.
11698      * </pre>
11699      *
11700      * <code>optional string status = 181260274;</code>
11701      *
11702      * @return The bytes for status.
11703      */
getStatusBytes()11704     public com.google.protobuf.ByteString getStatusBytes() {
11705       java.lang.Object ref = status_;
11706       if (ref instanceof String) {
11707         com.google.protobuf.ByteString b =
11708             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
11709         status_ = b;
11710         return b;
11711       } else {
11712         return (com.google.protobuf.ByteString) ref;
11713       }
11714     }
11715     /**
11716      *
11717      *
11718      * <pre>
11719      * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
11720      * Check the Status enum for the list of possible values.
11721      * </pre>
11722      *
11723      * <code>optional string status = 181260274;</code>
11724      *
11725      * @param value The status to set.
11726      * @return This builder for chaining.
11727      */
setStatus(java.lang.String value)11728     public Builder setStatus(java.lang.String value) {
11729       if (value == null) {
11730         throw new NullPointerException();
11731       }
11732       status_ = value;
11733       bitField1_ |= 0x00000100;
11734       onChanged();
11735       return this;
11736     }
11737     /**
11738      *
11739      *
11740      * <pre>
11741      * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
11742      * Check the Status enum for the list of possible values.
11743      * </pre>
11744      *
11745      * <code>optional string status = 181260274;</code>
11746      *
11747      * @return This builder for chaining.
11748      */
clearStatus()11749     public Builder clearStatus() {
11750       status_ = getDefaultInstance().getStatus();
11751       bitField1_ = (bitField1_ & ~0x00000100);
11752       onChanged();
11753       return this;
11754     }
11755     /**
11756      *
11757      *
11758      * <pre>
11759      * [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
11760      * Check the Status enum for the list of possible values.
11761      * </pre>
11762      *
11763      * <code>optional string status = 181260274;</code>
11764      *
11765      * @param value The bytes for status to set.
11766      * @return This builder for chaining.
11767      */
setStatusBytes(com.google.protobuf.ByteString value)11768     public Builder setStatusBytes(com.google.protobuf.ByteString value) {
11769       if (value == null) {
11770         throw new NullPointerException();
11771       }
11772       checkByteStringIsUtf8(value);
11773       status_ = value;
11774       bitField1_ |= 0x00000100;
11775       onChanged();
11776       return this;
11777     }
11778 
11779     private java.lang.Object statusMessage_ = "";
11780     /**
11781      *
11782      *
11783      * <pre>
11784      * [Output Only] An optional, human-readable explanation of the status.
11785      * </pre>
11786      *
11787      * <code>optional string status_message = 297428154;</code>
11788      *
11789      * @return Whether the statusMessage field is set.
11790      */
hasStatusMessage()11791     public boolean hasStatusMessage() {
11792       return ((bitField1_ & 0x00000200) != 0);
11793     }
11794     /**
11795      *
11796      *
11797      * <pre>
11798      * [Output Only] An optional, human-readable explanation of the status.
11799      * </pre>
11800      *
11801      * <code>optional string status_message = 297428154;</code>
11802      *
11803      * @return The statusMessage.
11804      */
getStatusMessage()11805     public java.lang.String getStatusMessage() {
11806       java.lang.Object ref = statusMessage_;
11807       if (!(ref instanceof java.lang.String)) {
11808         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
11809         java.lang.String s = bs.toStringUtf8();
11810         statusMessage_ = s;
11811         return s;
11812       } else {
11813         return (java.lang.String) ref;
11814       }
11815     }
11816     /**
11817      *
11818      *
11819      * <pre>
11820      * [Output Only] An optional, human-readable explanation of the status.
11821      * </pre>
11822      *
11823      * <code>optional string status_message = 297428154;</code>
11824      *
11825      * @return The bytes for statusMessage.
11826      */
getStatusMessageBytes()11827     public com.google.protobuf.ByteString getStatusMessageBytes() {
11828       java.lang.Object ref = statusMessage_;
11829       if (ref instanceof String) {
11830         com.google.protobuf.ByteString b =
11831             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
11832         statusMessage_ = b;
11833         return b;
11834       } else {
11835         return (com.google.protobuf.ByteString) ref;
11836       }
11837     }
11838     /**
11839      *
11840      *
11841      * <pre>
11842      * [Output Only] An optional, human-readable explanation of the status.
11843      * </pre>
11844      *
11845      * <code>optional string status_message = 297428154;</code>
11846      *
11847      * @param value The statusMessage to set.
11848      * @return This builder for chaining.
11849      */
setStatusMessage(java.lang.String value)11850     public Builder setStatusMessage(java.lang.String value) {
11851       if (value == null) {
11852         throw new NullPointerException();
11853       }
11854       statusMessage_ = value;
11855       bitField1_ |= 0x00000200;
11856       onChanged();
11857       return this;
11858     }
11859     /**
11860      *
11861      *
11862      * <pre>
11863      * [Output Only] An optional, human-readable explanation of the status.
11864      * </pre>
11865      *
11866      * <code>optional string status_message = 297428154;</code>
11867      *
11868      * @return This builder for chaining.
11869      */
clearStatusMessage()11870     public Builder clearStatusMessage() {
11871       statusMessage_ = getDefaultInstance().getStatusMessage();
11872       bitField1_ = (bitField1_ & ~0x00000200);
11873       onChanged();
11874       return this;
11875     }
11876     /**
11877      *
11878      *
11879      * <pre>
11880      * [Output Only] An optional, human-readable explanation of the status.
11881      * </pre>
11882      *
11883      * <code>optional string status_message = 297428154;</code>
11884      *
11885      * @param value The bytes for statusMessage to set.
11886      * @return This builder for chaining.
11887      */
setStatusMessageBytes(com.google.protobuf.ByteString value)11888     public Builder setStatusMessageBytes(com.google.protobuf.ByteString value) {
11889       if (value == null) {
11890         throw new NullPointerException();
11891       }
11892       checkByteStringIsUtf8(value);
11893       statusMessage_ = value;
11894       bitField1_ |= 0x00000200;
11895       onChanged();
11896       return this;
11897     }
11898 
11899     private com.google.cloud.compute.v1.Tags tags_;
11900     private com.google.protobuf.SingleFieldBuilderV3<
11901             com.google.cloud.compute.v1.Tags,
11902             com.google.cloud.compute.v1.Tags.Builder,
11903             com.google.cloud.compute.v1.TagsOrBuilder>
11904         tagsBuilder_;
11905     /**
11906      *
11907      *
11908      * <pre>
11909      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
11910      * </pre>
11911      *
11912      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
11913      *
11914      * @return Whether the tags field is set.
11915      */
hasTags()11916     public boolean hasTags() {
11917       return ((bitField1_ & 0x00000400) != 0);
11918     }
11919     /**
11920      *
11921      *
11922      * <pre>
11923      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
11924      * </pre>
11925      *
11926      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
11927      *
11928      * @return The tags.
11929      */
getTags()11930     public com.google.cloud.compute.v1.Tags getTags() {
11931       if (tagsBuilder_ == null) {
11932         return tags_ == null ? com.google.cloud.compute.v1.Tags.getDefaultInstance() : tags_;
11933       } else {
11934         return tagsBuilder_.getMessage();
11935       }
11936     }
11937     /**
11938      *
11939      *
11940      * <pre>
11941      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
11942      * </pre>
11943      *
11944      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
11945      */
setTags(com.google.cloud.compute.v1.Tags value)11946     public Builder setTags(com.google.cloud.compute.v1.Tags value) {
11947       if (tagsBuilder_ == null) {
11948         if (value == null) {
11949           throw new NullPointerException();
11950         }
11951         tags_ = value;
11952       } else {
11953         tagsBuilder_.setMessage(value);
11954       }
11955       bitField1_ |= 0x00000400;
11956       onChanged();
11957       return this;
11958     }
11959     /**
11960      *
11961      *
11962      * <pre>
11963      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
11964      * </pre>
11965      *
11966      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
11967      */
setTags(com.google.cloud.compute.v1.Tags.Builder builderForValue)11968     public Builder setTags(com.google.cloud.compute.v1.Tags.Builder builderForValue) {
11969       if (tagsBuilder_ == null) {
11970         tags_ = builderForValue.build();
11971       } else {
11972         tagsBuilder_.setMessage(builderForValue.build());
11973       }
11974       bitField1_ |= 0x00000400;
11975       onChanged();
11976       return this;
11977     }
11978     /**
11979      *
11980      *
11981      * <pre>
11982      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
11983      * </pre>
11984      *
11985      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
11986      */
mergeTags(com.google.cloud.compute.v1.Tags value)11987     public Builder mergeTags(com.google.cloud.compute.v1.Tags value) {
11988       if (tagsBuilder_ == null) {
11989         if (((bitField1_ & 0x00000400) != 0)
11990             && tags_ != null
11991             && tags_ != com.google.cloud.compute.v1.Tags.getDefaultInstance()) {
11992           getTagsBuilder().mergeFrom(value);
11993         } else {
11994           tags_ = value;
11995         }
11996       } else {
11997         tagsBuilder_.mergeFrom(value);
11998       }
11999       bitField1_ |= 0x00000400;
12000       onChanged();
12001       return this;
12002     }
12003     /**
12004      *
12005      *
12006      * <pre>
12007      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
12008      * </pre>
12009      *
12010      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
12011      */
clearTags()12012     public Builder clearTags() {
12013       bitField1_ = (bitField1_ & ~0x00000400);
12014       tags_ = null;
12015       if (tagsBuilder_ != null) {
12016         tagsBuilder_.dispose();
12017         tagsBuilder_ = null;
12018       }
12019       onChanged();
12020       return this;
12021     }
12022     /**
12023      *
12024      *
12025      * <pre>
12026      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
12027      * </pre>
12028      *
12029      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
12030      */
getTagsBuilder()12031     public com.google.cloud.compute.v1.Tags.Builder getTagsBuilder() {
12032       bitField1_ |= 0x00000400;
12033       onChanged();
12034       return getTagsFieldBuilder().getBuilder();
12035     }
12036     /**
12037      *
12038      *
12039      * <pre>
12040      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
12041      * </pre>
12042      *
12043      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
12044      */
getTagsOrBuilder()12045     public com.google.cloud.compute.v1.TagsOrBuilder getTagsOrBuilder() {
12046       if (tagsBuilder_ != null) {
12047         return tagsBuilder_.getMessageOrBuilder();
12048       } else {
12049         return tags_ == null ? com.google.cloud.compute.v1.Tags.getDefaultInstance() : tags_;
12050       }
12051     }
12052     /**
12053      *
12054      *
12055      * <pre>
12056      * Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field.
12057      * </pre>
12058      *
12059      * <code>optional .google.cloud.compute.v1.Tags tags = 3552281;</code>
12060      */
12061     private com.google.protobuf.SingleFieldBuilderV3<
12062             com.google.cloud.compute.v1.Tags,
12063             com.google.cloud.compute.v1.Tags.Builder,
12064             com.google.cloud.compute.v1.TagsOrBuilder>
getTagsFieldBuilder()12065         getTagsFieldBuilder() {
12066       if (tagsBuilder_ == null) {
12067         tagsBuilder_ =
12068             new com.google.protobuf.SingleFieldBuilderV3<
12069                 com.google.cloud.compute.v1.Tags,
12070                 com.google.cloud.compute.v1.Tags.Builder,
12071                 com.google.cloud.compute.v1.TagsOrBuilder>(
12072                 getTags(), getParentForChildren(), isClean());
12073         tags_ = null;
12074       }
12075       return tagsBuilder_;
12076     }
12077 
12078     private java.lang.Object zone_ = "";
12079     /**
12080      *
12081      *
12082      * <pre>
12083      * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
12084      * </pre>
12085      *
12086      * <code>optional string zone = 3744684;</code>
12087      *
12088      * @return Whether the zone field is set.
12089      */
hasZone()12090     public boolean hasZone() {
12091       return ((bitField1_ & 0x00000800) != 0);
12092     }
12093     /**
12094      *
12095      *
12096      * <pre>
12097      * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
12098      * </pre>
12099      *
12100      * <code>optional string zone = 3744684;</code>
12101      *
12102      * @return The zone.
12103      */
getZone()12104     public java.lang.String getZone() {
12105       java.lang.Object ref = zone_;
12106       if (!(ref instanceof java.lang.String)) {
12107         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
12108         java.lang.String s = bs.toStringUtf8();
12109         zone_ = s;
12110         return s;
12111       } else {
12112         return (java.lang.String) ref;
12113       }
12114     }
12115     /**
12116      *
12117      *
12118      * <pre>
12119      * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
12120      * </pre>
12121      *
12122      * <code>optional string zone = 3744684;</code>
12123      *
12124      * @return The bytes for zone.
12125      */
getZoneBytes()12126     public com.google.protobuf.ByteString getZoneBytes() {
12127       java.lang.Object ref = zone_;
12128       if (ref instanceof String) {
12129         com.google.protobuf.ByteString b =
12130             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
12131         zone_ = b;
12132         return b;
12133       } else {
12134         return (com.google.protobuf.ByteString) ref;
12135       }
12136     }
12137     /**
12138      *
12139      *
12140      * <pre>
12141      * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
12142      * </pre>
12143      *
12144      * <code>optional string zone = 3744684;</code>
12145      *
12146      * @param value The zone to set.
12147      * @return This builder for chaining.
12148      */
setZone(java.lang.String value)12149     public Builder setZone(java.lang.String value) {
12150       if (value == null) {
12151         throw new NullPointerException();
12152       }
12153       zone_ = value;
12154       bitField1_ |= 0x00000800;
12155       onChanged();
12156       return this;
12157     }
12158     /**
12159      *
12160      *
12161      * <pre>
12162      * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
12163      * </pre>
12164      *
12165      * <code>optional string zone = 3744684;</code>
12166      *
12167      * @return This builder for chaining.
12168      */
clearZone()12169     public Builder clearZone() {
12170       zone_ = getDefaultInstance().getZone();
12171       bitField1_ = (bitField1_ & ~0x00000800);
12172       onChanged();
12173       return this;
12174     }
12175     /**
12176      *
12177      *
12178      * <pre>
12179      * [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
12180      * </pre>
12181      *
12182      * <code>optional string zone = 3744684;</code>
12183      *
12184      * @param value The bytes for zone to set.
12185      * @return This builder for chaining.
12186      */
setZoneBytes(com.google.protobuf.ByteString value)12187     public Builder setZoneBytes(com.google.protobuf.ByteString value) {
12188       if (value == null) {
12189         throw new NullPointerException();
12190       }
12191       checkByteStringIsUtf8(value);
12192       zone_ = value;
12193       bitField1_ |= 0x00000800;
12194       onChanged();
12195       return this;
12196     }
12197 
12198     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)12199     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
12200       return super.setUnknownFields(unknownFields);
12201     }
12202 
12203     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)12204     public final Builder mergeUnknownFields(
12205         final com.google.protobuf.UnknownFieldSet unknownFields) {
12206       return super.mergeUnknownFields(unknownFields);
12207     }
12208 
12209     // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.Instance)
12210   }
12211 
12212   // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.Instance)
12213   private static final com.google.cloud.compute.v1.Instance DEFAULT_INSTANCE;
12214 
12215   static {
12216     DEFAULT_INSTANCE = new com.google.cloud.compute.v1.Instance();
12217   }
12218 
getDefaultInstance()12219   public static com.google.cloud.compute.v1.Instance getDefaultInstance() {
12220     return DEFAULT_INSTANCE;
12221   }
12222 
12223   private static final com.google.protobuf.Parser<Instance> PARSER =
12224       new com.google.protobuf.AbstractParser<Instance>() {
12225         @java.lang.Override
12226         public Instance parsePartialFrom(
12227             com.google.protobuf.CodedInputStream input,
12228             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12229             throws com.google.protobuf.InvalidProtocolBufferException {
12230           Builder builder = newBuilder();
12231           try {
12232             builder.mergeFrom(input, extensionRegistry);
12233           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12234             throw e.setUnfinishedMessage(builder.buildPartial());
12235           } catch (com.google.protobuf.UninitializedMessageException e) {
12236             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
12237           } catch (java.io.IOException e) {
12238             throw new com.google.protobuf.InvalidProtocolBufferException(e)
12239                 .setUnfinishedMessage(builder.buildPartial());
12240           }
12241           return builder.buildPartial();
12242         }
12243       };
12244 
parser()12245   public static com.google.protobuf.Parser<Instance> parser() {
12246     return PARSER;
12247   }
12248 
12249   @java.lang.Override
getParserForType()12250   public com.google.protobuf.Parser<Instance> getParserForType() {
12251     return PARSER;
12252   }
12253 
12254   @java.lang.Override
getDefaultInstanceForType()12255   public com.google.cloud.compute.v1.Instance getDefaultInstanceForType() {
12256     return DEFAULT_INSTANCE;
12257   }
12258 }
12259