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