• 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  * A network interface resource attached to an instance.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.compute.v1.NetworkInterface}
29  */
30 public final class NetworkInterface extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.NetworkInterface)
33     NetworkInterfaceOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use NetworkInterface.newBuilder() to construct.
NetworkInterface(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private NetworkInterface(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
NetworkInterface()40   private NetworkInterface() {
41     accessConfigs_ = java.util.Collections.emptyList();
42     aliasIpRanges_ = java.util.Collections.emptyList();
43     fingerprint_ = "";
44     ipv6AccessConfigs_ = java.util.Collections.emptyList();
45     ipv6AccessType_ = "";
46     ipv6Address_ = "";
47     kind_ = "";
48     name_ = "";
49     network_ = "";
50     networkAttachment_ = "";
51     networkIP_ = "";
52     nicType_ = "";
53     stackType_ = "";
54     subnetwork_ = "";
55   }
56 
57   @java.lang.Override
58   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)59   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
60     return new NetworkInterface();
61   }
62 
63   @java.lang.Override
getUnknownFields()64   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
65     return this.unknownFields;
66   }
67 
getDescriptor()68   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
69     return com.google.cloud.compute.v1.Compute
70         .internal_static_google_cloud_compute_v1_NetworkInterface_descriptor;
71   }
72 
73   @java.lang.Override
74   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()75       internalGetFieldAccessorTable() {
76     return com.google.cloud.compute.v1.Compute
77         .internal_static_google_cloud_compute_v1_NetworkInterface_fieldAccessorTable
78         .ensureFieldAccessorsInitialized(
79             com.google.cloud.compute.v1.NetworkInterface.class,
80             com.google.cloud.compute.v1.NetworkInterface.Builder.class);
81   }
82 
83   /**
84    *
85    *
86    * <pre>
87    * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
88    * </pre>
89    *
90    * Protobuf enum {@code google.cloud.compute.v1.NetworkInterface.Ipv6AccessType}
91    */
92   public enum Ipv6AccessType implements com.google.protobuf.ProtocolMessageEnum {
93     /**
94      *
95      *
96      * <pre>
97      * A value indicating that the enum field is not set.
98      * </pre>
99      *
100      * <code>UNDEFINED_IPV6_ACCESS_TYPE = 0;</code>
101      */
102     UNDEFINED_IPV6_ACCESS_TYPE(0),
103     /**
104      *
105      *
106      * <pre>
107      * This network interface can have external IPv6.
108      * </pre>
109      *
110      * <code>EXTERNAL = 35607499;</code>
111      */
112     EXTERNAL(35607499),
113     /**
114      *
115      *
116      * <pre>
117      * This network interface can have internal IPv6.
118      * </pre>
119      *
120      * <code>INTERNAL = 279295677;</code>
121      */
122     INTERNAL(279295677),
123     /** <code>UNSPECIFIED_IPV6_ACCESS_TYPE = 313080613;</code> */
124     UNSPECIFIED_IPV6_ACCESS_TYPE(313080613),
125     UNRECOGNIZED(-1),
126     ;
127 
128     /**
129      *
130      *
131      * <pre>
132      * A value indicating that the enum field is not set.
133      * </pre>
134      *
135      * <code>UNDEFINED_IPV6_ACCESS_TYPE = 0;</code>
136      */
137     public static final int UNDEFINED_IPV6_ACCESS_TYPE_VALUE = 0;
138     /**
139      *
140      *
141      * <pre>
142      * This network interface can have external IPv6.
143      * </pre>
144      *
145      * <code>EXTERNAL = 35607499;</code>
146      */
147     public static final int EXTERNAL_VALUE = 35607499;
148     /**
149      *
150      *
151      * <pre>
152      * This network interface can have internal IPv6.
153      * </pre>
154      *
155      * <code>INTERNAL = 279295677;</code>
156      */
157     public static final int INTERNAL_VALUE = 279295677;
158     /** <code>UNSPECIFIED_IPV6_ACCESS_TYPE = 313080613;</code> */
159     public static final int UNSPECIFIED_IPV6_ACCESS_TYPE_VALUE = 313080613;
160 
getNumber()161     public final int getNumber() {
162       if (this == UNRECOGNIZED) {
163         throw new java.lang.IllegalArgumentException(
164             "Can't get the number of an unknown enum value.");
165       }
166       return value;
167     }
168 
169     /**
170      * @param value The numeric wire value of the corresponding enum entry.
171      * @return The enum associated with the given numeric wire value.
172      * @deprecated Use {@link #forNumber(int)} instead.
173      */
174     @java.lang.Deprecated
valueOf(int value)175     public static Ipv6AccessType valueOf(int value) {
176       return forNumber(value);
177     }
178 
179     /**
180      * @param value The numeric wire value of the corresponding enum entry.
181      * @return The enum associated with the given numeric wire value.
182      */
forNumber(int value)183     public static Ipv6AccessType forNumber(int value) {
184       switch (value) {
185         case 0:
186           return UNDEFINED_IPV6_ACCESS_TYPE;
187         case 35607499:
188           return EXTERNAL;
189         case 279295677:
190           return INTERNAL;
191         case 313080613:
192           return UNSPECIFIED_IPV6_ACCESS_TYPE;
193         default:
194           return null;
195       }
196     }
197 
internalGetValueMap()198     public static com.google.protobuf.Internal.EnumLiteMap<Ipv6AccessType> internalGetValueMap() {
199       return internalValueMap;
200     }
201 
202     private static final com.google.protobuf.Internal.EnumLiteMap<Ipv6AccessType> internalValueMap =
203         new com.google.protobuf.Internal.EnumLiteMap<Ipv6AccessType>() {
204           public Ipv6AccessType findValueByNumber(int number) {
205             return Ipv6AccessType.forNumber(number);
206           }
207         };
208 
getValueDescriptor()209     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
210       if (this == UNRECOGNIZED) {
211         throw new java.lang.IllegalStateException(
212             "Can't get the descriptor of an unrecognized enum value.");
213       }
214       return getDescriptor().getValues().get(ordinal());
215     }
216 
getDescriptorForType()217     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
218       return getDescriptor();
219     }
220 
getDescriptor()221     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
222       return com.google.cloud.compute.v1.NetworkInterface.getDescriptor().getEnumTypes().get(0);
223     }
224 
225     private static final Ipv6AccessType[] VALUES = values();
226 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)227     public static Ipv6AccessType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
228       if (desc.getType() != getDescriptor()) {
229         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
230       }
231       if (desc.getIndex() == -1) {
232         return UNRECOGNIZED;
233       }
234       return VALUES[desc.getIndex()];
235     }
236 
237     private final int value;
238 
Ipv6AccessType(int value)239     private Ipv6AccessType(int value) {
240       this.value = value;
241     }
242 
243     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.NetworkInterface.Ipv6AccessType)
244   }
245 
246   /**
247    *
248    *
249    * <pre>
250    * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
251    * </pre>
252    *
253    * Protobuf enum {@code google.cloud.compute.v1.NetworkInterface.NicType}
254    */
255   public enum NicType implements com.google.protobuf.ProtocolMessageEnum {
256     /**
257      *
258      *
259      * <pre>
260      * A value indicating that the enum field is not set.
261      * </pre>
262      *
263      * <code>UNDEFINED_NIC_TYPE = 0;</code>
264      */
265     UNDEFINED_NIC_TYPE(0),
266     /**
267      *
268      *
269      * <pre>
270      * GVNIC
271      * </pre>
272      *
273      * <code>GVNIC = 68209305;</code>
274      */
275     GVNIC(68209305),
276     /**
277      *
278      *
279      * <pre>
280      * No type specified.
281      * </pre>
282      *
283      * <code>UNSPECIFIED_NIC_TYPE = 67411801;</code>
284      */
285     UNSPECIFIED_NIC_TYPE(67411801),
286     /**
287      *
288      *
289      * <pre>
290      * VIRTIO
291      * </pre>
292      *
293      * <code>VIRTIO_NET = 452123481;</code>
294      */
295     VIRTIO_NET(452123481),
296     UNRECOGNIZED(-1),
297     ;
298 
299     /**
300      *
301      *
302      * <pre>
303      * A value indicating that the enum field is not set.
304      * </pre>
305      *
306      * <code>UNDEFINED_NIC_TYPE = 0;</code>
307      */
308     public static final int UNDEFINED_NIC_TYPE_VALUE = 0;
309     /**
310      *
311      *
312      * <pre>
313      * GVNIC
314      * </pre>
315      *
316      * <code>GVNIC = 68209305;</code>
317      */
318     public static final int GVNIC_VALUE = 68209305;
319     /**
320      *
321      *
322      * <pre>
323      * No type specified.
324      * </pre>
325      *
326      * <code>UNSPECIFIED_NIC_TYPE = 67411801;</code>
327      */
328     public static final int UNSPECIFIED_NIC_TYPE_VALUE = 67411801;
329     /**
330      *
331      *
332      * <pre>
333      * VIRTIO
334      * </pre>
335      *
336      * <code>VIRTIO_NET = 452123481;</code>
337      */
338     public static final int VIRTIO_NET_VALUE = 452123481;
339 
getNumber()340     public final int getNumber() {
341       if (this == UNRECOGNIZED) {
342         throw new java.lang.IllegalArgumentException(
343             "Can't get the number of an unknown enum value.");
344       }
345       return value;
346     }
347 
348     /**
349      * @param value The numeric wire value of the corresponding enum entry.
350      * @return The enum associated with the given numeric wire value.
351      * @deprecated Use {@link #forNumber(int)} instead.
352      */
353     @java.lang.Deprecated
valueOf(int value)354     public static NicType valueOf(int value) {
355       return forNumber(value);
356     }
357 
358     /**
359      * @param value The numeric wire value of the corresponding enum entry.
360      * @return The enum associated with the given numeric wire value.
361      */
forNumber(int value)362     public static NicType forNumber(int value) {
363       switch (value) {
364         case 0:
365           return UNDEFINED_NIC_TYPE;
366         case 68209305:
367           return GVNIC;
368         case 67411801:
369           return UNSPECIFIED_NIC_TYPE;
370         case 452123481:
371           return VIRTIO_NET;
372         default:
373           return null;
374       }
375     }
376 
internalGetValueMap()377     public static com.google.protobuf.Internal.EnumLiteMap<NicType> internalGetValueMap() {
378       return internalValueMap;
379     }
380 
381     private static final com.google.protobuf.Internal.EnumLiteMap<NicType> internalValueMap =
382         new com.google.protobuf.Internal.EnumLiteMap<NicType>() {
383           public NicType findValueByNumber(int number) {
384             return NicType.forNumber(number);
385           }
386         };
387 
getValueDescriptor()388     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
389       if (this == UNRECOGNIZED) {
390         throw new java.lang.IllegalStateException(
391             "Can't get the descriptor of an unrecognized enum value.");
392       }
393       return getDescriptor().getValues().get(ordinal());
394     }
395 
getDescriptorForType()396     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
397       return getDescriptor();
398     }
399 
getDescriptor()400     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
401       return com.google.cloud.compute.v1.NetworkInterface.getDescriptor().getEnumTypes().get(1);
402     }
403 
404     private static final NicType[] VALUES = values();
405 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)406     public static NicType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
407       if (desc.getType() != getDescriptor()) {
408         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
409       }
410       if (desc.getIndex() == -1) {
411         return UNRECOGNIZED;
412       }
413       return VALUES[desc.getIndex()];
414     }
415 
416     private final int value;
417 
NicType(int value)418     private NicType(int value) {
419       this.value = value;
420     }
421 
422     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.NetworkInterface.NicType)
423   }
424 
425   /**
426    *
427    *
428    * <pre>
429    * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
430    * </pre>
431    *
432    * Protobuf enum {@code google.cloud.compute.v1.NetworkInterface.StackType}
433    */
434   public enum StackType implements com.google.protobuf.ProtocolMessageEnum {
435     /**
436      *
437      *
438      * <pre>
439      * A value indicating that the enum field is not set.
440      * </pre>
441      *
442      * <code>UNDEFINED_STACK_TYPE = 0;</code>
443      */
444     UNDEFINED_STACK_TYPE(0),
445     /**
446      *
447      *
448      * <pre>
449      * The network interface can have both IPv4 and IPv6 addresses.
450      * </pre>
451      *
452      * <code>IPV4_IPV6 = 22197249;</code>
453      */
454     IPV4_IPV6(22197249),
455     /**
456      *
457      *
458      * <pre>
459      * The network interface will be assigned IPv4 address.
460      * </pre>
461      *
462      * <code>IPV4_ONLY = 22373798;</code>
463      */
464     IPV4_ONLY(22373798),
465     /** <code>UNSPECIFIED_STACK_TYPE = 298084569;</code> */
466     UNSPECIFIED_STACK_TYPE(298084569),
467     UNRECOGNIZED(-1),
468     ;
469 
470     /**
471      *
472      *
473      * <pre>
474      * A value indicating that the enum field is not set.
475      * </pre>
476      *
477      * <code>UNDEFINED_STACK_TYPE = 0;</code>
478      */
479     public static final int UNDEFINED_STACK_TYPE_VALUE = 0;
480     /**
481      *
482      *
483      * <pre>
484      * The network interface can have both IPv4 and IPv6 addresses.
485      * </pre>
486      *
487      * <code>IPV4_IPV6 = 22197249;</code>
488      */
489     public static final int IPV4_IPV6_VALUE = 22197249;
490     /**
491      *
492      *
493      * <pre>
494      * The network interface will be assigned IPv4 address.
495      * </pre>
496      *
497      * <code>IPV4_ONLY = 22373798;</code>
498      */
499     public static final int IPV4_ONLY_VALUE = 22373798;
500     /** <code>UNSPECIFIED_STACK_TYPE = 298084569;</code> */
501     public static final int UNSPECIFIED_STACK_TYPE_VALUE = 298084569;
502 
getNumber()503     public final int getNumber() {
504       if (this == UNRECOGNIZED) {
505         throw new java.lang.IllegalArgumentException(
506             "Can't get the number of an unknown enum value.");
507       }
508       return value;
509     }
510 
511     /**
512      * @param value The numeric wire value of the corresponding enum entry.
513      * @return The enum associated with the given numeric wire value.
514      * @deprecated Use {@link #forNumber(int)} instead.
515      */
516     @java.lang.Deprecated
valueOf(int value)517     public static StackType valueOf(int value) {
518       return forNumber(value);
519     }
520 
521     /**
522      * @param value The numeric wire value of the corresponding enum entry.
523      * @return The enum associated with the given numeric wire value.
524      */
forNumber(int value)525     public static StackType forNumber(int value) {
526       switch (value) {
527         case 0:
528           return UNDEFINED_STACK_TYPE;
529         case 22197249:
530           return IPV4_IPV6;
531         case 22373798:
532           return IPV4_ONLY;
533         case 298084569:
534           return UNSPECIFIED_STACK_TYPE;
535         default:
536           return null;
537       }
538     }
539 
internalGetValueMap()540     public static com.google.protobuf.Internal.EnumLiteMap<StackType> internalGetValueMap() {
541       return internalValueMap;
542     }
543 
544     private static final com.google.protobuf.Internal.EnumLiteMap<StackType> internalValueMap =
545         new com.google.protobuf.Internal.EnumLiteMap<StackType>() {
546           public StackType findValueByNumber(int number) {
547             return StackType.forNumber(number);
548           }
549         };
550 
getValueDescriptor()551     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
552       if (this == UNRECOGNIZED) {
553         throw new java.lang.IllegalStateException(
554             "Can't get the descriptor of an unrecognized enum value.");
555       }
556       return getDescriptor().getValues().get(ordinal());
557     }
558 
getDescriptorForType()559     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
560       return getDescriptor();
561     }
562 
getDescriptor()563     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
564       return com.google.cloud.compute.v1.NetworkInterface.getDescriptor().getEnumTypes().get(2);
565     }
566 
567     private static final StackType[] VALUES = values();
568 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)569     public static StackType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
570       if (desc.getType() != getDescriptor()) {
571         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
572       }
573       if (desc.getIndex() == -1) {
574         return UNRECOGNIZED;
575       }
576       return VALUES[desc.getIndex()];
577     }
578 
579     private final int value;
580 
StackType(int value)581     private StackType(int value) {
582       this.value = value;
583     }
584 
585     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.NetworkInterface.StackType)
586   }
587 
588   private int bitField0_;
589   public static final int ACCESS_CONFIGS_FIELD_NUMBER = 111058326;
590 
591   @SuppressWarnings("serial")
592   private java.util.List<com.google.cloud.compute.v1.AccessConfig> accessConfigs_;
593   /**
594    *
595    *
596    * <pre>
597    * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
598    * </pre>
599    *
600    * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
601    */
602   @java.lang.Override
getAccessConfigsList()603   public java.util.List<com.google.cloud.compute.v1.AccessConfig> getAccessConfigsList() {
604     return accessConfigs_;
605   }
606   /**
607    *
608    *
609    * <pre>
610    * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
611    * </pre>
612    *
613    * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
614    */
615   @java.lang.Override
616   public java.util.List<? extends com.google.cloud.compute.v1.AccessConfigOrBuilder>
getAccessConfigsOrBuilderList()617       getAccessConfigsOrBuilderList() {
618     return accessConfigs_;
619   }
620   /**
621    *
622    *
623    * <pre>
624    * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
625    * </pre>
626    *
627    * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
628    */
629   @java.lang.Override
getAccessConfigsCount()630   public int getAccessConfigsCount() {
631     return accessConfigs_.size();
632   }
633   /**
634    *
635    *
636    * <pre>
637    * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
638    * </pre>
639    *
640    * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
641    */
642   @java.lang.Override
getAccessConfigs(int index)643   public com.google.cloud.compute.v1.AccessConfig getAccessConfigs(int index) {
644     return accessConfigs_.get(index);
645   }
646   /**
647    *
648    *
649    * <pre>
650    * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
651    * </pre>
652    *
653    * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
654    */
655   @java.lang.Override
getAccessConfigsOrBuilder(int index)656   public com.google.cloud.compute.v1.AccessConfigOrBuilder getAccessConfigsOrBuilder(int index) {
657     return accessConfigs_.get(index);
658   }
659 
660   public static final int ALIAS_IP_RANGES_FIELD_NUMBER = 165085631;
661 
662   @SuppressWarnings("serial")
663   private java.util.List<com.google.cloud.compute.v1.AliasIpRange> aliasIpRanges_;
664   /**
665    *
666    *
667    * <pre>
668    * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
669    * </pre>
670    *
671    * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
672    */
673   @java.lang.Override
getAliasIpRangesList()674   public java.util.List<com.google.cloud.compute.v1.AliasIpRange> getAliasIpRangesList() {
675     return aliasIpRanges_;
676   }
677   /**
678    *
679    *
680    * <pre>
681    * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
682    * </pre>
683    *
684    * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
685    */
686   @java.lang.Override
687   public java.util.List<? extends com.google.cloud.compute.v1.AliasIpRangeOrBuilder>
getAliasIpRangesOrBuilderList()688       getAliasIpRangesOrBuilderList() {
689     return aliasIpRanges_;
690   }
691   /**
692    *
693    *
694    * <pre>
695    * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
696    * </pre>
697    *
698    * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
699    */
700   @java.lang.Override
getAliasIpRangesCount()701   public int getAliasIpRangesCount() {
702     return aliasIpRanges_.size();
703   }
704   /**
705    *
706    *
707    * <pre>
708    * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
709    * </pre>
710    *
711    * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
712    */
713   @java.lang.Override
getAliasIpRanges(int index)714   public com.google.cloud.compute.v1.AliasIpRange getAliasIpRanges(int index) {
715     return aliasIpRanges_.get(index);
716   }
717   /**
718    *
719    *
720    * <pre>
721    * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
722    * </pre>
723    *
724    * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
725    */
726   @java.lang.Override
getAliasIpRangesOrBuilder(int index)727   public com.google.cloud.compute.v1.AliasIpRangeOrBuilder getAliasIpRangesOrBuilder(int index) {
728     return aliasIpRanges_.get(index);
729   }
730 
731   public static final int FINGERPRINT_FIELD_NUMBER = 234678500;
732 
733   @SuppressWarnings("serial")
734   private volatile java.lang.Object fingerprint_ = "";
735   /**
736    *
737    *
738    * <pre>
739    * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
740    * </pre>
741    *
742    * <code>optional string fingerprint = 234678500;</code>
743    *
744    * @return Whether the fingerprint field is set.
745    */
746   @java.lang.Override
hasFingerprint()747   public boolean hasFingerprint() {
748     return ((bitField0_ & 0x00000001) != 0);
749   }
750   /**
751    *
752    *
753    * <pre>
754    * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
755    * </pre>
756    *
757    * <code>optional string fingerprint = 234678500;</code>
758    *
759    * @return The fingerprint.
760    */
761   @java.lang.Override
getFingerprint()762   public java.lang.String getFingerprint() {
763     java.lang.Object ref = fingerprint_;
764     if (ref instanceof java.lang.String) {
765       return (java.lang.String) ref;
766     } else {
767       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
768       java.lang.String s = bs.toStringUtf8();
769       fingerprint_ = s;
770       return s;
771     }
772   }
773   /**
774    *
775    *
776    * <pre>
777    * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
778    * </pre>
779    *
780    * <code>optional string fingerprint = 234678500;</code>
781    *
782    * @return The bytes for fingerprint.
783    */
784   @java.lang.Override
getFingerprintBytes()785   public com.google.protobuf.ByteString getFingerprintBytes() {
786     java.lang.Object ref = fingerprint_;
787     if (ref instanceof java.lang.String) {
788       com.google.protobuf.ByteString b =
789           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
790       fingerprint_ = b;
791       return b;
792     } else {
793       return (com.google.protobuf.ByteString) ref;
794     }
795   }
796 
797   public static final int INTERNAL_IPV6_PREFIX_LENGTH_FIELD_NUMBER = 203833757;
798   private int internalIpv6PrefixLength_ = 0;
799   /**
800    *
801    *
802    * <pre>
803    * The prefix length of the primary internal IPv6 range.
804    * </pre>
805    *
806    * <code>optional int32 internal_ipv6_prefix_length = 203833757;</code>
807    *
808    * @return Whether the internalIpv6PrefixLength field is set.
809    */
810   @java.lang.Override
hasInternalIpv6PrefixLength()811   public boolean hasInternalIpv6PrefixLength() {
812     return ((bitField0_ & 0x00000002) != 0);
813   }
814   /**
815    *
816    *
817    * <pre>
818    * The prefix length of the primary internal IPv6 range.
819    * </pre>
820    *
821    * <code>optional int32 internal_ipv6_prefix_length = 203833757;</code>
822    *
823    * @return The internalIpv6PrefixLength.
824    */
825   @java.lang.Override
getInternalIpv6PrefixLength()826   public int getInternalIpv6PrefixLength() {
827     return internalIpv6PrefixLength_;
828   }
829 
830   public static final int IPV6_ACCESS_CONFIGS_FIELD_NUMBER = 483472110;
831 
832   @SuppressWarnings("serial")
833   private java.util.List<com.google.cloud.compute.v1.AccessConfig> ipv6AccessConfigs_;
834   /**
835    *
836    *
837    * <pre>
838    * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
839    * </pre>
840    *
841    * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
842    */
843   @java.lang.Override
getIpv6AccessConfigsList()844   public java.util.List<com.google.cloud.compute.v1.AccessConfig> getIpv6AccessConfigsList() {
845     return ipv6AccessConfigs_;
846   }
847   /**
848    *
849    *
850    * <pre>
851    * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
852    * </pre>
853    *
854    * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
855    */
856   @java.lang.Override
857   public java.util.List<? extends com.google.cloud.compute.v1.AccessConfigOrBuilder>
getIpv6AccessConfigsOrBuilderList()858       getIpv6AccessConfigsOrBuilderList() {
859     return ipv6AccessConfigs_;
860   }
861   /**
862    *
863    *
864    * <pre>
865    * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
866    * </pre>
867    *
868    * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
869    */
870   @java.lang.Override
getIpv6AccessConfigsCount()871   public int getIpv6AccessConfigsCount() {
872     return ipv6AccessConfigs_.size();
873   }
874   /**
875    *
876    *
877    * <pre>
878    * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
879    * </pre>
880    *
881    * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
882    */
883   @java.lang.Override
getIpv6AccessConfigs(int index)884   public com.google.cloud.compute.v1.AccessConfig getIpv6AccessConfigs(int index) {
885     return ipv6AccessConfigs_.get(index);
886   }
887   /**
888    *
889    *
890    * <pre>
891    * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
892    * </pre>
893    *
894    * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
895    */
896   @java.lang.Override
getIpv6AccessConfigsOrBuilder( int index)897   public com.google.cloud.compute.v1.AccessConfigOrBuilder getIpv6AccessConfigsOrBuilder(
898       int index) {
899     return ipv6AccessConfigs_.get(index);
900   }
901 
902   public static final int IPV6_ACCESS_TYPE_FIELD_NUMBER = 504658653;
903 
904   @SuppressWarnings("serial")
905   private volatile java.lang.Object ipv6AccessType_ = "";
906   /**
907    *
908    *
909    * <pre>
910    * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
911    * Check the Ipv6AccessType enum for the list of possible values.
912    * </pre>
913    *
914    * <code>optional string ipv6_access_type = 504658653;</code>
915    *
916    * @return Whether the ipv6AccessType field is set.
917    */
918   @java.lang.Override
hasIpv6AccessType()919   public boolean hasIpv6AccessType() {
920     return ((bitField0_ & 0x00000004) != 0);
921   }
922   /**
923    *
924    *
925    * <pre>
926    * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
927    * Check the Ipv6AccessType enum for the list of possible values.
928    * </pre>
929    *
930    * <code>optional string ipv6_access_type = 504658653;</code>
931    *
932    * @return The ipv6AccessType.
933    */
934   @java.lang.Override
getIpv6AccessType()935   public java.lang.String getIpv6AccessType() {
936     java.lang.Object ref = ipv6AccessType_;
937     if (ref instanceof java.lang.String) {
938       return (java.lang.String) ref;
939     } else {
940       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
941       java.lang.String s = bs.toStringUtf8();
942       ipv6AccessType_ = s;
943       return s;
944     }
945   }
946   /**
947    *
948    *
949    * <pre>
950    * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
951    * Check the Ipv6AccessType enum for the list of possible values.
952    * </pre>
953    *
954    * <code>optional string ipv6_access_type = 504658653;</code>
955    *
956    * @return The bytes for ipv6AccessType.
957    */
958   @java.lang.Override
getIpv6AccessTypeBytes()959   public com.google.protobuf.ByteString getIpv6AccessTypeBytes() {
960     java.lang.Object ref = ipv6AccessType_;
961     if (ref instanceof java.lang.String) {
962       com.google.protobuf.ByteString b =
963           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
964       ipv6AccessType_ = b;
965       return b;
966     } else {
967       return (com.google.protobuf.ByteString) ref;
968     }
969   }
970 
971   public static final int IPV6_ADDRESS_FIELD_NUMBER = 341563804;
972 
973   @SuppressWarnings("serial")
974   private volatile java.lang.Object ipv6Address_ = "";
975   /**
976    *
977    *
978    * <pre>
979    * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
980    * </pre>
981    *
982    * <code>optional string ipv6_address = 341563804;</code>
983    *
984    * @return Whether the ipv6Address field is set.
985    */
986   @java.lang.Override
hasIpv6Address()987   public boolean hasIpv6Address() {
988     return ((bitField0_ & 0x00000008) != 0);
989   }
990   /**
991    *
992    *
993    * <pre>
994    * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
995    * </pre>
996    *
997    * <code>optional string ipv6_address = 341563804;</code>
998    *
999    * @return The ipv6Address.
1000    */
1001   @java.lang.Override
getIpv6Address()1002   public java.lang.String getIpv6Address() {
1003     java.lang.Object ref = ipv6Address_;
1004     if (ref instanceof java.lang.String) {
1005       return (java.lang.String) ref;
1006     } else {
1007       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1008       java.lang.String s = bs.toStringUtf8();
1009       ipv6Address_ = s;
1010       return s;
1011     }
1012   }
1013   /**
1014    *
1015    *
1016    * <pre>
1017    * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
1018    * </pre>
1019    *
1020    * <code>optional string ipv6_address = 341563804;</code>
1021    *
1022    * @return The bytes for ipv6Address.
1023    */
1024   @java.lang.Override
getIpv6AddressBytes()1025   public com.google.protobuf.ByteString getIpv6AddressBytes() {
1026     java.lang.Object ref = ipv6Address_;
1027     if (ref instanceof java.lang.String) {
1028       com.google.protobuf.ByteString b =
1029           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1030       ipv6Address_ = b;
1031       return b;
1032     } else {
1033       return (com.google.protobuf.ByteString) ref;
1034     }
1035   }
1036 
1037   public static final int KIND_FIELD_NUMBER = 3292052;
1038 
1039   @SuppressWarnings("serial")
1040   private volatile java.lang.Object kind_ = "";
1041   /**
1042    *
1043    *
1044    * <pre>
1045    * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
1046    * </pre>
1047    *
1048    * <code>optional string kind = 3292052;</code>
1049    *
1050    * @return Whether the kind field is set.
1051    */
1052   @java.lang.Override
hasKind()1053   public boolean hasKind() {
1054     return ((bitField0_ & 0x00000010) != 0);
1055   }
1056   /**
1057    *
1058    *
1059    * <pre>
1060    * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
1061    * </pre>
1062    *
1063    * <code>optional string kind = 3292052;</code>
1064    *
1065    * @return The kind.
1066    */
1067   @java.lang.Override
getKind()1068   public java.lang.String getKind() {
1069     java.lang.Object ref = kind_;
1070     if (ref instanceof java.lang.String) {
1071       return (java.lang.String) ref;
1072     } else {
1073       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1074       java.lang.String s = bs.toStringUtf8();
1075       kind_ = s;
1076       return s;
1077     }
1078   }
1079   /**
1080    *
1081    *
1082    * <pre>
1083    * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
1084    * </pre>
1085    *
1086    * <code>optional string kind = 3292052;</code>
1087    *
1088    * @return The bytes for kind.
1089    */
1090   @java.lang.Override
getKindBytes()1091   public com.google.protobuf.ByteString getKindBytes() {
1092     java.lang.Object ref = kind_;
1093     if (ref instanceof java.lang.String) {
1094       com.google.protobuf.ByteString b =
1095           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1096       kind_ = b;
1097       return b;
1098     } else {
1099       return (com.google.protobuf.ByteString) ref;
1100     }
1101   }
1102 
1103   public static final int NAME_FIELD_NUMBER = 3373707;
1104 
1105   @SuppressWarnings("serial")
1106   private volatile java.lang.Object name_ = "";
1107   /**
1108    *
1109    *
1110    * <pre>
1111    * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
1112    * </pre>
1113    *
1114    * <code>optional string name = 3373707;</code>
1115    *
1116    * @return Whether the name field is set.
1117    */
1118   @java.lang.Override
hasName()1119   public boolean hasName() {
1120     return ((bitField0_ & 0x00000020) != 0);
1121   }
1122   /**
1123    *
1124    *
1125    * <pre>
1126    * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
1127    * </pre>
1128    *
1129    * <code>optional string name = 3373707;</code>
1130    *
1131    * @return The name.
1132    */
1133   @java.lang.Override
getName()1134   public java.lang.String getName() {
1135     java.lang.Object ref = name_;
1136     if (ref instanceof java.lang.String) {
1137       return (java.lang.String) ref;
1138     } else {
1139       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1140       java.lang.String s = bs.toStringUtf8();
1141       name_ = s;
1142       return s;
1143     }
1144   }
1145   /**
1146    *
1147    *
1148    * <pre>
1149    * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
1150    * </pre>
1151    *
1152    * <code>optional string name = 3373707;</code>
1153    *
1154    * @return The bytes for name.
1155    */
1156   @java.lang.Override
getNameBytes()1157   public com.google.protobuf.ByteString getNameBytes() {
1158     java.lang.Object ref = name_;
1159     if (ref instanceof java.lang.String) {
1160       com.google.protobuf.ByteString b =
1161           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1162       name_ = b;
1163       return b;
1164     } else {
1165       return (com.google.protobuf.ByteString) ref;
1166     }
1167   }
1168 
1169   public static final int NETWORK_FIELD_NUMBER = 232872494;
1170 
1171   @SuppressWarnings("serial")
1172   private volatile java.lang.Object network_ = "";
1173   /**
1174    *
1175    *
1176    * <pre>
1177    * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
1178    * </pre>
1179    *
1180    * <code>optional string network = 232872494;</code>
1181    *
1182    * @return Whether the network field is set.
1183    */
1184   @java.lang.Override
hasNetwork()1185   public boolean hasNetwork() {
1186     return ((bitField0_ & 0x00000040) != 0);
1187   }
1188   /**
1189    *
1190    *
1191    * <pre>
1192    * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
1193    * </pre>
1194    *
1195    * <code>optional string network = 232872494;</code>
1196    *
1197    * @return The network.
1198    */
1199   @java.lang.Override
getNetwork()1200   public java.lang.String getNetwork() {
1201     java.lang.Object ref = network_;
1202     if (ref instanceof java.lang.String) {
1203       return (java.lang.String) ref;
1204     } else {
1205       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1206       java.lang.String s = bs.toStringUtf8();
1207       network_ = s;
1208       return s;
1209     }
1210   }
1211   /**
1212    *
1213    *
1214    * <pre>
1215    * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
1216    * </pre>
1217    *
1218    * <code>optional string network = 232872494;</code>
1219    *
1220    * @return The bytes for network.
1221    */
1222   @java.lang.Override
getNetworkBytes()1223   public com.google.protobuf.ByteString getNetworkBytes() {
1224     java.lang.Object ref = network_;
1225     if (ref instanceof java.lang.String) {
1226       com.google.protobuf.ByteString b =
1227           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1228       network_ = b;
1229       return b;
1230     } else {
1231       return (com.google.protobuf.ByteString) ref;
1232     }
1233   }
1234 
1235   public static final int NETWORK_ATTACHMENT_FIELD_NUMBER = 224644052;
1236 
1237   @SuppressWarnings("serial")
1238   private volatile java.lang.Object networkAttachment_ = "";
1239   /**
1240    *
1241    *
1242    * <pre>
1243    * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
1244    * </pre>
1245    *
1246    * <code>optional string network_attachment = 224644052;</code>
1247    *
1248    * @return Whether the networkAttachment field is set.
1249    */
1250   @java.lang.Override
hasNetworkAttachment()1251   public boolean hasNetworkAttachment() {
1252     return ((bitField0_ & 0x00000080) != 0);
1253   }
1254   /**
1255    *
1256    *
1257    * <pre>
1258    * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
1259    * </pre>
1260    *
1261    * <code>optional string network_attachment = 224644052;</code>
1262    *
1263    * @return The networkAttachment.
1264    */
1265   @java.lang.Override
getNetworkAttachment()1266   public java.lang.String getNetworkAttachment() {
1267     java.lang.Object ref = networkAttachment_;
1268     if (ref instanceof java.lang.String) {
1269       return (java.lang.String) ref;
1270     } else {
1271       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1272       java.lang.String s = bs.toStringUtf8();
1273       networkAttachment_ = s;
1274       return s;
1275     }
1276   }
1277   /**
1278    *
1279    *
1280    * <pre>
1281    * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
1282    * </pre>
1283    *
1284    * <code>optional string network_attachment = 224644052;</code>
1285    *
1286    * @return The bytes for networkAttachment.
1287    */
1288   @java.lang.Override
getNetworkAttachmentBytes()1289   public com.google.protobuf.ByteString getNetworkAttachmentBytes() {
1290     java.lang.Object ref = networkAttachment_;
1291     if (ref instanceof java.lang.String) {
1292       com.google.protobuf.ByteString b =
1293           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1294       networkAttachment_ = b;
1295       return b;
1296     } else {
1297       return (com.google.protobuf.ByteString) ref;
1298     }
1299   }
1300 
1301   public static final int NETWORK_I_P_FIELD_NUMBER = 207181961;
1302 
1303   @SuppressWarnings("serial")
1304   private volatile java.lang.Object networkIP_ = "";
1305   /**
1306    *
1307    *
1308    * <pre>
1309    * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
1310    * </pre>
1311    *
1312    * <code>optional string network_i_p = 207181961;</code>
1313    *
1314    * @return Whether the networkIP field is set.
1315    */
1316   @java.lang.Override
hasNetworkIP()1317   public boolean hasNetworkIP() {
1318     return ((bitField0_ & 0x00000100) != 0);
1319   }
1320   /**
1321    *
1322    *
1323    * <pre>
1324    * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
1325    * </pre>
1326    *
1327    * <code>optional string network_i_p = 207181961;</code>
1328    *
1329    * @return The networkIP.
1330    */
1331   @java.lang.Override
getNetworkIP()1332   public java.lang.String getNetworkIP() {
1333     java.lang.Object ref = networkIP_;
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       networkIP_ = s;
1340       return s;
1341     }
1342   }
1343   /**
1344    *
1345    *
1346    * <pre>
1347    * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
1348    * </pre>
1349    *
1350    * <code>optional string network_i_p = 207181961;</code>
1351    *
1352    * @return The bytes for networkIP.
1353    */
1354   @java.lang.Override
getNetworkIPBytes()1355   public com.google.protobuf.ByteString getNetworkIPBytes() {
1356     java.lang.Object ref = networkIP_;
1357     if (ref instanceof java.lang.String) {
1358       com.google.protobuf.ByteString b =
1359           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1360       networkIP_ = b;
1361       return b;
1362     } else {
1363       return (com.google.protobuf.ByteString) ref;
1364     }
1365   }
1366 
1367   public static final int NIC_TYPE_FIELD_NUMBER = 59810577;
1368 
1369   @SuppressWarnings("serial")
1370   private volatile java.lang.Object nicType_ = "";
1371   /**
1372    *
1373    *
1374    * <pre>
1375    * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
1376    * Check the NicType enum for the list of possible values.
1377    * </pre>
1378    *
1379    * <code>optional string nic_type = 59810577;</code>
1380    *
1381    * @return Whether the nicType field is set.
1382    */
1383   @java.lang.Override
hasNicType()1384   public boolean hasNicType() {
1385     return ((bitField0_ & 0x00000200) != 0);
1386   }
1387   /**
1388    *
1389    *
1390    * <pre>
1391    * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
1392    * Check the NicType enum for the list of possible values.
1393    * </pre>
1394    *
1395    * <code>optional string nic_type = 59810577;</code>
1396    *
1397    * @return The nicType.
1398    */
1399   @java.lang.Override
getNicType()1400   public java.lang.String getNicType() {
1401     java.lang.Object ref = nicType_;
1402     if (ref instanceof java.lang.String) {
1403       return (java.lang.String) ref;
1404     } else {
1405       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1406       java.lang.String s = bs.toStringUtf8();
1407       nicType_ = s;
1408       return s;
1409     }
1410   }
1411   /**
1412    *
1413    *
1414    * <pre>
1415    * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
1416    * Check the NicType enum for the list of possible values.
1417    * </pre>
1418    *
1419    * <code>optional string nic_type = 59810577;</code>
1420    *
1421    * @return The bytes for nicType.
1422    */
1423   @java.lang.Override
getNicTypeBytes()1424   public com.google.protobuf.ByteString getNicTypeBytes() {
1425     java.lang.Object ref = nicType_;
1426     if (ref instanceof java.lang.String) {
1427       com.google.protobuf.ByteString b =
1428           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1429       nicType_ = b;
1430       return b;
1431     } else {
1432       return (com.google.protobuf.ByteString) ref;
1433     }
1434   }
1435 
1436   public static final int QUEUE_COUNT_FIELD_NUMBER = 503708769;
1437   private int queueCount_ = 0;
1438   /**
1439    *
1440    *
1441    * <pre>
1442    * The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.
1443    * </pre>
1444    *
1445    * <code>optional int32 queue_count = 503708769;</code>
1446    *
1447    * @return Whether the queueCount field is set.
1448    */
1449   @java.lang.Override
hasQueueCount()1450   public boolean hasQueueCount() {
1451     return ((bitField0_ & 0x00000400) != 0);
1452   }
1453   /**
1454    *
1455    *
1456    * <pre>
1457    * The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.
1458    * </pre>
1459    *
1460    * <code>optional int32 queue_count = 503708769;</code>
1461    *
1462    * @return The queueCount.
1463    */
1464   @java.lang.Override
getQueueCount()1465   public int getQueueCount() {
1466     return queueCount_;
1467   }
1468 
1469   public static final int STACK_TYPE_FIELD_NUMBER = 425908881;
1470 
1471   @SuppressWarnings("serial")
1472   private volatile java.lang.Object stackType_ = "";
1473   /**
1474    *
1475    *
1476    * <pre>
1477    * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
1478    * Check the StackType enum for the list of possible values.
1479    * </pre>
1480    *
1481    * <code>optional string stack_type = 425908881;</code>
1482    *
1483    * @return Whether the stackType field is set.
1484    */
1485   @java.lang.Override
hasStackType()1486   public boolean hasStackType() {
1487     return ((bitField0_ & 0x00000800) != 0);
1488   }
1489   /**
1490    *
1491    *
1492    * <pre>
1493    * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
1494    * Check the StackType enum for the list of possible values.
1495    * </pre>
1496    *
1497    * <code>optional string stack_type = 425908881;</code>
1498    *
1499    * @return The stackType.
1500    */
1501   @java.lang.Override
getStackType()1502   public java.lang.String getStackType() {
1503     java.lang.Object ref = stackType_;
1504     if (ref instanceof java.lang.String) {
1505       return (java.lang.String) ref;
1506     } else {
1507       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1508       java.lang.String s = bs.toStringUtf8();
1509       stackType_ = s;
1510       return s;
1511     }
1512   }
1513   /**
1514    *
1515    *
1516    * <pre>
1517    * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
1518    * Check the StackType enum for the list of possible values.
1519    * </pre>
1520    *
1521    * <code>optional string stack_type = 425908881;</code>
1522    *
1523    * @return The bytes for stackType.
1524    */
1525   @java.lang.Override
getStackTypeBytes()1526   public com.google.protobuf.ByteString getStackTypeBytes() {
1527     java.lang.Object ref = stackType_;
1528     if (ref instanceof java.lang.String) {
1529       com.google.protobuf.ByteString b =
1530           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1531       stackType_ = b;
1532       return b;
1533     } else {
1534       return (com.google.protobuf.ByteString) ref;
1535     }
1536   }
1537 
1538   public static final int SUBNETWORK_FIELD_NUMBER = 307827694;
1539 
1540   @SuppressWarnings("serial")
1541   private volatile java.lang.Object subnetwork_ = "";
1542   /**
1543    *
1544    *
1545    * <pre>
1546    * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
1547    * </pre>
1548    *
1549    * <code>optional string subnetwork = 307827694;</code>
1550    *
1551    * @return Whether the subnetwork field is set.
1552    */
1553   @java.lang.Override
hasSubnetwork()1554   public boolean hasSubnetwork() {
1555     return ((bitField0_ & 0x00001000) != 0);
1556   }
1557   /**
1558    *
1559    *
1560    * <pre>
1561    * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
1562    * </pre>
1563    *
1564    * <code>optional string subnetwork = 307827694;</code>
1565    *
1566    * @return The subnetwork.
1567    */
1568   @java.lang.Override
getSubnetwork()1569   public java.lang.String getSubnetwork() {
1570     java.lang.Object ref = subnetwork_;
1571     if (ref instanceof java.lang.String) {
1572       return (java.lang.String) ref;
1573     } else {
1574       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1575       java.lang.String s = bs.toStringUtf8();
1576       subnetwork_ = s;
1577       return s;
1578     }
1579   }
1580   /**
1581    *
1582    *
1583    * <pre>
1584    * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
1585    * </pre>
1586    *
1587    * <code>optional string subnetwork = 307827694;</code>
1588    *
1589    * @return The bytes for subnetwork.
1590    */
1591   @java.lang.Override
getSubnetworkBytes()1592   public com.google.protobuf.ByteString getSubnetworkBytes() {
1593     java.lang.Object ref = subnetwork_;
1594     if (ref instanceof java.lang.String) {
1595       com.google.protobuf.ByteString b =
1596           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1597       subnetwork_ = b;
1598       return b;
1599     } else {
1600       return (com.google.protobuf.ByteString) ref;
1601     }
1602   }
1603 
1604   private byte memoizedIsInitialized = -1;
1605 
1606   @java.lang.Override
isInitialized()1607   public final boolean isInitialized() {
1608     byte isInitialized = memoizedIsInitialized;
1609     if (isInitialized == 1) return true;
1610     if (isInitialized == 0) return false;
1611 
1612     memoizedIsInitialized = 1;
1613     return true;
1614   }
1615 
1616   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1617   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1618     if (((bitField0_ & 0x00000010) != 0)) {
1619       com.google.protobuf.GeneratedMessageV3.writeString(output, 3292052, kind_);
1620     }
1621     if (((bitField0_ & 0x00000020) != 0)) {
1622       com.google.protobuf.GeneratedMessageV3.writeString(output, 3373707, name_);
1623     }
1624     if (((bitField0_ & 0x00000200) != 0)) {
1625       com.google.protobuf.GeneratedMessageV3.writeString(output, 59810577, nicType_);
1626     }
1627     for (int i = 0; i < accessConfigs_.size(); i++) {
1628       output.writeMessage(111058326, accessConfigs_.get(i));
1629     }
1630     for (int i = 0; i < aliasIpRanges_.size(); i++) {
1631       output.writeMessage(165085631, aliasIpRanges_.get(i));
1632     }
1633     if (((bitField0_ & 0x00000002) != 0)) {
1634       output.writeInt32(203833757, internalIpv6PrefixLength_);
1635     }
1636     if (((bitField0_ & 0x00000100) != 0)) {
1637       com.google.protobuf.GeneratedMessageV3.writeString(output, 207181961, networkIP_);
1638     }
1639     if (((bitField0_ & 0x00000080) != 0)) {
1640       com.google.protobuf.GeneratedMessageV3.writeString(output, 224644052, networkAttachment_);
1641     }
1642     if (((bitField0_ & 0x00000040) != 0)) {
1643       com.google.protobuf.GeneratedMessageV3.writeString(output, 232872494, network_);
1644     }
1645     if (((bitField0_ & 0x00000001) != 0)) {
1646       com.google.protobuf.GeneratedMessageV3.writeString(output, 234678500, fingerprint_);
1647     }
1648     if (((bitField0_ & 0x00001000) != 0)) {
1649       com.google.protobuf.GeneratedMessageV3.writeString(output, 307827694, subnetwork_);
1650     }
1651     if (((bitField0_ & 0x00000008) != 0)) {
1652       com.google.protobuf.GeneratedMessageV3.writeString(output, 341563804, ipv6Address_);
1653     }
1654     if (((bitField0_ & 0x00000800) != 0)) {
1655       com.google.protobuf.GeneratedMessageV3.writeString(output, 425908881, stackType_);
1656     }
1657     for (int i = 0; i < ipv6AccessConfigs_.size(); i++) {
1658       output.writeMessage(483472110, ipv6AccessConfigs_.get(i));
1659     }
1660     if (((bitField0_ & 0x00000400) != 0)) {
1661       output.writeInt32(503708769, queueCount_);
1662     }
1663     if (((bitField0_ & 0x00000004) != 0)) {
1664       com.google.protobuf.GeneratedMessageV3.writeString(output, 504658653, ipv6AccessType_);
1665     }
1666     getUnknownFields().writeTo(output);
1667   }
1668 
1669   @java.lang.Override
getSerializedSize()1670   public int getSerializedSize() {
1671     int size = memoizedSize;
1672     if (size != -1) return size;
1673 
1674     size = 0;
1675     if (((bitField0_ & 0x00000010) != 0)) {
1676       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3292052, kind_);
1677     }
1678     if (((bitField0_ & 0x00000020) != 0)) {
1679       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3373707, name_);
1680     }
1681     if (((bitField0_ & 0x00000200) != 0)) {
1682       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(59810577, nicType_);
1683     }
1684     for (int i = 0; i < accessConfigs_.size(); i++) {
1685       size +=
1686           com.google.protobuf.CodedOutputStream.computeMessageSize(
1687               111058326, accessConfigs_.get(i));
1688     }
1689     for (int i = 0; i < aliasIpRanges_.size(); i++) {
1690       size +=
1691           com.google.protobuf.CodedOutputStream.computeMessageSize(
1692               165085631, aliasIpRanges_.get(i));
1693     }
1694     if (((bitField0_ & 0x00000002) != 0)) {
1695       size +=
1696           com.google.protobuf.CodedOutputStream.computeInt32Size(
1697               203833757, internalIpv6PrefixLength_);
1698     }
1699     if (((bitField0_ & 0x00000100) != 0)) {
1700       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(207181961, networkIP_);
1701     }
1702     if (((bitField0_ & 0x00000080) != 0)) {
1703       size +=
1704           com.google.protobuf.GeneratedMessageV3.computeStringSize(224644052, networkAttachment_);
1705     }
1706     if (((bitField0_ & 0x00000040) != 0)) {
1707       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(232872494, network_);
1708     }
1709     if (((bitField0_ & 0x00000001) != 0)) {
1710       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(234678500, fingerprint_);
1711     }
1712     if (((bitField0_ & 0x00001000) != 0)) {
1713       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(307827694, subnetwork_);
1714     }
1715     if (((bitField0_ & 0x00000008) != 0)) {
1716       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(341563804, ipv6Address_);
1717     }
1718     if (((bitField0_ & 0x00000800) != 0)) {
1719       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(425908881, stackType_);
1720     }
1721     for (int i = 0; i < ipv6AccessConfigs_.size(); i++) {
1722       size +=
1723           com.google.protobuf.CodedOutputStream.computeMessageSize(
1724               483472110, ipv6AccessConfigs_.get(i));
1725     }
1726     if (((bitField0_ & 0x00000400) != 0)) {
1727       size += com.google.protobuf.CodedOutputStream.computeInt32Size(503708769, queueCount_);
1728     }
1729     if (((bitField0_ & 0x00000004) != 0)) {
1730       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(504658653, ipv6AccessType_);
1731     }
1732     size += getUnknownFields().getSerializedSize();
1733     memoizedSize = size;
1734     return size;
1735   }
1736 
1737   @java.lang.Override
equals(final java.lang.Object obj)1738   public boolean equals(final java.lang.Object obj) {
1739     if (obj == this) {
1740       return true;
1741     }
1742     if (!(obj instanceof com.google.cloud.compute.v1.NetworkInterface)) {
1743       return super.equals(obj);
1744     }
1745     com.google.cloud.compute.v1.NetworkInterface other =
1746         (com.google.cloud.compute.v1.NetworkInterface) obj;
1747 
1748     if (!getAccessConfigsList().equals(other.getAccessConfigsList())) return false;
1749     if (!getAliasIpRangesList().equals(other.getAliasIpRangesList())) return false;
1750     if (hasFingerprint() != other.hasFingerprint()) return false;
1751     if (hasFingerprint()) {
1752       if (!getFingerprint().equals(other.getFingerprint())) return false;
1753     }
1754     if (hasInternalIpv6PrefixLength() != other.hasInternalIpv6PrefixLength()) return false;
1755     if (hasInternalIpv6PrefixLength()) {
1756       if (getInternalIpv6PrefixLength() != other.getInternalIpv6PrefixLength()) return false;
1757     }
1758     if (!getIpv6AccessConfigsList().equals(other.getIpv6AccessConfigsList())) return false;
1759     if (hasIpv6AccessType() != other.hasIpv6AccessType()) return false;
1760     if (hasIpv6AccessType()) {
1761       if (!getIpv6AccessType().equals(other.getIpv6AccessType())) return false;
1762     }
1763     if (hasIpv6Address() != other.hasIpv6Address()) return false;
1764     if (hasIpv6Address()) {
1765       if (!getIpv6Address().equals(other.getIpv6Address())) return false;
1766     }
1767     if (hasKind() != other.hasKind()) return false;
1768     if (hasKind()) {
1769       if (!getKind().equals(other.getKind())) return false;
1770     }
1771     if (hasName() != other.hasName()) return false;
1772     if (hasName()) {
1773       if (!getName().equals(other.getName())) return false;
1774     }
1775     if (hasNetwork() != other.hasNetwork()) return false;
1776     if (hasNetwork()) {
1777       if (!getNetwork().equals(other.getNetwork())) return false;
1778     }
1779     if (hasNetworkAttachment() != other.hasNetworkAttachment()) return false;
1780     if (hasNetworkAttachment()) {
1781       if (!getNetworkAttachment().equals(other.getNetworkAttachment())) return false;
1782     }
1783     if (hasNetworkIP() != other.hasNetworkIP()) return false;
1784     if (hasNetworkIP()) {
1785       if (!getNetworkIP().equals(other.getNetworkIP())) return false;
1786     }
1787     if (hasNicType() != other.hasNicType()) return false;
1788     if (hasNicType()) {
1789       if (!getNicType().equals(other.getNicType())) return false;
1790     }
1791     if (hasQueueCount() != other.hasQueueCount()) return false;
1792     if (hasQueueCount()) {
1793       if (getQueueCount() != other.getQueueCount()) return false;
1794     }
1795     if (hasStackType() != other.hasStackType()) return false;
1796     if (hasStackType()) {
1797       if (!getStackType().equals(other.getStackType())) return false;
1798     }
1799     if (hasSubnetwork() != other.hasSubnetwork()) return false;
1800     if (hasSubnetwork()) {
1801       if (!getSubnetwork().equals(other.getSubnetwork())) return false;
1802     }
1803     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1804     return true;
1805   }
1806 
1807   @java.lang.Override
hashCode()1808   public int hashCode() {
1809     if (memoizedHashCode != 0) {
1810       return memoizedHashCode;
1811     }
1812     int hash = 41;
1813     hash = (19 * hash) + getDescriptor().hashCode();
1814     if (getAccessConfigsCount() > 0) {
1815       hash = (37 * hash) + ACCESS_CONFIGS_FIELD_NUMBER;
1816       hash = (53 * hash) + getAccessConfigsList().hashCode();
1817     }
1818     if (getAliasIpRangesCount() > 0) {
1819       hash = (37 * hash) + ALIAS_IP_RANGES_FIELD_NUMBER;
1820       hash = (53 * hash) + getAliasIpRangesList().hashCode();
1821     }
1822     if (hasFingerprint()) {
1823       hash = (37 * hash) + FINGERPRINT_FIELD_NUMBER;
1824       hash = (53 * hash) + getFingerprint().hashCode();
1825     }
1826     if (hasInternalIpv6PrefixLength()) {
1827       hash = (37 * hash) + INTERNAL_IPV6_PREFIX_LENGTH_FIELD_NUMBER;
1828       hash = (53 * hash) + getInternalIpv6PrefixLength();
1829     }
1830     if (getIpv6AccessConfigsCount() > 0) {
1831       hash = (37 * hash) + IPV6_ACCESS_CONFIGS_FIELD_NUMBER;
1832       hash = (53 * hash) + getIpv6AccessConfigsList().hashCode();
1833     }
1834     if (hasIpv6AccessType()) {
1835       hash = (37 * hash) + IPV6_ACCESS_TYPE_FIELD_NUMBER;
1836       hash = (53 * hash) + getIpv6AccessType().hashCode();
1837     }
1838     if (hasIpv6Address()) {
1839       hash = (37 * hash) + IPV6_ADDRESS_FIELD_NUMBER;
1840       hash = (53 * hash) + getIpv6Address().hashCode();
1841     }
1842     if (hasKind()) {
1843       hash = (37 * hash) + KIND_FIELD_NUMBER;
1844       hash = (53 * hash) + getKind().hashCode();
1845     }
1846     if (hasName()) {
1847       hash = (37 * hash) + NAME_FIELD_NUMBER;
1848       hash = (53 * hash) + getName().hashCode();
1849     }
1850     if (hasNetwork()) {
1851       hash = (37 * hash) + NETWORK_FIELD_NUMBER;
1852       hash = (53 * hash) + getNetwork().hashCode();
1853     }
1854     if (hasNetworkAttachment()) {
1855       hash = (37 * hash) + NETWORK_ATTACHMENT_FIELD_NUMBER;
1856       hash = (53 * hash) + getNetworkAttachment().hashCode();
1857     }
1858     if (hasNetworkIP()) {
1859       hash = (37 * hash) + NETWORK_I_P_FIELD_NUMBER;
1860       hash = (53 * hash) + getNetworkIP().hashCode();
1861     }
1862     if (hasNicType()) {
1863       hash = (37 * hash) + NIC_TYPE_FIELD_NUMBER;
1864       hash = (53 * hash) + getNicType().hashCode();
1865     }
1866     if (hasQueueCount()) {
1867       hash = (37 * hash) + QUEUE_COUNT_FIELD_NUMBER;
1868       hash = (53 * hash) + getQueueCount();
1869     }
1870     if (hasStackType()) {
1871       hash = (37 * hash) + STACK_TYPE_FIELD_NUMBER;
1872       hash = (53 * hash) + getStackType().hashCode();
1873     }
1874     if (hasSubnetwork()) {
1875       hash = (37 * hash) + SUBNETWORK_FIELD_NUMBER;
1876       hash = (53 * hash) + getSubnetwork().hashCode();
1877     }
1878     hash = (29 * hash) + getUnknownFields().hashCode();
1879     memoizedHashCode = hash;
1880     return hash;
1881   }
1882 
parseFrom(java.nio.ByteBuffer data)1883   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(java.nio.ByteBuffer data)
1884       throws com.google.protobuf.InvalidProtocolBufferException {
1885     return PARSER.parseFrom(data);
1886   }
1887 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1888   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(
1889       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1890       throws com.google.protobuf.InvalidProtocolBufferException {
1891     return PARSER.parseFrom(data, extensionRegistry);
1892   }
1893 
parseFrom( com.google.protobuf.ByteString data)1894   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(
1895       com.google.protobuf.ByteString data)
1896       throws com.google.protobuf.InvalidProtocolBufferException {
1897     return PARSER.parseFrom(data);
1898   }
1899 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1900   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(
1901       com.google.protobuf.ByteString data,
1902       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1903       throws com.google.protobuf.InvalidProtocolBufferException {
1904     return PARSER.parseFrom(data, extensionRegistry);
1905   }
1906 
parseFrom(byte[] data)1907   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(byte[] data)
1908       throws com.google.protobuf.InvalidProtocolBufferException {
1909     return PARSER.parseFrom(data);
1910   }
1911 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1912   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(
1913       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1914       throws com.google.protobuf.InvalidProtocolBufferException {
1915     return PARSER.parseFrom(data, extensionRegistry);
1916   }
1917 
parseFrom(java.io.InputStream input)1918   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(java.io.InputStream input)
1919       throws java.io.IOException {
1920     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1921   }
1922 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1923   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(
1924       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1925       throws java.io.IOException {
1926     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1927         PARSER, input, extensionRegistry);
1928   }
1929 
parseDelimitedFrom( java.io.InputStream input)1930   public static com.google.cloud.compute.v1.NetworkInterface parseDelimitedFrom(
1931       java.io.InputStream input) throws java.io.IOException {
1932     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1933   }
1934 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1935   public static com.google.cloud.compute.v1.NetworkInterface parseDelimitedFrom(
1936       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1937       throws java.io.IOException {
1938     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1939         PARSER, input, extensionRegistry);
1940   }
1941 
parseFrom( com.google.protobuf.CodedInputStream input)1942   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(
1943       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1944     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1945   }
1946 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1947   public static com.google.cloud.compute.v1.NetworkInterface parseFrom(
1948       com.google.protobuf.CodedInputStream input,
1949       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1950       throws java.io.IOException {
1951     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1952         PARSER, input, extensionRegistry);
1953   }
1954 
1955   @java.lang.Override
newBuilderForType()1956   public Builder newBuilderForType() {
1957     return newBuilder();
1958   }
1959 
newBuilder()1960   public static Builder newBuilder() {
1961     return DEFAULT_INSTANCE.toBuilder();
1962   }
1963 
newBuilder(com.google.cloud.compute.v1.NetworkInterface prototype)1964   public static Builder newBuilder(com.google.cloud.compute.v1.NetworkInterface prototype) {
1965     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1966   }
1967 
1968   @java.lang.Override
toBuilder()1969   public Builder toBuilder() {
1970     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1971   }
1972 
1973   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1974   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1975     Builder builder = new Builder(parent);
1976     return builder;
1977   }
1978   /**
1979    *
1980    *
1981    * <pre>
1982    * A network interface resource attached to an instance.
1983    * </pre>
1984    *
1985    * Protobuf type {@code google.cloud.compute.v1.NetworkInterface}
1986    */
1987   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1988       implements
1989       // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.NetworkInterface)
1990       com.google.cloud.compute.v1.NetworkInterfaceOrBuilder {
getDescriptor()1991     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1992       return com.google.cloud.compute.v1.Compute
1993           .internal_static_google_cloud_compute_v1_NetworkInterface_descriptor;
1994     }
1995 
1996     @java.lang.Override
1997     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1998         internalGetFieldAccessorTable() {
1999       return com.google.cloud.compute.v1.Compute
2000           .internal_static_google_cloud_compute_v1_NetworkInterface_fieldAccessorTable
2001           .ensureFieldAccessorsInitialized(
2002               com.google.cloud.compute.v1.NetworkInterface.class,
2003               com.google.cloud.compute.v1.NetworkInterface.Builder.class);
2004     }
2005 
2006     // Construct using com.google.cloud.compute.v1.NetworkInterface.newBuilder()
Builder()2007     private Builder() {}
2008 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2009     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2010       super(parent);
2011     }
2012 
2013     @java.lang.Override
clear()2014     public Builder clear() {
2015       super.clear();
2016       bitField0_ = 0;
2017       if (accessConfigsBuilder_ == null) {
2018         accessConfigs_ = java.util.Collections.emptyList();
2019       } else {
2020         accessConfigs_ = null;
2021         accessConfigsBuilder_.clear();
2022       }
2023       bitField0_ = (bitField0_ & ~0x00000001);
2024       if (aliasIpRangesBuilder_ == null) {
2025         aliasIpRanges_ = java.util.Collections.emptyList();
2026       } else {
2027         aliasIpRanges_ = null;
2028         aliasIpRangesBuilder_.clear();
2029       }
2030       bitField0_ = (bitField0_ & ~0x00000002);
2031       fingerprint_ = "";
2032       internalIpv6PrefixLength_ = 0;
2033       if (ipv6AccessConfigsBuilder_ == null) {
2034         ipv6AccessConfigs_ = java.util.Collections.emptyList();
2035       } else {
2036         ipv6AccessConfigs_ = null;
2037         ipv6AccessConfigsBuilder_.clear();
2038       }
2039       bitField0_ = (bitField0_ & ~0x00000010);
2040       ipv6AccessType_ = "";
2041       ipv6Address_ = "";
2042       kind_ = "";
2043       name_ = "";
2044       network_ = "";
2045       networkAttachment_ = "";
2046       networkIP_ = "";
2047       nicType_ = "";
2048       queueCount_ = 0;
2049       stackType_ = "";
2050       subnetwork_ = "";
2051       return this;
2052     }
2053 
2054     @java.lang.Override
getDescriptorForType()2055     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
2056       return com.google.cloud.compute.v1.Compute
2057           .internal_static_google_cloud_compute_v1_NetworkInterface_descriptor;
2058     }
2059 
2060     @java.lang.Override
getDefaultInstanceForType()2061     public com.google.cloud.compute.v1.NetworkInterface getDefaultInstanceForType() {
2062       return com.google.cloud.compute.v1.NetworkInterface.getDefaultInstance();
2063     }
2064 
2065     @java.lang.Override
build()2066     public com.google.cloud.compute.v1.NetworkInterface build() {
2067       com.google.cloud.compute.v1.NetworkInterface result = buildPartial();
2068       if (!result.isInitialized()) {
2069         throw newUninitializedMessageException(result);
2070       }
2071       return result;
2072     }
2073 
2074     @java.lang.Override
buildPartial()2075     public com.google.cloud.compute.v1.NetworkInterface buildPartial() {
2076       com.google.cloud.compute.v1.NetworkInterface result =
2077           new com.google.cloud.compute.v1.NetworkInterface(this);
2078       buildPartialRepeatedFields(result);
2079       if (bitField0_ != 0) {
2080         buildPartial0(result);
2081       }
2082       onBuilt();
2083       return result;
2084     }
2085 
buildPartialRepeatedFields(com.google.cloud.compute.v1.NetworkInterface result)2086     private void buildPartialRepeatedFields(com.google.cloud.compute.v1.NetworkInterface result) {
2087       if (accessConfigsBuilder_ == null) {
2088         if (((bitField0_ & 0x00000001) != 0)) {
2089           accessConfigs_ = java.util.Collections.unmodifiableList(accessConfigs_);
2090           bitField0_ = (bitField0_ & ~0x00000001);
2091         }
2092         result.accessConfigs_ = accessConfigs_;
2093       } else {
2094         result.accessConfigs_ = accessConfigsBuilder_.build();
2095       }
2096       if (aliasIpRangesBuilder_ == null) {
2097         if (((bitField0_ & 0x00000002) != 0)) {
2098           aliasIpRanges_ = java.util.Collections.unmodifiableList(aliasIpRanges_);
2099           bitField0_ = (bitField0_ & ~0x00000002);
2100         }
2101         result.aliasIpRanges_ = aliasIpRanges_;
2102       } else {
2103         result.aliasIpRanges_ = aliasIpRangesBuilder_.build();
2104       }
2105       if (ipv6AccessConfigsBuilder_ == null) {
2106         if (((bitField0_ & 0x00000010) != 0)) {
2107           ipv6AccessConfigs_ = java.util.Collections.unmodifiableList(ipv6AccessConfigs_);
2108           bitField0_ = (bitField0_ & ~0x00000010);
2109         }
2110         result.ipv6AccessConfigs_ = ipv6AccessConfigs_;
2111       } else {
2112         result.ipv6AccessConfigs_ = ipv6AccessConfigsBuilder_.build();
2113       }
2114     }
2115 
buildPartial0(com.google.cloud.compute.v1.NetworkInterface result)2116     private void buildPartial0(com.google.cloud.compute.v1.NetworkInterface result) {
2117       int from_bitField0_ = bitField0_;
2118       int to_bitField0_ = 0;
2119       if (((from_bitField0_ & 0x00000004) != 0)) {
2120         result.fingerprint_ = fingerprint_;
2121         to_bitField0_ |= 0x00000001;
2122       }
2123       if (((from_bitField0_ & 0x00000008) != 0)) {
2124         result.internalIpv6PrefixLength_ = internalIpv6PrefixLength_;
2125         to_bitField0_ |= 0x00000002;
2126       }
2127       if (((from_bitField0_ & 0x00000020) != 0)) {
2128         result.ipv6AccessType_ = ipv6AccessType_;
2129         to_bitField0_ |= 0x00000004;
2130       }
2131       if (((from_bitField0_ & 0x00000040) != 0)) {
2132         result.ipv6Address_ = ipv6Address_;
2133         to_bitField0_ |= 0x00000008;
2134       }
2135       if (((from_bitField0_ & 0x00000080) != 0)) {
2136         result.kind_ = kind_;
2137         to_bitField0_ |= 0x00000010;
2138       }
2139       if (((from_bitField0_ & 0x00000100) != 0)) {
2140         result.name_ = name_;
2141         to_bitField0_ |= 0x00000020;
2142       }
2143       if (((from_bitField0_ & 0x00000200) != 0)) {
2144         result.network_ = network_;
2145         to_bitField0_ |= 0x00000040;
2146       }
2147       if (((from_bitField0_ & 0x00000400) != 0)) {
2148         result.networkAttachment_ = networkAttachment_;
2149         to_bitField0_ |= 0x00000080;
2150       }
2151       if (((from_bitField0_ & 0x00000800) != 0)) {
2152         result.networkIP_ = networkIP_;
2153         to_bitField0_ |= 0x00000100;
2154       }
2155       if (((from_bitField0_ & 0x00001000) != 0)) {
2156         result.nicType_ = nicType_;
2157         to_bitField0_ |= 0x00000200;
2158       }
2159       if (((from_bitField0_ & 0x00002000) != 0)) {
2160         result.queueCount_ = queueCount_;
2161         to_bitField0_ |= 0x00000400;
2162       }
2163       if (((from_bitField0_ & 0x00004000) != 0)) {
2164         result.stackType_ = stackType_;
2165         to_bitField0_ |= 0x00000800;
2166       }
2167       if (((from_bitField0_ & 0x00008000) != 0)) {
2168         result.subnetwork_ = subnetwork_;
2169         to_bitField0_ |= 0x00001000;
2170       }
2171       result.bitField0_ |= to_bitField0_;
2172     }
2173 
2174     @java.lang.Override
clone()2175     public Builder clone() {
2176       return super.clone();
2177     }
2178 
2179     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2180     public Builder setField(
2181         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2182       return super.setField(field, value);
2183     }
2184 
2185     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2186     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
2187       return super.clearField(field);
2188     }
2189 
2190     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2191     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2192       return super.clearOneof(oneof);
2193     }
2194 
2195     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2196     public Builder setRepeatedField(
2197         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
2198       return super.setRepeatedField(field, index, value);
2199     }
2200 
2201     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2202     public Builder addRepeatedField(
2203         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2204       return super.addRepeatedField(field, value);
2205     }
2206 
2207     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)2208     public Builder mergeFrom(com.google.protobuf.Message other) {
2209       if (other instanceof com.google.cloud.compute.v1.NetworkInterface) {
2210         return mergeFrom((com.google.cloud.compute.v1.NetworkInterface) other);
2211       } else {
2212         super.mergeFrom(other);
2213         return this;
2214       }
2215     }
2216 
mergeFrom(com.google.cloud.compute.v1.NetworkInterface other)2217     public Builder mergeFrom(com.google.cloud.compute.v1.NetworkInterface other) {
2218       if (other == com.google.cloud.compute.v1.NetworkInterface.getDefaultInstance()) return this;
2219       if (accessConfigsBuilder_ == null) {
2220         if (!other.accessConfigs_.isEmpty()) {
2221           if (accessConfigs_.isEmpty()) {
2222             accessConfigs_ = other.accessConfigs_;
2223             bitField0_ = (bitField0_ & ~0x00000001);
2224           } else {
2225             ensureAccessConfigsIsMutable();
2226             accessConfigs_.addAll(other.accessConfigs_);
2227           }
2228           onChanged();
2229         }
2230       } else {
2231         if (!other.accessConfigs_.isEmpty()) {
2232           if (accessConfigsBuilder_.isEmpty()) {
2233             accessConfigsBuilder_.dispose();
2234             accessConfigsBuilder_ = null;
2235             accessConfigs_ = other.accessConfigs_;
2236             bitField0_ = (bitField0_ & ~0x00000001);
2237             accessConfigsBuilder_ =
2238                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2239                     ? getAccessConfigsFieldBuilder()
2240                     : null;
2241           } else {
2242             accessConfigsBuilder_.addAllMessages(other.accessConfigs_);
2243           }
2244         }
2245       }
2246       if (aliasIpRangesBuilder_ == null) {
2247         if (!other.aliasIpRanges_.isEmpty()) {
2248           if (aliasIpRanges_.isEmpty()) {
2249             aliasIpRanges_ = other.aliasIpRanges_;
2250             bitField0_ = (bitField0_ & ~0x00000002);
2251           } else {
2252             ensureAliasIpRangesIsMutable();
2253             aliasIpRanges_.addAll(other.aliasIpRanges_);
2254           }
2255           onChanged();
2256         }
2257       } else {
2258         if (!other.aliasIpRanges_.isEmpty()) {
2259           if (aliasIpRangesBuilder_.isEmpty()) {
2260             aliasIpRangesBuilder_.dispose();
2261             aliasIpRangesBuilder_ = null;
2262             aliasIpRanges_ = other.aliasIpRanges_;
2263             bitField0_ = (bitField0_ & ~0x00000002);
2264             aliasIpRangesBuilder_ =
2265                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2266                     ? getAliasIpRangesFieldBuilder()
2267                     : null;
2268           } else {
2269             aliasIpRangesBuilder_.addAllMessages(other.aliasIpRanges_);
2270           }
2271         }
2272       }
2273       if (other.hasFingerprint()) {
2274         fingerprint_ = other.fingerprint_;
2275         bitField0_ |= 0x00000004;
2276         onChanged();
2277       }
2278       if (other.hasInternalIpv6PrefixLength()) {
2279         setInternalIpv6PrefixLength(other.getInternalIpv6PrefixLength());
2280       }
2281       if (ipv6AccessConfigsBuilder_ == null) {
2282         if (!other.ipv6AccessConfigs_.isEmpty()) {
2283           if (ipv6AccessConfigs_.isEmpty()) {
2284             ipv6AccessConfigs_ = other.ipv6AccessConfigs_;
2285             bitField0_ = (bitField0_ & ~0x00000010);
2286           } else {
2287             ensureIpv6AccessConfigsIsMutable();
2288             ipv6AccessConfigs_.addAll(other.ipv6AccessConfigs_);
2289           }
2290           onChanged();
2291         }
2292       } else {
2293         if (!other.ipv6AccessConfigs_.isEmpty()) {
2294           if (ipv6AccessConfigsBuilder_.isEmpty()) {
2295             ipv6AccessConfigsBuilder_.dispose();
2296             ipv6AccessConfigsBuilder_ = null;
2297             ipv6AccessConfigs_ = other.ipv6AccessConfigs_;
2298             bitField0_ = (bitField0_ & ~0x00000010);
2299             ipv6AccessConfigsBuilder_ =
2300                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2301                     ? getIpv6AccessConfigsFieldBuilder()
2302                     : null;
2303           } else {
2304             ipv6AccessConfigsBuilder_.addAllMessages(other.ipv6AccessConfigs_);
2305           }
2306         }
2307       }
2308       if (other.hasIpv6AccessType()) {
2309         ipv6AccessType_ = other.ipv6AccessType_;
2310         bitField0_ |= 0x00000020;
2311         onChanged();
2312       }
2313       if (other.hasIpv6Address()) {
2314         ipv6Address_ = other.ipv6Address_;
2315         bitField0_ |= 0x00000040;
2316         onChanged();
2317       }
2318       if (other.hasKind()) {
2319         kind_ = other.kind_;
2320         bitField0_ |= 0x00000080;
2321         onChanged();
2322       }
2323       if (other.hasName()) {
2324         name_ = other.name_;
2325         bitField0_ |= 0x00000100;
2326         onChanged();
2327       }
2328       if (other.hasNetwork()) {
2329         network_ = other.network_;
2330         bitField0_ |= 0x00000200;
2331         onChanged();
2332       }
2333       if (other.hasNetworkAttachment()) {
2334         networkAttachment_ = other.networkAttachment_;
2335         bitField0_ |= 0x00000400;
2336         onChanged();
2337       }
2338       if (other.hasNetworkIP()) {
2339         networkIP_ = other.networkIP_;
2340         bitField0_ |= 0x00000800;
2341         onChanged();
2342       }
2343       if (other.hasNicType()) {
2344         nicType_ = other.nicType_;
2345         bitField0_ |= 0x00001000;
2346         onChanged();
2347       }
2348       if (other.hasQueueCount()) {
2349         setQueueCount(other.getQueueCount());
2350       }
2351       if (other.hasStackType()) {
2352         stackType_ = other.stackType_;
2353         bitField0_ |= 0x00004000;
2354         onChanged();
2355       }
2356       if (other.hasSubnetwork()) {
2357         subnetwork_ = other.subnetwork_;
2358         bitField0_ |= 0x00008000;
2359         onChanged();
2360       }
2361       this.mergeUnknownFields(other.getUnknownFields());
2362       onChanged();
2363       return this;
2364     }
2365 
2366     @java.lang.Override
isInitialized()2367     public final boolean isInitialized() {
2368       return true;
2369     }
2370 
2371     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2372     public Builder mergeFrom(
2373         com.google.protobuf.CodedInputStream input,
2374         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2375         throws java.io.IOException {
2376       if (extensionRegistry == null) {
2377         throw new java.lang.NullPointerException();
2378       }
2379       try {
2380         boolean done = false;
2381         while (!done) {
2382           int tag = input.readTag();
2383           switch (tag) {
2384             case 0:
2385               done = true;
2386               break;
2387             case 26336418:
2388               {
2389                 kind_ = input.readStringRequireUtf8();
2390                 bitField0_ |= 0x00000080;
2391                 break;
2392               } // case 26336418
2393             case 26989658:
2394               {
2395                 name_ = input.readStringRequireUtf8();
2396                 bitField0_ |= 0x00000100;
2397                 break;
2398               } // case 26989658
2399             case 478484618:
2400               {
2401                 nicType_ = input.readStringRequireUtf8();
2402                 bitField0_ |= 0x00001000;
2403                 break;
2404               } // case 478484618
2405             case 888466610:
2406               {
2407                 com.google.cloud.compute.v1.AccessConfig m =
2408                     input.readMessage(
2409                         com.google.cloud.compute.v1.AccessConfig.parser(), extensionRegistry);
2410                 if (accessConfigsBuilder_ == null) {
2411                   ensureAccessConfigsIsMutable();
2412                   accessConfigs_.add(m);
2413                 } else {
2414                   accessConfigsBuilder_.addMessage(m);
2415                 }
2416                 break;
2417               } // case 888466610
2418             case 1320685050:
2419               {
2420                 com.google.cloud.compute.v1.AliasIpRange m =
2421                     input.readMessage(
2422                         com.google.cloud.compute.v1.AliasIpRange.parser(), extensionRegistry);
2423                 if (aliasIpRangesBuilder_ == null) {
2424                   ensureAliasIpRangesIsMutable();
2425                   aliasIpRanges_.add(m);
2426                 } else {
2427                   aliasIpRangesBuilder_.addMessage(m);
2428                 }
2429                 break;
2430               } // case 1320685050
2431             case 1630670056:
2432               {
2433                 internalIpv6PrefixLength_ = input.readInt32();
2434                 bitField0_ |= 0x00000008;
2435                 break;
2436               } // case 1630670056
2437             case 1657455690:
2438               {
2439                 networkIP_ = input.readStringRequireUtf8();
2440                 bitField0_ |= 0x00000800;
2441                 break;
2442               } // case 1657455690
2443             case 1797152418:
2444               {
2445                 networkAttachment_ = input.readStringRequireUtf8();
2446                 bitField0_ |= 0x00000400;
2447                 break;
2448               } // case 1797152418
2449             case 1862979954:
2450               {
2451                 network_ = input.readStringRequireUtf8();
2452                 bitField0_ |= 0x00000200;
2453                 break;
2454               } // case 1862979954
2455             case 1877428002:
2456               {
2457                 fingerprint_ = input.readStringRequireUtf8();
2458                 bitField0_ |= 0x00000004;
2459                 break;
2460               } // case 1877428002
2461             case -1832345742:
2462               {
2463                 subnetwork_ = input.readStringRequireUtf8();
2464                 bitField0_ |= 0x00008000;
2465                 break;
2466               } // case -1832345742
2467             case -1562456862:
2468               {
2469                 ipv6Address_ = input.readStringRequireUtf8();
2470                 bitField0_ |= 0x00000040;
2471                 break;
2472               } // case -1562456862
2473             case -887696246:
2474               {
2475                 stackType_ = input.readStringRequireUtf8();
2476                 bitField0_ |= 0x00004000;
2477                 break;
2478               } // case -887696246
2479             case -427190414:
2480               {
2481                 com.google.cloud.compute.v1.AccessConfig m =
2482                     input.readMessage(
2483                         com.google.cloud.compute.v1.AccessConfig.parser(), extensionRegistry);
2484                 if (ipv6AccessConfigsBuilder_ == null) {
2485                   ensureIpv6AccessConfigsIsMutable();
2486                   ipv6AccessConfigs_.add(m);
2487                 } else {
2488                   ipv6AccessConfigsBuilder_.addMessage(m);
2489                 }
2490                 break;
2491               } // case -427190414
2492             case -265297144:
2493               {
2494                 queueCount_ = input.readInt32();
2495                 bitField0_ |= 0x00002000;
2496                 break;
2497               } // case -265297144
2498             case -257698070:
2499               {
2500                 ipv6AccessType_ = input.readStringRequireUtf8();
2501                 bitField0_ |= 0x00000020;
2502                 break;
2503               } // case -257698070
2504             default:
2505               {
2506                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2507                   done = true; // was an endgroup tag
2508                 }
2509                 break;
2510               } // default:
2511           } // switch (tag)
2512         } // while (!done)
2513       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2514         throw e.unwrapIOException();
2515       } finally {
2516         onChanged();
2517       } // finally
2518       return this;
2519     }
2520 
2521     private int bitField0_;
2522 
2523     private java.util.List<com.google.cloud.compute.v1.AccessConfig> accessConfigs_ =
2524         java.util.Collections.emptyList();
2525 
ensureAccessConfigsIsMutable()2526     private void ensureAccessConfigsIsMutable() {
2527       if (!((bitField0_ & 0x00000001) != 0)) {
2528         accessConfigs_ =
2529             new java.util.ArrayList<com.google.cloud.compute.v1.AccessConfig>(accessConfigs_);
2530         bitField0_ |= 0x00000001;
2531       }
2532     }
2533 
2534     private com.google.protobuf.RepeatedFieldBuilderV3<
2535             com.google.cloud.compute.v1.AccessConfig,
2536             com.google.cloud.compute.v1.AccessConfig.Builder,
2537             com.google.cloud.compute.v1.AccessConfigOrBuilder>
2538         accessConfigsBuilder_;
2539 
2540     /**
2541      *
2542      *
2543      * <pre>
2544      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2545      * </pre>
2546      *
2547      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2548      */
getAccessConfigsList()2549     public java.util.List<com.google.cloud.compute.v1.AccessConfig> getAccessConfigsList() {
2550       if (accessConfigsBuilder_ == null) {
2551         return java.util.Collections.unmodifiableList(accessConfigs_);
2552       } else {
2553         return accessConfigsBuilder_.getMessageList();
2554       }
2555     }
2556     /**
2557      *
2558      *
2559      * <pre>
2560      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2561      * </pre>
2562      *
2563      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2564      */
getAccessConfigsCount()2565     public int getAccessConfigsCount() {
2566       if (accessConfigsBuilder_ == null) {
2567         return accessConfigs_.size();
2568       } else {
2569         return accessConfigsBuilder_.getCount();
2570       }
2571     }
2572     /**
2573      *
2574      *
2575      * <pre>
2576      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2577      * </pre>
2578      *
2579      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2580      */
getAccessConfigs(int index)2581     public com.google.cloud.compute.v1.AccessConfig getAccessConfigs(int index) {
2582       if (accessConfigsBuilder_ == null) {
2583         return accessConfigs_.get(index);
2584       } else {
2585         return accessConfigsBuilder_.getMessage(index);
2586       }
2587     }
2588     /**
2589      *
2590      *
2591      * <pre>
2592      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2593      * </pre>
2594      *
2595      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2596      */
setAccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value)2597     public Builder setAccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value) {
2598       if (accessConfigsBuilder_ == null) {
2599         if (value == null) {
2600           throw new NullPointerException();
2601         }
2602         ensureAccessConfigsIsMutable();
2603         accessConfigs_.set(index, value);
2604         onChanged();
2605       } else {
2606         accessConfigsBuilder_.setMessage(index, value);
2607       }
2608       return this;
2609     }
2610     /**
2611      *
2612      *
2613      * <pre>
2614      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2615      * </pre>
2616      *
2617      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2618      */
setAccessConfigs( int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue)2619     public Builder setAccessConfigs(
2620         int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue) {
2621       if (accessConfigsBuilder_ == null) {
2622         ensureAccessConfigsIsMutable();
2623         accessConfigs_.set(index, builderForValue.build());
2624         onChanged();
2625       } else {
2626         accessConfigsBuilder_.setMessage(index, builderForValue.build());
2627       }
2628       return this;
2629     }
2630     /**
2631      *
2632      *
2633      * <pre>
2634      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2635      * </pre>
2636      *
2637      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2638      */
addAccessConfigs(com.google.cloud.compute.v1.AccessConfig value)2639     public Builder addAccessConfigs(com.google.cloud.compute.v1.AccessConfig value) {
2640       if (accessConfigsBuilder_ == null) {
2641         if (value == null) {
2642           throw new NullPointerException();
2643         }
2644         ensureAccessConfigsIsMutable();
2645         accessConfigs_.add(value);
2646         onChanged();
2647       } else {
2648         accessConfigsBuilder_.addMessage(value);
2649       }
2650       return this;
2651     }
2652     /**
2653      *
2654      *
2655      * <pre>
2656      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2657      * </pre>
2658      *
2659      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2660      */
addAccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value)2661     public Builder addAccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value) {
2662       if (accessConfigsBuilder_ == null) {
2663         if (value == null) {
2664           throw new NullPointerException();
2665         }
2666         ensureAccessConfigsIsMutable();
2667         accessConfigs_.add(index, value);
2668         onChanged();
2669       } else {
2670         accessConfigsBuilder_.addMessage(index, value);
2671       }
2672       return this;
2673     }
2674     /**
2675      *
2676      *
2677      * <pre>
2678      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2679      * </pre>
2680      *
2681      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2682      */
addAccessConfigs( com.google.cloud.compute.v1.AccessConfig.Builder builderForValue)2683     public Builder addAccessConfigs(
2684         com.google.cloud.compute.v1.AccessConfig.Builder builderForValue) {
2685       if (accessConfigsBuilder_ == null) {
2686         ensureAccessConfigsIsMutable();
2687         accessConfigs_.add(builderForValue.build());
2688         onChanged();
2689       } else {
2690         accessConfigsBuilder_.addMessage(builderForValue.build());
2691       }
2692       return this;
2693     }
2694     /**
2695      *
2696      *
2697      * <pre>
2698      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2699      * </pre>
2700      *
2701      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2702      */
addAccessConfigs( int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue)2703     public Builder addAccessConfigs(
2704         int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue) {
2705       if (accessConfigsBuilder_ == null) {
2706         ensureAccessConfigsIsMutable();
2707         accessConfigs_.add(index, builderForValue.build());
2708         onChanged();
2709       } else {
2710         accessConfigsBuilder_.addMessage(index, builderForValue.build());
2711       }
2712       return this;
2713     }
2714     /**
2715      *
2716      *
2717      * <pre>
2718      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2719      * </pre>
2720      *
2721      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2722      */
addAllAccessConfigs( java.lang.Iterable<? extends com.google.cloud.compute.v1.AccessConfig> values)2723     public Builder addAllAccessConfigs(
2724         java.lang.Iterable<? extends com.google.cloud.compute.v1.AccessConfig> values) {
2725       if (accessConfigsBuilder_ == null) {
2726         ensureAccessConfigsIsMutable();
2727         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, accessConfigs_);
2728         onChanged();
2729       } else {
2730         accessConfigsBuilder_.addAllMessages(values);
2731       }
2732       return this;
2733     }
2734     /**
2735      *
2736      *
2737      * <pre>
2738      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2739      * </pre>
2740      *
2741      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2742      */
clearAccessConfigs()2743     public Builder clearAccessConfigs() {
2744       if (accessConfigsBuilder_ == null) {
2745         accessConfigs_ = java.util.Collections.emptyList();
2746         bitField0_ = (bitField0_ & ~0x00000001);
2747         onChanged();
2748       } else {
2749         accessConfigsBuilder_.clear();
2750       }
2751       return this;
2752     }
2753     /**
2754      *
2755      *
2756      * <pre>
2757      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2758      * </pre>
2759      *
2760      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2761      */
removeAccessConfigs(int index)2762     public Builder removeAccessConfigs(int index) {
2763       if (accessConfigsBuilder_ == null) {
2764         ensureAccessConfigsIsMutable();
2765         accessConfigs_.remove(index);
2766         onChanged();
2767       } else {
2768         accessConfigsBuilder_.remove(index);
2769       }
2770       return this;
2771     }
2772     /**
2773      *
2774      *
2775      * <pre>
2776      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2777      * </pre>
2778      *
2779      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2780      */
getAccessConfigsBuilder(int index)2781     public com.google.cloud.compute.v1.AccessConfig.Builder getAccessConfigsBuilder(int index) {
2782       return getAccessConfigsFieldBuilder().getBuilder(index);
2783     }
2784     /**
2785      *
2786      *
2787      * <pre>
2788      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2789      * </pre>
2790      *
2791      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2792      */
getAccessConfigsOrBuilder(int index)2793     public com.google.cloud.compute.v1.AccessConfigOrBuilder getAccessConfigsOrBuilder(int index) {
2794       if (accessConfigsBuilder_ == null) {
2795         return accessConfigs_.get(index);
2796       } else {
2797         return accessConfigsBuilder_.getMessageOrBuilder(index);
2798       }
2799     }
2800     /**
2801      *
2802      *
2803      * <pre>
2804      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2805      * </pre>
2806      *
2807      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2808      */
2809     public java.util.List<? extends com.google.cloud.compute.v1.AccessConfigOrBuilder>
getAccessConfigsOrBuilderList()2810         getAccessConfigsOrBuilderList() {
2811       if (accessConfigsBuilder_ != null) {
2812         return accessConfigsBuilder_.getMessageOrBuilderList();
2813       } else {
2814         return java.util.Collections.unmodifiableList(accessConfigs_);
2815       }
2816     }
2817     /**
2818      *
2819      *
2820      * <pre>
2821      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2822      * </pre>
2823      *
2824      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2825      */
addAccessConfigsBuilder()2826     public com.google.cloud.compute.v1.AccessConfig.Builder addAccessConfigsBuilder() {
2827       return getAccessConfigsFieldBuilder()
2828           .addBuilder(com.google.cloud.compute.v1.AccessConfig.getDefaultInstance());
2829     }
2830     /**
2831      *
2832      *
2833      * <pre>
2834      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2835      * </pre>
2836      *
2837      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2838      */
addAccessConfigsBuilder(int index)2839     public com.google.cloud.compute.v1.AccessConfig.Builder addAccessConfigsBuilder(int index) {
2840       return getAccessConfigsFieldBuilder()
2841           .addBuilder(index, com.google.cloud.compute.v1.AccessConfig.getDefaultInstance());
2842     }
2843     /**
2844      *
2845      *
2846      * <pre>
2847      * An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
2848      * </pre>
2849      *
2850      * <code>repeated .google.cloud.compute.v1.AccessConfig access_configs = 111058326;</code>
2851      */
2852     public java.util.List<com.google.cloud.compute.v1.AccessConfig.Builder>
getAccessConfigsBuilderList()2853         getAccessConfigsBuilderList() {
2854       return getAccessConfigsFieldBuilder().getBuilderList();
2855     }
2856 
2857     private com.google.protobuf.RepeatedFieldBuilderV3<
2858             com.google.cloud.compute.v1.AccessConfig,
2859             com.google.cloud.compute.v1.AccessConfig.Builder,
2860             com.google.cloud.compute.v1.AccessConfigOrBuilder>
getAccessConfigsFieldBuilder()2861         getAccessConfigsFieldBuilder() {
2862       if (accessConfigsBuilder_ == null) {
2863         accessConfigsBuilder_ =
2864             new com.google.protobuf.RepeatedFieldBuilderV3<
2865                 com.google.cloud.compute.v1.AccessConfig,
2866                 com.google.cloud.compute.v1.AccessConfig.Builder,
2867                 com.google.cloud.compute.v1.AccessConfigOrBuilder>(
2868                 accessConfigs_,
2869                 ((bitField0_ & 0x00000001) != 0),
2870                 getParentForChildren(),
2871                 isClean());
2872         accessConfigs_ = null;
2873       }
2874       return accessConfigsBuilder_;
2875     }
2876 
2877     private java.util.List<com.google.cloud.compute.v1.AliasIpRange> aliasIpRanges_ =
2878         java.util.Collections.emptyList();
2879 
ensureAliasIpRangesIsMutable()2880     private void ensureAliasIpRangesIsMutable() {
2881       if (!((bitField0_ & 0x00000002) != 0)) {
2882         aliasIpRanges_ =
2883             new java.util.ArrayList<com.google.cloud.compute.v1.AliasIpRange>(aliasIpRanges_);
2884         bitField0_ |= 0x00000002;
2885       }
2886     }
2887 
2888     private com.google.protobuf.RepeatedFieldBuilderV3<
2889             com.google.cloud.compute.v1.AliasIpRange,
2890             com.google.cloud.compute.v1.AliasIpRange.Builder,
2891             com.google.cloud.compute.v1.AliasIpRangeOrBuilder>
2892         aliasIpRangesBuilder_;
2893 
2894     /**
2895      *
2896      *
2897      * <pre>
2898      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
2899      * </pre>
2900      *
2901      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
2902      */
getAliasIpRangesList()2903     public java.util.List<com.google.cloud.compute.v1.AliasIpRange> getAliasIpRangesList() {
2904       if (aliasIpRangesBuilder_ == null) {
2905         return java.util.Collections.unmodifiableList(aliasIpRanges_);
2906       } else {
2907         return aliasIpRangesBuilder_.getMessageList();
2908       }
2909     }
2910     /**
2911      *
2912      *
2913      * <pre>
2914      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
2915      * </pre>
2916      *
2917      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
2918      */
getAliasIpRangesCount()2919     public int getAliasIpRangesCount() {
2920       if (aliasIpRangesBuilder_ == null) {
2921         return aliasIpRanges_.size();
2922       } else {
2923         return aliasIpRangesBuilder_.getCount();
2924       }
2925     }
2926     /**
2927      *
2928      *
2929      * <pre>
2930      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
2931      * </pre>
2932      *
2933      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
2934      */
getAliasIpRanges(int index)2935     public com.google.cloud.compute.v1.AliasIpRange getAliasIpRanges(int index) {
2936       if (aliasIpRangesBuilder_ == null) {
2937         return aliasIpRanges_.get(index);
2938       } else {
2939         return aliasIpRangesBuilder_.getMessage(index);
2940       }
2941     }
2942     /**
2943      *
2944      *
2945      * <pre>
2946      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
2947      * </pre>
2948      *
2949      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
2950      */
setAliasIpRanges(int index, com.google.cloud.compute.v1.AliasIpRange value)2951     public Builder setAliasIpRanges(int index, com.google.cloud.compute.v1.AliasIpRange value) {
2952       if (aliasIpRangesBuilder_ == null) {
2953         if (value == null) {
2954           throw new NullPointerException();
2955         }
2956         ensureAliasIpRangesIsMutable();
2957         aliasIpRanges_.set(index, value);
2958         onChanged();
2959       } else {
2960         aliasIpRangesBuilder_.setMessage(index, value);
2961       }
2962       return this;
2963     }
2964     /**
2965      *
2966      *
2967      * <pre>
2968      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
2969      * </pre>
2970      *
2971      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
2972      */
setAliasIpRanges( int index, com.google.cloud.compute.v1.AliasIpRange.Builder builderForValue)2973     public Builder setAliasIpRanges(
2974         int index, com.google.cloud.compute.v1.AliasIpRange.Builder builderForValue) {
2975       if (aliasIpRangesBuilder_ == null) {
2976         ensureAliasIpRangesIsMutable();
2977         aliasIpRanges_.set(index, builderForValue.build());
2978         onChanged();
2979       } else {
2980         aliasIpRangesBuilder_.setMessage(index, builderForValue.build());
2981       }
2982       return this;
2983     }
2984     /**
2985      *
2986      *
2987      * <pre>
2988      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
2989      * </pre>
2990      *
2991      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
2992      */
addAliasIpRanges(com.google.cloud.compute.v1.AliasIpRange value)2993     public Builder addAliasIpRanges(com.google.cloud.compute.v1.AliasIpRange value) {
2994       if (aliasIpRangesBuilder_ == null) {
2995         if (value == null) {
2996           throw new NullPointerException();
2997         }
2998         ensureAliasIpRangesIsMutable();
2999         aliasIpRanges_.add(value);
3000         onChanged();
3001       } else {
3002         aliasIpRangesBuilder_.addMessage(value);
3003       }
3004       return this;
3005     }
3006     /**
3007      *
3008      *
3009      * <pre>
3010      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3011      * </pre>
3012      *
3013      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3014      */
addAliasIpRanges(int index, com.google.cloud.compute.v1.AliasIpRange value)3015     public Builder addAliasIpRanges(int index, com.google.cloud.compute.v1.AliasIpRange value) {
3016       if (aliasIpRangesBuilder_ == null) {
3017         if (value == null) {
3018           throw new NullPointerException();
3019         }
3020         ensureAliasIpRangesIsMutable();
3021         aliasIpRanges_.add(index, value);
3022         onChanged();
3023       } else {
3024         aliasIpRangesBuilder_.addMessage(index, value);
3025       }
3026       return this;
3027     }
3028     /**
3029      *
3030      *
3031      * <pre>
3032      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3033      * </pre>
3034      *
3035      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3036      */
addAliasIpRanges( com.google.cloud.compute.v1.AliasIpRange.Builder builderForValue)3037     public Builder addAliasIpRanges(
3038         com.google.cloud.compute.v1.AliasIpRange.Builder builderForValue) {
3039       if (aliasIpRangesBuilder_ == null) {
3040         ensureAliasIpRangesIsMutable();
3041         aliasIpRanges_.add(builderForValue.build());
3042         onChanged();
3043       } else {
3044         aliasIpRangesBuilder_.addMessage(builderForValue.build());
3045       }
3046       return this;
3047     }
3048     /**
3049      *
3050      *
3051      * <pre>
3052      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3053      * </pre>
3054      *
3055      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3056      */
addAliasIpRanges( int index, com.google.cloud.compute.v1.AliasIpRange.Builder builderForValue)3057     public Builder addAliasIpRanges(
3058         int index, com.google.cloud.compute.v1.AliasIpRange.Builder builderForValue) {
3059       if (aliasIpRangesBuilder_ == null) {
3060         ensureAliasIpRangesIsMutable();
3061         aliasIpRanges_.add(index, builderForValue.build());
3062         onChanged();
3063       } else {
3064         aliasIpRangesBuilder_.addMessage(index, builderForValue.build());
3065       }
3066       return this;
3067     }
3068     /**
3069      *
3070      *
3071      * <pre>
3072      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3073      * </pre>
3074      *
3075      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3076      */
addAllAliasIpRanges( java.lang.Iterable<? extends com.google.cloud.compute.v1.AliasIpRange> values)3077     public Builder addAllAliasIpRanges(
3078         java.lang.Iterable<? extends com.google.cloud.compute.v1.AliasIpRange> values) {
3079       if (aliasIpRangesBuilder_ == null) {
3080         ensureAliasIpRangesIsMutable();
3081         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, aliasIpRanges_);
3082         onChanged();
3083       } else {
3084         aliasIpRangesBuilder_.addAllMessages(values);
3085       }
3086       return this;
3087     }
3088     /**
3089      *
3090      *
3091      * <pre>
3092      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3093      * </pre>
3094      *
3095      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3096      */
clearAliasIpRanges()3097     public Builder clearAliasIpRanges() {
3098       if (aliasIpRangesBuilder_ == null) {
3099         aliasIpRanges_ = java.util.Collections.emptyList();
3100         bitField0_ = (bitField0_ & ~0x00000002);
3101         onChanged();
3102       } else {
3103         aliasIpRangesBuilder_.clear();
3104       }
3105       return this;
3106     }
3107     /**
3108      *
3109      *
3110      * <pre>
3111      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3112      * </pre>
3113      *
3114      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3115      */
removeAliasIpRanges(int index)3116     public Builder removeAliasIpRanges(int index) {
3117       if (aliasIpRangesBuilder_ == null) {
3118         ensureAliasIpRangesIsMutable();
3119         aliasIpRanges_.remove(index);
3120         onChanged();
3121       } else {
3122         aliasIpRangesBuilder_.remove(index);
3123       }
3124       return this;
3125     }
3126     /**
3127      *
3128      *
3129      * <pre>
3130      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3131      * </pre>
3132      *
3133      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3134      */
getAliasIpRangesBuilder(int index)3135     public com.google.cloud.compute.v1.AliasIpRange.Builder getAliasIpRangesBuilder(int index) {
3136       return getAliasIpRangesFieldBuilder().getBuilder(index);
3137     }
3138     /**
3139      *
3140      *
3141      * <pre>
3142      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3143      * </pre>
3144      *
3145      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3146      */
getAliasIpRangesOrBuilder(int index)3147     public com.google.cloud.compute.v1.AliasIpRangeOrBuilder getAliasIpRangesOrBuilder(int index) {
3148       if (aliasIpRangesBuilder_ == null) {
3149         return aliasIpRanges_.get(index);
3150       } else {
3151         return aliasIpRangesBuilder_.getMessageOrBuilder(index);
3152       }
3153     }
3154     /**
3155      *
3156      *
3157      * <pre>
3158      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3159      * </pre>
3160      *
3161      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3162      */
3163     public java.util.List<? extends com.google.cloud.compute.v1.AliasIpRangeOrBuilder>
getAliasIpRangesOrBuilderList()3164         getAliasIpRangesOrBuilderList() {
3165       if (aliasIpRangesBuilder_ != null) {
3166         return aliasIpRangesBuilder_.getMessageOrBuilderList();
3167       } else {
3168         return java.util.Collections.unmodifiableList(aliasIpRanges_);
3169       }
3170     }
3171     /**
3172      *
3173      *
3174      * <pre>
3175      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3176      * </pre>
3177      *
3178      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3179      */
addAliasIpRangesBuilder()3180     public com.google.cloud.compute.v1.AliasIpRange.Builder addAliasIpRangesBuilder() {
3181       return getAliasIpRangesFieldBuilder()
3182           .addBuilder(com.google.cloud.compute.v1.AliasIpRange.getDefaultInstance());
3183     }
3184     /**
3185      *
3186      *
3187      * <pre>
3188      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3189      * </pre>
3190      *
3191      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3192      */
addAliasIpRangesBuilder(int index)3193     public com.google.cloud.compute.v1.AliasIpRange.Builder addAliasIpRangesBuilder(int index) {
3194       return getAliasIpRangesFieldBuilder()
3195           .addBuilder(index, com.google.cloud.compute.v1.AliasIpRange.getDefaultInstance());
3196     }
3197     /**
3198      *
3199      *
3200      * <pre>
3201      * An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.
3202      * </pre>
3203      *
3204      * <code>repeated .google.cloud.compute.v1.AliasIpRange alias_ip_ranges = 165085631;</code>
3205      */
3206     public java.util.List<com.google.cloud.compute.v1.AliasIpRange.Builder>
getAliasIpRangesBuilderList()3207         getAliasIpRangesBuilderList() {
3208       return getAliasIpRangesFieldBuilder().getBuilderList();
3209     }
3210 
3211     private com.google.protobuf.RepeatedFieldBuilderV3<
3212             com.google.cloud.compute.v1.AliasIpRange,
3213             com.google.cloud.compute.v1.AliasIpRange.Builder,
3214             com.google.cloud.compute.v1.AliasIpRangeOrBuilder>
getAliasIpRangesFieldBuilder()3215         getAliasIpRangesFieldBuilder() {
3216       if (aliasIpRangesBuilder_ == null) {
3217         aliasIpRangesBuilder_ =
3218             new com.google.protobuf.RepeatedFieldBuilderV3<
3219                 com.google.cloud.compute.v1.AliasIpRange,
3220                 com.google.cloud.compute.v1.AliasIpRange.Builder,
3221                 com.google.cloud.compute.v1.AliasIpRangeOrBuilder>(
3222                 aliasIpRanges_,
3223                 ((bitField0_ & 0x00000002) != 0),
3224                 getParentForChildren(),
3225                 isClean());
3226         aliasIpRanges_ = null;
3227       }
3228       return aliasIpRangesBuilder_;
3229     }
3230 
3231     private java.lang.Object fingerprint_ = "";
3232     /**
3233      *
3234      *
3235      * <pre>
3236      * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
3237      * </pre>
3238      *
3239      * <code>optional string fingerprint = 234678500;</code>
3240      *
3241      * @return Whether the fingerprint field is set.
3242      */
hasFingerprint()3243     public boolean hasFingerprint() {
3244       return ((bitField0_ & 0x00000004) != 0);
3245     }
3246     /**
3247      *
3248      *
3249      * <pre>
3250      * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
3251      * </pre>
3252      *
3253      * <code>optional string fingerprint = 234678500;</code>
3254      *
3255      * @return The fingerprint.
3256      */
getFingerprint()3257     public java.lang.String getFingerprint() {
3258       java.lang.Object ref = fingerprint_;
3259       if (!(ref instanceof java.lang.String)) {
3260         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3261         java.lang.String s = bs.toStringUtf8();
3262         fingerprint_ = s;
3263         return s;
3264       } else {
3265         return (java.lang.String) ref;
3266       }
3267     }
3268     /**
3269      *
3270      *
3271      * <pre>
3272      * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
3273      * </pre>
3274      *
3275      * <code>optional string fingerprint = 234678500;</code>
3276      *
3277      * @return The bytes for fingerprint.
3278      */
getFingerprintBytes()3279     public com.google.protobuf.ByteString getFingerprintBytes() {
3280       java.lang.Object ref = fingerprint_;
3281       if (ref instanceof String) {
3282         com.google.protobuf.ByteString b =
3283             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3284         fingerprint_ = b;
3285         return b;
3286       } else {
3287         return (com.google.protobuf.ByteString) ref;
3288       }
3289     }
3290     /**
3291      *
3292      *
3293      * <pre>
3294      * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
3295      * </pre>
3296      *
3297      * <code>optional string fingerprint = 234678500;</code>
3298      *
3299      * @param value The fingerprint to set.
3300      * @return This builder for chaining.
3301      */
setFingerprint(java.lang.String value)3302     public Builder setFingerprint(java.lang.String value) {
3303       if (value == null) {
3304         throw new NullPointerException();
3305       }
3306       fingerprint_ = value;
3307       bitField0_ |= 0x00000004;
3308       onChanged();
3309       return this;
3310     }
3311     /**
3312      *
3313      *
3314      * <pre>
3315      * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
3316      * </pre>
3317      *
3318      * <code>optional string fingerprint = 234678500;</code>
3319      *
3320      * @return This builder for chaining.
3321      */
clearFingerprint()3322     public Builder clearFingerprint() {
3323       fingerprint_ = getDefaultInstance().getFingerprint();
3324       bitField0_ = (bitField0_ & ~0x00000004);
3325       onChanged();
3326       return this;
3327     }
3328     /**
3329      *
3330      *
3331      * <pre>
3332      * Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
3333      * </pre>
3334      *
3335      * <code>optional string fingerprint = 234678500;</code>
3336      *
3337      * @param value The bytes for fingerprint to set.
3338      * @return This builder for chaining.
3339      */
setFingerprintBytes(com.google.protobuf.ByteString value)3340     public Builder setFingerprintBytes(com.google.protobuf.ByteString value) {
3341       if (value == null) {
3342         throw new NullPointerException();
3343       }
3344       checkByteStringIsUtf8(value);
3345       fingerprint_ = value;
3346       bitField0_ |= 0x00000004;
3347       onChanged();
3348       return this;
3349     }
3350 
3351     private int internalIpv6PrefixLength_;
3352     /**
3353      *
3354      *
3355      * <pre>
3356      * The prefix length of the primary internal IPv6 range.
3357      * </pre>
3358      *
3359      * <code>optional int32 internal_ipv6_prefix_length = 203833757;</code>
3360      *
3361      * @return Whether the internalIpv6PrefixLength field is set.
3362      */
3363     @java.lang.Override
hasInternalIpv6PrefixLength()3364     public boolean hasInternalIpv6PrefixLength() {
3365       return ((bitField0_ & 0x00000008) != 0);
3366     }
3367     /**
3368      *
3369      *
3370      * <pre>
3371      * The prefix length of the primary internal IPv6 range.
3372      * </pre>
3373      *
3374      * <code>optional int32 internal_ipv6_prefix_length = 203833757;</code>
3375      *
3376      * @return The internalIpv6PrefixLength.
3377      */
3378     @java.lang.Override
getInternalIpv6PrefixLength()3379     public int getInternalIpv6PrefixLength() {
3380       return internalIpv6PrefixLength_;
3381     }
3382     /**
3383      *
3384      *
3385      * <pre>
3386      * The prefix length of the primary internal IPv6 range.
3387      * </pre>
3388      *
3389      * <code>optional int32 internal_ipv6_prefix_length = 203833757;</code>
3390      *
3391      * @param value The internalIpv6PrefixLength to set.
3392      * @return This builder for chaining.
3393      */
setInternalIpv6PrefixLength(int value)3394     public Builder setInternalIpv6PrefixLength(int value) {
3395 
3396       internalIpv6PrefixLength_ = value;
3397       bitField0_ |= 0x00000008;
3398       onChanged();
3399       return this;
3400     }
3401     /**
3402      *
3403      *
3404      * <pre>
3405      * The prefix length of the primary internal IPv6 range.
3406      * </pre>
3407      *
3408      * <code>optional int32 internal_ipv6_prefix_length = 203833757;</code>
3409      *
3410      * @return This builder for chaining.
3411      */
clearInternalIpv6PrefixLength()3412     public Builder clearInternalIpv6PrefixLength() {
3413       bitField0_ = (bitField0_ & ~0x00000008);
3414       internalIpv6PrefixLength_ = 0;
3415       onChanged();
3416       return this;
3417     }
3418 
3419     private java.util.List<com.google.cloud.compute.v1.AccessConfig> ipv6AccessConfigs_ =
3420         java.util.Collections.emptyList();
3421 
ensureIpv6AccessConfigsIsMutable()3422     private void ensureIpv6AccessConfigsIsMutable() {
3423       if (!((bitField0_ & 0x00000010) != 0)) {
3424         ipv6AccessConfigs_ =
3425             new java.util.ArrayList<com.google.cloud.compute.v1.AccessConfig>(ipv6AccessConfigs_);
3426         bitField0_ |= 0x00000010;
3427       }
3428     }
3429 
3430     private com.google.protobuf.RepeatedFieldBuilderV3<
3431             com.google.cloud.compute.v1.AccessConfig,
3432             com.google.cloud.compute.v1.AccessConfig.Builder,
3433             com.google.cloud.compute.v1.AccessConfigOrBuilder>
3434         ipv6AccessConfigsBuilder_;
3435 
3436     /**
3437      *
3438      *
3439      * <pre>
3440      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3441      * </pre>
3442      *
3443      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3444      */
getIpv6AccessConfigsList()3445     public java.util.List<com.google.cloud.compute.v1.AccessConfig> getIpv6AccessConfigsList() {
3446       if (ipv6AccessConfigsBuilder_ == null) {
3447         return java.util.Collections.unmodifiableList(ipv6AccessConfigs_);
3448       } else {
3449         return ipv6AccessConfigsBuilder_.getMessageList();
3450       }
3451     }
3452     /**
3453      *
3454      *
3455      * <pre>
3456      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3457      * </pre>
3458      *
3459      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3460      */
getIpv6AccessConfigsCount()3461     public int getIpv6AccessConfigsCount() {
3462       if (ipv6AccessConfigsBuilder_ == null) {
3463         return ipv6AccessConfigs_.size();
3464       } else {
3465         return ipv6AccessConfigsBuilder_.getCount();
3466       }
3467     }
3468     /**
3469      *
3470      *
3471      * <pre>
3472      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3473      * </pre>
3474      *
3475      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3476      */
getIpv6AccessConfigs(int index)3477     public com.google.cloud.compute.v1.AccessConfig getIpv6AccessConfigs(int index) {
3478       if (ipv6AccessConfigsBuilder_ == null) {
3479         return ipv6AccessConfigs_.get(index);
3480       } else {
3481         return ipv6AccessConfigsBuilder_.getMessage(index);
3482       }
3483     }
3484     /**
3485      *
3486      *
3487      * <pre>
3488      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3489      * </pre>
3490      *
3491      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3492      */
setIpv6AccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value)3493     public Builder setIpv6AccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value) {
3494       if (ipv6AccessConfigsBuilder_ == null) {
3495         if (value == null) {
3496           throw new NullPointerException();
3497         }
3498         ensureIpv6AccessConfigsIsMutable();
3499         ipv6AccessConfigs_.set(index, value);
3500         onChanged();
3501       } else {
3502         ipv6AccessConfigsBuilder_.setMessage(index, value);
3503       }
3504       return this;
3505     }
3506     /**
3507      *
3508      *
3509      * <pre>
3510      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3511      * </pre>
3512      *
3513      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3514      */
setIpv6AccessConfigs( int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue)3515     public Builder setIpv6AccessConfigs(
3516         int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue) {
3517       if (ipv6AccessConfigsBuilder_ == null) {
3518         ensureIpv6AccessConfigsIsMutable();
3519         ipv6AccessConfigs_.set(index, builderForValue.build());
3520         onChanged();
3521       } else {
3522         ipv6AccessConfigsBuilder_.setMessage(index, builderForValue.build());
3523       }
3524       return this;
3525     }
3526     /**
3527      *
3528      *
3529      * <pre>
3530      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3531      * </pre>
3532      *
3533      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3534      */
addIpv6AccessConfigs(com.google.cloud.compute.v1.AccessConfig value)3535     public Builder addIpv6AccessConfigs(com.google.cloud.compute.v1.AccessConfig value) {
3536       if (ipv6AccessConfigsBuilder_ == null) {
3537         if (value == null) {
3538           throw new NullPointerException();
3539         }
3540         ensureIpv6AccessConfigsIsMutable();
3541         ipv6AccessConfigs_.add(value);
3542         onChanged();
3543       } else {
3544         ipv6AccessConfigsBuilder_.addMessage(value);
3545       }
3546       return this;
3547     }
3548     /**
3549      *
3550      *
3551      * <pre>
3552      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3553      * </pre>
3554      *
3555      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3556      */
addIpv6AccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value)3557     public Builder addIpv6AccessConfigs(int index, com.google.cloud.compute.v1.AccessConfig value) {
3558       if (ipv6AccessConfigsBuilder_ == null) {
3559         if (value == null) {
3560           throw new NullPointerException();
3561         }
3562         ensureIpv6AccessConfigsIsMutable();
3563         ipv6AccessConfigs_.add(index, value);
3564         onChanged();
3565       } else {
3566         ipv6AccessConfigsBuilder_.addMessage(index, value);
3567       }
3568       return this;
3569     }
3570     /**
3571      *
3572      *
3573      * <pre>
3574      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3575      * </pre>
3576      *
3577      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3578      */
addIpv6AccessConfigs( com.google.cloud.compute.v1.AccessConfig.Builder builderForValue)3579     public Builder addIpv6AccessConfigs(
3580         com.google.cloud.compute.v1.AccessConfig.Builder builderForValue) {
3581       if (ipv6AccessConfigsBuilder_ == null) {
3582         ensureIpv6AccessConfigsIsMutable();
3583         ipv6AccessConfigs_.add(builderForValue.build());
3584         onChanged();
3585       } else {
3586         ipv6AccessConfigsBuilder_.addMessage(builderForValue.build());
3587       }
3588       return this;
3589     }
3590     /**
3591      *
3592      *
3593      * <pre>
3594      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3595      * </pre>
3596      *
3597      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3598      */
addIpv6AccessConfigs( int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue)3599     public Builder addIpv6AccessConfigs(
3600         int index, com.google.cloud.compute.v1.AccessConfig.Builder builderForValue) {
3601       if (ipv6AccessConfigsBuilder_ == null) {
3602         ensureIpv6AccessConfigsIsMutable();
3603         ipv6AccessConfigs_.add(index, builderForValue.build());
3604         onChanged();
3605       } else {
3606         ipv6AccessConfigsBuilder_.addMessage(index, builderForValue.build());
3607       }
3608       return this;
3609     }
3610     /**
3611      *
3612      *
3613      * <pre>
3614      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3615      * </pre>
3616      *
3617      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3618      */
addAllIpv6AccessConfigs( java.lang.Iterable<? extends com.google.cloud.compute.v1.AccessConfig> values)3619     public Builder addAllIpv6AccessConfigs(
3620         java.lang.Iterable<? extends com.google.cloud.compute.v1.AccessConfig> values) {
3621       if (ipv6AccessConfigsBuilder_ == null) {
3622         ensureIpv6AccessConfigsIsMutable();
3623         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, ipv6AccessConfigs_);
3624         onChanged();
3625       } else {
3626         ipv6AccessConfigsBuilder_.addAllMessages(values);
3627       }
3628       return this;
3629     }
3630     /**
3631      *
3632      *
3633      * <pre>
3634      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3635      * </pre>
3636      *
3637      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3638      */
clearIpv6AccessConfigs()3639     public Builder clearIpv6AccessConfigs() {
3640       if (ipv6AccessConfigsBuilder_ == null) {
3641         ipv6AccessConfigs_ = java.util.Collections.emptyList();
3642         bitField0_ = (bitField0_ & ~0x00000010);
3643         onChanged();
3644       } else {
3645         ipv6AccessConfigsBuilder_.clear();
3646       }
3647       return this;
3648     }
3649     /**
3650      *
3651      *
3652      * <pre>
3653      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3654      * </pre>
3655      *
3656      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3657      */
removeIpv6AccessConfigs(int index)3658     public Builder removeIpv6AccessConfigs(int index) {
3659       if (ipv6AccessConfigsBuilder_ == null) {
3660         ensureIpv6AccessConfigsIsMutable();
3661         ipv6AccessConfigs_.remove(index);
3662         onChanged();
3663       } else {
3664         ipv6AccessConfigsBuilder_.remove(index);
3665       }
3666       return this;
3667     }
3668     /**
3669      *
3670      *
3671      * <pre>
3672      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3673      * </pre>
3674      *
3675      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3676      */
getIpv6AccessConfigsBuilder(int index)3677     public com.google.cloud.compute.v1.AccessConfig.Builder getIpv6AccessConfigsBuilder(int index) {
3678       return getIpv6AccessConfigsFieldBuilder().getBuilder(index);
3679     }
3680     /**
3681      *
3682      *
3683      * <pre>
3684      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3685      * </pre>
3686      *
3687      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3688      */
getIpv6AccessConfigsOrBuilder( int index)3689     public com.google.cloud.compute.v1.AccessConfigOrBuilder getIpv6AccessConfigsOrBuilder(
3690         int index) {
3691       if (ipv6AccessConfigsBuilder_ == null) {
3692         return ipv6AccessConfigs_.get(index);
3693       } else {
3694         return ipv6AccessConfigsBuilder_.getMessageOrBuilder(index);
3695       }
3696     }
3697     /**
3698      *
3699      *
3700      * <pre>
3701      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3702      * </pre>
3703      *
3704      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3705      */
3706     public java.util.List<? extends com.google.cloud.compute.v1.AccessConfigOrBuilder>
getIpv6AccessConfigsOrBuilderList()3707         getIpv6AccessConfigsOrBuilderList() {
3708       if (ipv6AccessConfigsBuilder_ != null) {
3709         return ipv6AccessConfigsBuilder_.getMessageOrBuilderList();
3710       } else {
3711         return java.util.Collections.unmodifiableList(ipv6AccessConfigs_);
3712       }
3713     }
3714     /**
3715      *
3716      *
3717      * <pre>
3718      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3719      * </pre>
3720      *
3721      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3722      */
addIpv6AccessConfigsBuilder()3723     public com.google.cloud.compute.v1.AccessConfig.Builder addIpv6AccessConfigsBuilder() {
3724       return getIpv6AccessConfigsFieldBuilder()
3725           .addBuilder(com.google.cloud.compute.v1.AccessConfig.getDefaultInstance());
3726     }
3727     /**
3728      *
3729      *
3730      * <pre>
3731      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3732      * </pre>
3733      *
3734      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3735      */
addIpv6AccessConfigsBuilder(int index)3736     public com.google.cloud.compute.v1.AccessConfig.Builder addIpv6AccessConfigsBuilder(int index) {
3737       return getIpv6AccessConfigsFieldBuilder()
3738           .addBuilder(index, com.google.cloud.compute.v1.AccessConfig.getDefaultInstance());
3739     }
3740     /**
3741      *
3742      *
3743      * <pre>
3744      * An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
3745      * </pre>
3746      *
3747      * <code>repeated .google.cloud.compute.v1.AccessConfig ipv6_access_configs = 483472110;</code>
3748      */
3749     public java.util.List<com.google.cloud.compute.v1.AccessConfig.Builder>
getIpv6AccessConfigsBuilderList()3750         getIpv6AccessConfigsBuilderList() {
3751       return getIpv6AccessConfigsFieldBuilder().getBuilderList();
3752     }
3753 
3754     private com.google.protobuf.RepeatedFieldBuilderV3<
3755             com.google.cloud.compute.v1.AccessConfig,
3756             com.google.cloud.compute.v1.AccessConfig.Builder,
3757             com.google.cloud.compute.v1.AccessConfigOrBuilder>
getIpv6AccessConfigsFieldBuilder()3758         getIpv6AccessConfigsFieldBuilder() {
3759       if (ipv6AccessConfigsBuilder_ == null) {
3760         ipv6AccessConfigsBuilder_ =
3761             new com.google.protobuf.RepeatedFieldBuilderV3<
3762                 com.google.cloud.compute.v1.AccessConfig,
3763                 com.google.cloud.compute.v1.AccessConfig.Builder,
3764                 com.google.cloud.compute.v1.AccessConfigOrBuilder>(
3765                 ipv6AccessConfigs_,
3766                 ((bitField0_ & 0x00000010) != 0),
3767                 getParentForChildren(),
3768                 isClean());
3769         ipv6AccessConfigs_ = null;
3770       }
3771       return ipv6AccessConfigsBuilder_;
3772     }
3773 
3774     private java.lang.Object ipv6AccessType_ = "";
3775     /**
3776      *
3777      *
3778      * <pre>
3779      * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
3780      * Check the Ipv6AccessType enum for the list of possible values.
3781      * </pre>
3782      *
3783      * <code>optional string ipv6_access_type = 504658653;</code>
3784      *
3785      * @return Whether the ipv6AccessType field is set.
3786      */
hasIpv6AccessType()3787     public boolean hasIpv6AccessType() {
3788       return ((bitField0_ & 0x00000020) != 0);
3789     }
3790     /**
3791      *
3792      *
3793      * <pre>
3794      * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
3795      * Check the Ipv6AccessType enum for the list of possible values.
3796      * </pre>
3797      *
3798      * <code>optional string ipv6_access_type = 504658653;</code>
3799      *
3800      * @return The ipv6AccessType.
3801      */
getIpv6AccessType()3802     public java.lang.String getIpv6AccessType() {
3803       java.lang.Object ref = ipv6AccessType_;
3804       if (!(ref instanceof java.lang.String)) {
3805         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3806         java.lang.String s = bs.toStringUtf8();
3807         ipv6AccessType_ = s;
3808         return s;
3809       } else {
3810         return (java.lang.String) ref;
3811       }
3812     }
3813     /**
3814      *
3815      *
3816      * <pre>
3817      * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
3818      * Check the Ipv6AccessType enum for the list of possible values.
3819      * </pre>
3820      *
3821      * <code>optional string ipv6_access_type = 504658653;</code>
3822      *
3823      * @return The bytes for ipv6AccessType.
3824      */
getIpv6AccessTypeBytes()3825     public com.google.protobuf.ByteString getIpv6AccessTypeBytes() {
3826       java.lang.Object ref = ipv6AccessType_;
3827       if (ref instanceof String) {
3828         com.google.protobuf.ByteString b =
3829             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3830         ipv6AccessType_ = b;
3831         return b;
3832       } else {
3833         return (com.google.protobuf.ByteString) ref;
3834       }
3835     }
3836     /**
3837      *
3838      *
3839      * <pre>
3840      * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
3841      * Check the Ipv6AccessType enum for the list of possible values.
3842      * </pre>
3843      *
3844      * <code>optional string ipv6_access_type = 504658653;</code>
3845      *
3846      * @param value The ipv6AccessType to set.
3847      * @return This builder for chaining.
3848      */
setIpv6AccessType(java.lang.String value)3849     public Builder setIpv6AccessType(java.lang.String value) {
3850       if (value == null) {
3851         throw new NullPointerException();
3852       }
3853       ipv6AccessType_ = value;
3854       bitField0_ |= 0x00000020;
3855       onChanged();
3856       return this;
3857     }
3858     /**
3859      *
3860      *
3861      * <pre>
3862      * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
3863      * Check the Ipv6AccessType enum for the list of possible values.
3864      * </pre>
3865      *
3866      * <code>optional string ipv6_access_type = 504658653;</code>
3867      *
3868      * @return This builder for chaining.
3869      */
clearIpv6AccessType()3870     public Builder clearIpv6AccessType() {
3871       ipv6AccessType_ = getDefaultInstance().getIpv6AccessType();
3872       bitField0_ = (bitField0_ & ~0x00000020);
3873       onChanged();
3874       return this;
3875     }
3876     /**
3877      *
3878      *
3879      * <pre>
3880      * [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
3881      * Check the Ipv6AccessType enum for the list of possible values.
3882      * </pre>
3883      *
3884      * <code>optional string ipv6_access_type = 504658653;</code>
3885      *
3886      * @param value The bytes for ipv6AccessType to set.
3887      * @return This builder for chaining.
3888      */
setIpv6AccessTypeBytes(com.google.protobuf.ByteString value)3889     public Builder setIpv6AccessTypeBytes(com.google.protobuf.ByteString value) {
3890       if (value == null) {
3891         throw new NullPointerException();
3892       }
3893       checkByteStringIsUtf8(value);
3894       ipv6AccessType_ = value;
3895       bitField0_ |= 0x00000020;
3896       onChanged();
3897       return this;
3898     }
3899 
3900     private java.lang.Object ipv6Address_ = "";
3901     /**
3902      *
3903      *
3904      * <pre>
3905      * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
3906      * </pre>
3907      *
3908      * <code>optional string ipv6_address = 341563804;</code>
3909      *
3910      * @return Whether the ipv6Address field is set.
3911      */
hasIpv6Address()3912     public boolean hasIpv6Address() {
3913       return ((bitField0_ & 0x00000040) != 0);
3914     }
3915     /**
3916      *
3917      *
3918      * <pre>
3919      * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
3920      * </pre>
3921      *
3922      * <code>optional string ipv6_address = 341563804;</code>
3923      *
3924      * @return The ipv6Address.
3925      */
getIpv6Address()3926     public java.lang.String getIpv6Address() {
3927       java.lang.Object ref = ipv6Address_;
3928       if (!(ref instanceof java.lang.String)) {
3929         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3930         java.lang.String s = bs.toStringUtf8();
3931         ipv6Address_ = s;
3932         return s;
3933       } else {
3934         return (java.lang.String) ref;
3935       }
3936     }
3937     /**
3938      *
3939      *
3940      * <pre>
3941      * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
3942      * </pre>
3943      *
3944      * <code>optional string ipv6_address = 341563804;</code>
3945      *
3946      * @return The bytes for ipv6Address.
3947      */
getIpv6AddressBytes()3948     public com.google.protobuf.ByteString getIpv6AddressBytes() {
3949       java.lang.Object ref = ipv6Address_;
3950       if (ref instanceof String) {
3951         com.google.protobuf.ByteString b =
3952             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3953         ipv6Address_ = b;
3954         return b;
3955       } else {
3956         return (com.google.protobuf.ByteString) ref;
3957       }
3958     }
3959     /**
3960      *
3961      *
3962      * <pre>
3963      * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
3964      * </pre>
3965      *
3966      * <code>optional string ipv6_address = 341563804;</code>
3967      *
3968      * @param value The ipv6Address to set.
3969      * @return This builder for chaining.
3970      */
setIpv6Address(java.lang.String value)3971     public Builder setIpv6Address(java.lang.String value) {
3972       if (value == null) {
3973         throw new NullPointerException();
3974       }
3975       ipv6Address_ = value;
3976       bitField0_ |= 0x00000040;
3977       onChanged();
3978       return this;
3979     }
3980     /**
3981      *
3982      *
3983      * <pre>
3984      * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
3985      * </pre>
3986      *
3987      * <code>optional string ipv6_address = 341563804;</code>
3988      *
3989      * @return This builder for chaining.
3990      */
clearIpv6Address()3991     public Builder clearIpv6Address() {
3992       ipv6Address_ = getDefaultInstance().getIpv6Address();
3993       bitField0_ = (bitField0_ & ~0x00000040);
3994       onChanged();
3995       return this;
3996     }
3997     /**
3998      *
3999      *
4000      * <pre>
4001      * An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
4002      * </pre>
4003      *
4004      * <code>optional string ipv6_address = 341563804;</code>
4005      *
4006      * @param value The bytes for ipv6Address to set.
4007      * @return This builder for chaining.
4008      */
setIpv6AddressBytes(com.google.protobuf.ByteString value)4009     public Builder setIpv6AddressBytes(com.google.protobuf.ByteString value) {
4010       if (value == null) {
4011         throw new NullPointerException();
4012       }
4013       checkByteStringIsUtf8(value);
4014       ipv6Address_ = value;
4015       bitField0_ |= 0x00000040;
4016       onChanged();
4017       return this;
4018     }
4019 
4020     private java.lang.Object kind_ = "";
4021     /**
4022      *
4023      *
4024      * <pre>
4025      * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
4026      * </pre>
4027      *
4028      * <code>optional string kind = 3292052;</code>
4029      *
4030      * @return Whether the kind field is set.
4031      */
hasKind()4032     public boolean hasKind() {
4033       return ((bitField0_ & 0x00000080) != 0);
4034     }
4035     /**
4036      *
4037      *
4038      * <pre>
4039      * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
4040      * </pre>
4041      *
4042      * <code>optional string kind = 3292052;</code>
4043      *
4044      * @return The kind.
4045      */
getKind()4046     public java.lang.String getKind() {
4047       java.lang.Object ref = kind_;
4048       if (!(ref instanceof java.lang.String)) {
4049         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4050         java.lang.String s = bs.toStringUtf8();
4051         kind_ = s;
4052         return s;
4053       } else {
4054         return (java.lang.String) ref;
4055       }
4056     }
4057     /**
4058      *
4059      *
4060      * <pre>
4061      * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
4062      * </pre>
4063      *
4064      * <code>optional string kind = 3292052;</code>
4065      *
4066      * @return The bytes for kind.
4067      */
getKindBytes()4068     public com.google.protobuf.ByteString getKindBytes() {
4069       java.lang.Object ref = kind_;
4070       if (ref instanceof String) {
4071         com.google.protobuf.ByteString b =
4072             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4073         kind_ = b;
4074         return b;
4075       } else {
4076         return (com.google.protobuf.ByteString) ref;
4077       }
4078     }
4079     /**
4080      *
4081      *
4082      * <pre>
4083      * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
4084      * </pre>
4085      *
4086      * <code>optional string kind = 3292052;</code>
4087      *
4088      * @param value The kind to set.
4089      * @return This builder for chaining.
4090      */
setKind(java.lang.String value)4091     public Builder setKind(java.lang.String value) {
4092       if (value == null) {
4093         throw new NullPointerException();
4094       }
4095       kind_ = value;
4096       bitField0_ |= 0x00000080;
4097       onChanged();
4098       return this;
4099     }
4100     /**
4101      *
4102      *
4103      * <pre>
4104      * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
4105      * </pre>
4106      *
4107      * <code>optional string kind = 3292052;</code>
4108      *
4109      * @return This builder for chaining.
4110      */
clearKind()4111     public Builder clearKind() {
4112       kind_ = getDefaultInstance().getKind();
4113       bitField0_ = (bitField0_ & ~0x00000080);
4114       onChanged();
4115       return this;
4116     }
4117     /**
4118      *
4119      *
4120      * <pre>
4121      * [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
4122      * </pre>
4123      *
4124      * <code>optional string kind = 3292052;</code>
4125      *
4126      * @param value The bytes for kind to set.
4127      * @return This builder for chaining.
4128      */
setKindBytes(com.google.protobuf.ByteString value)4129     public Builder setKindBytes(com.google.protobuf.ByteString value) {
4130       if (value == null) {
4131         throw new NullPointerException();
4132       }
4133       checkByteStringIsUtf8(value);
4134       kind_ = value;
4135       bitField0_ |= 0x00000080;
4136       onChanged();
4137       return this;
4138     }
4139 
4140     private java.lang.Object name_ = "";
4141     /**
4142      *
4143      *
4144      * <pre>
4145      * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
4146      * </pre>
4147      *
4148      * <code>optional string name = 3373707;</code>
4149      *
4150      * @return Whether the name field is set.
4151      */
hasName()4152     public boolean hasName() {
4153       return ((bitField0_ & 0x00000100) != 0);
4154     }
4155     /**
4156      *
4157      *
4158      * <pre>
4159      * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
4160      * </pre>
4161      *
4162      * <code>optional string name = 3373707;</code>
4163      *
4164      * @return The name.
4165      */
getName()4166     public java.lang.String getName() {
4167       java.lang.Object ref = name_;
4168       if (!(ref instanceof java.lang.String)) {
4169         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4170         java.lang.String s = bs.toStringUtf8();
4171         name_ = s;
4172         return s;
4173       } else {
4174         return (java.lang.String) ref;
4175       }
4176     }
4177     /**
4178      *
4179      *
4180      * <pre>
4181      * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
4182      * </pre>
4183      *
4184      * <code>optional string name = 3373707;</code>
4185      *
4186      * @return The bytes for name.
4187      */
getNameBytes()4188     public com.google.protobuf.ByteString getNameBytes() {
4189       java.lang.Object ref = name_;
4190       if (ref instanceof String) {
4191         com.google.protobuf.ByteString b =
4192             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4193         name_ = b;
4194         return b;
4195       } else {
4196         return (com.google.protobuf.ByteString) ref;
4197       }
4198     }
4199     /**
4200      *
4201      *
4202      * <pre>
4203      * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
4204      * </pre>
4205      *
4206      * <code>optional string name = 3373707;</code>
4207      *
4208      * @param value The name to set.
4209      * @return This builder for chaining.
4210      */
setName(java.lang.String value)4211     public Builder setName(java.lang.String value) {
4212       if (value == null) {
4213         throw new NullPointerException();
4214       }
4215       name_ = value;
4216       bitField0_ |= 0x00000100;
4217       onChanged();
4218       return this;
4219     }
4220     /**
4221      *
4222      *
4223      * <pre>
4224      * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
4225      * </pre>
4226      *
4227      * <code>optional string name = 3373707;</code>
4228      *
4229      * @return This builder for chaining.
4230      */
clearName()4231     public Builder clearName() {
4232       name_ = getDefaultInstance().getName();
4233       bitField0_ = (bitField0_ & ~0x00000100);
4234       onChanged();
4235       return this;
4236     }
4237     /**
4238      *
4239      *
4240      * <pre>
4241      * [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.
4242      * </pre>
4243      *
4244      * <code>optional string name = 3373707;</code>
4245      *
4246      * @param value The bytes for name to set.
4247      * @return This builder for chaining.
4248      */
setNameBytes(com.google.protobuf.ByteString value)4249     public Builder setNameBytes(com.google.protobuf.ByteString value) {
4250       if (value == null) {
4251         throw new NullPointerException();
4252       }
4253       checkByteStringIsUtf8(value);
4254       name_ = value;
4255       bitField0_ |= 0x00000100;
4256       onChanged();
4257       return this;
4258     }
4259 
4260     private java.lang.Object network_ = "";
4261     /**
4262      *
4263      *
4264      * <pre>
4265      * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
4266      * </pre>
4267      *
4268      * <code>optional string network = 232872494;</code>
4269      *
4270      * @return Whether the network field is set.
4271      */
hasNetwork()4272     public boolean hasNetwork() {
4273       return ((bitField0_ & 0x00000200) != 0);
4274     }
4275     /**
4276      *
4277      *
4278      * <pre>
4279      * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
4280      * </pre>
4281      *
4282      * <code>optional string network = 232872494;</code>
4283      *
4284      * @return The network.
4285      */
getNetwork()4286     public java.lang.String getNetwork() {
4287       java.lang.Object ref = network_;
4288       if (!(ref instanceof java.lang.String)) {
4289         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4290         java.lang.String s = bs.toStringUtf8();
4291         network_ = s;
4292         return s;
4293       } else {
4294         return (java.lang.String) ref;
4295       }
4296     }
4297     /**
4298      *
4299      *
4300      * <pre>
4301      * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
4302      * </pre>
4303      *
4304      * <code>optional string network = 232872494;</code>
4305      *
4306      * @return The bytes for network.
4307      */
getNetworkBytes()4308     public com.google.protobuf.ByteString getNetworkBytes() {
4309       java.lang.Object ref = network_;
4310       if (ref instanceof String) {
4311         com.google.protobuf.ByteString b =
4312             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4313         network_ = b;
4314         return b;
4315       } else {
4316         return (com.google.protobuf.ByteString) ref;
4317       }
4318     }
4319     /**
4320      *
4321      *
4322      * <pre>
4323      * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
4324      * </pre>
4325      *
4326      * <code>optional string network = 232872494;</code>
4327      *
4328      * @param value The network to set.
4329      * @return This builder for chaining.
4330      */
setNetwork(java.lang.String value)4331     public Builder setNetwork(java.lang.String value) {
4332       if (value == null) {
4333         throw new NullPointerException();
4334       }
4335       network_ = value;
4336       bitField0_ |= 0x00000200;
4337       onChanged();
4338       return this;
4339     }
4340     /**
4341      *
4342      *
4343      * <pre>
4344      * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
4345      * </pre>
4346      *
4347      * <code>optional string network = 232872494;</code>
4348      *
4349      * @return This builder for chaining.
4350      */
clearNetwork()4351     public Builder clearNetwork() {
4352       network_ = getDefaultInstance().getNetwork();
4353       bitField0_ = (bitField0_ & ~0x00000200);
4354       onChanged();
4355       return this;
4356     }
4357     /**
4358      *
4359      *
4360      * <pre>
4361      * URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default
4362      * </pre>
4363      *
4364      * <code>optional string network = 232872494;</code>
4365      *
4366      * @param value The bytes for network to set.
4367      * @return This builder for chaining.
4368      */
setNetworkBytes(com.google.protobuf.ByteString value)4369     public Builder setNetworkBytes(com.google.protobuf.ByteString value) {
4370       if (value == null) {
4371         throw new NullPointerException();
4372       }
4373       checkByteStringIsUtf8(value);
4374       network_ = value;
4375       bitField0_ |= 0x00000200;
4376       onChanged();
4377       return this;
4378     }
4379 
4380     private java.lang.Object networkAttachment_ = "";
4381     /**
4382      *
4383      *
4384      * <pre>
4385      * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
4386      * </pre>
4387      *
4388      * <code>optional string network_attachment = 224644052;</code>
4389      *
4390      * @return Whether the networkAttachment field is set.
4391      */
hasNetworkAttachment()4392     public boolean hasNetworkAttachment() {
4393       return ((bitField0_ & 0x00000400) != 0);
4394     }
4395     /**
4396      *
4397      *
4398      * <pre>
4399      * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
4400      * </pre>
4401      *
4402      * <code>optional string network_attachment = 224644052;</code>
4403      *
4404      * @return The networkAttachment.
4405      */
getNetworkAttachment()4406     public java.lang.String getNetworkAttachment() {
4407       java.lang.Object ref = networkAttachment_;
4408       if (!(ref instanceof java.lang.String)) {
4409         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4410         java.lang.String s = bs.toStringUtf8();
4411         networkAttachment_ = s;
4412         return s;
4413       } else {
4414         return (java.lang.String) ref;
4415       }
4416     }
4417     /**
4418      *
4419      *
4420      * <pre>
4421      * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
4422      * </pre>
4423      *
4424      * <code>optional string network_attachment = 224644052;</code>
4425      *
4426      * @return The bytes for networkAttachment.
4427      */
getNetworkAttachmentBytes()4428     public com.google.protobuf.ByteString getNetworkAttachmentBytes() {
4429       java.lang.Object ref = networkAttachment_;
4430       if (ref instanceof String) {
4431         com.google.protobuf.ByteString b =
4432             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4433         networkAttachment_ = b;
4434         return b;
4435       } else {
4436         return (com.google.protobuf.ByteString) ref;
4437       }
4438     }
4439     /**
4440      *
4441      *
4442      * <pre>
4443      * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
4444      * </pre>
4445      *
4446      * <code>optional string network_attachment = 224644052;</code>
4447      *
4448      * @param value The networkAttachment to set.
4449      * @return This builder for chaining.
4450      */
setNetworkAttachment(java.lang.String value)4451     public Builder setNetworkAttachment(java.lang.String value) {
4452       if (value == null) {
4453         throw new NullPointerException();
4454       }
4455       networkAttachment_ = value;
4456       bitField0_ |= 0x00000400;
4457       onChanged();
4458       return this;
4459     }
4460     /**
4461      *
4462      *
4463      * <pre>
4464      * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
4465      * </pre>
4466      *
4467      * <code>optional string network_attachment = 224644052;</code>
4468      *
4469      * @return This builder for chaining.
4470      */
clearNetworkAttachment()4471     public Builder clearNetworkAttachment() {
4472       networkAttachment_ = getDefaultInstance().getNetworkAttachment();
4473       bitField0_ = (bitField0_ & ~0x00000400);
4474       onChanged();
4475       return this;
4476     }
4477     /**
4478      *
4479      *
4480      * <pre>
4481      * The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.
4482      * </pre>
4483      *
4484      * <code>optional string network_attachment = 224644052;</code>
4485      *
4486      * @param value The bytes for networkAttachment to set.
4487      * @return This builder for chaining.
4488      */
setNetworkAttachmentBytes(com.google.protobuf.ByteString value)4489     public Builder setNetworkAttachmentBytes(com.google.protobuf.ByteString value) {
4490       if (value == null) {
4491         throw new NullPointerException();
4492       }
4493       checkByteStringIsUtf8(value);
4494       networkAttachment_ = value;
4495       bitField0_ |= 0x00000400;
4496       onChanged();
4497       return this;
4498     }
4499 
4500     private java.lang.Object networkIP_ = "";
4501     /**
4502      *
4503      *
4504      * <pre>
4505      * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
4506      * </pre>
4507      *
4508      * <code>optional string network_i_p = 207181961;</code>
4509      *
4510      * @return Whether the networkIP field is set.
4511      */
hasNetworkIP()4512     public boolean hasNetworkIP() {
4513       return ((bitField0_ & 0x00000800) != 0);
4514     }
4515     /**
4516      *
4517      *
4518      * <pre>
4519      * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
4520      * </pre>
4521      *
4522      * <code>optional string network_i_p = 207181961;</code>
4523      *
4524      * @return The networkIP.
4525      */
getNetworkIP()4526     public java.lang.String getNetworkIP() {
4527       java.lang.Object ref = networkIP_;
4528       if (!(ref instanceof java.lang.String)) {
4529         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4530         java.lang.String s = bs.toStringUtf8();
4531         networkIP_ = s;
4532         return s;
4533       } else {
4534         return (java.lang.String) ref;
4535       }
4536     }
4537     /**
4538      *
4539      *
4540      * <pre>
4541      * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
4542      * </pre>
4543      *
4544      * <code>optional string network_i_p = 207181961;</code>
4545      *
4546      * @return The bytes for networkIP.
4547      */
getNetworkIPBytes()4548     public com.google.protobuf.ByteString getNetworkIPBytes() {
4549       java.lang.Object ref = networkIP_;
4550       if (ref instanceof String) {
4551         com.google.protobuf.ByteString b =
4552             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4553         networkIP_ = b;
4554         return b;
4555       } else {
4556         return (com.google.protobuf.ByteString) ref;
4557       }
4558     }
4559     /**
4560      *
4561      *
4562      * <pre>
4563      * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
4564      * </pre>
4565      *
4566      * <code>optional string network_i_p = 207181961;</code>
4567      *
4568      * @param value The networkIP to set.
4569      * @return This builder for chaining.
4570      */
setNetworkIP(java.lang.String value)4571     public Builder setNetworkIP(java.lang.String value) {
4572       if (value == null) {
4573         throw new NullPointerException();
4574       }
4575       networkIP_ = value;
4576       bitField0_ |= 0x00000800;
4577       onChanged();
4578       return this;
4579     }
4580     /**
4581      *
4582      *
4583      * <pre>
4584      * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
4585      * </pre>
4586      *
4587      * <code>optional string network_i_p = 207181961;</code>
4588      *
4589      * @return This builder for chaining.
4590      */
clearNetworkIP()4591     public Builder clearNetworkIP() {
4592       networkIP_ = getDefaultInstance().getNetworkIP();
4593       bitField0_ = (bitField0_ & ~0x00000800);
4594       onChanged();
4595       return this;
4596     }
4597     /**
4598      *
4599      *
4600      * <pre>
4601      * An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
4602      * </pre>
4603      *
4604      * <code>optional string network_i_p = 207181961;</code>
4605      *
4606      * @param value The bytes for networkIP to set.
4607      * @return This builder for chaining.
4608      */
setNetworkIPBytes(com.google.protobuf.ByteString value)4609     public Builder setNetworkIPBytes(com.google.protobuf.ByteString value) {
4610       if (value == null) {
4611         throw new NullPointerException();
4612       }
4613       checkByteStringIsUtf8(value);
4614       networkIP_ = value;
4615       bitField0_ |= 0x00000800;
4616       onChanged();
4617       return this;
4618     }
4619 
4620     private java.lang.Object nicType_ = "";
4621     /**
4622      *
4623      *
4624      * <pre>
4625      * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
4626      * Check the NicType enum for the list of possible values.
4627      * </pre>
4628      *
4629      * <code>optional string nic_type = 59810577;</code>
4630      *
4631      * @return Whether the nicType field is set.
4632      */
hasNicType()4633     public boolean hasNicType() {
4634       return ((bitField0_ & 0x00001000) != 0);
4635     }
4636     /**
4637      *
4638      *
4639      * <pre>
4640      * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
4641      * Check the NicType enum for the list of possible values.
4642      * </pre>
4643      *
4644      * <code>optional string nic_type = 59810577;</code>
4645      *
4646      * @return The nicType.
4647      */
getNicType()4648     public java.lang.String getNicType() {
4649       java.lang.Object ref = nicType_;
4650       if (!(ref instanceof java.lang.String)) {
4651         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4652         java.lang.String s = bs.toStringUtf8();
4653         nicType_ = s;
4654         return s;
4655       } else {
4656         return (java.lang.String) ref;
4657       }
4658     }
4659     /**
4660      *
4661      *
4662      * <pre>
4663      * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
4664      * Check the NicType enum for the list of possible values.
4665      * </pre>
4666      *
4667      * <code>optional string nic_type = 59810577;</code>
4668      *
4669      * @return The bytes for nicType.
4670      */
getNicTypeBytes()4671     public com.google.protobuf.ByteString getNicTypeBytes() {
4672       java.lang.Object ref = nicType_;
4673       if (ref instanceof String) {
4674         com.google.protobuf.ByteString b =
4675             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4676         nicType_ = b;
4677         return b;
4678       } else {
4679         return (com.google.protobuf.ByteString) ref;
4680       }
4681     }
4682     /**
4683      *
4684      *
4685      * <pre>
4686      * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
4687      * Check the NicType enum for the list of possible values.
4688      * </pre>
4689      *
4690      * <code>optional string nic_type = 59810577;</code>
4691      *
4692      * @param value The nicType to set.
4693      * @return This builder for chaining.
4694      */
setNicType(java.lang.String value)4695     public Builder setNicType(java.lang.String value) {
4696       if (value == null) {
4697         throw new NullPointerException();
4698       }
4699       nicType_ = value;
4700       bitField0_ |= 0x00001000;
4701       onChanged();
4702       return this;
4703     }
4704     /**
4705      *
4706      *
4707      * <pre>
4708      * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
4709      * Check the NicType enum for the list of possible values.
4710      * </pre>
4711      *
4712      * <code>optional string nic_type = 59810577;</code>
4713      *
4714      * @return This builder for chaining.
4715      */
clearNicType()4716     public Builder clearNicType() {
4717       nicType_ = getDefaultInstance().getNicType();
4718       bitField0_ = (bitField0_ & ~0x00001000);
4719       onChanged();
4720       return this;
4721     }
4722     /**
4723      *
4724      *
4725      * <pre>
4726      * The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
4727      * Check the NicType enum for the list of possible values.
4728      * </pre>
4729      *
4730      * <code>optional string nic_type = 59810577;</code>
4731      *
4732      * @param value The bytes for nicType to set.
4733      * @return This builder for chaining.
4734      */
setNicTypeBytes(com.google.protobuf.ByteString value)4735     public Builder setNicTypeBytes(com.google.protobuf.ByteString value) {
4736       if (value == null) {
4737         throw new NullPointerException();
4738       }
4739       checkByteStringIsUtf8(value);
4740       nicType_ = value;
4741       bitField0_ |= 0x00001000;
4742       onChanged();
4743       return this;
4744     }
4745 
4746     private int queueCount_;
4747     /**
4748      *
4749      *
4750      * <pre>
4751      * The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.
4752      * </pre>
4753      *
4754      * <code>optional int32 queue_count = 503708769;</code>
4755      *
4756      * @return Whether the queueCount field is set.
4757      */
4758     @java.lang.Override
hasQueueCount()4759     public boolean hasQueueCount() {
4760       return ((bitField0_ & 0x00002000) != 0);
4761     }
4762     /**
4763      *
4764      *
4765      * <pre>
4766      * The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.
4767      * </pre>
4768      *
4769      * <code>optional int32 queue_count = 503708769;</code>
4770      *
4771      * @return The queueCount.
4772      */
4773     @java.lang.Override
getQueueCount()4774     public int getQueueCount() {
4775       return queueCount_;
4776     }
4777     /**
4778      *
4779      *
4780      * <pre>
4781      * The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.
4782      * </pre>
4783      *
4784      * <code>optional int32 queue_count = 503708769;</code>
4785      *
4786      * @param value The queueCount to set.
4787      * @return This builder for chaining.
4788      */
setQueueCount(int value)4789     public Builder setQueueCount(int value) {
4790 
4791       queueCount_ = value;
4792       bitField0_ |= 0x00002000;
4793       onChanged();
4794       return this;
4795     }
4796     /**
4797      *
4798      *
4799      * <pre>
4800      * The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.
4801      * </pre>
4802      *
4803      * <code>optional int32 queue_count = 503708769;</code>
4804      *
4805      * @return This builder for chaining.
4806      */
clearQueueCount()4807     public Builder clearQueueCount() {
4808       bitField0_ = (bitField0_ & ~0x00002000);
4809       queueCount_ = 0;
4810       onChanged();
4811       return this;
4812     }
4813 
4814     private java.lang.Object stackType_ = "";
4815     /**
4816      *
4817      *
4818      * <pre>
4819      * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
4820      * Check the StackType enum for the list of possible values.
4821      * </pre>
4822      *
4823      * <code>optional string stack_type = 425908881;</code>
4824      *
4825      * @return Whether the stackType field is set.
4826      */
hasStackType()4827     public boolean hasStackType() {
4828       return ((bitField0_ & 0x00004000) != 0);
4829     }
4830     /**
4831      *
4832      *
4833      * <pre>
4834      * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
4835      * Check the StackType enum for the list of possible values.
4836      * </pre>
4837      *
4838      * <code>optional string stack_type = 425908881;</code>
4839      *
4840      * @return The stackType.
4841      */
getStackType()4842     public java.lang.String getStackType() {
4843       java.lang.Object ref = stackType_;
4844       if (!(ref instanceof java.lang.String)) {
4845         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4846         java.lang.String s = bs.toStringUtf8();
4847         stackType_ = s;
4848         return s;
4849       } else {
4850         return (java.lang.String) ref;
4851       }
4852     }
4853     /**
4854      *
4855      *
4856      * <pre>
4857      * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
4858      * Check the StackType enum for the list of possible values.
4859      * </pre>
4860      *
4861      * <code>optional string stack_type = 425908881;</code>
4862      *
4863      * @return The bytes for stackType.
4864      */
getStackTypeBytes()4865     public com.google.protobuf.ByteString getStackTypeBytes() {
4866       java.lang.Object ref = stackType_;
4867       if (ref instanceof String) {
4868         com.google.protobuf.ByteString b =
4869             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4870         stackType_ = b;
4871         return b;
4872       } else {
4873         return (com.google.protobuf.ByteString) ref;
4874       }
4875     }
4876     /**
4877      *
4878      *
4879      * <pre>
4880      * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
4881      * Check the StackType enum for the list of possible values.
4882      * </pre>
4883      *
4884      * <code>optional string stack_type = 425908881;</code>
4885      *
4886      * @param value The stackType to set.
4887      * @return This builder for chaining.
4888      */
setStackType(java.lang.String value)4889     public Builder setStackType(java.lang.String value) {
4890       if (value == null) {
4891         throw new NullPointerException();
4892       }
4893       stackType_ = value;
4894       bitField0_ |= 0x00004000;
4895       onChanged();
4896       return this;
4897     }
4898     /**
4899      *
4900      *
4901      * <pre>
4902      * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
4903      * Check the StackType enum for the list of possible values.
4904      * </pre>
4905      *
4906      * <code>optional string stack_type = 425908881;</code>
4907      *
4908      * @return This builder for chaining.
4909      */
clearStackType()4910     public Builder clearStackType() {
4911       stackType_ = getDefaultInstance().getStackType();
4912       bitField0_ = (bitField0_ & ~0x00004000);
4913       onChanged();
4914       return this;
4915     }
4916     /**
4917      *
4918      *
4919      * <pre>
4920      * The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.
4921      * Check the StackType enum for the list of possible values.
4922      * </pre>
4923      *
4924      * <code>optional string stack_type = 425908881;</code>
4925      *
4926      * @param value The bytes for stackType to set.
4927      * @return This builder for chaining.
4928      */
setStackTypeBytes(com.google.protobuf.ByteString value)4929     public Builder setStackTypeBytes(com.google.protobuf.ByteString value) {
4930       if (value == null) {
4931         throw new NullPointerException();
4932       }
4933       checkByteStringIsUtf8(value);
4934       stackType_ = value;
4935       bitField0_ |= 0x00004000;
4936       onChanged();
4937       return this;
4938     }
4939 
4940     private java.lang.Object subnetwork_ = "";
4941     /**
4942      *
4943      *
4944      * <pre>
4945      * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
4946      * </pre>
4947      *
4948      * <code>optional string subnetwork = 307827694;</code>
4949      *
4950      * @return Whether the subnetwork field is set.
4951      */
hasSubnetwork()4952     public boolean hasSubnetwork() {
4953       return ((bitField0_ & 0x00008000) != 0);
4954     }
4955     /**
4956      *
4957      *
4958      * <pre>
4959      * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
4960      * </pre>
4961      *
4962      * <code>optional string subnetwork = 307827694;</code>
4963      *
4964      * @return The subnetwork.
4965      */
getSubnetwork()4966     public java.lang.String getSubnetwork() {
4967       java.lang.Object ref = subnetwork_;
4968       if (!(ref instanceof java.lang.String)) {
4969         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4970         java.lang.String s = bs.toStringUtf8();
4971         subnetwork_ = s;
4972         return s;
4973       } else {
4974         return (java.lang.String) ref;
4975       }
4976     }
4977     /**
4978      *
4979      *
4980      * <pre>
4981      * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
4982      * </pre>
4983      *
4984      * <code>optional string subnetwork = 307827694;</code>
4985      *
4986      * @return The bytes for subnetwork.
4987      */
getSubnetworkBytes()4988     public com.google.protobuf.ByteString getSubnetworkBytes() {
4989       java.lang.Object ref = subnetwork_;
4990       if (ref instanceof String) {
4991         com.google.protobuf.ByteString b =
4992             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4993         subnetwork_ = b;
4994         return b;
4995       } else {
4996         return (com.google.protobuf.ByteString) ref;
4997       }
4998     }
4999     /**
5000      *
5001      *
5002      * <pre>
5003      * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
5004      * </pre>
5005      *
5006      * <code>optional string subnetwork = 307827694;</code>
5007      *
5008      * @param value The subnetwork to set.
5009      * @return This builder for chaining.
5010      */
setSubnetwork(java.lang.String value)5011     public Builder setSubnetwork(java.lang.String value) {
5012       if (value == null) {
5013         throw new NullPointerException();
5014       }
5015       subnetwork_ = value;
5016       bitField0_ |= 0x00008000;
5017       onChanged();
5018       return this;
5019     }
5020     /**
5021      *
5022      *
5023      * <pre>
5024      * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
5025      * </pre>
5026      *
5027      * <code>optional string subnetwork = 307827694;</code>
5028      *
5029      * @return This builder for chaining.
5030      */
clearSubnetwork()5031     public Builder clearSubnetwork() {
5032       subnetwork_ = getDefaultInstance().getSubnetwork();
5033       bitField0_ = (bitField0_ & ~0x00008000);
5034       onChanged();
5035       return this;
5036     }
5037     /**
5038      *
5039      *
5040      * <pre>
5041      * The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork
5042      * </pre>
5043      *
5044      * <code>optional string subnetwork = 307827694;</code>
5045      *
5046      * @param value The bytes for subnetwork to set.
5047      * @return This builder for chaining.
5048      */
setSubnetworkBytes(com.google.protobuf.ByteString value)5049     public Builder setSubnetworkBytes(com.google.protobuf.ByteString value) {
5050       if (value == null) {
5051         throw new NullPointerException();
5052       }
5053       checkByteStringIsUtf8(value);
5054       subnetwork_ = value;
5055       bitField0_ |= 0x00008000;
5056       onChanged();
5057       return this;
5058     }
5059 
5060     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)5061     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
5062       return super.setUnknownFields(unknownFields);
5063     }
5064 
5065     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)5066     public final Builder mergeUnknownFields(
5067         final com.google.protobuf.UnknownFieldSet unknownFields) {
5068       return super.mergeUnknownFields(unknownFields);
5069     }
5070 
5071     // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.NetworkInterface)
5072   }
5073 
5074   // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.NetworkInterface)
5075   private static final com.google.cloud.compute.v1.NetworkInterface DEFAULT_INSTANCE;
5076 
5077   static {
5078     DEFAULT_INSTANCE = new com.google.cloud.compute.v1.NetworkInterface();
5079   }
5080 
getDefaultInstance()5081   public static com.google.cloud.compute.v1.NetworkInterface getDefaultInstance() {
5082     return DEFAULT_INSTANCE;
5083   }
5084 
5085   private static final com.google.protobuf.Parser<NetworkInterface> PARSER =
5086       new com.google.protobuf.AbstractParser<NetworkInterface>() {
5087         @java.lang.Override
5088         public NetworkInterface parsePartialFrom(
5089             com.google.protobuf.CodedInputStream input,
5090             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5091             throws com.google.protobuf.InvalidProtocolBufferException {
5092           Builder builder = newBuilder();
5093           try {
5094             builder.mergeFrom(input, extensionRegistry);
5095           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5096             throw e.setUnfinishedMessage(builder.buildPartial());
5097           } catch (com.google.protobuf.UninitializedMessageException e) {
5098             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
5099           } catch (java.io.IOException e) {
5100             throw new com.google.protobuf.InvalidProtocolBufferException(e)
5101                 .setUnfinishedMessage(builder.buildPartial());
5102           }
5103           return builder.buildPartial();
5104         }
5105       };
5106 
parser()5107   public static com.google.protobuf.Parser<NetworkInterface> parser() {
5108     return PARSER;
5109   }
5110 
5111   @java.lang.Override
getParserForType()5112   public com.google.protobuf.Parser<NetworkInterface> getParserForType() {
5113     return PARSER;
5114   }
5115 
5116   @java.lang.Override
getDefaultInstanceForType()5117   public com.google.cloud.compute.v1.NetworkInterface getDefaultInstanceForType() {
5118     return DEFAULT_INSTANCE;
5119   }
5120 }
5121