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